Αζθάιεηα Τπνινγηζηώλ θαη Γηθηύσλ Κεηαπηπρηαθό Πξόγξακκα πνπδώλ Πιεξνθνξηαθά πζηήκαηα Γξ. Καξηάο Ησάλλεο, Δπ. Θαζηεγεηήο marias@aueb.gr
Πεξηερόκελα πζηήκαηα θαη Πξσηόθνιια απζεληηθνπνίεζεο Kerberos Pretty Good Privacy (PGP) 2
Kerberos Σν Kerberos παξέρεη ππεξεζίεο απζεληηθνπνίεζεο ρξήζηε ζε δηθηπαθά θαη θαηαλεκεκέλα πεξηβάιινληα, ρξεζηκνπνηώληαο κία έκπηζηε ηξίηε νληόηεηα (TTP) TTP απνηειεί ηελ KDC Αλαπηύρζεθε από ην Project Athena ηνπ MIT http://web.mit.edu/kerberos/www/ Βαζίδεηαη ζε αιγνξίζκνπο ζπκκεηξηθήο θξππηνγξάθεζεο Απζεληηθνπνηεί δύν κέξε Κνλνκεξώο (Client 2 Server) Ακνηβαία (C 2 S/ S 2 C) Υσξίο λα απνθαιύπηεη θνηλό κπζηηθό (π.ρ., password) Υξεζηκνπνηεί σο βάζε ηνλ αιγόξηζκν Needham Schroeder. 3
Kerberos Υξεζηκνπνηείηαη, κεηαμύ άιισλ, ζηα Windows 2000 γηα ηελ απζεληηθνπνίεζε ησλ ρξεζηώλ ζην ζύζηεκα θαη ηε ρξήζε δηθηπαθώλ πόξσλ Σν θνηλό κπζηηθό είλαη έλα θιεηδί πνπ βαζίδεηαη ζην ζπλζεκαηηθό ηνπ ρξήζηε ρξεζηκνπνηείηαη θαη γηα λα ππνζηεξίμεη εθαξκνγέο Single Sign On (SSO) Σειεπηαία έθδνζε: v5 (RFC 1510) H v4 ρξεζηκνπνηείηαη αθόκα, ελώ νη εθδόζεηο 1-3 δελ δεκνζηεύηεθαλ 4
Υξεζηκόηεηα Σν Kerberos αληηκεησπίδεη ην πξόβιεκα ηεο απζεληηθνπνίεζεο ζε έλα δηθηπαθό πεξηβάιινλ, όπνπ δηάθνξεο ππεξεζίεο παξέρνληαη από αλεμάξηεηα ζπζηήκαηα ηα νπνία επηθνηλσλνύλ κεηαμύ ηνπο κέζσ δηθηύνπ Οη ππεξεζίεο κπνξνύλ λα παξέρνληαη κόλν ζε ρξήζηεο κεηά από εμνπζηνδόηεζε Σν Kerberos αληηθαζηζηά ηελ αλάγθε επηκέξνπο απζεληηθνπνίεζεο ζε θάζε ζύζηεκα, κε έλα θεληξηθό ζύζηεκα πνπ δηαρεηξίδεηαη όιεο ηηο ζρέζεηο εκπηζηνζύλεο κεηαμύ ππεξεζηώλ θαη ρξεζηώλ 5
Απαηηήζεηο Αζθάλεια: Έλαο σηαθνπζηήο δελ ζα πξέπεη λα κπνξεί λα ρξεζηκνπνηήζεη ηηο πιεξνθνξίεο πνπ ιακβάλεη γηα λα ηδηνπνηεζεί ηελ ηαπηόηεηα ελόο ρξήζηε Αξιοπιζηία: Δθόζνλ ν έιεγρνο πξόζβαζεο ζηηο ππεξεζίεο γίλεηαη από ην Kerberos, πηζαλή έιιεηςε δηαζεζηκόηεηάο ηνπ ζα ζπλεπάγεηαη θαη κε δηαζεζηκόηεηα ησλ ππεξεζηώλ. πλεπώο ν Kerberos ζα πξέπεη λα είλαη πάληα δηαζέζηκνο πινπνηείηαη κέζα από κηα θαηαλεκεκέλε αξρηηεθηνληθή (θαηά specs) Διαθάνεια: Ο ρξήζηεο δελ ζα πξέπεη λα αληηιακβάλεηαη ηελ ύπαξμε ηνπ ζπζηήκαηνο ειέγρνπ πξνζπέιαζεο, πέξα από ηελ απαίηεζε εηζαγσγήο ελόο ζπλζεκαηηθνύ. Κλιμάκωζη: Πξέπεη λα κπνξεί λα ππνζηεξίμεη κεγάιν αξηζκό clients θαη servers, κέζα από κία θαηαλεκεκέλε αξρηηεθηνληθή domains (realms) 6
Γηαλνκή Θιεηδηώλ κέζσ TTP ελάξην κε ζπκκεηξηθά θιεηδηά Γίθηπν n θόκβσλ Θάζε δεύγνο θόκβσλ ζέιεη λα επηθνηλσλήζεη κε αζθάιεηα Απαηηνύληαη n(n-1)/2 θιεηδηά θαη θάζε θόκβνο πξέπεη λα δηαζέηεη n-1 θιεηδηά Θα κπνξνύζαλ λα ρξεζηκνπνηεζνύλ αιγόξηζκνη αζύκκεηξεο θξππηνγξαθίαο Δλαιιαθηηθά, ζα κπνξνύζε λα ρξεζηκνπνηεζεί κία έκπηζηε ηξίηε νληόηεηα (KDC) πνπ ζα βνεζά ηνπο ρξήζηεο λα απζεληηθνπνηνύληαη κόλν απέλαληί ηεο Θαηόπηλ κνηξάδνληαη θιεηδηά ζπλόδνπ (πξνεγνύκελε δηάιεμε) Σειηθά: Υξήζε πξσηόθνιινπ Needham - Schroeder 7
Needham Schroeder Θιεηδηά Θάζε θόκβνο H κνηξάδεηαη έλα θιεηδί καθξάο δηάξθεηαο K H,T κε ην KDC. Ζ Alice κνηξάδεηαη έλα θιεηδί καθξάο δηάξθεηαο K A,T κε ην KDC. Ο Bob επίζεο κνηξάδεηαη έλα θιεηδί καθξάο δηάξθεηαο K B,T κε ην KDC. Αξρηθά ε Alice θαη ν Bob δελ κνηξάδνληαη θάπνην θνηλό θιεηδί. Ζ Alice θαη ν Bob ρξεζηκνπνηνύλ ην KDC ώζηε λα απζεληηθνπνηνύληαη ν έλαο απέλαληη ζηνλ άιινλ (έκκεζα) θαη λα ζπκθσλήζνπλ ζε έλα θιεηδί ζπλόδνπ. 8
Needham Schroeder Σν πξσηόθνιιν KDC 1 2 Alice Δγθαζίδξπζε θνηλνύ θιεηδηνύ ζπλόδνπ Κ κεηαμύ Alice θαη Bob κέζω ΤΤΡ 1. A T: A B N A 2. T A: Ε KA,T {N A B K Ε KB,T {K A}} 3. A B: Ε KB,T {K A} 4. B A: N B 5. A B: Ε K {N B -1 B} 3 4 5 Bob 9
Needham Schroeder Αλαιπηηθά 1: Ζ Alice ζηέιλεη ζην KDC έλα κήλπκα πνπ πεξηέρεη ην όλνκα ηεο, ην όλνκα ηνπ Βob θαη έλα ηπραίν αξηζκό (ή αύμνληα) 2: Σν KDC δεκηνπξγεί έλα (ςεπδν)ηπραίν θιεηδί ζπλόδνπ, ην νπνίν ην δίλεη ζηελ Alice. ην ζηάδην απηό απζεληηθνπνηείηαη απέλαληη ζηελ Alice. 3: H Alice ζηέιλεη ην θιεηδί ζπλόδνπ θξππηνγξαθεκέλν από KDC ζηνλ Bob. 4: O Bob ζηέιλεη ζηελ Alice έλα ηπραίν αξηζκό (ή αύμνληα) 5: Ζ Αlice απζεληηθνπνηείηαη απέλαληη ζηνλ Bob ρξεζηκνπνηώληαο ην θιεηδί ζπλόδνπ K πνπ πιένλ κπνξνύλ θαη λα κνηξάδνληαη 10
Πιενλεθηήκαηα - Κεηνλεθηήκαηα Πιενλεθηήκαηα Απαηηνύληαη κόλν n θιεηδηά ζην KDC Απαηηείηαη κόλν έλα θιεηδί καθξάο δηάξθεηαο ζηνλ θάζε θόκβν (αληί n-1) Υξήζε πκκεηξηθήο Θξππηνγξαθίαο Ο Βob κπνξεί λα είλαη offline ζηα βήκαηα 1 θαη 2, νκνίσο θαη o KDC ζηα βήκαηα 3,4,5. Κεηνλεθηήκαηα KDC: Κνλαδηθό ζεκείν θαηάξξεπζεο Φόξηνο κελπκάησλ ζην KDC Απαίηεζε γηα έκπηζην KDC Απαίηεζε γηα θαιή δηαρείξηζε θιεηδηώλ καθξάο δηαξθείαο από ηνπο θόκβνπο 11
ηνηρεία ηνπ Kerberos Kerberos Key Distribution Centre (KDC) γλσζηό θαη ζαλ Kerberos Authentication Server (KAS) απζεληηθνπνηεί ρξήζηεο (ή θαη άιιεο νληόηεηεο) θαη εθδίδεη εηζηηήξηα, ηα νπνία είλαη έγθπξα γηα κία ζύλνδν Ticket Granting Servers (TGSs) Δθδίδνπλ εηζηηήξηα πξνο νληόηεηεο πνπ δεηνύλ πξόζβαζε ζε δηθηπαθέο ππεξεζίεο Client Υξήζηεο πνπ επηζπκνύλ λα έρνπλ πξόζβαζε ζε ππεξεζίεο πνπ παξέρνληαη από servers ηνπ δηθηύνπ Server Παξέρνπλ ππεξεζίεο ζε clients βαζηδόκελνη ζηελ απζεληηθνπνίεζε πνπ πξαγκαηνπνηνύλ νη KDC θαη TGS Realm To ζύλνιν ησλ client θαη server πνπ δηαρεηξηζηηθά αλήθνπλ ζε έλα δεύγνο KDC/TGS 12
Πξσηόθνιιν KDC (Authentication Server, AS) 1 2 3 C (client) 4 TGS (ticketgranting server) 5 6 1. Αίηεζε γηα Ticket-Granting Ticket 2. Ticket-Granting Ticket 3. Αίηεζε γηα Server Ticket 4. Server Ticket 5. Αίηεζε γηα Service 6. Αζθαιήο επηθνηλσλία S (server) 13
Φάζεηο ηνπ πξσηνθόιινπ Φάζη 1: ηα κελύκαηα 1 θαη 2, ρξεζηκνπνηείηαη ην θιεηδί καθξάο δηάξθεηαο γηα απζεληηθνπνίεζε κεηαμύ Client θαη KDC. To KDC δίλεη έλα θιεηδί κηθξήο δηάξθεηαο θαη έλα ticket granting ticket (TGT). Φάζη 2: ηα κελύκαηα 3 θαη 4, ρξεζηκνπνηνύληαη ην θιεηδί κηθξήο δηάξθεηαο θαη ην TGT γηα απζεληηθνπνίεζε κεηαμύ Client θαη TGS. Ο TGS δίλεη έλα θιεηδί ζπλόδνπ θαη έλα εηζηηήξην (ticket). Φάζη 3: ηα κελύκαηα 5 θαη 6, ρξεζηκνπνηνύληαη ην θιεηδί ζπλόδνπ θαη ην εηζηηήξην γηα απζεληηθνπνίεζε κεηαμύ Client θαη Server θαη γηα ηελ εγθαζίδξπζε αζθαινύο ζπλόδνπ. Οη Φάζεηο 2 θαη 3 ζπλήζσο επαλαιακβάλνληαη πνιιέο θνξέο γηα θάζε 1 ε θάζε. 14
Ρνή Κελπκάησλ Network security essentials (International edition), William Stallings, Prentice-Hall, 2002. ISBN: 0131202715 15
Κελύκαηα Authentication phase Απόθηεζε Ticket-Granting Ticket (TGT) Once per user logon session 1. C KDC: ID tgs ID C TS 1 2. KDC C: E Kc {K c,tgs ID tgs TS 2 Lifetime 2 Ticket tgs } Ticket tgs := E kkdc, tgs {K c,tgs ID c AD c ID tgs TS 2 Lifetime 2 } 16
Κελύκαηα Ticket Granting Service phase Απόθηεζε Service-Granting Ticket Once per type of service 3. C TGS: ID S Ticket tgs Authenticator c 4. TGS C: E kc,tgs {K c,s ID s TS 4 Ticket s } Ticket tgs := E kkdc, tgs {K c,tgs ID c AD c ID tgs TS 2 Lifetime 2 } Authenticator c := E kc,tgs {ID c AD c TS 3 } match with Ticket tgs Ticket s := E ks {K c,s ID c AD c ID s TS 4 Lifetime 4 } 17
Κελύκαηα Client-Server Authentication phase Πξόζβαζε ζε ππεξεζία Once per service session 5. C S: Ticket s Authenticator c 6. S C: E kc, s {TS 5 +1} Ticket s := E ks {K c,s ID c AD c ID s TS 4 Lifetime 4 } Authenticator c := E kc, s {ID c AD c TS 5 } 18
Απζεληηθνπνίεζε ζε Γηαθνξεηηθά Realms Σν Kerberos ππνζηεξίδεη απζεληηθνπνίεζε ζε δηαθνξεηηθά realms Clients πνπ αλήθνπλ ζε έλα realms κπνξνύλ λα έρνπλ πξόζβαζε ζε servers άιινπ realm. Απαηηείηαη πξν-ζπκθσλία κεηαμύ ησλ ζρεηηθώλ KDC/TGS. Υξεζηκνπνηνύληαη forwardable tickets. Έλαο Client ζην realm A δεηεί έλα TGT από ηνλ TGS γηα λα ην ρξεζηκνπνηήζεη ζε έλα άιιν realm B. Ο TGS ηνπ realm A δίλεη έλα TGT γηα ην realm B. Ο TGS πξέπεη λα γλσξίδεη ην θιεηδί K KDC,TGS πνπ ηζρύεη ζην realm B. Ο TGS ζην realm A εηζάγεη έλα forwardable flag ζην TGT πνπ εθδίδεη. Ο Client από ην realm A κπνξεί λα ρξεζηκνπνηήζεη ην TGT ζην realm B. 19
Δπηθνηλσλία Κεηαμύ Realms Network security essentials (International edition), William Stallings, Prentice-Hall, 2002. ISBN: 0131202715 20
Γηαθνξέο v4 v5 To v4 ρξεζηκνπνηεί DES, ην v5 κπνξεί λα ρξεζηκνπνηήζεη νπνηνλδήπνηε αιγόξηζκν. Σν v4 βαζίδεηαη ζην πξσηόθνιιν IP, ην v5 κπνξεί λα ηξέμεη πάλσ από νπνηνδήπνηε πξσηόθνιιν. Σα εηζηηήξηα ζην v4 κπνξνύλ λα είλαη κέρξη 21 ώξεο, ελώ ζην v5 έρνπλ ζπγθεθξηκέλνπο ρξόλνπο αξρήο θαη ηέινπο. Σα κελύκαηα 2 θαη 4 θξππηνγξαθνύληαλ 2 θνξέο ζηε v4. 21
Αλνηθηά Θέκαηα Ανάκληζη: Σα TGT ηζρύνπλ κέρξη λα ιήμνπλ, ζπλήζσο ζε 10 ώξεο. Διασείπιζη κλειδιών: κέζα ζε έλα realm: Θιεηδηά καθξάο δηαξθείαο πξέπεη λα αληαιιαρζνύλ κεηαμύ KDC θαη TGS, TGS θαη Server, KDC θαη Client. Απαηηείηαη ζςγσπονιζμόρ ησλ πολογιών, εθόζνλ ρξεζηκνπνηνύληαη ρξνληθέο ελδείμεηο. Διαθεζιμόηηηα: απαηηνύληαη online έκπηζηνη KDC θαη TGS. Key storage: short-term keys θαη ticket-granting tickets είλαη απνζεθεπκέλα ζε κε πξνζηαηεπόκελνπο client hosts. Σςνθημαηικά: ζηηο πεξηζζόηεξεο πινπνηήζεηο ην θιεηδί καθξάο δηαξθείαο κεηαμύ Client θαη KDC (K KDC,C ) βαζίδεηαη ζε έλα ζπλζεκαηηθό πνπ εηζάγεη ν ρξήζηεο ζηελ αξρή ηεο ζπλόδνπ Δπηζέζεηο κε ρξήζε ιεμηθνύ είλαη δπλαηέο π.ρ.: http://citeseer.ist.psu.edu/wu99realworld.html Σειηθά ε αζθάιεηα ηνπ ζπζηήκαηνο εμαξηάηαη από ηνπο ρξήζηεο θαη ηελ πνηόηεηα ησλ ζπλζεκαηηθώλ. Εςπάθειερ ζηον Κώδικα : θάζε ηόζν βξίζθνληαη αξθεηέο: http://web.mit.edu/kerberos/www/advisories/ 22
Single Sign On (SSO) O Kerberos είλαη έλα παξάδεηγκα ζπζηήκαηνο Single Sign On (SSO). Ο ρξήζηεο εηζάγεη έλα κόλν ζπλζεκαηηθό γηα λα απνθηήζεη πξόζβαζε ζε πνιιαπιέο ππεξεζίεο θαη εθαξκνγέο. Microsoft Passport: παξάδεηγκα web-based εθαξκνγήο SSO solution. Liberty Alliance: κία αλνηθηή πξνζπάζεηα δεκηνπξγίαο πξνηύπσλ γηα ηελ επίηεπμε κηαο federated network identity, έλλνηαο πνπ ζρεηίδεηαη κε ην SSO. 23
PGP - Pretty Good Privacy Αλαπηύρζεθε από ηνλ Phil Zimmermann ην 1991 (first version) Commercial version by PGP Corp.: www.pgp.com Freeware version : www.pgpi.org OpenPGP RFC 2440 www.ietf.org/html.charters/openpgp-charter.html Αλ θαη κπνξεί λα ρξεζηκνπνηεζεί γηα λα θξππηνγξαθήζεη νπνηαδήπνηε δεδνκέλα, ρξεζηκνπνηείηαη θπξίσο γηα e-mail Τπάξρεη ελζσκαησκέλν ζηνπο πεξηζζόηεξνπο e- mail clients 24
PGP - Pretty Good Privacy Παξέρεη ζε κελύκαηα ππεξεζίεο Απζεληηθνπνίεζεο ηεο πεγήο πξνέιεπζεο Δκπηζηεπηηθόηεηαο (Confidentiality) Compression Παξέρεη Τπεξεζίεο Key management Generation, distribution, revocation of public/private keys Generation distribution of session keys Γελ απαηηεί ηελ ύπαξμε θεληξηθώλ Αξρώλ Πηζηνπνίεζεο (CA) Θάζε θόκβνο είλαη κηα CA 25
PGP Τπεξεζίεο Απζεληηθνπνίεζεο ηεο πεγήο πξνέιεπζεο Φεθηαθή ππνγξαθή RSA/SHA ή DSS/SHA Δκπηζηεπηηθόηεηα Θξππηνγξάθεζε κελπκάησλ Παξαγσγή session key κε ζπκκεηξηθή: CAST, IDEA ή 3-key 3DES Αληαιιαγή session key κε RSA ή DH πκπίεζε(εηρ) 26
Απζεληηθνπνίεζε/ Θξππηνγξάθεζε ζην PGP Υξεζηκνπνηεί ζπλδπαζκό αζύκκεηξεο θαη ζπκκεηξηθήο θξππηνγξαθίαο Ο απνζηνιέαο θξππηνγξαθεί ρξεζηκνπνηώληαο ζπκκεηξηθνύο αιγνξίζκνπο θαη έλα θιεηδί ζπλόδνπ ην κήλπκα Σν θιεηδί ζπλόδνπ θξππηνγξαθείηαη κε ην δεκόζην θιεηδί ηνπ παξαιήπηε θαη απνζηέιιεηαη καδί κε ην κήλπκα Ο παξαιήπηεο απνθξππηνγξαθεί ην θιεηδί ζπλόδνπ ρξεζηκνπνηώληαο ην ηδησηηθό ηνπ θιεηδί Κε ην θιεηδί ζπλόδνπ απνθξππηνγξαθεί ην κήλπκα Τπνζηεξηδόκελνη αιγόξηζκνη πκκεηξηθνί: CAST, IDEA, 3DES Αζύκκεηξνη: RSA, El Gamal, θιπ. ύλνςε: SHA 27
Απζεληηθνπνίεζε/ Θξππηνγξάθεζε ζην PGP Θs : Session Key (γηα ζπκκεηξηθή θξππηνγξάθεζε) ΘR a : Ηδησηηθό θιεηδί Α (γηα θξππηνγξάθεζε δεκνζίνπ θιεηδηνύ) ΘU a : Γεκόζην θιεηδί Α (γηα θξππηνγξάθεζε δεκνζίνπ θιεηδηνύ) ΔΡ : Public-key Encryption DP : Public-key Decryption EC : Conventional Encryption DC : Conventional Decryption H : Hash function Z : Compression : Concatenation 28
Απζεληηθνπνίεζε/ Θξππηνγξάθεζε ζην PGP Αςθενηικοποίηζη μόνο Εμπιζηεςηικόηηηα μόνο Αςθενηικοποίηζη και Εμπιζηεςηικόηηηα Network security essentials (International edition), William Stallings, Prentice-Hall, 2002 29
Θιεηδηά ζην PGP Θάζε ρξήζηεο κπνξεί λα έρεη πνιιά δεύγε θιεηδηώλ: ηδησηηθόδεκόζην Ιόγνη: πρλή αιιαγή ρξεζηκνπνηνύκελσλ θιεηδηώλ Υξήζε δηαθνξεηηθώλ θιεηδηώλ αλάινγα κε απνδέθηε ή νκάδεο απνδεθηώλ ηα δεύγε θιεηδηώλ απνζεθεύνληαη ζε θιεηδνζήθεο (key rings) Private key ring Απνζεθεύεη ηα δεύγε public private keys πνπ αλήθνπλ ζηνλ ηδηνθηήηε Public key ring Απνζεθεύεη ηα public keys πνπ αλήθνπλ ζε άιινπο ρξήζηεο Γπζθνιίεο Πνην public key ζα πηζηνπνηήζεη κηα ππνγξαθή? Πνην private key ζα απνθξππηνγξαθήζεη ην session key? 30
Θιεηδηά ζην PGP ηελ απζεληηθνπνίεζε: Κεηάδνζε όινπ ηνπ public key ηνπ απνζηνιέα πνπ ρξεζηκνπνηήζεθε είλαη «ζπαηάιε» ηελ θξππηνγξάθεζε: Κεηάδνζε όινπ ηνπ public key ηνπ παξαιήπηε πνπ ρξεζηκνπνηήζεθε είλαη «ζπαηάιε» Έλα RSA Public key κπνξεί λα είλαη εθαηνληάδεο δεθαδηθά ςεθία ρεηίδνληαο έλα ηπραίν ID ζην public key πξνθαιεί δηαρεηξηζηηθό πξόβιεκα θιεηδηά πνπ αλήθνπλ ζε δηαθνξεηηθνύο ηδηνθηήηεο θαηά θαλόλα δελ πξέπεη λα έρνπλ ην ίδην ID Ιύζε: PGP KeyID: least significant 64 bits ηνπ public key Ήηνη: ην KeyID ηνπ public key ΘUa είλαη ην ΘUa mod 2 64 Κνλαδηθό γηα θάζε ρξήζε κε πνιύ κεγάιε πηζαλόηεηα Ζ ζπλέλσζε UserID θαη KeyID λα ηαπηνπνηεί «κνλαδηθά» ην θιεηδί 31
Κνξθή PGP κελύκαηνο (Α Β) Network security essentials (International edition), William Stallings, Prentice-Hall, 2002 Message Component: Plaintext γηα κεηάδνζε ή απνζήθεπζε Όλνκα αξρείνπ ρξόλνο δεκηνπξγίαο θεηκέλνπ Signature Component ρξόλνο δεκηνπξγίαο ππνγξαθήο KeyID ηνπ public key απνζηνιέα MD:ύλνςε (160bits) ππνγεγξακκέλε κε ην ηδησηηθό θιεηδί απνζηνιέα πλνςίδεη signature timestamp θαη data (replay attacks avoidance) Leading two octets of the message digest: Δπηηξέπεη ζηνλ παξαιήπηε ηνλ έιεγρν αλ έρεη ρξεζηκνπνηήζεη ην ζσζηό public key Session key Component Θξππηνγξαθεκέλν session key 32
Γηαρείξηζε Θιεηδηώλ θαη Key Rings Private key ring Time Stamp: KeyID: Public Key: Encry. Private Key: UserID: Υξόλνο δεκηνπξγίαο δεύγνπο θιεηδηώλ Least Significant 64 bits of public key Σν δεκόζην θιεηδί ηνπ δεύγνπο Σν θξππηνγξαθεκέλν ηδησηηθό θιεηδί ηνπ δεύγνπο e-mail ρξήζηε (π.ρ., marias@aueb.gr) ή άιιν δηαθξηηηθό όλνκα ρξήζηε 33
Γηαρείξηζε Θιεηδηώλ θαη Key Rings Ε Η(Pι) [Kri]: Θξππηνγξαθεκέλν ηδησηηθό θιεηδί κε CAST-128 ηνπ νπνίνπ ην ζπκκεηξηθό θιεηδί θξππηνγξάθεζεο πξνθύπηεη από ηελ SHA-1 ζύλνςε κηαο passphrase ηνπ ρξήζηε Διαδικαζία 1. User selects a passphrase 2. When PGP system generates a new key pair, it asks the user for a passphrase. 3. Using SHA-1, a 160 bit hash code is generated from the passphrase. // passphrase is then discarded 4. System encrypts the private key using CAST-128 using 128 bits of the hash as the key. // hash code is then discarded 5. Encrypted private key stored in ring. 34
Γηαρείξηζε Θιεηδηώλ θαη Key Rings Public key ring Time Stamp: KeyID: Public Key: UserID: Υξόλνο δεκηνπξγίαο απηνύ ηνπ entry Least Significant 64 bits of public key Σν δεκόζην θιεηδί ηνπ δεύγνπο Όλνκα ηνπ ηδηνθηήηε (ρξήζηε) απηνύ ηνπ δεύγνπο 35
Γηαρείξηζε Θιεηδηώλ θαη Key Rings PGP Message Generation from A to B Network security essentials (International edition), William Stallings, Prentice-Hall, 2002 36
Γηαρείξηζε Θιεηδηώλ θαη Key Rings PGP Message Reception from A to B Ασυάλειαحي Network security essentials Υπολογιστών (International και edition), Δικτύων, William Τμήμα Stallings, Πληρουορικής, Prentice-Hall, 2002 ΜΠΣ-ΠΣ, Ο.Π.Α., Δρ. Ι. Μαριάς 37
Γηαρείξηζε Θιεηδηώλ θαη Key Rings Θάζε entry ζην public key ring είλαη έλα πηζηνπνηεηηθό πνπ πηζηνπνηεί ηελ αληηζηνηρία ρξήζηε (UserID) θαη δεκόζηνπ θιεηδηνύ Σνπηθή έλλνηα ζην «όλνκα ρξήζηε» όρη θαζνιηθό Υ.500 Σν πηζηνπνηεηηθό κπνξεί λα ππνγξάςεη νπνηνζδήπνηε ηξίηνο «δέρεηαη» ηελ αληηζηνηρία απηή Τπάξρνπλ δηάθνξεο δηαβαζκίζεηο εκπηζηνζύλεο ζε απηή ηελ ππνγξαθή Όζεο πεξηζζόηεξεο ππνγξαθέο καδεύεη 38
Γηαρείξηζε Θιεηδηώλ θαη Key Rings Public key ring KeyLegitimacy: Βαζκόο ζηνλ νπνίν ππάξρεη πεπνίζεζε όηη ην δεκόζην θιεηδί αλήθεη ζην ηδηνθηήηε κε UserID Signatures: Τπνγξαθέο πνπ ζπλνδεύνπλ ηε ζρέζε δεκόζηνπ θιεηδηνύ θαη ηνπ ηδηνθηήηε ηνπ (UserID) SignaturesTrust: Βαζκόο εκπηζηνζύλεο πξνο ηνλ ππνγξάθνληα γηα λα πηζηνπνηεί δεκόζηα θιεηδηά OwnerTrust: Αλαθέξεηαη ζην βαζκό εκπηζηνζύλεο πξνο ηνλ ηδηνθηήηε γηα λα πηζηνπνηεί (ππνγξάθεη) δεκόζηα θιεηδηά άιισλ 39
Γηαρείξηζε Θιεηδηώλ θαη Key Rings Public key ring OwnerTrust Field KeyLegitimacy Field SignaturesTrust Field - Undefined trust - Unknown user - Usually not trusted to sign other keys - Usually trusted to sign other keys - Always trusted to sign other keys - Ultimate Trust (the key is present in the private ring) - Unknown or Undefined trust - Key ownership not trusted - marginal trust in Key ownership - complete trust in Key ownership - Undefined trust - Unknown user - Usually not trusted to sign other keys - Usually trusted to sign other keys - Always trusted to sign other keys - Ultimate Trust (the key is present in the private ring) 40
Γηαρείξηζε Θιεηδηώλ θαη Key Rings Γηαρείξηζε public key ring ρξήζηε Α O Α δέρεηαη λέν public key Θέιεη λα εηζάγεη λέν public key entry ζην ring Αλ ν Α είλαη ν ηδηνθηήηεο (entry is in private ring) ηόηε OwnerTrust:=Ultimate_Trust Aλ όρη ηόηε ην PGP ξσηά ρξήζηε Α γηα ηηκή ζην OwnerTrust πεδίν O A εηζάγεη ην λέν entry Σν public key ζην λέν entry κπνξεί λα ζπλνδεύεηαη από κηα κηα ή πεξηζζόηεξεο ππνγξαθέο Γηα θάζε ππνγξάθνληα ειέγρεηαη αλ έρεη entry κέζα ζην public key ring θαη έρεη trustflag ζην OwnerTrust πεδίν Αλ λαη, ηόηε ην OwnerTrust trustflag αληηγξάθεηαη ζην SignaturesTrust trustflag Αλ όρη ηόηε SignaturesTrust:=Unknown_user 41
Γηαρείξηζε Θιεηδηώλ θαη Key Rings Γηαρείξηζε public key ring ρξήζηε Α... cont Απνκέλεη ν ππνινγηζκόο ηνπ πεδίνπ KeyLegitimacy Αλ έλα ηνπιάρηζηνλ tustflag ηνπ SignaturesTrust πεδίνπ είλαη UltimateTrust ηόηε KeyLegitimacy:=Complete Γηαθνξεηηθά ππνινγίδεηαη έλα weighted sum σο εμήο: βάξνο 1/Υ απνδίδεηαη ζε ππνγξαθέο κε SignaturesTrust=Always_Trusted βάξνο 1/Τ απνδίδεηαη ζε ππνγξαθέο κε SignaturesTrust=Usually_Trusted Υ, Τ είλαη πξνθαζνξηζκέλεο παξάκεηξνη Όηαλ ην ζηαζκηζκέλν βάξνο γίλεη 1 ηόηε ε ζύλδεζε public key θαη UserID ηνπ entry ζεσξείηαη έκπηζηε, νπόηε KeyLegitimacy:=Complete Άξα αλ ζην entry δελ ππάξρεη SignaturesTrust κε Ultimate_Trust, ηόηε απαηηνύληαη ηνπιάρηζηνλ: Υ ππνγξαθέο κε SignaturesTrust= Always_Trusted, ή Τ ππνγξαθέο κε SignaturesTrust= Usually_Trusted, ή ζπλδπαζκόο ηνπο 42
Web of Trust You: Έλαο ρξήζηεο κε public key ring πνπ αληηζηνηρεί ζην δέληξν Η δελδξηθή δνκή δείρλεη πνην PU έρεη ππνγξαθεί θαη από πνηόλ ρξήζηε Arrow: Τν signer s key ππάξρεη ζην public key ring ηνπ You Arrow?: Τν signer s key δελ ππάξρεη ζην public key ring ηνπ You Multiple arrows : ην ring ηνπ You έρεη πνιιά Pus γηα ηνλ ρξήζηε. Οη ρξήζηεο D,E,F, θαη L είλαη Always_Trusted γηα λα ππνγξάθνπλ keys άιιωλ Οη ρξήζηεο A θαη B είλαη Partially_Trusted γηα λα ππνγξάθνπλ keys άιιωλ Network security essentials (International edition), William Stallings, Prentice-Hall, 2002 43
Web of Trust Τα PUs ην νπνίωλ νη owners είλαη always ή partially trusted ππνγξάθνληαη από ηνλ You. Δθηόο ηνπ L: To PU ηνπ ππνγξάθεηαη από ηνλ always trusted user D To ίδην ζα κπνξνύζε λα ζπκβεί κε ηνλ F, εθόζνλ ην PU ηνπ ππνγξάθεηαη από ηνλ always trusted user Δ Δίζηζηαη λα ππάξρνπλ πάληα ππνγξαθέο παξά ζπκπεξάζκαηα από κεηαβαηηθέο ηδηόηεηεο Network security essentials (International edition), William Stallings, Prentice-Hall, 2002 44
Web of Trust Γύν partially trusted signatures είλαη ηθαλέο λα επηθπξώζνπλ έλα PU Π.ρ., ην PU ηνπ H είλαη legitimate: δύν partially trusted users (Α, Β) certify ην PU. Έλα legitimate PU ελόο user κπνξεί λα κε ζεωξείηαη trusted γηα λα ππνγξάθεη ηα PUs άιιωλ ρξεζηώλ. Π.ρ., ν User N ππνγξάθεη ηνπ R s ην PU αιιά ν You αλαγλωξίδεη ην PU ηνπ R ωοlegitimate. Network security essentials (International edition), William Stallings, Prentice-Hall, 2002 45