Download presentation
Presentation is loading. Please wait.
1
Authentication Advanced Software Engineering (CSE870) Instructor: Dr. B. Cheng Contact info: chengb at cse dot msu dot edu Eduardo Diaz Dan Fiedler Andres Ramirez Eduardo Diaz Dan Fiedler Andres Ramirez
2
Road Map Introduction to Authentication Needham-Schroeder, Otway-Rees, Kerberos Commonalities Additional Requirements Class Diagrams State Diagrams Conclusions Introduction to Authentication Needham-Schroeder, Otway-Rees, Kerberos Commonalities Additional Requirements Class Diagrams State Diagrams Conclusions
3
Authentication Meet: Alice (Staff) Bob (MISys) Meet: Alice (Staff) Bob (MISys)
4
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? 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?
5
Needham-Schroeder 1.Alice Cathy: {Alice || Bob || rand 1 } 2.Cathy Alice: {Alice || Bob || rand 1 } Ksess || {Alice || Ksess} kbob } kalice 3. Alice Bob: {Alice || ksess} kbob 4. Bob Alice: {rand 2 } ksess 5. Alice Bob: {rand 2 - 1} ksess 1.Alice Cathy: {Alice || Bob || rand 1 } 2.Cathy Alice: {Alice || Bob || rand 1 } Ksess || {Alice || Ksess} kbob } kalice 3. Alice Bob: {Alice || ksess} kbob 4. Bob Alice: {rand 2 } ksess 5. Alice Bob: {rand 2 - 1} ksess
6
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. 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.
7
Otway-Rees 1.Alice Bob: num || Alice || Bob || { rand 1 || num || Alice|| Bob} kalice 2. Bob Cathy: num || Alice || Bob || {rand 1 || num || Alice || Bob} kalice || {rand 2 || num || Alice || Bob} kbob 3. Cathy Bob: num || {rand 1 || k sess } kalice || {rand 2 || k sess } kbob 4. Bob Alice: num || {rand 1 || k sess } kalice 1.Alice Bob: num || Alice || Bob || { rand 1 || num || Alice|| Bob} kalice 2. Bob Cathy: num || Alice || Bob || {rand 1 || num || Alice || Bob} kalice || {rand 2 || num || Alice || Bob} kbob 3. Cathy Bob: num || {rand 1 || k sess } kalice || {rand 2 || k sess } kbob 4. Bob Alice: num || {rand 1 || k sess } kalice
8
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. 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.
9
Kerberos 1.Alice Cerberus: Alice || Barnum 2.Cerberus Alice: {k alice,barnum } kalice || T alice,barnum 3.Alice Barnum: Guttenberg || A alice,barnum || T alice,barnum 4.Barnum Alice: Alice || {k alice,guttenberg } kalicebarnum || T alice,guttenberg 5.Alice Guttenberg: A alice,guttenberg || T alice,guttenberg 6. Guttenberg Alice: {t+1} kalice,guttenberg 1.Alice Cerberus: Alice || Barnum 2.Cerberus Alice: {k alice,barnum } kalice || T alice,barnum 3.Alice Barnum: Guttenberg || A alice,barnum || T alice,barnum 4.Barnum Alice: Alice || {k alice,guttenberg } kalicebarnum || T alice,guttenberg 5.Alice Guttenberg: A alice,guttenberg || T alice,guttenberg 6. Guttenberg Alice: {t+1} kalice,guttenberg
10
Kerberos What is T? T alice,barnum = Barnum || {Alice || Alice Address || valid time || k alice,barnum } kbarnum What is A? {Alice || generation time || kt} kalice,barnum Kt… not used. What is T? T alice,barnum = Barnum || {Alice || Alice Address || valid time || k alice,barnum } kbarnum What is A? {Alice || generation time || kt} kalice,barnum Kt… not used.
11
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 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
12
Commonalities Message Passing Authentication Requests Encryption / Decryption Key Passing … other than that, not much! Each protocol has slight variants. Message Passing Authentication Requests Encryption / Decryption Key Passing … other than that, not much! Each protocol has slight variants.
13
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 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
14
Whitebox Class Diagram
15
N.S. Class Diagram
16
O.R. Class Diagram
17
Kerberos Class Diagram
18
Whitebox Class Diagram-MISys
19
State Diagrams, NS
20
State Diagrams, N.S.
21
State Diagram, O.R.
23
State Diagram, Kerberos
24
Graybox Class Diagram
25
BlackBox Class Diagram
26
Conclusions Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.