Applications of Logic in Computer Security Jonathan Millen SRI International.

Slides:



Advertisements
Similar presentations
Cryptographic Protocol Analysis Jonathan Millen SRI International.
Advertisements

Cryptography and Network Security
Topic 8: Secure communication in mobile devices. Choice of secure communication protocols, leveraging SSL for remote authentication and using HTTPS for.
Luu Anh Tuan. Security protocol Intruder Intruder behaviors Overhead and intercept any messages being passed in the system Decrypt messages that are.
Deeper Security Analysis of Web-based Identity Federation Apurva Kumar IBM Research – India.
1 Supplement III: Security Controls What security services should network systems provide? Confidentiality Access Control Integrity Non-repudiation Authentication.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Cryptography and Authentication Lab ECE4112 Group4 Joel Davis Scott Allen Quinn.
Department of Information Engineering1 Major Concerns in Electronic Commerce Authentication –there must be proof of identity of the parties in an electronic.
Security Overview Hofstra University University College for Continuing Education - Advanced Java Programming Lecturer: Engin Yalt May 24, 2006.
 Authorization via symmetric crypto  Key exchange o Using asymmetric crypto o Using symmetric crypto with KDC  KDC shares a key with every participant.
Apr 22, 2003Mårten Trolin1 Agenda Course high-lights – Symmetric and asymmetric cryptography – Digital signatures and MACs – Certificates – Protocols Interactive.
Key Management public-key encryption helps address key distribution problems have two aspects of this: –distribution of public keys –use of public-key.
Wireless Encryption By: Kara Dolansky Network Management Spring 2009.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering.
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Information Security of Embedded Systems : Algorithms and Measures Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
Chapter Extension 23 SSL/TLS and //https © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
E-Government Security and necessary Infrastructures Dimitrios Lekkas Dept. of Systems and Products Design Engineering University of the Aegean
Information Security of Embedded Systems : BAN-Logic Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
1 Authentication Protocols Celia Li Computer Science and Engineering York University.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
INTRODUCTION Why Signatures? A uthenticates who created a document Adds formality and finality In many cases, required by law or rule Digital Signatures.
Chapter 31 Network Security
Linux Networking and Security Chapter 8 Making Data Secure.
Csci5233 Computer Security1 Bishop: Chapter 14 Representing Identity.
E-Commerce Security Technologies : Theft of credit card numbers Denial of service attacks (System not availability ) Consumer privacy (Confidentiality.
Executable specification of cryptofraglets with Maude for security verification Fabio Martinelli and Marinella Petrocchi IIT-CNR, Pisa Italy presented.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
Cryptography, Authentication and Digital Signatures
Formal Analysis of Security Protocols Dr. Changyu Dong
E-Commerce Security Professor: Morteza Anvari Student: Xiaoli Li Student ID: March 10, 2001.
Security Protocols and E-commerce University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Cryptography and Network Security (CS435) Part Fourteen (Web Security)
Chapter 21 Distributed System Security Copyright © 2008.
Security protocols  Authentication protocols (this lecture)  Electronic voting protocols  Fair exchange protocols  Digital cash protocols.
Key Management. Session and Interchange Keys  Key management – distribution of cryptographic keys, mechanisms used to bind an identity to a key, and.
CSCE 813 Internet Security Cryptographic Protocol Analysis.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Lecture 16: Security CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9.
6 June Lecture 2 1 TU Dresden - Ws on Proof Theory and Computation Formal Methods for Security Protocols Catuscia Palamidessi Penn State University,
Merkle trees Introduced by Ralph Merkle, 1979 An authentication scheme
Security, Accounting, and Assurance Mahdi N. Bojnordi 2004
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
DIGITAL SIGNATURE.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Lecture 11 Overview. Digital Signature Properties CS 450/650 Lecture 11: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Lecture 9 Overview. Digital Signature Properties CS 450/650 Lecture 9: Digital Signatures 2 Unforgeable: Only the signer can produce his/her signature.
Mar 28, 2003Mårten Trolin1 This lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
Fall 2006CS 395: Computer Security1 Key Management.
Csci5233 Computer Security1 Bishop: Chapter 14 Representing Identity.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke1 Database architecture and security Workshop 4.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Fundamentals of Network Security Ravi Mukkamala SCI 101 October 6, 2003.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
Decentralized Access Control: Overview Deepak Garg Foundations of Security and Privacy Fall 2009.
Security Protocols Analysis
Logic for Computer Security Protocols
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
CDK: Chapter 7 TvS: Chapter 9
Presentation transcript:

Applications of Logic in Computer Security Jonathan Millen SRI International

Areas of Application Multilevel Operating System Security “Orange Book,” Commercial Trusted Product Evaluation, A1-level Emphasis on secrecy, security/clearance levels Access Control Policies Discretionary or role-based policies Emphasis on application-specific policies, integrity Public-Key Infrastructure and Trust Management Network and distributed system security Digitally signed certificates for identity and privileges Cryptographic Authentication Protocols For network communication confidentiality and authentication Other areas: databases, firewalls/routers, intrusion detection Computer Security Network Security

Contributions of Logic Undecidability Results Safety problem for discretionary access control Cryptographic protocol analysis Theorem Proving Environments Verifying correctness of formal OS specifications Inductive proofs of cryptographic protocols Logic Programming Prolog programs for cryptographic protocol analysis, trust management Model Checking For cryptographic protocol analysis Specialized Logics For cryptographic protocol analysis, trust management

Multilevel Operating System Security Motivated by protection of classified information in shared systems High-assurance (A1) systems may protect Secret data from uncleared users Architecture: trusted OS kernel, hardware support Abstract system model of access control: Bell-LaPadula (ca. 1975) Structured state-transition system: subject-object access matrix, levels Security invariants and transition rules (for OS functions) “Formal Top-Level Specification” (FTLS) More detailed state-transition system Formal Proofs: Model transitions satisfy invariants FTLS is an interpretation of the system model Carried out in environments like Gypsy, FDM, HDM Some FTLS errors reflected in code were discovered Of Historical Interest

Access Control Policies Safety Problem Subject-object-rights matrix “rights” were arbitrary, representing different kinds of access Operations: create/delete subjects, objects; enter/remove rights System of conditional rules to apply operations Harrison-Ruzzo-Ullman Undecidability Result Whether S can ever receive right r to object O Comm. ACM 19(8), 1976 Decidable if number of subjects is bounded Historical Impact Led to interest in efficiently decidable systems Take-Grant, DAC, RBAC OjOj SiSi r

Public-Key Certificates Based on asymmetric encryption Key pair K A, K A -1 : one made public, one kept secret Text block encrypted with K A can be decrypted only with K A -1. Impractical to compute secret key from public key Digital signature Text string T Apply one-way (hash) function Encrypt with secret key Verify by decrypting with signer’s public key, compare hash result Public Key Certificate Binds name to public key, signed by trusted party Logical Equivalent “A says (K B is the public key of B)” … provided that K A is the public key of A T  h(T)  [h(T)]K A -1 B,K B,[h(B,K B )]K A -1

Logic of Distributed Authentication Origination: “Authentication in distributed systems: theory and practice,” by Lampson, Abadi, Burrows, and Wobber, ACM Trans. Comp. Sys., 10(4), 1992 Theory of says and speaks for (  relation) (A  B)  ((A says s)  (B says s)) (P8) (A says (B  A))  (B  A) (P10) Application to distributed systems A and B are principals: users or keys (can say something) A says s means: A authorizes command (operation, access) s A  B means: B delegates authority to A Certificate T,[T] K A -1 means K A says T Public key certificate means K A  A Credentials sent from one network node to another to authorize resources Implemented in Taos operating system “credentials”

Trust Management Policymaker “Decentralized trust management,” Blaze, Feigenbaum, Lacy, 1996 IEEE Symposium on Security and Privacy Identified trust management as a distinct problem Purpose: to define and implement policy using credentials to process queries Delegation Logic “A logic-based knowledge representation for Authorization with Delegation,” Li, Feigenbaum, Grosof, 1999 Computer Security Foundations Workshop Language to express policies Primitives include says, delegates (speaks for with object) Access permission is decidable Logic program implementation (in Datalog)

Cryptographic Protocols Cryptographic protocol an exchange of messages over an insecure communication medium, using cryptographic transformations to ensure authentication and secrecy of data and keying material. Applications military communications, business communications, electronic commerce, privacy Examples Kerberos: MIT protocol for unitary login to network services SSL (Secure Socket Layer, used in Web browsers) IPSec: standard suite of Internet protocols due to the IETF SET (Secure Electronic Transaction) protocol PGP (Pretty Good Privacy)

A Popular Example The Needham-Schroeder public-key handshake R. M. Needham and M. D. Schroeder, “Using Encryption for Authentication in Large Networks of Computers,” Comm. ACM, Dec., 1978 A  B: {A, Na}Kb B  A: {Na, Nb}Ka A  B: {Nb}Kb Purpose: mutual authentication of A and B, sharing secrets Na, Nb This is an “Alice-and-Bob” protocol specification Na and Nb are nonces (used once) Ka is the public key of A The protocol is vulnerable...

The Attack AMB {A,Na}Km{A,Na}Kb {Na,Nb}Ka {Nb}Km {Nb}Kb Lowe, “Breaking and Fixing the Needham-Schroeder Public Key Protocol Using FDR” TACAS 1996, LNCS 1055 (normal) (thinks he’s talking to A, Nb is compromised) A malicious party M can forge addresses, deviate from protocol (false)

Undecidable in General Reduction of Post correspondence problem Word pairs u i, v i for 1  i < n Does there exist u i1...u ik = v i1...v ik ? Construction Protocol with one role (or one per i) Compromises secret if solution exists Attacker cannot forge release message because of encryption Observations Messages are unbounded Construction suggested by Heintze & Tygar, 1994 First undecidability proof by Even & Goldreich, proof by Durgin, et al shows nonces are enough send { ,  }K receive {X,Y}K if X = Y  , send secret else choose i, send {Xu i,Yv i }K send { ,  }K receive {X,Y}K if X = Y  , send secret else choose i, send {Xu i,Yv i }K

Analysis Approaches Model checking State-space search for attacks Inductive proof Using verification tools or by hand Can prove protocols correct (for abstract encryption) Belief-logic proofs BAN logic and successors For authentication properties

Linear Logic Model Linear Logic Reference: J.-Y. Girard, “Linear logic,” Theoretical Comp. Sci, 1987 Constructive, used to model state-transition systems Application to cryptographic protocols Cervesato, Durgin, Lincoln, Mitchell, Scedrov, “A meta-notation for protocol analysis,” 1999 Computer Security Foundations Workshop Model-checking with linear-logic symbolic search tool LLF (LICS ‘96) State-transition rules F 1, …, F k   x 1, …,  x m. G 1, …, G n State is a multiset of “facts” Fi, predicates over terms Rule matches facts on left side with variable substitution Variables xi are instantiated with new symbols (like nonce!) Left-side facts are replaced by right-side facts in multiset

The MSR Model Implementation of linear logic model Special term and fact types for cryptographic protocols Symbols for principals, keys, and nonces Terms for encryption and concatenation Facts for protocol process state, messages Multiset holds current states of many concurrent protocol sessions Example: A sends message A,{A}K (to B) with new K A 0 (A,B)  (  K) A 1 (A,B,K),M({A}K) Attacker rules eavesdrop, construct false messages, e.g., M({A}K),M(K)  M({A}K),M(K),M(A) Attacker model is standardized MSR model applied as intermediate language CAPSL  MSR  analysis tools (Millen, Denker 1999)

Model Checking Tools State-space search for reachability of insecure states History: back to 1984, Interrogator program in Prolog Meadows’ NRL Protocol Analyzer (NPA), also Prolog, 1991 Prolog programs were interactive General-purpose model-checkers Search automatically given initial conditions, bounds Iterative bounded-depth search Roscoe and Lowe used FDR (model-checker for CSP), 1995 Mitchell, et al used Murphi, 1997 Clarke, et al used SMV, 1998 Denker, Meseguer, Talcott used Maude, 1998 Successful at finding previously unknown vulnerabilities!

Non-Repudiation Protocols Different objectives and assumptions Fairness objectives: contract signing, proofs of receipt, fair exchange Applications to electronic commerce Parties are mutually distrustful, network well-behaved, no intruder Trusted third party to resolve detected breaches Alternating Temporal Logic application Kremer, Raskin, “Formal verification of non-repudiation protocols, a game approach,” Workshop on Formal Methods and Computer Security, 2000 Used model checker MOCHA Example Objective  >  (NRO   >  NRR) Means: B and Com (the network) do not have a strategy leading to a state where B has proof of non-repudiation of origin (of some message) but A has no strategy (from there) leading to a proof of non-repudiation of receipt

Inductive Proofs State-transition model similar to model checking approaches Application of general-purpose specification and verification tools Influential Examples: R. Kemmerer, "Analyzing encryption protocols using formal verification techniques," IEEE J. Selected Areas in Comm., 7(4), May 1989 (FDM). L. Paulson, “The inductive approach to verifying cryptographic protocols,” J. Computer Security 6(1), 1998 (used Isabelle) Paulson’s approach inspired others Bolignano (using Coq), Millen (using PVS)

BAN Logic Papers Burrows, Abadi, Needham, “A logic of authentication,” ACM Trans. Computer Systems 8(1), 1990 Gong, Needham, Yahalom, “Reasoning about belief in cryptographic protocols,” 1990 IEEE Symposium on Security and Privacy Approach Modal logic of belief plus specialized predicates and inference rules Protocol messages are “idealized” into logical statements Objective is to prove that both parties share common beliefs Idealization A  B: {A, K, B}K B becomes B sees {good-key(A, K, B)}K B Objective Infer that B believes A said good-key(A, K, B) B |  A |~ A  B K

Inferences and Problems Example P believes fresh(X), P believes Q said X |- P believes Q believes X Assumption Protocol idealization must be consistent with beliefs about confidentiality Problem Observed by Nessett right away for digital signature example Good key must not be given away accidentally (or on purpose) Takes deep analysis to determine this Needham-Schroeder Public Key protocol proved correct (!!??) These logics are still used because: They are efficiently decidable They help to understand the protocol They can be used manually

Summary Many applications of logic in computer security are indirect, through use of tools that require deep logic-system knowledge to design Several unusual or specialized logical systems have application to computer security Cryptographic protocol analysis is an active, fertile area for logic applications