SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
Secure Communication Paul Krzyzanowski [email_address] [email_address] Distributed Systems Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
Symmetric cryptography ,[object Object],[object Object],[object Object],[object Object],[object Object],Alice Bob E K (P) D K (C )
Key explosion ,[object Object],Alice Bob K AB 2 users: 1 key Bob Alice K AB Charles K BC K AC 3 users: 3 keys 6 users: 15 keys 4 users: 6 keys 100 users: 4950 keys 1000 users: 399500 keys n  users:  keys
Key distribution ,[object Object]
Key exchange ,[object Object],[object Object],[object Object],[object Object]
Diffie-Hellman exponential key exchange ,[object Object],[object Object],[object Object],[object Object],[object Object]
Diffie-Hellman exponential key exchange ,[object Object],[object Object],[object Object],[object Object],[object Object]
Diffie-Hellman exponential key exchange ,[object Object],[object Object],[object Object],[object Object],[object Object],K = (Bob’s public key)  (Alice’s private key)  mod p
Diffie-Hellman exponential key exchange ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],K’ = (Alice’s public key)  (Bob’s private key)  mod p
Diffie-Hellman exponential key exchange ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],K  is a  common key , known  only  to Bob and Alice K = K’
Diffie-Hellman example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Suppose  p =  31667,    = 7
Key distribution problem is solved! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RSA: Public Key Cryptography ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RSA algorithm ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RSA algorithm ,[object Object],[object Object],[object Object],[object Object]
Communication with public key algorithms ,[object Object],[object Object]
Communication with public key algorithms Alice Bob Alice’s public key: K A Bob’s public key: K B exchange public keys (or look up in a directory/DB)
Communication with public key algorithms E B (P) D b (C) Alice Bob Alice’s public key: K A Bob’s public key: K B encrypt message with Bob’s public key decrypt message with Bob’s private key
Communication with public key algorithms E B (P) D b (C) Alice Bob Alice’s public key: K A Bob’s public key: K B D a (C) E A (P) decrypt message with Alice’s private key encrypt message with Alice’s public key encrypt message with Bob’s public key decrypt message with Bob’s private key
Public key woes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hybrid cryptosystems ,[object Object],session key
Communication with a hybrid cryptosystem Alice Bob Bob’s public key: K B Get recipient’s public key (or fetch from directory/database)
Communication with a hybrid cryptosystem Alice Bob Bob’s public key: K B Pick random session key,  K E B ( K ) Encrypt session key with Bob’s public key Bob decrypts  K  with his private key K  = D b (E B ( K ))
Communication with a hybrid cryptosystem Alice Bob Bob’s public key: K B E B ( K ) K  = D b (E B ( K )) E K (P) D K (C) encrypt message using a symmetric algorithm and key  K decrypt message using a symmetric algorithm and key  K
Communication with a hybrid cryptosystem Alice Bob Bob’s public key: K B E B ( K ) K  = D b (E B ( K )) E K (P) D K (C) decrypt message using a symmetric algorithm and key  K encrypt message using a symmetric algorithm and key  K D K (C’) E K (P’)
Digital Signatures
Signatures ,[object Object],[object Object],[object Object],[object Object],Source: http://www.archives.gov/exhibits/charters/declaration.html
Signatures ,[object Object],[object Object],[object Object],[object Object],ALL UNTRUE! Can we do better with  digital signatures ?
Digital signatures - arbitrated protocol ,[object Object],[object Object],Alice Bob Trent C=E A (P) Alice encrypts message for  herself  and sends it to Trent Trent is trusted and has everyone’s keys
Digital signatures - arbitrated protocol Alice Bob Trent P= D A (C) Trent receives Alice’s message and decrypts it with Alice’s key - this authenticates that it came from Alice - he may choose to log a hash of the message to   create a record of the transmission
Digital signatures - arbitrated protocol Alice Bob Trent Trent now encrypts the message for Bob and sends it to Bob C’= E B (P)
Digital signatures - arbitrated protocol Alice Bob Trent Bob receives the message and decrypts it   - it  must  have come from Trent since only Trent and Bob have Bob’s key - if the message says it’s from Alice, it must be - we trust Trent P’= D B (C’)
Digital signatures with multiple parties ,[object Object],[object Object],Alice Bob Trent Bob encrypts message with his key and sends it to Trent P’= D B (C’) Charles C’’= E B (P’)
Digital signatures with multiple parties Alice Bob Trent Trent decrypts the message   - knows it must be from Bob   - looks up ID to match original hash from Alice’s message - validates that the message has not been modified   - adds a “signed by Bob” indicator to the message Charles P’’= D B (C’’)
Digital signatures with multiple parties Alice Bob Trent Trent encrypts the new message for Charles Charles C’’’= E C (P’’)
Digital signatures with multiple parties Alice Bob Trent Charles decrypts the message - knows the message must have come from Trent - trusts Trent’s assertion that the message originated with Alice and was forwarded through Bob Charles P’’’= D C (C’’’)
Digital signatures - public key cryptography E a (P) D A (C) Alice Bob encrypt message with Alice’s private key decrypt message with Alice’s public key Encrypting a message with a private key is the same as signing! Directory of public keys
Digital signatures - public key cryptography ,[object Object],[object Object],[object Object],[object Object],[object Object]
Digital signatures - public key cryptography ,[object Object],[object Object],[object Object],[object Object]
Digital signatures - public key cryptography Alice Bob H(P) Alice generates a hash of the message
Digital signatures - public key cryptography Alice Bob H(P) Alice encrypts the hash with her private key E a (H(P))
Digital signatures - public key cryptography Alice Bob H(P) Alice sends Bob the message and the encrypted hash E a (H(P))
Digital signatures - public key cryptography Alice Bob H(P) 1. Bob decrypts the has using Alice’s public key 2. Bob computes the hash of the message sent by Alice C = E a (H(P)) H(P) H’ = D A (C)
Digital signatures - public key cryptography Alice Bob H(P) If  the hashes match   - the encrypted hash  must  have been generated by Alice   - the signature is valid C = E a (H(P)) H(P) H’ = D A (C)
Digital signatures - multiple signers Bob Bob generates a hash (same as Alice’s) and encrypts it with his private key - sends Charles: {message, Alice’s encrypted hash, Bob’s encrypted hash} Alice H(P) C = E a (H(P)) C 2  = E b (H(P)) Charles
Digital signatures - multiple signers Bob Charles:   - generates a hash of the message: H(P) - decrypts Alice’s encrypted hash with Alice’s public key - validates Alice’s signature   - decrypts Bob’s encrypted hash with Bob’s public key - validates Bob’s signature Alice H(P) C = E a (H(P)) C 2  = E b (H(P)) Charles H 2  = D A (C 2 ) H 1  = D A (C)
Secure and authenticated messaging ,[object Object],[object Object],[object Object],[object Object],[object Object]
Secure and authenticated messaging Alice H(P) Alice generates a digital signature by encrypting the message digest with her private key. C 1  = E a (H(P))
Secure and authenticated messaging Alice H(P) Alice picks a random key,  K , and encrypts the message (P) with it using a symmetric algorithm. C 1  = E a (H(P)) C = E K (P)
Secure and authenticated messaging Alice H(P) Alice encrypts the session key for each recipient of this message: Bob and Charles using their public keys. C 1  = E a (H(P)) C = E K (P) K K C 2  = E B ( K ) K C 3  = E C ( K )
Secure and authenticated messaging Alice H(P) The aggregate message is sent to Bob and Charles C 1  = E a (H(P)) C = E K (P) K K C 2  = E B ( K ) K C 3  = E C ( K ) Message: Signature: Key for Bob: K K Key for Charles: Bob Charles Message from Alice
Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob receives the message: - extracts key by decrypting it with his private key K  = E b (C 2 )
Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob decrypts the message using  K K = E b (C 2 ) P = D K (C)
Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob computes the hash of the message K  = E b (C 2 ) P = D K (C) H(P)
Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob looks up Alice’s public key K  = E b (C 2 ) P = D K (C) H(P) Directory of public keys K A
Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob decrypts Alice’s signature using Alice’s public key K  = E b (C 2 ) P = D K (C) H(P) H 1  = D A (C 1 )
Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob validates Alice’s signature K = E b (C 2 ) P = D K (C) H(P) H 1  = D A (C 1 ) H 1  = H(P) ?
Cryptographic toolbox ,[object Object],[object Object],[object Object],[object Object],[object Object]
Examples ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The end.

Contenu connexe

Tendances

CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYKathirvel Ayyaswamy
 
Key Certificates
Key CertificatesKey Certificates
Key Certificatesphanleson
 
ET4045-2-cryptography-3
ET4045-2-cryptography-3ET4045-2-cryptography-3
ET4045-2-cryptography-3Tutun Juhana
 
Elliptic curve Cryptography and Diffie- Hellman Key exchange
Elliptic curve Cryptography and Diffie- Hellman Key exchangeElliptic curve Cryptography and Diffie- Hellman Key exchange
Elliptic curve Cryptography and Diffie- Hellman Key exchangeIOSRJM
 
introduction to cryptography
introduction to cryptographyintroduction to cryptography
introduction to cryptographyPriyamvada Singh
 
Rsa diffi-network security-itt
Rsa diffi-network security-ittRsa diffi-network security-itt
Rsa diffi-network security-ittrameshvvv
 
Authentication in Wireless Networks
Authentication in Wireless NetworksAuthentication in Wireless Networks
Authentication in Wireless NetworksChris van den Berg
 

Tendances (9)

CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
 
Key Certificates
Key CertificatesKey Certificates
Key Certificates
 
ET4045-2-cryptography-3
ET4045-2-cryptography-3ET4045-2-cryptography-3
ET4045-2-cryptography-3
 
Elliptic curve Cryptography and Diffie- Hellman Key exchange
Elliptic curve Cryptography and Diffie- Hellman Key exchangeElliptic curve Cryptography and Diffie- Hellman Key exchange
Elliptic curve Cryptography and Diffie- Hellman Key exchange
 
introduction to cryptography
introduction to cryptographyintroduction to cryptography
introduction to cryptography
 
Diffie hellman
Diffie hellmanDiffie hellman
Diffie hellman
 
Rsa diffi-network security-itt
Rsa diffi-network security-ittRsa diffi-network security-itt
Rsa diffi-network security-itt
 
Authentication in Wireless Networks
Authentication in Wireless NetworksAuthentication in Wireless Networks
Authentication in Wireless Networks
 
Shannon Fano
Shannon FanoShannon Fano
Shannon Fano
 

Similaire à Secure Communication (Distributed computing)

aacyberessential3cryptography-131067585699078884.pptx
aacyberessential3cryptography-131067585699078884.pptxaacyberessential3cryptography-131067585699078884.pptx
aacyberessential3cryptography-131067585699078884.pptxImXaib
 
CS283-PublicKey.ppt
CS283-PublicKey.pptCS283-PublicKey.ppt
CS283-PublicKey.pptMIBrand
 
CS283-PublicKey.ppt
CS283-PublicKey.pptCS283-PublicKey.ppt
CS283-PublicKey.pptShounakDas16
 
Authentication (Distributed computing)
Authentication (Distributed computing)Authentication (Distributed computing)
Authentication (Distributed computing)Sri Prasanna
 
13 asymmetric key cryptography
13   asymmetric key cryptography13   asymmetric key cryptography
13 asymmetric key cryptographydrewz lin
 
ET4045-2-cryptography-2
ET4045-2-cryptography-2ET4045-2-cryptography-2
ET4045-2-cryptography-2Tutun Juhana
 
A TLS Story
A TLS StoryA TLS Story
A TLS Storyereddick
 
Key Digital Signatures
Key Digital SignaturesKey Digital Signatures
Key Digital Signaturesphanleson
 
Cryptography Key Management.pptx
Cryptography Key Management.pptxCryptography Key Management.pptx
Cryptography Key Management.pptxSurendraBasnet6
 
Cryptography & Digital certificate
Cryptography & Digital certificateCryptography & Digital certificate
Cryptography & Digital certificateDeepak Kumar (D3)
 

Similaire à Secure Communication (Distributed computing) (20)

1329 n 9460
1329 n 94601329 n 9460
1329 n 9460
 
aacyberessential3cryptography-131067585699078884.pptx
aacyberessential3cryptography-131067585699078884.pptxaacyberessential3cryptography-131067585699078884.pptx
aacyberessential3cryptography-131067585699078884.pptx
 
CS283-PublicKey.ppt
CS283-PublicKey.pptCS283-PublicKey.ppt
CS283-PublicKey.ppt
 
CS283-PublicKey.ppt
CS283-PublicKey.pptCS283-PublicKey.ppt
CS283-PublicKey.ppt
 
Authentication (Distributed computing)
Authentication (Distributed computing)Authentication (Distributed computing)
Authentication (Distributed computing)
 
13 asymmetric key cryptography
13   asymmetric key cryptography13   asymmetric key cryptography
13 asymmetric key cryptography
 
network security
network security network security
network security
 
Crypt
CryptCrypt
Crypt
 
ET4045-2-cryptography-2
ET4045-2-cryptography-2ET4045-2-cryptography-2
ET4045-2-cryptography-2
 
Ch10
Ch10Ch10
Ch10
 
Internet security
Internet securityInternet security
Internet security
 
A TLS Story
A TLS StoryA TLS Story
A TLS Story
 
Key Digital Signatures
Key Digital SignaturesKey Digital Signatures
Key Digital Signatures
 
Cryptography Key Management.pptx
Cryptography Key Management.pptxCryptography Key Management.pptx
Cryptography Key Management.pptx
 
Ch7 2ed
Ch7 2edCh7 2ed
Ch7 2ed
 
Other public key systems
Other public key systemsOther public key systems
Other public key systems
 
crypto1.ppt
crypto1.pptcrypto1.ppt
crypto1.ppt
 
crypto.ppt
crypto.pptcrypto.ppt
crypto.ppt
 
needed.ppt
needed.pptneeded.ppt
needed.ppt
 
Cryptography & Digital certificate
Cryptography & Digital certificateCryptography & Digital certificate
Cryptography & Digital certificate
 

Plus de Sri Prasanna

Plus de Sri Prasanna (20)

Qr codes para tech radar
Qr codes para tech radarQr codes para tech radar
Qr codes para tech radar
 
Qr codes para tech radar 2
Qr codes para tech radar 2Qr codes para tech radar 2
Qr codes para tech radar 2
 
Test
TestTest
Test
 
Test
TestTest
Test
 
assds
assdsassds
assds
 
assds
assdsassds
assds
 
asdsa
asdsaasdsa
asdsa
 
dsd
dsddsd
dsd
 
About stacks
About stacksAbout stacks
About stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About  StacksAbout  Stacks
About Stacks
 
About Stacks
About StacksAbout Stacks
About Stacks
 
About Stacks
About StacksAbout Stacks
About Stacks
 
Network and distributed systems
Network and distributed systemsNetwork and distributed systems
Network and distributed systems
 
Introduction & Parellelization on large scale clusters
Introduction & Parellelization on large scale clustersIntroduction & Parellelization on large scale clusters
Introduction & Parellelization on large scale clusters
 
Mapreduce: Theory and implementation
Mapreduce: Theory and implementationMapreduce: Theory and implementation
Mapreduce: Theory and implementation
 
Other distributed systems
Other distributed systemsOther distributed systems
Other distributed systems
 

Dernier

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 

Dernier (20)

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 

Secure Communication (Distributed computing)

  • 1. Secure Communication Paul Krzyzanowski [email_address] [email_address] Distributed Systems Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Communication with public key algorithms Alice Bob Alice’s public key: K A Bob’s public key: K B exchange public keys (or look up in a directory/DB)
  • 18. Communication with public key algorithms E B (P) D b (C) Alice Bob Alice’s public key: K A Bob’s public key: K B encrypt message with Bob’s public key decrypt message with Bob’s private key
  • 19. Communication with public key algorithms E B (P) D b (C) Alice Bob Alice’s public key: K A Bob’s public key: K B D a (C) E A (P) decrypt message with Alice’s private key encrypt message with Alice’s public key encrypt message with Bob’s public key decrypt message with Bob’s private key
  • 20.
  • 21.
  • 22. Communication with a hybrid cryptosystem Alice Bob Bob’s public key: K B Get recipient’s public key (or fetch from directory/database)
  • 23. Communication with a hybrid cryptosystem Alice Bob Bob’s public key: K B Pick random session key, K E B ( K ) Encrypt session key with Bob’s public key Bob decrypts K with his private key K = D b (E B ( K ))
  • 24. Communication with a hybrid cryptosystem Alice Bob Bob’s public key: K B E B ( K ) K = D b (E B ( K )) E K (P) D K (C) encrypt message using a symmetric algorithm and key K decrypt message using a symmetric algorithm and key K
  • 25. Communication with a hybrid cryptosystem Alice Bob Bob’s public key: K B E B ( K ) K = D b (E B ( K )) E K (P) D K (C) decrypt message using a symmetric algorithm and key K encrypt message using a symmetric algorithm and key K D K (C’) E K (P’)
  • 27.
  • 28.
  • 29.
  • 30. Digital signatures - arbitrated protocol Alice Bob Trent P= D A (C) Trent receives Alice’s message and decrypts it with Alice’s key - this authenticates that it came from Alice - he may choose to log a hash of the message to create a record of the transmission
  • 31. Digital signatures - arbitrated protocol Alice Bob Trent Trent now encrypts the message for Bob and sends it to Bob C’= E B (P)
  • 32. Digital signatures - arbitrated protocol Alice Bob Trent Bob receives the message and decrypts it - it must have come from Trent since only Trent and Bob have Bob’s key - if the message says it’s from Alice, it must be - we trust Trent P’= D B (C’)
  • 33.
  • 34. Digital signatures with multiple parties Alice Bob Trent Trent decrypts the message - knows it must be from Bob - looks up ID to match original hash from Alice’s message - validates that the message has not been modified - adds a “signed by Bob” indicator to the message Charles P’’= D B (C’’)
  • 35. Digital signatures with multiple parties Alice Bob Trent Trent encrypts the new message for Charles Charles C’’’= E C (P’’)
  • 36. Digital signatures with multiple parties Alice Bob Trent Charles decrypts the message - knows the message must have come from Trent - trusts Trent’s assertion that the message originated with Alice and was forwarded through Bob Charles P’’’= D C (C’’’)
  • 37. Digital signatures - public key cryptography E a (P) D A (C) Alice Bob encrypt message with Alice’s private key decrypt message with Alice’s public key Encrypting a message with a private key is the same as signing! Directory of public keys
  • 38.
  • 39.
  • 40. Digital signatures - public key cryptography Alice Bob H(P) Alice generates a hash of the message
  • 41. Digital signatures - public key cryptography Alice Bob H(P) Alice encrypts the hash with her private key E a (H(P))
  • 42. Digital signatures - public key cryptography Alice Bob H(P) Alice sends Bob the message and the encrypted hash E a (H(P))
  • 43. Digital signatures - public key cryptography Alice Bob H(P) 1. Bob decrypts the has using Alice’s public key 2. Bob computes the hash of the message sent by Alice C = E a (H(P)) H(P) H’ = D A (C)
  • 44. Digital signatures - public key cryptography Alice Bob H(P) If the hashes match - the encrypted hash must have been generated by Alice - the signature is valid C = E a (H(P)) H(P) H’ = D A (C)
  • 45. Digital signatures - multiple signers Bob Bob generates a hash (same as Alice’s) and encrypts it with his private key - sends Charles: {message, Alice’s encrypted hash, Bob’s encrypted hash} Alice H(P) C = E a (H(P)) C 2 = E b (H(P)) Charles
  • 46. Digital signatures - multiple signers Bob Charles: - generates a hash of the message: H(P) - decrypts Alice’s encrypted hash with Alice’s public key - validates Alice’s signature - decrypts Bob’s encrypted hash with Bob’s public key - validates Bob’s signature Alice H(P) C = E a (H(P)) C 2 = E b (H(P)) Charles H 2 = D A (C 2 ) H 1 = D A (C)
  • 47.
  • 48. Secure and authenticated messaging Alice H(P) Alice generates a digital signature by encrypting the message digest with her private key. C 1 = E a (H(P))
  • 49. Secure and authenticated messaging Alice H(P) Alice picks a random key, K , and encrypts the message (P) with it using a symmetric algorithm. C 1 = E a (H(P)) C = E K (P)
  • 50. Secure and authenticated messaging Alice H(P) Alice encrypts the session key for each recipient of this message: Bob and Charles using their public keys. C 1 = E a (H(P)) C = E K (P) K K C 2 = E B ( K ) K C 3 = E C ( K )
  • 51. Secure and authenticated messaging Alice H(P) The aggregate message is sent to Bob and Charles C 1 = E a (H(P)) C = E K (P) K K C 2 = E B ( K ) K C 3 = E C ( K ) Message: Signature: Key for Bob: K K Key for Charles: Bob Charles Message from Alice
  • 52. Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob receives the message: - extracts key by decrypting it with his private key K = E b (C 2 )
  • 53. Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob decrypts the message using K K = E b (C 2 ) P = D K (C)
  • 54. Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob computes the hash of the message K = E b (C 2 ) P = D K (C) H(P)
  • 55. Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob looks up Alice’s public key K = E b (C 2 ) P = D K (C) H(P) Directory of public keys K A
  • 56. Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob decrypts Alice’s signature using Alice’s public key K = E b (C 2 ) P = D K (C) H(P) H 1 = D A (C 1 )
  • 57. Secure and authenticated messaging Message: Signature: Key for Bob: K K Key for Charles: Message from Alice Bob validates Alice’s signature K = E b (C 2 ) P = D K (C) H(P) H 1 = D A (C 1 ) H 1 = H(P) ?
  • 58.
  • 59.