En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen

Like dokumenter
En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen. Masteroppgave. Henrik Dæhli Joakim Hjertås

INF 3230/4230 Forelesning 9: Omskrivningslogikk

Modellering av kommuniserende systemer i Maude

UNIVERSITETET I OSLO

INF 3230: Videregående kurs i formell modellering

Bevisbar sikkerhet. Kristian Gjøsteen. 2. mars 2005

Emnebeskrivelser for emner tatt ved Universitetet i Oslo. Presentasjon laget av Joakim Hjertås

INF 3230/4230 Forelesning 4: Assosiativitet og kommutativitet; operasjonell semantikk

INF3140 Modeller for parallellitet INF3140/4140: Programanalyse

INF Logikk og analysemetoder Forslag til løsning på oppgave fra læreboken

UNIVERSITETET I OSLO

INF3430. VHDL byggeblokker og testbenker

Effektiv eksekvering av spørsmål

UNIVERSITETET I OSLO

Forelesning 2: Kryptografi

INF3430/4431. VHDL byggeblokker og testbenker

Tittel: Metode og enhet for randomisering av en hemmelig nøkkel for beskyttelse mot angrep fra supplerende kanaler

UNIVERSITETET I OSLO

TDT4165 PROGRAMMING LANGUAGES. Exercise 02 Togvogn-skifting

INF 3232/4232 Forelesning 1: Introduksjon; signaturer; grunntermer

Effektiv eksekvering av spørsmål

Forelesning 2: Kryptografi

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

VEDLEGG 7 SIKKERHET 1. KRAV TIL SIKRING AV DATAFILER VED OVERFØRING TIL/FRA BANKEN

UNIVERSITETET I OSLO

Innføring i blokkjedeteknologi. Slobodan Petrović, NTNU Gjøvik 14/

Elementær Kryptografi (Appendix A, Cryptography Basics, Building Secure Software)

TDT4165 PROGRAMMING LANGUAGES. Exercise 01 Introduksjon til Oz

Algoritmer - definisjon

Steg 1: Regneoperasjoner på en klokke

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

INF2820 Datalingvistikk V gang, Jan Tore Lønning

Effektiv eksekvering av spørsmål

INF3340/4431. Tilstandsmaskiner

Betinget eksekvering og logiske tester i shell

UNIVERSITETET I OSLO

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

INF3430/4430. Grunnleggende VHDL

INF3430/4430. Grunnleggende VHDL. 11-Sep-06

INF3340/4340. Synkrone design Tilstandsmaskiner

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

INF3340. Tilstandsmaskiner

Effektiv eksekvering av spørsmål

Kunnskapsbasert Engineering (KBE) med Common Lisp

Database security. Kapittel 14 Building Secure Software. Inf329, Høst 2005 Isabel Maldonado

INF3170 Logikk. Ukeoppgaver oppgavesett 7

Moderne Funksjonell Programmering i Lisp

INF1020 Algoritmer og datastrukturer

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Forelesning 4: Kommunikasjonssikkerhet

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

Hvordan modellere et marked med heterogene produkter?

Notat 2, ST januar 2005

BYFE/EMFE 1000, 2012/2013. Numerikkoppgaver uke 33

Fra sekvensielt til parallelt

Syntax/semantics - I INF 3110/ /29/2005 1

SENTRALISERT OG SIKKER DRIFT AV WINDOWS KLIENTER OG TILKNYTTET MASKINVARE

Hashing: Håndtering av kollisjoner

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

Fra sekvensielt til parallelt

INF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7)

MAT 1110: Obligatorisk oppgave 1, V-07: Løsningsforslag

Typer. 1 Type: boolean. 2 Verdimengde: {true, false} 3 Operatorer: NOT, AND, OR... 1/19. Forelesning Forelesning

INF3110 Programmeringsspråk. Dagens tema. Typer (Kapittel 3 frem til ) Innføring i ML (Kapittel & ML-kompendiet.) 1/19

INF2220: Forelesning 2

INF2220: Forelesning 2

høst en 2002 Forelesning nr 9, m andag 14. ok t ober Sik k erhet Datakom høsten

Forelesning 3: Nøkkelhåndtering og PKI

Vår referanse: A03 - G:17/173 Revisjon: 01 NASJONAL SIKKERHETSMYNDIGHET. Sikker informasjon i tiden etter en kvantedatamaskin KVANTERESISTENT KRYPTO

ECC i akademia vs. industrien

Mulige Master-oppgaver hos Peter C. Ölveczky

Programmering i R. 6. mars 2004

UNIVERSITETET I OSLO

MA1301 Tallteori Høsten 2014 Oversikt over pensumet

Hjemmeeksamen 2 i INF3110/4110

Hvordan få tak i reell usikkerhet av kost-nytte i en skjev verden? Magne Jørgensen

Skanning del I. Kapittel 2 INF 3110/ INF

Forelesning 3: Nøkkelhåndtering og PKI

Symmetrisk En hemmelig nøkkel ( passord ) som brukes både ved kryptering og dekryptering.

Semantisk Analyse del I

1 Utsagnslogikk (10 %)

Introduksjon til programmering og programmeringsspråk

var y :{x :T R}; S endvar y

Grunnleggende testteori

MAT1030 Diskret matematikk

Linux-programmer som bruker regulæruttrykk: grep, sed, awk

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

Oppsummering av digitalteknikkdelen

Litt mer om Arduino. Roger Antonsen Sten Solli INF januar 2011

INF2810: Funksjonell Programmering. En metasirkulær evaluator, del 2

Forelesning 7: Førsteordens logikk sekventkalkyle og sunnhet Christian Mahesh Hansen - 3. mars 2007

... HASHING. Hashing. Hashtabeller. hash(x)

Sondre Granlund Moen

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Logisk Programmering. Relasjoner vz. funksjoner. Funksjon: inn og ut, en verdi. Relasjon: ingen retning, null eller flere verdier

Transkript:

En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen Henrik Dæhli og Joakim Hjertås 23. juni 2005

Plan Problemstilling Bakgrunn Maude sikkerhet π-kalkylen og varianter av denne en Maude-modell av asynkron π-kalkyle Arbeid anvendt asynkron π-kalkyle vår Maude-modell av kalkylen analyse og bruk av vår Maude-modell Konklusjon 1

Problemstilling Hvordan kan Maude brukes som analyseverktøy for sikkerhetsegenskaper ved asynkron kommunikasjon i π-kalkylen? 2

Maude Deklarativt programmeringsspråk Basert på omskrivningslogikk ligninger: ubetingede: eq t = u. betingede: ceq t = u if c. regler: ubetingede: rl [l] : t -> u. betingede: crl [l] : t -> u if c. Spesifikasjoner: funksjoner, sorter, subsorter, moduler Omskrivninger og søk: rew, frew, search 3

Sikkerhet Sikkerhetstjenester autentisering tilgangskontroll integritet konfidensialitet ikke-fornektelse Sikkerhetsmekanismer hashing kryptografi - symmetrisk - asymmetrisk digitale signaturer 4

Typer angrep Verste-tilfelle analyse («worst-case») Vårt fokus er logiske angrep feil bruk av sikkerhetsmekanismer protokollfeil Essensielt: er ønsket sikkerhet oppnådd antatt at sikkerhetsmekanismene er sikre? Ser ikke på angrep rettet mot selve sikkerhetsmekanismene sikkerhet ved «tåkelegging» («security by obscurity»), antar derfor at protokollen er kjent 5

π-kalkylen Formell kalkyle for modellering av: parallellitet kommunikasjon mobilitet Uendelig mengde navn benyttes både for verdier og kanaler, typisk brukes a, b, c... Høynivå modellering av prosesser. 6

Definering av π-kalkylen Syntaks Strukturell kongruens Operasjonell semantikk 7

Eksempel Output: Input: Parallell: ax. P a(y). Q ax. P a(y). Q Handling: ax. P a(y). Q τ P Q{x/y} Restriksjon: (Vx) P 8

Varianter av π-kalkylen Asynkron π-kalkyle Anvendt π-kalkyle («applied π-calculus») 9

Asynkron π-kalkyle Modellering av asynkron kommunikasjon Kan oppnås ved å legge ekstra krav på uttrykkene i vanlig π-kalkyle (subkalkyle) 10

Anvendt π-kalkyle Utvidelse av π-kalkylen Underliggende likhetslogikk signatur sorter likheter Muliggjør sending av verdier laget ved applisering av funksjoner Funksjoner passer godt til modellering av sikkerhetsmekanismer 11

Eksempel: anvendt π-kalkyle Hashing h(data) Ingen ligninger a h(t). P Symmetrisk kryptografi enc(data, nøkkel) dec(chiffer, nøkkel) dec ( enc(d, k), k ) = d (Vk) ( a enc(d, k). P a(y). b dec(y, k). Q ) 12

Maude-modell av asynkron π-kalkyle Thati, Sen og Martí-Oliet har laget en Maude-modell for denne varianten av π-kalkylen. bygge opp π-kalkyle-uttrykk og gjøre omskrivinger på disse søke gjennom mulige omskrivinger innfører et eksekveringsmiljø Kalkyleregel: P 0 Q 0,..., P n Q n P Q Maude-regel: crl [l] : P -> Q if P 0 -> Q 0 /\... /\ P n -> Q n 13

Rekapitulasjon Vi har sett på: asynkron π-kalkyle anvendt π-kalkyle en Maude-modell av asynkron π-kalkyle Vi ønsker en Maude-modell med elementer både fra asynkron og anvendt π-kalkyle for å benytte denne for analyse av asynkron sikker kommunikasjon. 14

Plan To muligheter: utvide Maude-modellen direkte utvide på kalkylenivå og deretter utvide Maude-modellen Vi valgte sistnevnte strategi, med følgende argumenter: fordel å ha en veldefinert kalkyle på tradisjonelt vis mer oversiktlig å utvide Maude-modellen med kalkylen definert først 15

Ny kalkyle: anvendt asynkron π-kalkyle En kombinasjon av asynkron og anvendt π-kalkyle: basert på asynkron π-kalkyle utvidet med hovedelementene fra anvendt π-kalkyle laget med tanke på å kunne modelleres i Maude 16

Kombinering av kalkylene tilpasse elementene i anvendt til formen på den asynkrone kalkylen tilpassing til å lage Maude-modell av begrenset strukturell kongruens: assoc, comm normalform? verdioverføring, uten «pekere» fjerning av aktive substitusjoner restriksjoner ved output 17

Utvidelse av Maude-modellen Miljø liste over mottatte meldinger kunnskapsmengde spesifisering av miljøets handlinger Fra navn til termer spesifisering av underliggede funksjoner og likheter ikke kun en term, men modul og term Sortsystemet Name og Data subsorting 18

Analyse i vår modell Miljøet utgjør rollen som angriper Eksplisitt spesifisering av miljøets oppførsel Maude-systemet muliggjør: «tilfeldig» omskriving (rew, frew) søk gjennom mulige tilstander (search) Viktig å kunne spesifisere interessante tilstander ved søk Ofte enklest å finne problemer ved mot-eksempler (dvs. en tilstand som bryter med et sikkerhetskrav) 19

Analyseverktøy Spesifisering av tilstander inenvironment inputcheck outputcheck Forslag til metode for reduksjon av tilstandsrommet rt rtl } forsøk viste signifikant forminskning i antall tilstander 20

Eksempel: kode for hashing in modell mod EXAMPLE-HASHING is including PI. sort Hash. subsort Hash < Data. op hash : Data -> Hash. var S : Subst. var D : Data. eq namesin(hash(d)) = namesin(d). eq apply S to hash(d) = hash(apply S to D). endm 21

Eksempel: eksekvering av hashing Kode: op sendhash : -> TraceTrm. eq sendhash = [ [emptylist +++ emptyset] a < hash( msg) > ]. rew sendhash. Kjøring: rewrite in EXAMPLE-HASHING-ANALYZE : sendhash. rewrites: 3 in 0ms cpu (0ms real) (~ rewrites/second) result TraceTrm: {output(hash( msg) on a, emptyset)}[hash( msg) on a +++ hash( msg)]nil 22

Eksempel: symmetrisk kryptografi op enc : Data Name -> Data. op dec : Data Name -> Data. eq dec(enc(d,n),n) = D. ceq [ L +++ kunnskap {}}{ agenten {}}{ N enc(d,n) M ] A = [ L +++ N enc(d,n) D M ] A if ny kunnskap betingelse {}}{ not D in M. 23

Eksempel: analyse Kommando: search [ [emptylist +++ emptyset] new [ k] ( x < k > y < enc( msg, k) > ) ] =>* X:TraceTrm such that inenvironment(x:tracetrm, msg). Resultat: {output( k on x, k)} {output(enc( msg, k) on y, emptyset)} [ k on x :: enc( msg, k) on y +++ k msg enc( msg, k)] nil nil 24

Konklusjon Problemstilling: Hvordan kan Maude brukes som analyseverktøy for sikkerhetsegenskaper ved asynkron kommunikasjon i π-kalkylen? Oppsummering: Laget ny kombinert kalkyle Modellert denne i Maude Foreslått metoder for analyse i denne Vist bruk av, og analyse i, modellen ved flere eksempler 25