Wprowadzenie Komputerowo wspomagane dowodzenie. Coq i protokóª NSSK. Piotr Iwaniuk. 21 marca 2012

Podobne dokumenty
Obliczenia i wnioskowanie w systemie Coq

1. Wprowadzenie do C/C++

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

PLD Linux Day. Maciej Kalkowski. 11 marca Wydziaª Matematyki i Informatyki UAM

Logika intuicjonistyczna

Komputerowe dowodzenie twierdze ń matematycznych

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

Zagadnienia programowania obiektowego

1. Wprowadzenie do C/C++

Opera Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera wersja 1.1 UNIZETO TECHNOLOGIES SA

Projekt konceptualny z Baz Danych "Centralny system zarz dzania salami na AGH"

Praca Dyplomowa Magisterska

Wzorce projektowe strukturalne cz. 1

Maªgorzata Murat. Modele matematyczne.

Wpªyw wdro»enia IPv6 na bezpiecze«stwo sieci

Metodydowodzenia twierdzeń

Mierzalne liczby kardynalne

Lekcja 5 Programowanie - Nowicjusz

Subversion - jak dziaªa

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski

Zarz dzanie rm. Zasada 7: interaktywna komunikacja. Piotr Fulma«ski. April 22, 2015

Programowanie wspóªbie»ne

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ProActive Parallel Suite

Przykªady problemów optymalizacji kombinatorycznej

Edyta Juszczyk. Akademia im. Jana Dªugosza w Cz stochowie. Lekcja 1Wst p

Formalna weryfikacja oprogramowania w lotnictwie

Pierwsze spotkanie kóªka linuksowego

Low Level Virtual Machine

J zyk C dla sterowników programowalnych GeFanuc

Podstawy modelowania w j zyku UML

Logika matematyczna w informatyce

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Podstawy matematyki dla informatyków. Logika formalna. Skªadnia rachunku zda« Skróty i priorytety. Wykªad 10 (Klasyczny rachunek zda«) 15 grudnia 2011

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Indeksowane rodziny zbiorów

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Lekcja 1: Wst p do sztucznej inteligencji i systemów ucz cych si

1. Warunki. 2. Zakładanie konta. 3. Logowanie. 4. Korzystanie z portalu partnera serwisowego 5. Subkonta 5.1Zakładanie subkonta. 5.

19. Obiektowo± 1 Kacze typowanie. 2 Klasy

Numer obszaru: 13. Jak pracować z uczniem uzdolnionym informatycznie? Od grafiki i multimediów do poważnych algorytmów w środowisku Logomocja-Imagine

1 Inne ciekawe (i trudne) wyniki

32. Metody badania użyteczności stron WWW

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

MySource Matrix CMS - PROSTY INTERFEJS UŻYTKOWNIKA. INSTRUKCJA ver 1.2

Ekonometria - wykªad 8

Protokoªy komunikacyjne

Metody numeryczne i statystyka dla in»ynierów

Automatyzacja procesu publikowania w bibliotece cyfrowej

Lekcja 12 - POMOCNICY

Logika dla matematyków i informatyków Wykªad 1

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Listy i operacje pytania

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz 24 czerwca Podstawowe funkcje. 2.1 Windows

SINAMICS G120C STARTER. Tworzenie nowego projektu w trybie online.

INFORMATOR TECHNICZNY WONDERWARE

Wzorce projektowe kreacyjne

Transpozony a ewolucja miejsc wi zania czynników transkrypcyjnych u ssaków

Przeksztaªcenia liniowe

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

O pewnym zadaniu olimpijskim

Informatyka. I rok, semestr II. Bartosz Kuczewski. PWSZ Gªogów, 2010

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Aplikacje Internetowe termin dodatkowy

Programowanie robota mobilnego Khepera

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver Aplikacja WWW ver. 2.1 Instrukcja Obsługi

Eksploracja Danych. (c) Marcin Sydow. Wst p. Data Science. Wprowadzenie. Cykl eksperymentu. Uczenie maszynowe. Zasoby.

Pracownia internetowa w ka dej szkole (edycja 2004/2005)

PowerShell. Sławomir Wawrzyniak

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Wstawianie gotowych rysunków w texu - informacje podstawowe.

Programowanie i struktury danych

Standardy testowania oprogramowania. Iwona Kocha«ska. January 15, 2016

Zarz dzanie wiedz w pracy naukowo-dydaktycznej

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Kompilowanie programów

SpedCust 5 instrukcja instalacji

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW

Matematyka dyskretna dla informatyków

Metody numeryczne i statystyka dla in»ynierów

Kreator automatycznego uaktualniania firmware'u

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Podstawy modelowania w j zyku UML

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Karty kryptograczne w ±rodowisku Linux

Podstawy programowania w sieci Internet spotkanie Krzysztof Misztal

Microsoft Management Console

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

Systemy hybrydowe. Joanna Iwaniuk. 2 listopada 2010

Spis tre±ci. 1 Wst p Zawarto± rozdziaªów Projekt LoXiM... 2

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14)

Tworzenie prezentacji w LATEX'u

Podstawy modelowania w j zyku UML

Transkrypt:

21 marca 2012

Plan Wprowadzenie 1 Wprowadzenie 2

Plan Wprowadzenie 1 Wprowadzenie 2

Protokoªy kryptograczne Podstawowe zadanie: przesyªanie danych przez sie tak,»eby inni nie mogli ich odczyta. Wykorzystywana do tego jest kryptograa. Standardowe zaªo»enia: sie mo»e by podsªuchana, mo»liwe jest podrabiania podrabianie wiadomo±ci (wª cznie z nadawc ). Przykªady protokoªów: symetryczny Needhama-Schroedera (NSSK), protokóª Otwaya-Reesa.

Werykacja protokoªów Atak Denning & Saco na protokóª NSSK pojawiª si 3 lata po opublikowaniu protokoªu. To pokazaªo,»e konieczna jest dokªadna werykacja protokoªów. Jeszcze w tym samym roku pojawiª si pierwszy model do wyszukiwania luk w bezpiecze«stwie (Dolev-Yao).

Metody werykacja - o± czasu 1981 Dolev-Yao Model 1982 Dolev-Even-Karp Model 1989 logika Burrows-Abadi-Needham 1995 U»ycie model checkera FDR do werykacji protokoªów (Lowe). 1997 U»ycie provera Isabelle do werykacji protokoªów 1999 U»ycie typowania do werykacji protokoªów 2000 CAPSL: Common Authentication Protocol Specication Language[1]

Dolev-Yao, Dolev-Even-Karp i inne Dost pny jest szereg dziaªa«takich jak: wysªanie wiadomo±ci, odszyfrowanie. Przeszukiwanie dyskretnej przestrzeni stanów. Oryginalnie w czasie wielomianowym, ale przy zmianie zaªo»eni ªatwo wpa± w nierozstrzygalno±. NRL Protocol Analyzer narz dzie do analizy Longley-Rigby

Belief logics Wprowadzenie Wnioskowanie o protokole podobne do logiki Hoare'a. Konstrukcje mówi ce o statusie elementów i wiedzy stron w protokole. Reguªy adnotowania komunikatów, oraz reguªy wnioskowania.

Model checking dla protokoªów Najbardziej znane zastosowanie przypisuje si Gavinowi Lowe. Odkrycie nowej luki w znanym od dªugiego czasu protokole Needhama-Schroedera dla kluczy publicznych. Zapis protokoªu w j zyku CSP. Do werykacji u»yto komercyjny model checker FDR.

Narz dzie do dowodzenia Isabelle/HOL. Raczej interaktywny pomocnik dowodzenia, ale posiada te» mo»liwo± automatyzacji. Zarówno program jak i werykacja protokoªów rozwijane przez Lawrence'a Paulsona.

Inne metody Wprowadzenie Systemy przepisywania. Rachunek równo±ciowy.

Plan Wprowadzenie 1 Wprowadzenie 2

Automatyczne sprawdzanie dowodu dowodzenie Interaktywne dowodzenie

Systemy wspomagania dowodzenia Dowodzenie odbywa si przez wspóªprac czªowieka z komputerem. Interakcja odbywa si najcz ±ciej przez konsol wpisywanie komend. Zazwyczaj takie programy opieraj si na rachunku lambda i odpowiednio±ci mi dzy formuªami logiki a typowaniem λ-termów.

Przykªady Wprowadzenie Przykªady systemów dowodzenia twierdze«. Coq INRIA Mizar Uniwersytet w Biaªymstoku, Uniwersytet Alberty, Uniwersytet Shinshu Isabelle - Larry Paulson Minlog Uniwersytet w Monachium

Twierdzenia na sprzeda» Uniwersytet w Edynburgu daª mo»liwo± kupienia twierdzenia. Nowe twierdzenie nosiªoby nazw kupuj cego. Cena: 15

Coq Wprowadzenie Oparty na rachunku indukcyjnych konstrukcji. Calculus of constructions: polimorzm, konstruktory typów, typy zale»ne. Calculus of inductive constructions: CoC wzbogacony o denicje indukcyjne. Taka jest geneza nazwy.

Coq interfejs Kompilator coqc i toplevel coqtop. Interfejs okienkowy coqide. Tryb dla Emacsa.

Coq j zyk programowania Do obsªugi programu u»ywa si 2 j zyków: Gallina i The Vernacular. Gallina to j zyk termów-denicji. The Vernacular to j zyk polece«. Mo»liwe jest rozszerzanie skªadni.

Coq dziaªanie Dysponujemy zestawem denicji i aksjomatów. Mo»na wpisa do programu twierdzenie. Wtedy przechodzi si do trybu edycji dowodu. Wykorzystuj c ró»ne dost pny taktyki pokazujemy cele. Kiedy wszystko jest ju» dowiedzione: Qed. Dowiedzione twierdzenie jest doª czane do ±rodowiska i mo»na z niego skorzysta w kolejnych.

Literatura Wprowadzenie Catherine Meadows. Formal methods for cryptographic protocol analysis: emerging issues and trends. IEEE Journal on Selected Areas in Communications, 21(1):4454, 2003. Freek Wiedijk. The Seventeen Provers of the World. 2006.