Open Source KMIP Implementation

19
The OASIS KMIP Standard: Interoperability for the cryptographic ecosystems Santhosh Kumar Edukulla Email : [email protected] 1

Transcript of Open Source KMIP Implementation

Page 1: Open Source KMIP Implementation

The OASIS KMIP Standard:

Interoperability for the cryptographic ecosystems

Santhosh Kumar EdukullaEmail : [email protected]

1

Page 2: Open Source KMIP Implementation

Session Highlights:

2

• Prevalent cryptographic ecosystems in enterprises, and their problems.

• Solution for above mentioned problems and interoperability in terms of KMIP.

• KMIP and KMIS Overview.

• Free KMIP\KMIS Library implemented in python.

• Q && A

Page 3: Open Source KMIP Implementation

3

Problems:

•In an enterprise, often, multiple environments have their own cryptographic management systems, and so their own key management systems.

•In an enterprise, many of these cryptographic environments have their own protocols, so a not standardized approach. Multiple vendors, different specifications, varied arrangements etc.

•Key exchange in terms of agent implementations are required for multiple platforms, multiple application infrastructures EX: C++, JAVA , .NET, windows, Linux etc.

•Multiple key distribution mechanisms, varied storages for secured keys, security issues, not so easy retrievals, standards, compliances issues etc.

•Managing key lifecycles, key continuance, version, upgrade, audit issues etc.

Page 4: Open Source KMIP Implementation

4

Enterprise Cryptographic Environments

Key Management

System

DiskArrays

BackupDisk

BackupTape

BackupSystem

Collaboration &Content Mgmt

Systems

File ServerPortals

ProductionDatabase

Replica

Staging

EnterpriseApplications

eCommerceApplications

Business Analytics

Dev/Test Obfuscation

WANLANVPN

Key Management

System

Key Management

System

Key Management

System

Key Management

System

Key Management

System

Key Management

System

Key Management

System

CRM

Problem 1:

Email

Page 5: Open Source KMIP Implementation

5

Enterprise Cryptographic Environments

Key Management

System

DiskArrays

BackupDisk

BackupTape

BackupSystem

Collaboration &Content Mgmt

Systems

File ServerPortals

ProductionDatabase

Replica

Staging

EnterpriseApplications

eCommerceApplications

Business Analytics

Dev/Test Obfuscation

WANLANVPN

Key Management

System

Key Management

System

Key Management

System

Key Management

System

Key Management

System

Key Management

System

Key Management

System

CRM

Problem2:

Email

Disparate, Often Proprietary Protocols

Page 6: Open Source KMIP Implementation

6

Enterprise Cryptographic Environments

Enterprise Key Management

DiskArrays

BackupDisk

BackupTape

BackupSystem

Collaboration &Content Mgmt

Systems

File ServerPortals

ProductionDatabase

Replica

Staging

Key Management Interoperability Protocol

EnterpriseApplications

Email

eCommerceApplications

Business Analytics

Dev/Test Obfuscation

WANLANVPN

CRM

Solution : KMIP as an interoperable protocol supports enterprise cryptographic environments:

Page 7: Open Source KMIP Implementation

7

Page 8: Open Source KMIP Implementation

8

• Its an open standard, easier to maintain, reduces complexity, solves interoperability problem. Formulated by OASIS(Organization for the advancement of structural information standards)

• The Key Management Interoperability Protocol (KMIP), enables key lifecycle management, it supports legacy and new cryptographic-enabled applications, supporting symmetric keys, asymmetric keys, digital certificates, and other shared secrets

• KMIP offers developers, templates to simplify the development and use of KMIP-enabled applications.

• KMIP defines the protocol for cryptographic client and key-management server communication. It tries to establish a single, comprehensive protocol for the communication between enterprise key management systems and encryption systems. It’s a binary protocol format with TTLV format.

• Defines all cryptographic entities as managed objects, attributes, operations supported etc.

• Supports various key lifecycle operations supported include generation, submission, retrieval, and deletion of cryptographic objects.

Page 9: Open Source KMIP Implementation

9

• As mentioned earlier, it’s a binary protocol with TTLV format.

Page 10: Open Source KMIP Implementation

10

KMIP protocol flow:

Key Client Key Server

API

Internal representation

Transport

Internal representation

Transport

KMIP Encode

KMIP Encode

KMIP Decode

KMIP Decode

API

KMIP

Page 11: Open Source KMIP Implementation

11

KMIP Technical Committee was established in OASIS in April 2009

Submissions included at the time of TC creation included draft specification, usage guide and use casesInitial membership included most significant vendors in cryptographic solutions and key management and has continued to grow.

KMIP V1.0 standard approved end-September 2010

Current KMIP Version: 1.2 && 1.3

Version 1.4 : In Progress

Page 12: Open Source KMIP Implementation

12

Purpose is to define what any implementation of the specification must adhere to in order to claim conformance to the specification

•Define the use of KMIP objects, attributes, operations, message elements and authentication methods within specific contexts of KMIP server and client interaction.

•Define a set of normative constraints for employing KMIP within a particular environment or context of use.

•Optionally, require the use of specific KMIP functionality or in other respects define the processing rules to be followed by profile actors.

Three profiles defined in V1.0•Secret data •Symmetric key store•Symmetric key foundry

Profiles are further qualified by authentication suite•TLS V1.0 / V1.1•TLS V1.2

Page 13: Open Source KMIP Implementation

13

Types of managed object that are managed by KMIP include:-

• Symmetric Keys.• Public and Private Keys.• Certificates and PGP Keys.• Split Keys.• Secret Data (passwords).• Opaque Data for client and server defined extensions.

The operations provided by KMIP include

• Create• Get • Register • Add Attributes, Get Attributes, and Modify Attributes• Locate• Re-Key • Create Key Pair• (Re-)Certify • Split and Join n of m keys.• Encrypt, Decrypt, MAC etc.

Page 14: Open Source KMIP Implementation

• KMIS is a kmip implementation which can run as service, providing cryptographic key management facilities to various enterprise entities like applications etc. Enterprise application these days are agile and are of varied platforms.

• Enterprise applications for their cryptographic requirements, needs to communicate with KMS. So, different applications in different platforms need to know about KMIP, instead KMIS does that in an abstracted way and provides machine independent way of communicating with KMS.

• It acts as an interface between KMS(Key Management Solution\Server) and enterprise applications through easy to use API.s

• KMIP library can run as an agent and well be integrated with applications, but, using an agent based solution tightly couples the applications with a given agent, and different agents are required for different application platforms.

• Few vendors provides KMIP, KMIS facilities, but are commercial and costly.

• The current implementation aims to solve this dependency and decouples dependencies, through an abstracted simple easy to use service in a secured way.

14

Page 15: Open Source KMIP Implementation

KMS(HSM) <= = > KMIS <= = > Applications

Components:•KMS : Key Management Server, HSM Appliance, where actual keys are generated, stored, maintained, destroyed etc.

•KMIS: Key Management Integration Service, An Integration Service operating between enterprise entities and KMS.

•Different enterprise entities.

15

Page 16: Open Source KMIP Implementation
Page 17: Open Source KMIP Implementation

• Using KMIP, we will retrieve few keys.• Using KMIP, we will create few keys.

Page 18: Open Source KMIP Implementation

18

References:• http://docs.oasis-open.org/kmip/spec/v1.2/os/kmip-spec-v1.2-os.html • http://xml.coverpages.org/KMIP/KMIP-FAQ.pdf• Google.com

Github Links:• https://github.com/sedukull/pykmip-ws • https://github.com/OpenKMIP/PyKMIP

Page 19: Open Source KMIP Implementation

19

Santhosh Kumar EdukullaEmail : [email protected]

•Thanks to Peter and team.

Questions: ?

if “I KNOW”:return AnswerFactory.get_answer (“AnswerType”)

else: “will find out and let you know”