21
ID-Based Design Patterns for M2M Secure Channels Francisco Corella [email protected] Karen Lewison [email protected] 10/29/2014 Presentation to M2MSec’14 1

ID-Based Design Patterns for M2M Secure Channels Francisco Corella [email protected] Karen Lewison [email protected] 10/29/2014 Presentation to M2MSec’14

Embed Size (px)

Citation preview

Page 1: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

1

ID-Based Design Patterns for M2M Secure Channels

Francisco [email protected]

Karen [email protected]

10/29/2014

Presentation to M2MSec’14

Page 2: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

2

Motivation

• The IoT is extremely diverse and gives rise to a broad range of requirements for secure channel protocols

• Requirements are often not met by traditional protocols such as TLS, IPsec or SSH

• Security is often sacrificed to meet constraints– BLE, ZigBee, Z-Wave are not secure

• There is a need for a broad variety of protocols to meet diverse requirements

10/29/2014

Page 3: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

3

Protocol design patterns

• Here we propose protocol design patterns rather than particular protocols

• Goal: reduce latency and bandwidth consumption by– Eliminating the roundtrips that most secure channel

protocols require for key exchange– Eliminating certificate transmission

• Energy may be saved as a side effect of reduced bandwidth consumption, but that is not an explicit goal of these particular patterns

10/29/2014

Page 4: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

4

Previous work on reducing roundtrips and bandwidth consumption

• Caching parameters from initial connection can save roundtrips and transmission of certificates in subsequent connections, as in:– Abbreviated TLS handshake– TLS Fast-track– TLS False Start– TLS Snap Start– QUIC

• Proposed patterns:– Require no caching– Can eliminate roundtrips and certificate transmission for all

connections10/29/2014

Page 5: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

5

Pattern ingredients

• Identity-based encryption– A special case of identity-based cryptography, used for

key transport• Replay tolerance for first flow– So that initiator can send application data right away

• Optional forward secrecy from second flow onward• For global deployments:– Hierarchical identity-based encryption with multiple

roots– Reliance on DNS or DNSSEC to store ID chains

10/29/2014

Page 6: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

6

ID-based cryptography

• Trusted party called “private key generator (PKG)” analogous to certificate authority (CA)

• Public key of entity is computed from ID of entity and public key of PKG

• Private key of entity is computed from ID of entity and private key of PKG– Must be computed by the PKG and given to the

entity

10/29/2014

Page 7: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

7

Expiration and revocation ofID-based credentials

• Key pair can be made to expire by adding an expiration date or time to the identity, e.g.– Base ID: “pomcor.com”– ID with expiration date: “pomcor.com-20141029”

• Key pair can be revoked by adding a revocation counter– ID with revocation counter: “pomcor.com-4”– Latest ID must be retrieved from trusted repository

• Short term expiration + emergency revocation counter– pomcor.com-20141029-4

10/29/2014

Page 8: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

8

Pattern #1

• Responder-only authentication• No forward secrecy

10/29/2014

Page 9: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

9

init-nonce under resp-pubkeydata1 under keys1-i2r

Compute resp-pubkeyGenerate init-nonceDerive keys1-i2r from init-nonce

Decrypt init-nonceDerive keys1-i2r from init-nonceDecrypt data1Generate resp-nonceDerive keys2 from both noncesand responder's identity

10/29/2014

Page 10: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

10

resp-nonce under keys2-i2rdata3 under keys2-i2r

Derive keys2 from both noncesand responder's identityDecrypt and check init-nonceDecrypt data2

Decrypt and check resp-nonceDecrypt data3

resp-nonceinit-nonce under keys2-r2i

data2 under keys2-r2i

10/29/2014

Page 11: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

11

Pattern #2

• Mutual authentication• No forward secrecy

10/29/2014

Page 12: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

12

init-nonce under resp-pubkeydata1 under keys1-i2r

Compute resp-pubkeyGenerate init-nonceDerive keys1-i2r from init-nonce

Decrypt init-nonceDerive keys1-i2r from init-nonceDecrypt data1Generate resp-nonceDerive keys2 from both noncesand responder's identityCompute init-pubkey

10/29/2014

Page 13: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

13

resp-nonce under keys2-i2rdata3 under keys2-i2r

Decrypt resp-nonceDerive keys2 from both noncesand responder's identityDecrypt and check init-nonceDecrypt data2

Decrypt and check resp-nonceDecrypt data3

resp-nonce under init-pubkeyinit-nonce under keys2-r2i

data2 under keys2-r2i

10/29/2014

Page 14: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

14

Pattern #3

• Mutual authentication• Forward secrecy from the second flow onward

10/29/2014

Page 15: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

15

init-nonce under resp-pubkeyinit-edh-pubkey

data1 under keys1-i2r

Compute resp-pubkeyGenerate init-nonceDerive keys1-i2r from init-nonceGenerate init-edh-keypair

Decrypt init-nonceDerive keys1-i2r from init-nonceDecrypt data1Generate resp-nonceGenerate resp-edh-keypairCompute edh-secretDerive keys2 from edh-secretCompute init-pubkey

10/29/2014

Page 16: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

16

resp-nonce under keys2-i2rdata3 under keys2-i2r

Decrypt resp-nonceCompute edh-secretDerive keys2 from edh-secretDecrypt and check init-nonceDecrypt data2

Decrypt and check resp-nonceDecrypt data3

resp-nonce under init-pubkeyresp-edh-pubkey

init-nonce under keys2-r2idata2 under keys2-r2i

10/29/2014

Page 17: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

17

Other ID-based patterns

• Responder-only authentication with forward secrecy

• Patterns with initiator-only authentication…

10/29/2014

Page 18: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

18

For global deployments…

• A single PKG is not enough• A hierarchy of PKGs may be needed

– Analogous to a CA hierarchy• A global PKG hierarchy may need to have multiple roots

– Just like a global CA hierarchy• The identity of a party is a chain of IDs of PKGs (the “ID

chain”)• The ID of a root PKG is a reference to cryptographic

parameters built into the relying party– Analogous to a built-in root CA public key

10/29/2014

Page 19: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

19

DNS/DNSSEC supportfor global deployments

• The relying party needs to know what PKG chain is used by the authenticating party

• The ID chain of the responder could be retrieved from DNS/DNSSEC without an additional roundtrip– By contrast, a certificate chain is too large to be reliably

retrieved from the DNS• The revocation counter can also be retrieved from the

DNS/DNSSEC• Retrieving the ID chain from DNSSEC solves the “rogue

PKG problem”– Just like DANE solves the “rogue CA problem”

10/29/2014

Page 20: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

20

Follow-up work

• Proofs of security for patterns• Low-energy patterns?• Design of protocols that use the patterns• Proofs of security of protocols, relying on

proofs of security of patterns as lemmas

10/29/2014

Page 21: ID-Based Design Patterns for M2M Secure Channels Francisco Corella fcorella@pomcor.com Karen Lewison kplewison@pomcor.com 10/29/2014 Presentation to M2MSec’14

21

Thank you for your attention!

10/29/2014

For more information:Web site: pomcor.comBlog: pomcor.com/blog

Francisco [email protected]

Karen [email protected]

Any questions?