Security Analysis of Network Protocols

Slides:



Advertisements
Similar presentations
Chapter 3 Public Key Cryptography and Message authentication.
Advertisements

Luu Anh Tuan. Security protocol Intruder Intruder behaviors Overhead and intercept any messages being passed in the system Decrypt messages that are.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Cryptography (continued). Enabling Alice and Bob to Communicate Securely m m m Alice Eve Bob m.
Hash Functions Nathanael Paul Oct. 9, Hash Functions: Introduction Cryptographic hash functions –Input – any length –Output – fixed length –H(x)
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
Lecture 4 Cryptographic Tools (cont) modified from slides of Lawrie Brown.
Encryption Methods By: Michael A. Scott
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Cryptography and Network Security Chapter 11 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
EE515/IS523 Think Like an Adversary Lecture 4 Crypto in a Nutshell Yongdae Kim.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Basic Cryptography 1. What is cryptography? Cryptography is a mathematical method of protecting information –Cryptography is part of, but not equal to,
CSCE 813 Internet Security Cryptographic Protocol Analysis.
Intro to Cryptography Lesson Introduction
CS426Fall 2010/Lecture 51 Computer Security CS 426 Lecture 5 Cryptography: Cryptographic Hash Function.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
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.
@Yuan Xue 285: Network Security CS 285 Network Security Digital Signature Yuan Xue Fall 2012.
@Yuan Xue 285: Network Security CS 285 Network Security Hash Algorithm Yuan Xue Fall 2012.
Web Applications Security Cryptography 1
Reviews Rocky K. C. Chang 20 April 2007.
Symmetric Cryptography
Key Exchange References: Applied Cryptography, Bruce Schneier
USAGE OF CRYPTOGRAPHY IN NETWORK SECURITY
Protocol Analysis.
Cryptography Why Cryptography Symmetric Encryption
Cryptographic Hash Functions
Cryptographic Hash Function
CSCE 715: Network Systems Security
Public Key Encryption and Digital Signatures
Security Protocols Analysis
Chapter 8 Network Security.
Encryption
Cryptography.
Digital signatures.
Cryptographic Hash Functions
Presented by: Dr. Munam Ali Shah
NET 311 Information Security
Cryptographic Hash Functions Part I
Message Security, User Authentication, and Key Management
Cryptography Basics and Symmetric Cryptography
ICS 454 Principles of Cryptography
Man in the Middle Attacks
Asymmetric Cryptography
Security through Encryption
CS/ECE 478 Network Security Dr. Attila Altay Yavuz
Introduction to Symmetric-key and Public-key Cryptography
Security.
Cryptography: Basics (2)
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
The Secure Sockets Layer (SSL) Protocol
ICS 454 Principles of Cryptography
Outline Using cryptography in networks IPSec SSL and TLS.
Lecture 10: Network Security.
CDK: Chapter 7 TvS: Chapter 9
Chapter -7 CRYPTOGRAPHIC HASH FUNCTIONS
Lecture 4.1: Hash Functions, and Message Authentication Codes
Chapter 3 - Public-Key Cryptography & Authentication
Chapter 29 Cryptography and Network Security
Unit 2: Cryptography & Cryptographic Algorithm
Asymmetric Cryptographic Algorithms
Hashing Hash are the auxiliary values that are used in cryptography.
Security: Integrity, Authentication, Non-repudiation
Cryptanalysis Network Security.
Hash Function Requirements
CRYPTOGRAPHY & NETWORK SECURITY
Cryptography Lecture 23.
AIT 682: Network and Systems Security
Lecture 6.2: Protocols - Authentication and Key Exchange II
Presentation transcript:

Security Analysis of Network Protocols CS 259 Security Analysis of Network Protocols Mukund Sundararajan http://www.stanford.edu/class/cs259/

How to write a crypto paper? 1. First visit: http://www-cse.ucsd.edu/users/mihir/crypto-topic-generator.html 2. Click on the button 3. Be Inspired Fortunately, we don’t need to know what those papers, if written, may contain

Today Getting Murphi to work on Windows A close look at the NS implementation in Murphi Cryptography for CS259 The cryptography of SSL Newsgroup: su.class.cs259

Murphi on Windows Download Cygwin Need to include g++, make, gcc packages Look under the ‘Devel’ heading Follow instructions in the Readme file located in the src directory Make the murphi compiler in the src directory Set up a link Edit homework Makefile

Needham Schroeder in Murphi Walk through code sections Data types State variables Transitions, invariants Initial state The strong attacker model Perfect cryptography Intercept all messages on the network Insert, reorder, delete messages

Murphi Syntax Invariants are a special kind of rule Rulesets allow concise specification of transition rules Scalarsets allow us to exploit symmetry the inherent symmetry in some situations to make model checking efficient Multisets are similar to scalarsets but are modifiable at runtime, use a ‘choose’ to index. Union data types allow us to refer to many scalarsets at once

Weak intruder model [Part (b) of the 3rd question on HW#1] Consider an intruder who can only receive messages destined to it. Does the attack on “initiator correctly authenticated” still work? Need to undo optimizations

Anomaly in Needham-Schroeder [Lowe] Anomaly in Needham-Schroeder { A, NA } Ke A E { NA, NB } Ka { NB } Ke { NA, NB } { A, NA } Evil agent E tricks honest A into revealing private key NB from B Ka Kb B Evil E can then fool B

Nonce 'number used once' To prevent against replay attacks

Symmetric Key Algorithm Encryption Input: plain-text, key, Output: cipher text Decryption Input: encrypted message, key, Output: plain text Needs to be reversible Insecure if following is computationally feasible Can decipher plaintext without key Can produce cipher text without key Can deduce key from cipher text

Asymmetric Encryption Input: plain-text, public-key, Output: cipher text Decryption Input: encrypted message, private-key, Output: plain text Needs to be reversible Insecure if following is computationally feasible Can decipher plaintext without private key Can deduce private key from cipher text or public key

Digital Signatures Signature algorithm Verification algorithm Input: m, private key, Output: Signature Verification algorithm Input: Signature, public key, Output: Boolean Authentication Integrity Non-repudiation

Cryptographic Hashes Input: message, Output: digest Insecure if following is computationally feasible: Preimage resistance: finding a message that matches a given digest Collision resistance: finding "collisions", wherein two different messages have the same message digest Second Preimage resistance: given an input m, it must be hard to find different m’ that hashes to the same value

MAC’s Integrity + Authenticity Input: Key, Message, Output: Message Authentication Code Verification algorithm Uses cryptographic hashes or symmetric key crypto Attacker must not be able to find two messages M, M’ that produce the same MAC under an unknown key given an oracle that MAC’s messages Key holder may find collisions Differ from signatures: they are symmetric

Diffie-Hellman exchange A picks a nonce x, generates Gx, sends it to B B picks a nonce y, generates Gy, sends it to A Both generate Gxy locally Gxy is a shared secret Secure by ‘Hardness of discrete logarithm’

Exercises How do scalarsets and multisets improve the efficiency of model-checking? What is the relationship between the three properties of cryptographic hashes? Read the definition of a message authentication code in Wikipedia