E2EKey Resource Group Name: SEC WG Source: Qualcomm Inc., Wolfgang Granzow & Phil Hawkes Meeting Date: SEC#20.3, 2015-12-17 Agenda Item: End-to-End Security.

Slides:



Advertisements
Similar presentations
SSL/TLS Protocol Network Security Gene Itkis. Basic paradigmatic application: on-line purchase Client contacts Server (possibly for the first time) Spontaneity.
Advertisements

CMDH Refinement Contribution: oneM2M-ARC-0397
1 Lecture 12 SSL/TLS (Secure Sockets Layer / Transport Layer Security) CIS CIS 5357 Network Security.
TLS Introduction 14.2 TLS Record Protocol 14.3 TLS Handshake Protocol 14.4 Summary.
Secure Socket Layer.
SSL CS772 Fall Secure Socket layer Design Goals: SSLv2) SSL should work well with the main web protocols such as HTTP. Confidentiality is the top.
17.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 17 Security at the Transport Layer: SSL and TLS.
Working Connection Computer and Network Security - SSL, IPsec, Firewalls – (Chapter 17, 18, 19, and 23)
1 SSL/TLS 2 Web security Security requirements Secrecy to prevent eavesdroppers to learn sensitive information Entity authentication Message authentication.
Transport Layer Security (TLS) Protocol Introduction to networks and communications(CS555) Prof : Dr Kurt maly Student:Abhinav y.
December 2006Prof. Reuven Aviv, SSL1 Web Security with SSL Prof. Reuven Aviv Dept. of Computer Science Tel Hai Academic College.
Problem of non-Blocking Synchronous mode Group Name: ARC WG Source: Yuan Tao, Mitch Tseng, Huawei Technologies Meeting Date: ARC 15.0 Agenda Item: TBD.
Mar 19, 2002Mårten Trolin1 This lecture On the assignment Certificates and key management SSL/TLS –Introduction –Phases –Commands.
Apr 2, 2002Mårten Trolin1 Previous lecture On the assignment Certificates and key management –Obtaining a certificate –Verifying a certificate –Certificate.
EECC694 - Shaaban #1 lec #16 Spring Properties of Secure Network Communication Secrecy: Only the sender and intended receiver should be able.
Secure password-based cipher suite for TLS: The importance of end-to-end security Marie L.S. Dumont CS 265.
Diameter End-to-End Security: Keyed Message Digests, Digital Signatures, and Encryption draft-korhonen-dime-e2e-security-00 Jouni Korhonen, Hannes Tschofenig.
Announcement Final exam: Wed, June 9, 9:30-11:18 Scope: materials after RSA (but you need to know RSA) Open books, open notes. Calculators allowed. 1.
On Persistent AE Identifiers Group Name: SEC#12.2 Source: Phil Hawkes, Qualcomm Inc (TIA), Francois Ennesser,
11 Secure Sockets Layer (SSL) Protocol (SSL) Protocol Saturday, University of Palestine Applied and Urban Engineering College Information Security.
Secure Socket Layer (SSL)
In-Band Access Control Framework Group Name: WG4 SEC Source: Qualcomm Meeting Date: Agenda Item:
Certificate Enrolment STEs Group Name: SEC#17.2 Source: Phil Hawkes, Qualcomm Inc, Meeting Date:
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Proposed Transport Layer Security (TLS) Evidence Extensions Russ Housley IETF 67 – TLS WG Session.
Web Security : Secure Socket Layer Secure Electronic Transaction.
End-to-End security definition Group Name: SEC WG4 Source: Phil Hawkes, Qualcomm, Meeting Date:
December 2008Prof. Reuven Aviv, SSL1 Web Security with SSL Network Security Prof. Reuven Aviv King Mongkut’s University of Technology Faculty of information.
July 16, Diameter EAP Application (draft-ietf-aaa-eap-02.txt) on behalf of...
In-Band Access Control Framework Group Name: WG4 SEC Source: Qualcomm Meeting Date: Agenda Item:
SARVAJANIK COLLEGE OF ENGINEERING & TECHNOLOGY. Secure Sockets Layer (SSL) Protocol Presented By Shivangi Modi Presented By Shivangi ModiCo-M(Shift-1)En.No
Certificate Enrolment STEs Group Name: SEC#17.3 Source: Phil Hawkes, Qualcomm Inc, Meeting Date:
Customized Resource Types MAS Group Name: MAS + ARC + PRO WGs Source: Wolfgang Granzow, Qualcomm Inc., Meeting Date:
Discussion on the problem of non- Blocking Synchronous mode Group Name: ARC WG Source: Yuan Tao, Mitch Tseng, Huawei Technologies Meeting Date: ARC 15.2.
Primitive End-to-End Security Requirements Group Name: SEC WG4 Source: Phil Hawkes, Qualcomm, Meeting.
SMUCSE 5349/7349 SSL/TLS. SMUCSE 5349/7349 Layers of Security.
Interworking with an External Dynamic Authorization System Group Name: SEC WG Source: Qualcomm Inc., Wolfgang Granzow & Phil Hawkes Meeting Date: SEC#20.2,
Secure Sockets Layer (SSL) Protocol by Steven Giovenco.
M2M Service Session Management (SSM) CSF
1 SSL/TLS. 2 Web security Security requirements Secrecy to prevent eavesdroppers to learn sensitive information Entity authentication Message authentication.
App and Management End- to-End Security Requirements Group Name: SEC WG4 Source: Phil Hawkes, Qualcomm,
App End-to-End Security Requirements Group Name: SEC WG4 Source: Phil Hawkes, Qualcomm, Meeting Date:
End-to-End Primitive Security: Challenges and Suggestions Group Name: SEC WG Source: Qualcomm Inc., Phil Hawkes, Wolfgang Granzow, Josef Blanz Meeting.
Mar 28, 2003Mårten Trolin1 This lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Adding Non-blocking Requests Contribution: oneM2M-ARC-0441R01R01 Source: Josef Blanz, Qualcomm UK, Meeting Date: ARC 7.0,
On-Boarding and Enrolment Group Name: SEC WG Source: Qualcomm Inc., Phil Hawkes, Wolfgang Granzow, Josef Blanz Meeting Date: SEC#22, Agenda.
8-1 CSE 4707/5850 Network Security (2) SSL/TLS. 8-2 Think about Google or YouTube  Desired properties  Indeed the other side is Google or YouTube server.
@Yuan Xue CS 285 Network Security Secure Socket Layer Yuan Xue Fall 2013.
Cryptography CSS 329 Lecture 13:SSL.
Apr 1, 2003Mårten Trolin1 Previous lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
Interworking with an External Dynamic Authorization System Group Name: SEC WG Source: Qualcomm Inc., Wolfgang Granzow & Phil Hawkes Meeting Date: SEC#20.1,
TLS/SSL Protocol Presented by: Vivek Nelamangala Includes slides presented by Miao Zhang on April Course: CISC856 - TCP/IP and Upper Layer Protocols.
[authenticationProfile] <mgmtObj> specialization
Service Enabled AE (SAE)
End-to-End Security for Primitives
2nd Interoperability testing issues
MAF&MEF Interface Specification discussion of the next steps
CSCE 715: Network Systems Security
Overview of E2E Security CRs
CMDH Refinement Contribution: oneM2M-ARC-0397R01
GSS-API based Authentication and Key Establishment in TLS
CSE 4095 Transport Layer Security TLS, Part II
Security at the Transport Layer: SSL and TLS
SSL Protocol Figures used in the presentation
Summary of the MAF and MEF Interface Specification TS-0032
Presentation transcript:

e2EKey Resource Group Name: SEC WG Source: Qualcomm Inc., Wolfgang Granzow & Phil Hawkes Meeting Date: SEC#20.3, Agenda Item: End-to-End Security and Group Authentication

Background For End-to-End security, we would like to be able to use certificates – E2E attribute security (e.g. AE-to-AE, signing tokens) – E2E message security (Originator-to-CSE) Object security protocols – JavaScript Object Signing and Encryption (JOSE) IETF WG: JSON Web Signature (JWS), JSON Web encryption (JWE) – XML Encryption and XML Signature. These protocols support multiple target end-points – Applicable to some E2E Attribute security scenarios – Not applicable in E2E Message security (always 1 source & 1 target) However, in many cases (including all E2E message security scenarios), there is 1 source and 1 target – This contribution targets only these use cases 2

JWE, XML ENC JWE and XML ENC support Authenticated Encryption with additional data (AEAD) – includes integrity protection AEAD between two parties using a symmetric key (e.g. pre-provisioned shared key or key supplied by MAF) provides mutual authentication – Very low overhead, only requires providing key identifier. – ~1.3 payload size expansion (mostly due to base64 encoding) JWE and XML ENC using certificates does not authenticate the sender – Can use additional layer of JWS or XML SIG, but this further bloats the size of messages – Estimate: 1400 bytes overhead + JOSE case: ~1.8x payload size expansion, XML Security: payload size expansion (not entirely sure) Suggestion: a cert-based mechanism establishing a symmetric key which can be used in both E2E attribute security and E2E message security. 3

Cert-based pairwiseE2EKey establishment Options for establishing pairwiseE2EKey using certificates – Devise our own handshake using JWE/JWS or XML ENC/SIG JWE/JWS and XML/ENC/SIG wasn’t really intended for this We are 100% guaranteed to do something wrong – Use something we are familiar with Certificate-based TLS handshake, from which pairwiseE2EKey is exported – pairwiseE2EPrimitiveKey and pairwiseE2EAttributeKey are derived from pairwiseE2EKey Challenge – How do we do a TLS handshake transported using oneM2M requests and responses? 4

Proposal Resource. – Used as an “inbox” for exchanging handshake messages Initially intended for TLS – allow extending to other handshakes if desired – Attributes: handshakeType: enum { TLS } handshakeMessageNumber: xs:int order of the current message in the handshake handshakeMessagePayload: the latest exchanged message Handshake initiator begins by creating an resource. – Parent resource depends on Terminating end-point, If Terminating End-point is a CSE, then parent resource is of that CSE If Terminating End-point is a AE, then parent resource is on Terminating End-Point’s Registrar CSE – CREATE triggers and exchange of TLS Handshake messages between the Initiating and Terminating End-points using the attributes of the resource – If handshake completes, then pairwiseE2EKey is exported. 5

TLS Messages (Background) MessagesTLS Handshake parameters (success case) Description 1 ClientHello List of supported ciphersuites, random value 2 ServerHello Selected ciphersuite, random value Certificate Terminating End-Point’s Certificate ServerKeyExchange Key exchange parameters generated by the Terminating End- Point. Dependent on selected ciphersuite CertificateRequest Request the Initiating End-Point to authenticate itself with a certificate ServerHelloDone End of message 3 Certificate Initiating End-Point’s Certificate ClientKeyExchange Key exchange parameters generated by the Terminating End- Point. Dependent on selected ciphersuite CertificateVerify Signature by Initiating End-Point (ChangeCipherSpec*) Signal to start using new keys Finished MIC on handshake messages using session secrets 4 (ChangeCipherSpec*) Signal to start using new keys Finished MIC on handshake messages using session secrets 6 * Not really part of the handshake protocol. Investigating if this is needed

Terminating End-Point = CSE: Flow 1 Parent of created resource is TLS Handshake messages denoted h1, h2, h3, h4 Flow: Colors show request/response pairs Non-block mode shown here. Blocking modes shown in Annex 7 Initiating End-PointMessage (Content)Terminating End-Point (CSE) Generate h1  CREATE request (TLS,1,h1)  Create resource Process h1 and generate h2, change attributes  CREATE response (TLS,2,h2)  Process h2 and generate h3  UPDATE request (TLS,3,h3)  Change attributes Process h3 and generate h4, change resource contents  UPDATE response (TLS,4,h4)  Process h4

Terminating End-Point = AE: Flow 1 Parent resource is on Terminating End-Point’s Registrar CSE. Colors show request/response pairs. Terminating End-Point is presumed to support NOTIFY 8 Initiating End- Point Message (Content)Registrar CSE Message (Content)Terminating End-Point (AE) Gen h1 Normal CRUDN behavior  CREATE request (TLS,1,h1)   NOTIFY 1 request (TLS,1,h1)   NOTIFY response (-)  Process h1, gen h2  UPDATE request (TLS,2,h2)   CREATE response (TLS,2,h2)  Process h2, gen h3  UPDATE request (TLS,3,h3)   UPDATE response (TLS,3,h3)  Process h3, gen h4  UPDATE request (TLS,4,h4)   UPDATE response (TLS,4,h4)  UPDATE response (-)  Process h4 Export pairwiseE2EKey 1. If notification is not supported by Terminating End-Point AE, then Terminating End-Point AE can periodically check if an has been created. This flow assumes that the Terminating End-Point AE subscribed to be notified when children of its resource are created.

Further comments pairwiseE2EKey identifier options 1.Identifier of the created resource 2.Random identifier exported with pairwiseE2EKey For ARC consideration: Behavior of CSE changes depending on whether the CSE is the Terminating end-point, or a registered AE is the Terminating end-point – Might make sense to have two distinct resource types for e2EKey functionality; One resource type for when CSE is the Terminating end-point, and One resource type for when a registered AE is the Terminating end-point. – This is an ARC specification detail – makes no difference to SEC specifications – For now assuming it is OK to have a single resource type 9

ARC Impact: TS-0001 Update to existing text – Table Resource Types – Clause Resource Type CSEBase Add an attribute to which indicates if the CSE can be a terminating end- point for an handshake. – Clause Resource Type AE Add an attribute to which indicates if the AE can be a terminating end- point for handshake. New clauses – Clause 9.6.x: Resource Type e2EKey – Clause 10.2.y: resource procedures – NOTE: For now assuming it is OK to have a single resource type. See discussion on previous slide. Suggested Authors: – Qualcomm 10

SEC Impact TS-0003 Stage 2 – Specify sequence of TLS handshake messages exchanged and processing at end-points. Stage 3 – TLS ciphersuites – Certificate profiles – Details for exporting pairwiseE2EKey Suggested Authors – Qualcomm 11

Annex: Some Non-Blocking call flows 12

Terminating CSE Case: Synchronous Non-Blocking Mode Parent of created resource is TLS Handshake messages denoted h1, h2, h3, h4 Flow: Colors show request/response pairs 13 Initiating End-PointMessage (Content)Terminating End-Point (CSE) Generate h1  CREATE request (TLS,1,h1)  Create resource  CREATE response (-)  Process h1 and generate h2, change attributes  NOTIFY 1 request (TLS,2,h2)   NOTIFY response (-)  Process h2 and generate h3  UPDATE request (TLS,3,h3)  Change attributes  UPDATE response (-)  Process h3 and generate h4, change attributes  NOTIFY response (TLS,4,h4)   NOTIFY response (-)  Process h4 1. AE are not required to support NOTIFY. This would only work for Initiating End-Points which are CSEs or AE supporting NOTIFY

Terminating CSE Case: Synchronous Non-Blocking Mode Parent of created resource is TLS Handshake messages denoted h1, h2, h3, h4 Flow: Colors show request/response pairs 14 Initiating End-PointMessage (Content)Terminating End-Point (CSE) Generate h1  CREATE request (TLS,1,h1)  Create resource 1 w/ id xyz  CREATE response ( w/ id xyz )  (Repeat while “not complete”)  RETRIEVE xyz request (-)   RETRIEVE xyz response (not complete )  Create w/ (TLS,1,h1) Process h1 and generate h2, change to (TLS,2,h2)  RETRIEVE xyz request(-)   RETRIEVE xyz response (complete )  Update resource 1  RETRIEVE request (-)   RETRIEVE response(TLS,2,h2)  Process h2 and generate h3  UPDATE request (TLS,3,h3)  Create resource 2 w/ id abc  UPDATE resp ( w/ id abc )  (Repeat while “not complete”)  RETRIEVE abc request (-)   RETRIEVE abc response (not complete )  change to (TLS,3,h3) Process h3 and generate h4, Change to (TLS,4,h4)  RETRIEVE abc request (-)   RETRIEVE abcresp (complete )  Update resource 2  RETRIEVE request resource 2 (-)   RETRIEVE response(TLS,4,h4)  Process h4

Terminating AE Case: Asychronous Non-Blocking Mode 15 Initiating End- Point Message (Content)Registrar CSE Message (Content)Terminating End- Point Gen h1 Normal CRUDN behavior  CREATE req (TLS,1,h1)   CREATE resp (-)  NOTIFY 1 req (TLS,1,h1)   NOTIFY resp (-)  Process h1, gen h2  UPDATE req (TLS,2,h2)   NOTIFY 2 req (TLS,2,h2)  UPDATE resp (-)   NOTIFY request (-)  Process h2, gen h3  UPDATE req (TLS,3,h3)   UPDATE resp (-)  NOTIFY req (TLS,3,h3)   NOTIFY resp (-)  Process h3, gen h4,  UPDATE req (TLS,4,h4)   NOTIFY req (TLS,4,h4)  UPDATE resp (-)   NOTIFY resp (-)  Process h4 Export pairwiseE2EKey 1: If notification is not supported by Terminating End-Point AE, then Terminating End-Point AE can periodically check if an has been created 2. AE are not required to support NOTIFY. This would only work for Initiating End-Points which are CSEs or AE supporting NOTIFY