Introduction for Certificate-based Key Management Design based on Provisioning Tool 2015.07.21 Samsung Electronics Software R&D Center.

Slides:



Advertisements
Similar presentations
Smart Certificates: Extending X.509 for Secure Attribute Service on the Web October 1999 Joon S. Park, Ph.D. Center for Computer High Assurance Systems.
Advertisements

Chapter 14 – Authentication Applications
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Cryptography and Network Security Chapter 14
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
MyProxy: A Multi-Purpose Grid Authentication Service
Deploying and Managing Active Directory Certificate Services
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Geneva, Switzerland, 2 June 2014 Introduction to public-key infrastructure (PKI) Erik Andersen, Q.11 Rapporteur, ITU-T Study Group 17 ITU Workshop.
Public Key Management and X.509 Certificates
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Chapter 4 Authentication Applications. Objectives: authentication functions developed to support application-level authentication & digital signatures.
Chapter 9 Deploying IIS and Active Directory Certificate Services
Authentication Cristian Solano. Cryptography is the science of using mathematics to encrypt and decrypt data. Public Key Cryptography –Problems with key.
Introduction to push technology © 2009 Research In Motion Limited.
Public Key Infrastructure (PKI) Providing secure communications and authentication over an open network.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
WAP Public Key Infrastructure CSCI – Independent Study Fall 2002 Jaleel Syed Presentation No 5.
DGC Paris Community Authorization Service (CAS) and EDG Presentation by the Globus CAS team & Peter Kunszt, WP2.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 9: Planning and Managing Certificate Services.
Interoperation Between a Conventional PKI and an ID-Based Infrastructure Geraint Price Royal Holloway University of London joint work with Chris Mitchell.
Chapter 11: Active Directory Certificate Services
November 1, 2006Sarah Wahl / Graduate Student UCCS1 Public Key Infrastructure By Sarah Wahl.
Resource Certificate Profile SIDR WG Meeting IETF 66, July 2006 draft-ietf-sidr-res-certs-01 Geoff Huston Rob Loomans George Michaelson.
Presented by Xiaoping Yu Cryptography and PKI Cosc 513 Operating System Presentation Presented to Dr. Mort Anvari.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System interfaces Updated: November 2014.
CERTIFICATES “a document containing a certified statement, especially as to the truth of something ”
A Heterogeneous Network Access Service based on PERMIS and SAML Gabriel López Millán University of Murcia EuroPKI Workshop 2005.
Copyright, 1996 © Dale Carnegie & Associates, Inc. Digital Certificates Presented by Sunit Chauhan.
ACE – Design Considerations Corinna Schmitt IETF ACE WG meeting July 23,
1 The Cryptographic Token Key Initialization Protocol (CT-KIP) Web Service Description KEYPROV WG IETF-68 Prague March 2007 Andrea Doherty.
Christopher Chapman | MCT Content PM, Microsoft Learning, PDG Planning, Microsoft.
14 May 2002© TrueTrust Ltd1 Privilege Management in X.509(2000) David W Chadwick BSc PhD.
X.509 Certificate management in.Net By, Vishnu Kamisetty
魂▪創▪通魂▪創▪通 Use Case and Requirement for Future Work Sangrae Cho Authentication Research Team.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Introduction to Secure Messaging The Open Group Messaging Forum April 30, 2003.
NENA Development Conference | October 2014 | Orlando, Florida Security Certificates Between i3 ESInet’s and FE’s Nate Wilcox Emergicom, LLC Brian Rosen.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Java Security Pingping Ma Nov 2 nd, Overview Platform Security Cryptography Authentication and Access Control Public Key Infrastructure (PKI)
Certificate Enrolment STEs Group Name: SEC#17.2 Source: Phil Hawkes, Qualcomm Inc, Meeting Date:
Configuring Directory Certificate Services Lesson 13.
Secure Credential Manager Claes Nilsson - Sony Ericsson
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
CERTIFICATES. What is a Digital Certificate? Electronic counterpart to a drive licenses or a passport. Enable individuals and organizations to secure.
Module 9: Fundamentals of Securing Network Communication.
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice HP Library Encryption - LTO4 Key.
IEEE MEDIA INDEPENDENT HANDOVER DCN: MuGM Title: TGd Message Signing Proposal Date Submitted: Presented at IEEE d session.
Integrating security services with the automatic processing of content TERENA 2001 Antalya, May 2001 Francesco Gennai, Marina Buzzi Istituto.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
ELECTROINC COMMERCE TOOLS Chapter 6. Outline 6.0 Introduction 6.1 PUBLIC KEY INFRASTRUCTURE (PKI) AND CERTIFICATE AUTHORITIES (CAs) TRUST
Cryptography and Network Security Chapter 14 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
Pairing Based Cryptography Standards Terence Spies VP Engineering Voltage Security
PKI Future Directions 29 November 2001 Russ Housley RSA Laboratories CS – Class of 1981.
Module 2: Introducing Windows 2000 Security. Overview Introducing Security Features in Active Directory Authenticating User Accounts Securing Access to.
SMUCSE 5349/7349 SSL/TLS. SMUCSE 5349/7349 Layers of Security.
Creating and Managing Digital Certificates Chapter Eleven.
1 APNIC Trial of Certification of IP Addresses and ASes RIPE October 2005 Geoff Huston.
1 AHM, 2–4 Sept 2003 e-Science Centre GRID Authorization Framework for CCLRC Data Portal Ananta Manandhar.
AFS/OSD Project R.Belloni, L.Giammarino, A.Maslennikov, G.Palumbo, H.Reuter, R.Toebbicke.
1 Public Key Infrastructure Dr. Rocky K. C. Chang 25 February, 2002.
Active Directory Domain Services (AD DS). Identity and Access (IDA) – An IDA infrastructure should: Store information about users, groups, computers and.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
Cryptography and Network Security
Server Concepts Dr. Charles W. Kann.
Authentication Applications
BY: SHIVI AGRAWAL ( ) CSE-(6)C
Digital Certificates and X.509
PKI (Public Key Infrastructure)
Presentation transcript:

Introduction for Certificate-based Key Management Design based on Provisioning Tool Samsung Electronics Software R&D Center

Contents -Terminology -Bacground -How to approach -CKM(Certificate-based Key Management) Architecture Overview for Provisioning Management -Entities Definition -Certificate Issuing Operation Overview -Device Certificate Issuing Sequence Flow -Device Certificate Credentials Transfer Sequence Flow -CRL Issuing Operation Overview -CRL Generation Sequence Flow -CRL Transfer Sequence Flow w/ SRM

Terminology In this project, we have defined terminology to avoid confusion of Certificate Authority (CA) and Connectivity Abstraction (CA) in IoTivity. Term definitions –CKM : Certificate based Key Management –CKMInfo : Certificate based Key Management Information –CK Manager : Certificate based Key Manager Notice –In some cases of naming, especially internal modules of CKM, Certificate Authority(CA) term could be used if one has meaning of Certificate Authority(CA) term itself or compound noun. –e.g., “CACertificate” => Certificate Authority’s Certificate

Background OIC security requirement 1) Configuration and management approach to support certificate operation.(one of credTypes in OIC spec) 2) Very compact X.509 certificate format to cover from thin to rich devices in IoT environment. 3) Efficient anc concise operation policy to introduce certificate trust hierachy into OIC domain OIC security spec should meet multi-level things’ requirement (rich to thin devices) 1) Light weight X.509 Certificate & Crypto Algorithm Spec 2) Tiny Certificate Encoder and Parser 3) Light weight certificate Management Basic use cases for OIC Certificate credential 1) Certificate issue use case - Certificate Key Manager has CA function and generate/deliver device’s certificate. 2) Revocation of Certificate use case - The revocation event may be managed by Certificate Key Manager. Thin Rich OIC Key Mgmt domain

How to approach Light-Weight Management Scheme The scheme is based on the delivery of mgmt messages over a DTLS secure channel through the CoAP GET/POST Methods by OIC transfer format. GET /oic/res/crt ? deviceID = uuid POST /oic/sec/crt { "crt": " der encoded device's certificate in base64", "kty": "EC", "crv": "P-256", "x": "base64 encoded x position of elliptic curv", "y": "base64 encoded y position of elliptic curv" } DTLS As for certificate mgmt protocol simplified scheme should be preferred to typical in OIC spec: Protocol : CoAP GET,POST Methods Transport : DTLS Format : Json * Cert. Request: Supported by provisioning service Revocation Query: Two-sided driven * Cert. Status: CRL with serial numbers of revoked certificates * Compact Certificate Profile & ECC algorithm Ciphersuite ( TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 ) [Well-known public Certificate over 1KB] [Compact Certificate 292 Bytes]

Architecture & Entities

Application RI Connectivity Abstraction Layer CKM Architecture Overview for Provisioning Tool DTLS Adapter DTLS SVR db Provisioning db Secure Resource Manager.CKMInfo.CACert.Template Store CKM Database Interface ASN.1 Encoder Certificate Generator Certificate Key Manager Provisioning Manager CRL Generator.cred.crl

Entities Definition Provisioning Manager - This handles security management of owned devices. - When performing security management role, this provides credentials and ACL to the owned devices. - In case of Provisioning Tool driven, this requests CK Manager to issue a device’s certificate. - This provide interface to transfer certificate credentials(device certficate,CA chains,CRLs). Provisioning db - Stores CKMinfo, Contains serial number, CA’s subject name, public/private key, issued history…etc for CKMinfo - Use Persistent Storage Interface(PSI) like SRM SVR database interface - Template Store : Request properties and options, certificate parameters, identity attributes, encoding format option SVR db - ‘crl’ resource is newly defined and certification revocation list will be maintained. - Certificate and private key will be included into ‘public data’ property and ‘private data’ for each one in ‘cred’ resource. Ctypto Module(use microECC module) - Uses CA's private key, Crypto Algorithms for signing, message authentication, etc. CKM(Certificate-based Key Manager) - Directs message flow between CKM Database, Crypto Module and DER Encoder components for CA operation. ASN.1 Encoder - Encodes X.509 certificate profile in DER format, Encodes CRL profile in DER format Certificate Generator - Initializes CA’s certificate, generate device’s certificate or according to the CMP message. CRL Generator - Initializes CRL structure, generate CRLs, according to the CMP message. CKM(Certificate-based Key Management) Database Interface - This is the abstract interfaces to select SVR or Provisioning db, CRLs resource is located in SVR, CKMInfo and Template is located in Provisioning db. *CKM : Certificate-based Key Management *CK : Certificate-based Key *CA : Certificate Authority

Certificate Issuing

Certificate Issuing Operation Overview Provisioning Tool Driven Message sequence Module-based sequence

Device Certificate Generation Sequence Flow Provisioning Tool Driven

Device Certificate Credentials Transfer Sequence Flow Profile Message - PUT /oic/sec/cred [{“credid”: “”, “sub”: “…”, “credtype”: “credential type”, “privKey”: “device’s private key”, “pubKey”: “CA’s public key”, “crt”: “certificate chain included devise’s certificate”}] Provisioning Tool Driven

CRL Issuing

CRL Issuing Operation Overview Provisioning Tool Driven Message sequence Module-based sequence

CRL Generation Sequence Flow Provisioning Tool Driven

CRL Transfer Sequence Flow w/ SRM (1/2) Provisioning Manager CKM Database Interface CrlResource CKMGetCRL () GetCRL () OicSecCrl_t* binCrl Persistent Storage Interface (PSI) SVR DB SRM Sub-Module CrlResource.c CK Manager GetCRL () OicSecCrl_t* binCrl Provisioning Manager will try to send CoAPs message to server(thing) => Refer to next slide. Modules for CRL virtual resource * CrlResource.c source file should be created newly See the CredResource.c as a reference BinToCredJSON (binCrl) Json string of crl Json string for crl CrlResource.c OicSecCrl_t structure should be defined e.g. OicSecCrl_t includes Issuer, { SerialNo, Timestamp } Profile Message - PUT /oic/sec/crl [{“issuer”:”…”,”tupdate”:”…”,rcrts”{“sn”:”serial no.”,”time”:”timestamp”},{“sn”,”serial no.”,”time”:” timestamp”},…}}]

CRL Transfer Sequence Flow w/ SRM (2/2) Provisioning Manager Connection Abstract (CA) SRMRI layerCK Manager Connection Abstract (CA) Provisioning Tool on ClientServer on Thin device DTLS Channel OCDoResource (“/oic/sec/crl”, PUT, payload, …) Send CoAP message via DTLS channel Write to tinyDTLS Called registered callback by tinyDTLS SRMRequestHandler () CheckPermission (subjecId, Uri) If access is allowed, call HandleCARequest () Handle Request CRLEntityHandler () JSONToCrlBin() & SetCRL() CrlResource.c OCDoResponse () CASendResponse () Write to tinyDTLS () Called registered callback by tinyDTLS Done generating JSON payload => Refer to previous slide. Return success We should use OCDoResource() API of OC Core * CrlResource.c file should be created newly These functions should be provided in CrlResource.c