Protocol Analysis: The SPYCE Perspective Joe Halpern.

Slides:



Advertisements
Similar presentations
Security attacks. - confidentiality: only authorized parties have read access to information - integrity: only authorized parties have write access to.
Advertisements

Chapter 14 – Authentication Applications
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Computer Science CPSC 322 Lecture 25 Top Down Proof Procedure (Ch 5.2.2)
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Lecture 3Dr. Verma1 COSC 6397 – Information Assurance Module M2 – Protocol Specification and Verification University of Houston Rakesh Verma Lecture 3.
Analysis of optimistic multi-party contract signing Rohit Chadha 1,2, Steve Kremer 3,4, Andre Scedrov 1 1 University of Pennsylvania 2 University of Sussex.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Deeper Security Analysis of Web-based Identity Federation Apurva Kumar IBM Research – India.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Specifying Kerberos 5 Cross-Realm Authentication Iliano Cervesato, Aaron D. Jaggard, Andre Scedrov, and Chris Walstad Supported by ONR, NSF, NRL.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
Towards a Logic for Wide-Area Internet Routing Nick Feamster and Hari Balakrishnan M.I.T. Computer Science and Artificial Intelligence Laboratory Kunal.
Network Isolation Using Group Policy and IPSec Paula Kiernan Senior Consultant Ward Solutions.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
OASIS Reference Model for Service Oriented Architecture 1.0
BGP Safety with Spurious Updates Martin Suchara in collaboration with: Alex Fabrikant and Jennifer Rexford IEEE INFOCOM April 14, 2011.
Analysis of Security Protocols (V) John C. Mitchell Stanford University.
CMSC 414 Computer (and Network) Security Lecture 2 Jonathan Katz.
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
C ontract signing Rohit Chadha, John Mitchell, Andre Scedrov, Vitaly Shmatikov.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
Analysis of optimistic multi-party contract signing Rohit Chadha 1,2, Steve Kremer 3, Andre Scedrov 1 1 University of Pennsylvania 2 University of Sussex.
Relating Two Formal Models of Path-Vector Routing March 15, 2005: IEEE INFOCOM, Miami, Florida Aaron D. Jaggard Tulane University Vijay.
Game Dynamics Out of Sync Michael Schapira (Yale University and UC Berkeley) Joint work with Aaron D. Jaggard and Rebecca N. Wright.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
The chapter will address the following questions:
Towards a Logic for Wide- Area Internet Routing Nick Feamster Hari Balakrishnan.
Chapter 7 Structuring System Process Requirements
Security Policy What is a security policy? –Defines what it means for a system to be secure Formally: Partition system into –Secure (authorized) states.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
How Secure are Secure Inter- Domain Routing Protocols? SIGCOMM 2010 Presenter: kcir.
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Security protocols and their verification Mark Ryan University of Birmingham Midlands Graduate School University of Birmingham April 2005 Steve Kremer.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Design Patterns IX Interpreter, Mediator, Template Method recap.
Lecture 13 Page 1 Advanced Network Security Authentication and Authorization in Local Networks Advanced Network Security Peter Reiher August, 2014.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
CSCE 813 Internet Security Cryptographic Protocol Analysis.
1 Reasoning about Concrete Security in Protocol Proofs A. Datta, J.Y. Halpern, J.C. Mitchell, R. Pucella, A. Roy.
Chapter 4 Using Encryption in Cryptographic Protocols & Practices.
The TAOS Authentication System: Reasoning Formally About Security Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Correctness Proofs and Counter-model Generation with Authentication-Protocol Logic Koji Hasebe Mitsuhiro Okada Department of Philosophy, Keio University.
Cryptography and Network Security Chapter 14 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
Network Protocols Network Systems Security Mort Anvari.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Introduction Many organizations use decision rules to alleviate incentive problems as opposed to incentive contracts The principal typically retains some.
Computer Science CPSC 322 Lecture 22 Logical Consequences, Proof Procedures (Ch 5.2.2)
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Introduction to Active Directory
Logic: Proof procedures, soundness and correctness CPSC 322 – Logic 2 Textbook §5.2 March 7, 2011.
Newcastle uopn Tyne, September 2002 V. Ghini, G. Lodi, N. Mezzetti, F. Panzieri Department of Computer Science University of Bologna.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
Presented by Edith Ngai MPhil Term 3 Presentation
Zueyong Zhu† and J. William Atwood‡
Module Overview Installing and Configuring a Network Policy Server
Cryptography and Network Security
Authentication Applications
Security Protocols Analysis
Why this Paper isn’t useful ?
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
CSCE 715: Network Systems Security
Protocol Verification by the Inductive Method
Presentation transcript:

Protocol Analysis: The SPYCE Perspective Joe Halpern

One goal of SPYCE: Accomplish a high-level task, distributed among many nodes that do not trust each other (and may have incentives).

How do we do this?  We need good protocols  And we need good ways of verifying that they do what they’re supposed to  But that means we also need good ways of describing and specifying protocols This can be hard

Why is describing a security protocol hard? Standard programming languages approach:  A protocol is a set of traces/executions/runs  That’s the SPYCE view too But … security protocols have special twists  What is the intruder's protocol? What capabilities does intruder have?  Who can invoke the protocol? How often?  What’s a nonce?

Why is specifying a security protocol hard? Security involves many subtleties:  What is a fresh message?  What is a good key?  What is a fair protocol?  What is a good route?  What is anonymity ?

Once we know how to describe/specify protocols, we can  prove specific protocols correct  develop a deeper understanding of what makes things hard/easy  build tools to help design/specify/verify protocols

We have made major progress in all these areas.

(Some) SPYCE Accomplishments  MSR Language for describing security protocols and intruders Used to verify o Kerberos: anomalous behavior found! * Contract signing Deeper understanding of what makes things hard * = new since September

SPYCE Accomplishments (cont’d) * (Preliminary steps towards) specifying/verifying BGP Path Vector Policy Systems * Modeling intruders using algorithmic knowledge Going beyond Dolev-Yao * Analyzing protocols using knowledge * General foundations for understanding nonces, “freshness”, jurisdiction

SPYCE Accomplishments (cont’d) * Relating formalisms for describing protocols strand spaces to runs/systems CSP to runs/systems * Provided abstraction for securely exporting web services Different protocol implementations o shared key, certificates Proved correctness using Cryptyc

SPYCE Accomplishments (cont’d) * Cryptographic protocol analysis that takes into account algebraic properties of cryptographic primitives

MSR: Background [Butler, Cervesato, Chadha, Durgin, Jaggard, Lincoln, Mitchell, Scedrov, Shmatikov]  Builds on CHAM [Berry&Boudol], and Concurrent Rewriting [Meseguer] Syntax:  Facts: Positive atomic formulas F: = P(t 1, …, t n )  State: multiset of facts { F 1,..., F n } Includes network messages, private state

State Transition Rules F 1, …, F k   x 1 …  x m. G 1, …, G n  If F 1, …, F k  , then a next state  ’ has facts F 1, …, F k removed G 1, …, G n added, with x 1 … x m replaced by new symbols same facts otherwise

(Some) advantages  Multiset can be used to capture different roles  Existential quantification can be used to capture nonces F 1, …, F k   x 1 …  x m. G 1, …, G n x 1, …, x m can take on all possible values in the next state the transition is nondeterministic  Transition rules can capture Dolev-Yao intruder (and others)

Complexity-Theoretic Insights Key insight: existential quantification (  ) captures cryptographic nonce; main source of complexity [ Durgin, Lincoln, Mitchell, Scedrov ]  only ,   only ,  Intruder w/o  Intruder with  Unbounded use of  Bounded use of  Bounded # of roles NP – complete Undecidable ?? DEXP – time

Using MSR to Analyze Kerberos  Kerberos Goals Repeatedly authenticate a client to multiple servers Minimize use of client’s long term key(s)  Kerberos is a real world protocol Windows 2000 (RFC extensions) User login, file access, printing, etc.  Other methods have been used to verify Kerberos Murφ, Paulson’s inductive methods

Kerberos 5 Analysis: Goals  Give precise statement and formal analysis  Identify and formalize protocol goals This requires a good specification language!  Discover anomalous behavior Suggest possible fixes, test them [Bu tler, Cervesato, Jaggard, Scedrov ]

Overview of Results  Formalized Kerberos 5 at different levels of detail  Observed anomalous behavior Some properties of Kerberos 4 do not hold for Kerberos 5 Proved authentication properties that do hold for Kerberos 5  Proofs of properties which do hold  Interactions with Kerberos working group

MSR: Contract Signing [ Chadha, Mitchell, Scedrov, Shmatikov ] Another important application domain. This one pushes the boundaries of the specification language A large part of the difficulty is stating the requirements: o fairness, o timeliness, o abuse-freedom

Contract signing: Specification Two adversarial parties want to exchange signatures on an agreed-upon contract text  Both parties want to sign a contract  Neither wants to sign first  Fairness: each party gets the other’s signature or neither does  Timeliness: No player gets stuck  Abuse-freedom: No party can prove to an outside party that it can control the outcome

Abuse-Freedom What does “no party can prove to an outside party that it can control the outcome” mean?  Based on its observations, an outside observer will not know that party P has an advantage Using epistemic logic seems critical here And in lots of other security-related applications

Contract Signing: Summary  Several signature exchange protocols analyzed  Formal definitions of fairness, optimism, timeliness, advantage, and abuse-freedom provided abuse-freedom defined using epistemic logic  Impossibility result any fair, timely and optimistic protocol necessarily gives one participant an advantage

Epistemic Logic Knowledge plays a fundamental role in security:  What does an intruder know? Can she factor?  Abuse-freedom: What can an outsider know?  Anonymity: Can an observer know who performed an action?  Noninterference: What does Low know about High’s state?

Modeling an Intruder [ Halpern, Pucella ]  What if the intruder can’t be characterized by Dolev-Yao? an intruder that guesses an intruder with side information Epistemic logic is a good tool but … we need to take resource limitations into account o intruders can’t factor

Resource-Bounded Reasoning  Assume that an intruder has an algorithm that responds “Yes”, “No” or “?” to queries about formulas The intruder algorithmically knows p if the algorithm responds “Yes”  Different choices of algorithms can model different types of intruders E.g., Dolev-Yao intruder, intruder with some partial information, intruders that guess  We need both algorithmic knowledge and standard knowledge to analyze algorithms

Capturing Security Concepts [ Halpern, van der Meyden, Pucella ] What’s a “fresh” message? One that’s unpredictable No one knew what the message would be in advance  What’s a good key? One that only authorized users know. Using knowledge (and probability) we can provide clean semantics for all the concepts used by BAN

Security Protocol Logic [Durgin, Mithcell, Petkovic]  Logic for reasoning about security protocols that incorporates knowledge  Typical formulas [actions] P f o Some role of principal P performs actions, after which formula f holds Knows(P,m) o Principal P created m or received msg and has keys to extract m from msg o An instance of algorithmic knowledge

 This logic has been used to verify the Needham-Schroeder-Lowe protocol, and can detect problems in the original Needham-Schroeder protocol  Likewise for the (related but somewhat different) Halpern-van der Meyden- Pucella approach  Next steps: a synthesis

A New Direction: BGP [ Griffin, Jaggard, Ramachandran ] BGP = Border Gateway Protocol  Used to set up routing between different Autonomous Systems e.g., between MCI and Sprint  Routing on the Internet is done locally Router decides where it should forward a message based on local information  Local routing can cause global anomalies We want to avoid this

Want a language that can express a wide range of policies shortest-path routing vs. paths based on business relationships Suggestion:  Path-Vector Policy Systems to express mechanism for route info exchange  separate policy language to express individual nodes’ policies

Impossibility result: checking policies locally not enough to guarantee “global sanity” unless autonomy or transparency are compromised.  transparency: policy writers can understand the effects of their policies  autonomy: policy writers can rank routes independent of their neighbors Bottom line: local information cannot give us everything we want

Summary  We use a number of approaches for representing protocols, but they all boil down to sets of runs We speak the same language Results can be imported from one framework to another  We’ve examined specific protocols Kerberos, contract signing, BGP  … and proved general results about classes of protocols impossibility results: no protocols with certain properties

 Central role of knowledge in specifying properties of interest o fairness, anonymity for defining basic concepts o freshness, goodness of keys in characterizing intruders

(Some) Next Steps  Further investigation of practical protocols  Formal methods for cryptographic protocols  Automating verification  Adding utilities to specifications  Verifying mechanisms mechanism = set of rules for playing a game, designed to encourage “good” behavior o e.g. tax system, type of auction