Curriculum: Metodi logici / formali in materia di sicurezza


22

Attualmente insegno un piccolo corso (quattro lezioni di due ore a livello di master) sui metodi logici in sicurezza , sebbene il titolo Metodi formali in sicurezza potrebbe essere più appropriato. Copre brevemente i seguenti argomenti (con i metodi logici associati):

  • Gestione dei diritti digitali e applicazione delle politiche (formalizzazione generale, logica modale, applicazione tramite automi)

  • Codice di prova e autenticazione di prova (teoria della prova, sistemi logici, isomorfismo di Curry-Howard, verifica)

  • Controllo degli accessi (logiche non classiche, teoria delle prove)

  • Stack Inspection (semantica del linguaggio di programmazione, equivalenza contestuale, bisimulazione)

Naturalmente, il corso ha molteplici obiettivi, in cui uno di questi sta attirando potenziali studenti laureati.

Nei prossimi anni il corso potrebbe essere esteso a un corso regolare, che avrà bisogno di più contenuti. Dato che lo sfondo delle persone qui è abbastanza diverso dal mio, vorrei sapere quali contenuti includeresti in questo corso.

Risposte:


15

Suggerisco di familiarizzare gli studenti con le seguenti logiche:

  • Logica epistemica: usata per modellare la conoscenza di varie parti partecipanti al protocollo e dimostrare che un avversario non può acquisire conoscenza di alcuni segreti.
  • Logica BAN: una vecchia logica per dimostrare varie proprietà dei protocolli di autenticazione. (Anche altre logiche di credenze sono appropriate.)
  • Logiche per sistemi di transizione: include logiche come LTL, CTL e LTL *. (tali logiche agiscono su modelli del protocollo simili a Kripke.)
  • Algebre di processo: diverse algebre di processo, come Spi-calculus (o CSP , e il suo strumento relativo alla sicurezza, Casper ) sono utili per modellare i protocolli di sicurezza.
  • L'introduzione di strumenti come AVISPA di NuSMV è molto utile.
  • Suggerisco anche la correttezza formale dei protocolli di sicurezza come uno dei libri di testo del corso.

MA(DL)2


Grazie Sadeq. Negli anni precedenti ho trattato Epistemic Logic nella mia introduzione a Modal Logic per il corso, ma l'ho lasciato cadere quest'anno. Gli studenti scelgono spesso la logica BAN per un argomento di saggio. Gli altri suggerimenti sono molto utili, in particolare gli strumenti, che suggeriscono sempre possibili incarichi degli studenti.
Dave Clarke,

@Dave: felice di sentirlo! Una volta ho preso parte a un eccellente corso intensivo (~ 3 ore) su "Logica epistemica per i protocolli di sicurezza" del Dr. Ramaznian. La presentazione è disponibile qui: ifile.it/xljn9s8/EpistemicLogic.rar . Suggerisco di dare un'occhiata a questo, prima di abbandonare del tutto l'argomento.
MS Dousti,

Grazie per il link La logica epistemica non è stata completamente abbandonata; non è andato bene quest'anno.
Dave Clarke,

12

Alcuni anni fa, presso Carnegie Mellon, è stato tenuto un corso di lettura, Lingue e logiche per la sicurezza , che ha cercato di esaminare parte della letteratura in autenticazione, autorizzazione, flusso di informazioni, calcoli di protocollo, protezione e gestione della fiducia; la pagina web del corso ha delle diapositive per gli articoli discussi e un ulteriore elenco di riferimenti per ciascun argomento. Il flusso di informazioni in particolare potrebbe essere qualcosa che vale la pena dare un'occhiata in relazione agli argomenti che hai elencato.

Anche il curriculum del corso Anupam Datta Foundations of Security and Privacy è rilevante.


Grazie Rob. In effetti ho usato queste due pagine quando ho disegnato il contenuto del corso originale.
Dave Clarke,

Aah. Bene, allora immagino che la sua utilità aggiuntiva per te sia limitata! Speriamo che anche altri lo trovino utile :).
Rob Simmons,


6

Non sono sicuro di ciò che nascondi sotto la parola "verifica", quindi provo. Forse puoi aggiungere qualcosa sulla verifica quantitativa dei processi decisionali di Markov e sull'uso della logica temporale probabilistica (pLTL e PCTL). In questo quadro hai un buon modo di modellare gli avversari, di esprimere proprietà e esistono strumenti di verifica facili da usare ( ad esempio PRISM ).


Interessante. Conoscete eventuali applicazioni di sicurezza di PRISM o di queste logiche?
Dave Clarke,

nei casi studio ( prismmodelchecker.org/casestudies/index.php ), ci sono alcuni esempi relativi alla sicurezza. Molti di questi sono MDP ma si tratta più della sicurezza dei protocolli piuttosto che della sicurezza delle implementazioni.
Sylvain Peyronnet,


1

Una lezione su Provable Security potrebbe essere interessante, in particolare usando la teoria dei giochi. Penso che i Capitoli 8 e 25 del libro di Nisan e altri sulla teoria dei giochi algoritmica possano fornire una buona base.

Includerei anche una breve descrizione degli standard di sicurezza esistenti, come ITSEC / TCSEC e i criteri comuni. È sempre bene sottolineare che per raggiungere il livello più alto dei Common Criteria, è necessario verificare formalmente , progettare e testare un sistema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.