Presentation is loading. Please wait.

Presentation is loading. Please wait.

Message Authentication and Hash Functions

Similar presentations


Presentation on theme: "Message Authentication and Hash Functions"— Presentation transcript:

1 Message Authentication and Hash Functions
Fall 2006 CS 395: Computer Security

2 Message Authentication
message authentication is concerned with: protecting the integrity of a message Confirming identity of sender non-repudiation of origin (dispute resolution) Very important for e-commerce will consider the security requirements then three alternative functions used: message encryption message authentication code (MAC) hash function Up till now, have been concerned with protecting message content (ie secrecy) by encrypting the message. Will now consider how to protect message integrity (ie protection from modification), as well as confirming the identity of the sender. Generically this is the problem of message authentication, and in eCommerce applications is arguably more important than secrecy. Fall 2006 CS 395: Computer Security

3 General Security Requirements
disclosure traffic analysis Masquerade: insertion of message into network from fraudulent source content modification: modification to content of message sequence modification: modification to a sequence of messages, including insertion, deletion, reordering, etc. This is message confidentiality. We’ve dealt with it already. The first two requirements belong in the realm of message confidentiality, and are handled using the encryption techniques already discussed. The remaining requirements belong in the realm of message authentication. At its core this addresses the issue of ensuring that a message comes from the alleged source and has not been altered. It may also address sequencing and timeliness. The use of a digital signature can also address issues of repudiation. All the rest are authentication issues (including next slide) Fall 2006 CS 395: Computer Security

4 General Security Requirements
Timing modification: Delay or replay of messages E.g. in a connection-oriented application (say one that uses TCP) an entire session could be a replay of some previous valid session Source repudiation: denial of transmission of message by source Destination repudiation: Denial of receipt of message by destination Fall 2006 CS 395: Computer Security

5 Message Encryption message encryption by itself also provides a measure of authentication if symmetric encryption is used then: receiver knows sender must have created it, since only sender and receiver know key used know content cannot have been altered if message has suitable structure, redundancy, or a checksum to detect any changes This is an important stipulation. The assumption that the recipient will notice altered message is based on the assumption that the recipient can distinguish between a good and bad message. Fall 2006 CS 395: Computer Security

6 Message Encryption if public-key encryption is used:
encryption provides no confidence of sender, since anyone potentially knows public-key however if sender signs message using their private-key then encrypts with recipients public key have both secrecy and authentication again need to recognize corrupted messages but at cost of two public-key uses on message Fall 2006 CS 395: Computer Security

7 Fall 2006 CS 395: Computer Security

8 Fall 2006 CS 395: Computer Security

9 Message Authentication Code (MAC)
The answer to recognition of bad messages lies in creating a known structure somewhere in the message. This is part of the idea behind MACs generated by an algorithm that creates a small fixed-sized block depending on both message and some key like encryption, BUT need not be reversible appended to message as a signature receiver performs same computation on message and checks it matches the MAC provides assurance that message is unaltered and comes from sender Fall 2006 CS 395: Computer Security

10 Message Authentication Code
Fall 2006 CS 395: Computer Security

11 Fall 2006 CS 395: Computer Security

12 Message Authentication Codes
as shown the MAC provides confidentiality can also use encryption for secrecy generally use separate keys for each can compute MAC either before or after encryption is generally regarded as better done before why use a MAC? sometimes only authentication is needed sometimes need authentication to persist longer than the encryption (eg. archival use) note that a MAC is not a digital signature That is, the sender can still deny having sent the message Fall 2006 CS 395: Computer Security

13 MAC Properties a MAC is a cryptographic checksum
MAC = CK(M) condenses a variable-length message M using a secret key K to a fixed-sized authenticator is a many-to-one function potentially many messages have same MAC but finding these needs to be very difficult Fall 2006 CS 395: Computer Security

14 Requirements for MACs taking into account the types of attacks
need the MAC to satisfy the following: knowing a message and MAC, is infeasible to find another message with same MAC MACs should be uniformly distributed MAC should depend equally on all bits of the message Fall 2006 CS 395: Computer Security

15 Hash Functions condenses arbitrary message to fixed size
usually assume that the hash function is public and not keyed—this is the difference between a hash function and a MAC (the lack of key) hash used to detect changes to message can use in various ways with message most often to create a digital signature Fall 2006 CS 395: Computer Security

16 Hash Functions & Digital Signatures
Fall 2006 CS 395: Computer Security

17 Fall 2006 CS 395: Computer Security

18 Fall 2006 CS 395: Computer Security

19 Hash Function Properties
a Hash Function produces a fingerprint of some file/message/data h = H(M) condenses a variable-length message M to a fixed-sized fingerprint assumed to be public Fall 2006 CS 395: Computer Security

20 Requirements for Hash Functions
can be applied to any sized message M produces fixed-length output h is easy to compute h=H(M) for any message M given h is infeasible to find x s.t. H(x)=h one-way property given x is infeasible to find y s.t. H(y)=H(x) weak collision resistance is infeasible to find any x,y s.t. H(y)=H(x) strong collision resistance These are the specifications for good hash functions. Essentially it must be extremely difficult to find 2 messages with the same hash, and the hash should not be related to the message in any obvious way (ie it should be a complex non-linear function of the message). There are quite a few similarities in the evolution of hash functions & block ciphers, and in the evolution of the design requirements on both. Fall 2006 CS 395: Computer Security

21 Birthday Attacks might think a 64-bit hash is secure
but by Birthday Paradox is not birthday attack works thus: opponent generates 2m/2 variations of a valid message all with essentially the same meaning opponent also generates 2m/2 variations of a desired fraudulent message two sets of messages are compared to find pair with same hash (probability > 0.5 by birthday paradox) have user sign the valid message, then substitute the forgery which will have a valid signature conclusion is that need to use larger MACs The Birthday Attack exploits the birthday paradox – the chance that in a group of people two will share the same birthday – only 23 people are needed for a Pr>0.5 of this. Can generalize the problem to one wanting a matching pair from any two sets, and show need 2m/2 in each to get a matching m-bit hash. Note that creating many message variants is relatively easy, either by rewording or just varying the amount of white-space in the message. Fall 2006 CS 395: Computer Security

22 Birthday Paradox Classic probability problem that demonstrates that probability results often nonintuitive The problem: Given a room with k people, what is the probability that two of them have the same birthday (same month and day, assume no twins, etc) We seek We want P(365,k) Fall 2006 CS 395: Computer Security

23 Fall 2006 CS 395: Computer Security

24 Graph of P(365,k) Fall 2006 CS 395: Computer Security

25 Hash Functions & MAC Security
like block ciphers have: brute-force attacks exploiting strong collision resistance hash have cost 2m/2 have proposal for h/w MD5 cracker 128-bit hash looks vulnerable, 160-bits better MACs with known message-MAC pairs can either attack keyspace (cf key search) or MAC at least 128-bit MAC is needed for security Fall 2006 CS 395: Computer Security

26 Hash Functions & MAC Security
cryptanalytic attacks exploit structure like block ciphers want brute-force attacks to be the best alternative have a number of analytic attacks on iterated hash functions CVi = f[CVi-1, Mi]; H(M)=CVN typically focus on collisions in function f like block ciphers is often composed of rounds attacks exploit properties of round functions Fall 2006 CS 395: Computer Security

27 Summary have considered message authentication using:
message encryption MACs hash functions general approach & security Fall 2006 CS 395: Computer Security


Download ppt "Message Authentication and Hash Functions"

Similar presentations


Ads by Google