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 Computer Security 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 Network Security Cryptographic Authentication Protocols For network communication confidentiality and authentication Other areas: databases, firewalls/routers, intrusion detection 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 Si Oj r Public-Key Certificates Based on asymmetric encryption Key pair KA, KA-1: one made public, one kept secret Text block encrypted with KA can be decrypted only with KA-1 . Impractical to compute secret key from public key Digital signature Text string T T h(T) [h(T)]KA-1 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 (KB is the public key of B)” … provided that KA is the public key of A B,KB,[h(B,KB)]KA-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)) (A says (B A)) (B A) (P8) (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 “credentials” Certificate T,[T] KA-1 means KA says T Public key certificate means KA A Credentials sent from one network node to another to authorize resources Implemented in Taos operating system 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 A (normal) M (false) {A,Na}Km {A,Na}Kb {Na,Nb}Ka {Na,Nb}Ka {Nb}Km B (thinks he’s talking to A, Nb is compromised) {Nb}Kb Lowe, “Breaking and Fixing the Needham-Schroeder Public Key Protocol Using FDR” TACAS 1996, LNCS 1055 A malicious party M can forge addresses, deviate from protocol Undecidable in General Reduction of Post correspondence problem Word pairs ui, vi for 1 i < n Does there exist ui1...uik = vi1...vik? Construction Protocol with one role (or one per i) Compromises secret if solution exists Attacker cannot forge release message send {,}K receive {X,Y}K if X = Y , send secret else choose i, send {Xui,Yvi}K because of encryption Observations Messages are unbounded Construction suggested by Heintze & Tygar, 1994 First undecidability proof by Even & Goldreich, 1983 1999 proof by Durgin, et al shows nonces are enough 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 F1, …, Fk x1, …, xm. G1, …, Gn 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 A0(A,B) (K) A1(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 <<B,Com>> (NRO <<A>> 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}KB becomes B sees {good-key(A, K, B)}KB Objective Infer that B believes A said good-key(A, K, B) K B | A |~ A B 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