26
Authentication Advanced Software Engineering (CSE870) Instructor: Dr. B. Cheng Contact info: chengb at cse dot msu dot edu Eduardo Diaz Dan Fiedler Andres Ramirez

Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

AuthenticationAdvanced Software Engineering (CSE870)

Instructor: Dr. B. ChengContact info: chengb at cse dot msu dot edu

Eduardo DiazDan Fiedler

Andres Ramirez

Page 2: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Road Map

?Introduction to Authentication?Needham-Schroeder, Otway-Rees, Kerberos

?Commonalities?Additional Requirements?Class Diagrams?State Diagrams?Conclusions

Page 3: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Authentication

?Meet:?Alice (Staff)

?Bob (MISys)

Page 4: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Authentication

?Purpose?Key exchange.?Allow Alice to secretly communicate with Bob using a shared

cryptographic key.

?Methods?Private keys, shared keys, public keys…

?Potential Problems?Trustworthy??Safe handling of private keys?

Page 5: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Needham-Schroeder

1. Alice Cathy: {Alice || Bob || rand1}2. Cathy Alice: {Alice || Bob || rand1}Ksess

|| {Alice || Ksess}kbob}kalice

3. Alice Bob: {Alice || ksess}kbob

4. Bob Alice: {rand2}ksess

5. Alice Bob: {rand2 - 1}ksess

Page 6: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Needham Schroeder

?Motive??Prevent replay attacks?A valid data transmission is retransmitted

maliciously.

?Nonces?Randomly generated numbers to identify

exchanges.?Key idea: Cathy is trusted by Alice and

Bob.

Page 7: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Otway-Rees

1. Alice Bob: num || Alice || Bob || { rand1 || num || Alice|| Bob}kalice

2. Bob Cathy: num || Alice || Bob ||{rand1 || num || Alice || Bob}kalice || {rand2 || num || Alice || Bob}kbob

3. Cathy Bob: num || {rand1 || ksess}kalice || {rand2 || ksess}kbob

4. Bob Alice: num || {rand1 || ksess}kalice

Page 8: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Otway-Rees

?Motivation?Needham-Schroeder assumes all cryptographic

keys are secure… in practice generated pseudorandomly… but it can be predicted.

?Num?Verify that num agrees through the exchanges.

?Key Idea?Cathy is again the trustworthy element.

Page 9: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Kerberos

1. Alice Cerberus: Alice || Barnum2. Cerberus Alice: {kalice,barnum}kalice || Talice,barnum

3. Alice Barnum: Guttenberg || Aalice,barnum ||Talice,barnum

4. Barnum Alice: Alice || {kalice,guttenberg}kalicebarnum

|| Talice,guttenberg

5. Alice Guttenberg: Aalice,guttenberg ||Talice,guttenberg

6. Guttenberg Alice: {t+1}kalice,guttenberg

Page 10: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Kerberos

?What is T??Talice,barnum = Barnum || {Alice || Alice Address ||

valid time || kalice,barnum}kbarnum

?What is A??{Alice || generation time || kt}kalice,barnum?Kt… not used.

Page 11: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Kerberos

?Motivation?Separate authentication of the user to ticket granting

server and resource being requested.

?2 Servers?Authenticate first?Obtain ticket second

?Key Idea:?Time windows?Separation of trusted parties

Page 12: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Commonalities

?Message Passing?Authentication Requests?Encryption / Decryption?Key Passing?… other than that, not much!?Each protocol has slight variants.

Page 13: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Additional Requirements

?Same as other groups plus:?Incorporate 2 design patterns?1 must be a security design pattern?Strategy Design Pattern (encryption algorithms)?Single Access Point (entry and logging)

?Instantiate the framework at MISys?At the whitebox level

Page 14: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Whitebox Class Diagram

Page 15: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

N.S. Class Diagram

Page 16: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

O.R. Class Diagram

Page 17: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Kerberos Class Diagram

Page 18: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Whitebox Class Diagram-MISys

Page 19: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

State Diagrams, NS

Page 20: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

State Diagrams, N.S.

Page 21: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

State Diagram, O.R.

Page 22: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

State Diagram, O.R.

Page 23: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

State Diagram, Kerberos

Page 24: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Graybox Class Diagram

Page 25: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

BlackBox Class Diagram

Page 26: Advanced Software Engineering (CSE870) Instructor: Dr. B ...cse870/Lectures/SS2007/MiniProjectPresentations/... · Authentication?Purpose?Key exchange.?Allow Alice to secretly communicate

Conclusions

?Questions?