cse543 introduction to computer and network security
play

CSE543 - Introduction to Computer and Network Security Module: - PowerPoint PPT Presentation


  1. �������฀฀���฀฀�������� ��������������฀�������� � � �������฀���฀��������฀��������฀������ ����������฀��฀��������฀�������฀���฀����������� ������������฀�����฀�����������฀����������฀����฀฀�� CSE543 - Introduction to Computer and Network Security Module: Authentication Professor Patrick McDaniel Fall 2008 CSE543 - Introduction to Computer and Network Security Page 1

  2. Meet Alice and Bob …. • Alice and Bob are the canonical players in the cryptographic world. ‣ They represent the end points of some interaction ‣ Used to illustrate/define a security protocol • Other players occasionally join … ‣ Trent - trusted third party ‣ Mallory - malicious entity ‣ Eve - eavesdropper ‣ Ivan - an issuer (of some object) CSE543 - Introduction to Computer and Network Security Page 2

  3. Some notation … • You will generally see protocols defined in terms of exchanges containing some notation like ‣ All players are identified by their first initial • E.g., Alice=A, Bob=B ‣ d is some data ‣ pw A is the password for A ‣ k AB is a symmetric key known to A and B ‣ K A+ ,K A- is a public/private key pair for entity A ‣ E( k , d ) is encryption of data d with key k ‣ H( d ) is the hash of data d ‣ Sig(K A- , d ) is the signature (using A’s private key) of data d ‣ “+” is used to refer to concatenation CSE543 - Introduction to Computer and Network Security Page 3

  4. Some interesting things • … when communicating. ‣ Ensure the authenticity of a user ‣ Ensure the integrity of the data • Also called data authenticity ‣ Keep data confidential ‣ Guarantee non-repudation CSE543 - Introduction to Computer and Network Security Page 4

  5. Basic (User) Authentication • Bob wants to authenticate Alice’s identity ‣ (is who she says she is) [pw A ] 1 Alice Bob 2 [Y/N] CSE543 - Introduction to Computer and Network Security Page 5

  6. Hash User Authentication • Bob wants to authenticate Alice’s identity ‣ (is who she says she is) [h(pw A )] 1 Alice Bob 2 [Y/N] CSE543 - Introduction to Computer and Network Security Page 6

  7. Challenge/Response User Authentication • Bob wants to authenticate Alice’s identity ‣ (is who she says she is) [c] 1 [h(c+pw A )] 2 Alice Bob 3 [Y/N] CSE543 - Introduction to Computer and Network Security Page 7

  8. User Authentication vs. Data Integrity • User authentication proves a property about the communicating parties ‣ E.g., I know a password • Data integrity ensures that the data transmitted... ‣ Can be verified to be from an authenticated user ‣ Can be verified to determine whether it has been modified • Now, lets talk about the latter, data integrity CSE543 - Introduction to Computer and Network Security Page 8

  9. Simple Data Integrity? • Alice wants to ensure any modification of the data in flight is detectable by Bob (integrity) [d,h(d)] 1 Alice Bob CSE543 - Introduction to Computer and Network Security Page 9

  10. HMAC Integrity • Alice wants to ensure any modification of the data in flight is detectable by Bob (integrity) [d,hmac(k,d)] 1 Alice Bob CSE543 - Introduction to Computer and Network Security Page 10

  11. Signature Integrity • Alice wants to ensure any modification of the data in flight is detectable by Bob (integrity) [d, Sig(K A - , d) ] 1 Alice Bob CSE543 - Introduction to Computer and Network Security Page 11

  12. Data Integrity vs. Non-repudiation • If the integrity of the data is preserved, is it provably from that source? ‣ Hash integrity says what about non-repudiation? ‣ Signature integrity says what about non-repudiation? CSE543 - Introduction to Computer and Network Security Page 12

  13. Confidentiality • Alice wants to ensure that the data is not exposed to anyone except the intended recipient (confidentiality) [E(k AB ,d ), hmac(k AB , d) ] 1 Alice Bob CSE543 - Introduction to Computer and Network Security Page 13

  14. Question • If I already have an authenticated channel (e.g., the remote party’s public key), why don’t I simply make up a key and send it to them? CSE543 - Introduction to Computer and Network Security Page 14

  15. Confidentiality • Alice wants to ensure that the data is not exposed to anyone except the intended recipient (confidentiality) • But, Alice and Bob have never met !!!! [E(k x ,d ), hmac(k x , d),E(K B + ,k x ) ] 1 Alice Bob • Alice randomly selects key k x to encrypt with CSE543 - Introduction to Computer and Network Security Page 15

  16. Real Systems Security • The reality of the security is that 90% of the frequently used protocols use some variant of these constructs. ‣ So, get to know them … they are your friends ‣ We will see them (and a few more) over the semester • They also apply to systems construction ‣ Protocols need not necessarily be online ‣ Think about how you would use these constructs to secure files on a disk drive (integrity, authenticity, confidentiality) ‣ We will add some other tools, but these are the basics CSE543 - Introduction to Computer and Network Security Page 16

  17. Kerberos • History: from UNIX to Networks (late 80s) ‣ Solves: password eavesdropping ‣ Online authentication • Variant of Needham-Schroeder protocol ‣ Easy application integration API ‣ First single sign-on system (SSO) ‣ Genesis: rsh, rcp • authentication via assertion • Most widely used (non-web) centralized password system in existence (and lately only ..) • Now: part of Windows 2K/XP/Vista network authentication ‣ Old Windows authentication was a cruel joke. CSE543 - Introduction to Computer and Network Security Page 17

  18. An aside … • Authentication ‣ Assessing identity of users ‣ By using credentials … • Authorization ‣ Determining if users have the right to perform requested action (e.g., write a file, query a database, etc.) • Kerberos authenticates users, but does not perform any authorization functions … ‣ … beyond identify user as part of Realm ‣ Typically done by application. • Q: Do you use any “ Kerberized ” programs? ‣ How do you know? CSE543 - Introduction to Computer and Network Security Page 18

  19. The setup … • The players ‣ Principal - person being authenticated ‣ Service (verifier) - entity requiring authentication (e.g, AFS) ‣ Key Distribution Center (KDC) • Trusted third party for key distribution • Each principal and service has a Kerberos password known to KDC, which is munged to make a password ke, e.g., k A ‣ Ticket granting server • Server granting transient authentication • The objectives CSE543 - Introduction to Computer and Network Security Page 19

  20. The protocol • A two-phase process 1. User authentication/obtain session key (and ticket granting ticket) key from Key Distribution Center 2. Authenticate Service/obtain session key for communication with service • Setup ‣ Every user and service get certified and assigns password CSE543 - Introduction to Computer and Network Security Page 20

  21. A Kerberos Ticket • A kerberos ticket is a token that … ‣ Alice is the only on that can open it ‣ Contains a session key for Alice/Bob (K AB ) ‣ Contains inside it a token that can only be opened by Bob • Bob’s Ticket contains ‣ Alice’s identity Ticket (K AB ) ‣ The session key (K AB ) Ticket (K AB ) “Locked” by K B “Locked” by K A • Q: What if issuing service is not trusted? CSE543 - Introduction to Computer and Network Security Page 21

  22. The protocol (obtaining a TGT) • Time exp - time of expiration • n - nonce (random, one-use value: e.g., timestamp) [A,TGS,Time exp ,n] 1 Alice KDC 2 E(k A ,[k A,TGS ,TGS,Time exp ,n]),E(K TGS ,[A, k A,TGS , Time exp ],) TGT CSE543 - Introduction to Computer and Network Security Page 22

  23. The protocol (performing authentication) [B,Time exp ,n,E(k A,TGS ,[B,Time exp ,n])], E(K TGS ,[A,k A,TGS , Time exp ])] 1 TGS Alice 2 E(k A,TGS ,[k A,B ,B,Time exp ,n]), 3 E(k B ,[A,k A,B ,Time exp ])] E(k A,B ,[A,Time exp ,n]), E(k B ,[A,k A,B ,Time exp ])] Bob Authenticator CSE543 - Introduction to Computer and Network Security Page 23

  24. Cross-Realm Kerberos • Extend philosophy to more servers ‣ Obtain ticket from TGS for foreign Realm ‣ Supply to TGS of foreign Realm ‣ Rinse and repeat as necessary Ohio St. Michigan Penn St. Pitt Purdue • “There is no problem so hard in computer science that it cannot be solved by another layer of indirection.” ‣ David Wheeler, Cambridge University (circa 1950) CSE543 - Introduction to Computer and Network Security Page 24

  25. Kerberos Reality • V4 was supposed to be replaced by V5 ‣ But wasn’t because interface was ugly, complicated, and encoding was infuriating • Assumes trusted path between user and Kerberos • Widely used in UNIX domains • Robust and stable implementation • Problem : trust ain’t transitive, so not so good for large collections of autonomous enterprises CSE543 - Introduction to Computer and Network Security Page 25

  26. Assignment #2 • A password protecting file processor. CSE543 - Introduction to Computer and Network Security Page 26

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend