Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
342 KB
Nội dung
Security Protocols:They’resoNOT
Security Protocols:They’resoNOT
Easy!
Easy!
Lecture Motivation
Lecture Motivation
In the last lecture we looked at some high-level descriptions of
key distribution and agreement schemes.
These protocols cannot be used as they were stated.
In implementation of the actual protocol, there are many
situations one should be careful of.
In this lecture, we will look at some common protocol failures
that arise when trying to implement security protocols
We will then look at some specific examples of security
protocols
Lecture Outline
Lecture Outline
Some stories from the Dark Side…
Design Principles for building security protocols
Key tools for building robust security protocols
–
Naming
–
Encryption
–
Signing
–
Timestamps and nonces
Examples as we go…
–
Wide-Mouthed Frog
–
Denning-Sacco
–
Woo-Lam
–
Needham-Schroeder
We’ll end with a look at Kerberos
Tales from the Dark Side of Security…
Tales from the Dark Side of Security…
Prepayment in Electricity Meter Systems:
–
Present a (purchased) digital token to a power meter.
–
Digital token would convey an ID so it could not be duplicated or
forged…
–
Problem was that the rate information was not protected
Bank Fraud:
–
A bank would allow customers to present a bank card which had a
PIN code encrypted and stored on the magnetic strip
–
Teller had a copy of the encryption key and could check the PINs.
–
Flaw in design: adversary could alter the account number on the
card to someone else’s, while using his own PIN number… he
would check out ok… but the money would be drawn from
someone else’s account!
–
Flaw in design: PIN number was not connected to account #.
Tales from the Dark Side of Security, pg. 2
Tales from the Dark Side of Security, pg. 2
Pay-Per-View TV Hacks:
–
Decoders are personalized with a smart card. Smart card cannot
decrypt bulk content, so the bulk decryption is done on the
decoder.
–
Many decoders have a microcontroller which passes messages
between the cryptoprocessor and the smart card
–
Attackers can go in and modify or replace the microcontroller, or
can introduce a PC between the decoder and the card in order to
manipulate messages exchanged.
–
Kentucky Fried Chip hack:
When a customer stops paying subscription, the system sends
a message to the decoder to disable the card.
The KFC hack replaced the microcontroller with a a version
that would block this message.
It was able to do this because the system message was sent in
the clear!
Caveat Cryptor: Designer Beware!
Caveat Cryptor: Designer Beware!
The lesson learned from this last story is: The adversary can be
very powerful and clever!
We must assume that the adversary has complete control over
the network…
–
Be paranoid! Alice should not blindly trust what she is getting
from “Bob”! And vice-versa!
–
If we can build a system that we trust in this Seriously Caustic
environment, then we can trust it in more general (day-to-day)
computing scenarios
So, who are the entities?
–
Alice and Bob may be users, or may be smart cards, or devices
–
Eve can be the compromised decoder, or the network, or a hacker
–
When needed, Trent will be a trusted third party server
Security is not easy…
Security is not easy…
Building secure systems and protocols is not easy.
In general, its not an easy matter to prove that some protocol is indefinitely
secure.
–
Denning-Sacco protocol took 12 years for a protocol failure to be
exposed
–
Needham-Schroeder survived for 17 years before a man-in-the-middle
attack was found
Attacks of today must always be considered when building systems
–
Attacks of tomorrow aren’t known yet…
–
That’s the challenge!
What can we do?
–
Formal verification logics?
–
Basic design guidelines?
Basic Guidelines
Basic Guidelines
Needham has given several guidelines for building secure systems
1. Be clear of security goals and assumptions
2. When using encryption, know why you are using it (secrecy? Authenticity?
Binding? PRNG?) . Encryption is not security!
3. Be careful about temporal associations
4. Don’t assume the identity of a participant can be excluded from a message.
Generally, it should be explicitly included in a message!
5. Have redundancy in your message!
6. Know the properties and weaknesses of the cryptographic protocols you are
using.
7. Signatures do not imply that the signer knows what the message is that he is
signing!
8. Don’t trust others to keep their secrets secret!
9. When responding to queries, be careful about encrypting, decrypting, or
signing. You might be used as an oracle by an adversary!
10. Decryption is not the same as digital signatures- they have different
purposes!
11. Distinguish between different runs of the protocol!
Other Considerations
Other Considerations
KISS (Keep It Simple Stupid) is often desirable from an
engineering point of view…
–
Its generally BAD from a security point of view!
–
Removing some data fields because they seem like they can be
inferred (and thus shorten the message) can result in severe
protocol failures!
Formal methods are helpful, but are at still at a young stage of
development
–
For information on formal models, look Kailar’s logic in R. Kailar,
“Reasoning about accountability in protocols for electronic
commerce,” 1995 IEEE Symposium on Security and Privacy
Why these rules? How to use them?
Why these rules? How to use them?
The previous two slides gave guidelines, but not did not say
why we should follow these guidelines.
We are going to look at several examples of protocols that, at
first glance, looked OK… but flaws were uncovered later.
These examples will illustrate why we need to be careful, and
why these rules are important.
In order to carry out these guidelines, we need some tools, so we
will introduce various tools in the process to fix these protocols.
[...]... (authenticated) Some fixes to Woo-Lam The problem was (again) that the last message was not tied to the identity of who it corresponded to One simple fix is to make message 5 include Alice’s identity: T → B : E K BT [ ID A , N B ] So, Trent tells Bob who the response corresponds to Then, Bob will be able to tell that message 5’ does not correspond to Eve’s nonce! One problem is that Trent does not know... that comes from the fact that the connection between Bob-to-Trent’s message and Trent-to-Bob’s message is not strong enough The only “connection” comes from the fact that message 4 and message 5 happen shortly one after another This weak association can be used in an attack where Eve impersonates Alice: 1 Eve tries to authenticate herself to Bob (or Bob’s computer) at about the same time as Alice... then pretend to be Alice and get 5 And so on… Effect: The key KAB is kept indefinitely alive To fix: You need to be explicitly clear about how you keep track of temporal succession (did you see this key before?) Denning-Sacco Public Key Exchange Distributing public keys is not as simple as announcing public keys… As we saw earlier, certificates help… but its not easy giving out certificates either!... is, make certain this message cannot be reused later in the protocol, or in another protocol! – It is possible to use one protocol against another! Woo-Lam Authentication Protocol Woo and Lam presented an authentication protocol using symmetric cryptography in which Alice tries to prove her identity to Bob, yet she does not share a key with Bob but instead with Trent The protocol: A → B : ID A... intended for was not clear Thus, the guideline: Names should be explicitly stated in the protocol messages! A better choice for the third message would have been: [ B → C : CA, CB, E K C E K −1 [ ID A , ID B , t A , K AB ] A ] Important Caveat: Make certain you only use this format of the message only once between Alice, Bob, and Trent! – That is, make certain this message cannot be reused later... many security protocols – Time provides an ordering of events – Time and timestamps help provide measures of freshness to protocols Having reliable and synchronized clocks is an important challenge in building secure and trusted systems – We can’t simply use the normal clock time… an enemy may manipulate the clock, or the clock may fail Setting the clock back: – Perhaps a user had access to some... (notably: Denning and Sacco have a timestamped version of NS, and Kerberos is a modification of NS) – Denning and Sacco point out that slow clocks allow for replay attacks – Gong points out that fast clocks can be used to replay requests (If Alice has a fast clock, and Eve knows it, then Eve can reuse her request at the correct time) Generally, protocols that rely on synchronized clocks must also... protocols that access time servers – These time protocols cannot rely on synchronized clocks and instead must use nonces Reiter’s time protocol: A → T : ID A , N A T → A : E K AT [ t T , N A ] Time is accepted if response is quick Kerberos Kerberos is a real-world implementation of a symmetric cryptographic protocol that provides authentication and security during key exchange between users in a network... Needham-Schroeder with some appropriate fixes Kerberos grew out of MIT’s Project Athena, whose purpose was to integrate a network of computer workstations and allow students to access files easily from anywhere on the network Kerberos is based upon a client-server model Actors: – Cliff: The Client, wants to use a service – Serge: The service server – Trent: A Trusted Authority (also called an Authentication... is known to have a weakness to interchange attacks V.5 uses CBC and allows you to specify encryption algorithm.) – Double encryptions (message 2 and 4) are not necessary – V 4 strictly is for IP based networks – Many other little differences… Note: A paper is placed on website describing Kerberos V.4 .
Security Protocols: They’re so NOT
Security Protocols: They’re so NOT
Easy!
Easy!
Lecture Motivation
Lecture Motivation
In. server
Security is not easy…
Security is not easy…
Building secure systems and protocols is not easy.
In general, its not an easy matter to prove that some