APP下载

基于CPK的密钥管理系统设计*

2014-02-10房利国段俊红

通信技术 2014年8期
关键词:私钥公钥密钥

房利国,王 银,蒋 涛,段俊红,刘 蕴

(中国电子科技集团公司第三十研究所,四川成都610041)

基于CPK的密钥管理系统设计*

房利国,王 银,蒋 涛,段俊红,刘 蕴

(中国电子科技集团公司第三十研究所,四川成都610041)

密钥管理过程中,在保证安全性的前提下减少通信双方的交互步骤、交互数据量,以及通信实体的运算量是人们期望达到的目标。对于此问题,组合公钥(CPK)可以提供比较有效的解决途径。简单介绍CPK的基本原理,总结设计基于CPK的密钥管理系统应关注的CPK要素和需注意的事项,给出一个基于CPK的密钥管理系统实例,描述其工作流程,并重点分析设计基于CPK的密钥管理系统会遇到的几个安全问题。

组合公钥 密钥管理系统 安全性 密钥生产 密钥分发

0 引 言

在基于公钥密码体制的密钥管理系统中,密钥管理过程主要涉及认证和数据保密两方面内容。对于认证,一般依靠鉴别协议和数字签名技术实现[1];对于数据保密,主要依靠密钥交换和加密技术实现[1]。

在鉴别协议和密钥交换过程中,一般需要首先交换和验证公钥证书,这一操作一方面增加了通信双方的交互步骤和交互数据量,另一方面也增加了通信实体的运算量。

对于上述问题,组合公钥(CPK)可以提供比较有效的解决途径。下面将简单介绍CPK,总结基于CPK设计密钥管理系统应关注的CPK要素和需注意的事项,给出一个基于CPK设计的密钥管理系统实例,并重点分析基于CPK设计密钥管理系统会遇到的几个安全问题。

1 CPK简介

CPK是2003年由我国的南湘浩教授提出的,并于2013年发布了V8.0版本,利用基于身份标识的CPK技术,可以在本地一次性查找用户公钥,满足了验证的简便性和管理的有效性,其安全性基于离散对数的难解性,可信度高,且不需要第三方的证明,不需要在线数据库的支持,只要很少的参数就能管理大量的密钥,整个认证过程可以在芯片级实现,极大地提高了运行的效率,并降低了成本[2]。国内外专家对CPK给予了高度评价。国内专家认为: CPK“解决了基于标识的密钥管理难题”、“实现了无第三方和非在线认证”、“具有重大创新意义和广阔应用前景”。国外专家评价:“CPK算法将基于标识的加密向前推进了一大步,它创造了一种易懂、易行、易普及的系统,能够提供公钥和基于标识的密码体制梦寐以求的所有好处。”[3]

1.1 基本原理

关于CPK原理的详细阐述参见文献[4],下面简要描述一下CPK的基本工作原理。

在基于ECC的CPK体制中,利用ECC所具有的复合特性进行密钥生产,ECC的复合特性是指:任意多对私钥之和与对应的公钥之和构成新的公私钥对[4]。

CPK系统中,密钥的生产、分发和使用流程如下:

(1)构造密钥矩阵

首先生产一定数量的ECC公私钥对,然后用其作为密钥因子构造两个维数相同的密钥矩阵(私钥矩阵和公钥矩阵)。私钥矩阵和公钥矩阵中相同位置的私钥和公钥一一对应(是由一对公私钥对拆分而成的)。

(2)密钥生产

在基于CPK的密钥管理系统中,根据实体标识进行密钥生产,各实体实际使用的密钥都根据密钥矩阵产生。当需要产生某一实体的密钥时,通过特定的映射算法(可采用杂凑算法)对实体标识做运算,然后再对运算结果做置换操作,根据置换结果选取密钥矩阵中不同位置的多个密钥,最后将选取的多个密钥进行组合(相加),即可得到对应于该实体标识的密钥。

(3)密钥分发和存储

在实际的密钥管理系统中,出于安全考虑,密钥矩阵离线产生。当申请密钥时,提交实体标识给密钥管理系统,密钥管理系统根据实体标识计算实体的私钥,然后将该实体的私钥以及全网相同的公钥矩阵分发给该实体。每个实体都只存储自己的私钥,同时存储全网统一的公钥矩阵。

(4)密钥使用

当一个实体需要跟其它实体进行通信时,只需根据对方的实体标识在本地的公钥矩阵中计算出对方的公钥,即可使用该公钥进行后续操作。

1.2 CPK中的要素

基于CPK构建密钥管理系统时,需关注CPK中的如下几个要素:

1)私钥矩阵:用于产生实体的私钥。

2)公钥矩阵:用于产生实体的公钥。

3)映射算法:一般为杂凑算法,用于对实体标识做杂凑运算,运算结果作为置换表的输入。

4)映射算法密钥:映射算法的运行参数。

5)置换表:用于对映射结果进行置换,根据置换结果在私钥矩阵和公钥矩阵中选择元素,组合产生实体的私钥和公钥。

1.3 CPK中各要素的使用要求

CPK中的各要素在使用时,应满足以下使用要求:

1)出于安全性考虑,私钥矩阵和公钥矩阵需离线产生。

2)私钥矩阵仅存储在密钥管理系统中,实体端仅存储本实体的私钥,私钥需作为秘密参数存储和使用。

3)公钥矩阵分发到每一个实体,若设计传统的密钥管理系统,公钥矩阵可公开;若设计能抵御量子攻击的密钥管理系统,公钥矩阵也需作为秘密参数存储和使用[4]。

4)映射算法、映射算法密钥、置换表等需作为秘密参数存储和使用。

1.4 CPK的优点

组合公钥从技术上解决了密钥管理中的几大难题:

(1)解决了密钥的规模化生产及管理难题[5]

在密钥管理系统中,密钥通过密钥矩阵产生,产生效率将大大提高。同时,不再需要维护很多组公钥,只需维护好实体的标识即可。

(2)解决了密钥的大规模存储难题[5]

密钥通过密钥矩阵产生,在密钥管理系统中不需要存储每个实体的公钥,在实体端也不需要存储每个互通实体的公钥。

(3)解决了需可信第三方提供身份认证支持的问题[5]

每个实体都有全网统一的公钥矩阵,互通实体的公钥在本地通过对端实体标识计算得到,不再需要从网上传递,因此,不需要可信第三方证明对端实体与其公钥的绑定关系。

(4)降低了资源消耗

在基于CPK构建的系统中,当需要进行认证和密钥交换时,不需要在线交换公钥证书,也不需要验证公钥证书,从而可以减少通信双方的交互步骤、交互数据量和运算量。

2 密钥管理系统设计实例

2.1 系统组成

密钥管理系统由密钥生产中心和密钥管理中心两部分组成。

密钥生产中心:离线运行,负责产生各CPK参数和各种密钥,创建和维护系统中的通信实体信息(含标识信息),并将密钥和参数离线分发给密钥管理中心和通信实体。

密钥管理中心:在线运行,处理通信实体的在线注册申请,并为通信实体在线分发和更换各CPK参数和密钥。

2.2 密钥生产和分发

密钥管理系统为通信实体生产和分发密钥的流程如图1所示。

图1 密钥生产和分发流程Fig.1 Key production and distribution flow

密钥生产和分发流程:

1)密钥生产中心产生系统统一的私钥矩阵、公钥矩阵、映射算法密钥和置换表,并为通信实体创建实体信息,规划实体ID,产生每实体唯一的保护密钥,使用实体ID和私钥矩阵产生实体的私钥。然后将ID(n个)、保护密钥(n个)、私钥(n个)、公钥矩阵、映射算法密钥和置换表离线递送给密钥管理中心;将ID和保护密钥离线分发给通信实体。

2)通信实体开机工作后,首先读取ID和保护密钥,然后向密钥管理中心发出在线注册请求(包含ID等信息)。

3)密钥管理中心接收到通信实体的在线注册请求后,对通信实体进行身份认证,认证通过则用保护密钥加密私钥、公钥矩阵、映射算法密钥和置换表,以及通信实体正常工作所需的其它配置信息,然后将上述数据在线分发给通信实体。

4)通信实体接收到密钥管理中心在线分发的数据后,使用保护密钥解密数据,即可得到通信实体正常工作所需要的私钥、公钥矩阵、映射算法密钥和置换表,以及其它配置信息。

2.3 特点和应用性简析

根据CPK的原理可知,基于CPK的密钥管理系统有如下特点:

1)密钥产生高效,降低了对密钥生产中心的计算性能要求。

CPK公钥和私钥都通过密钥矩阵产生,CPK私钥的产生过程仅涉及整数加法运算;CPK公钥的产生过程仅涉及点加运算,不涉及费时的点乘运算,因此,和传统的基于公钥密码体制的密钥管理系统相比,密钥产生效率将大大提高,从而降低了对密钥生产中心的计算性能要求,使得密钥生产中心不必专门配备高性能硬件设备,降低了建设成本。

2)节约密钥存储空间,降低了对密钥管理系统的存储容量要求。

CPK公钥和私钥都通过密钥矩阵产生,在密钥生产中心不需要存储每个实体的公钥和私钥,在密钥管理中心不需要存储每个实体的公钥,因此,和传统的基于公钥密码体制的密钥管理系统相比,密钥存储空间将大大缩小,从而降低了对密钥管理系统的存储容量要求,使得密钥生产中心和密钥管理中心(特别是密钥生产中心)无须配备大容量存储设备,降低了建设成本。

3)密钥更换不便,对密钥管理系统的密钥更换设计提出了较高要求。

由于CPK是基于标识工作的,因此,当CPK的几个要素(密钥矩阵、映射算法、映射算法密钥和置换表)固定不变时,相同的实体标识将映射到相同的密钥。若想更换密钥只有更改实体标识或者全网更换一个或几个CPK要素,因此,基于CPK的密钥管理系统和其它基于标识的系统一样,存在密钥更换不便问题,从而对密钥管理系统的密钥更换设计提出了较高要求。

因为有上述特点,所以基于CPK的密钥管理系统适合在标识易于设计、用户量大、密钥产生性能要求高的系统中应用。同时,为解决密钥更换不便问题,可以在设计实体标识时进行专门考虑,如:在标识中加入时间段因子等。

3 安全性分析

CPK的安全性分析参见文献[4],本节重点探讨以下几个使用CPK设计密钥管理系统会面临的安全问题。

3.1 密钥碰撞问题

CPK中的密钥产生是通过首先在密钥矩阵里选取多个密钥,然后将选取的多个密钥相加得到真正使用的密钥。

不难看出,这种密钥产生方式不能完全排除以下情况:虽然两次选择的密钥并不相同,但密钥相加的结果却相同,从而造成密钥碰撞问题。

在实际应用中,只要保证密钥矩阵的规模不过小,则发生密钥碰撞的概率是很低的,完全可以满足工程应用的需要(其实在传统的密码系统中,随机产生私钥也存在密钥碰撞的可能,只不过概率极低)。

此外,也有人对密钥矩阵的优化设计进行研究,提出了可以完全避免密钥碰撞的设计方案,例如文献[6]中描述的方法。

3.2 共谋攻击问题

关于CPK的共谋攻击是指:从理论上讲,由于实体的私钥是私钥矩阵中随机整数的线性组合,如果能够获得n个私钥(n是私钥矩阵的维数),并能够列出线性方程,且求出方程的解,那么私钥矩阵是可以破解的[4]。

但在实际应用中,先不说列方程和解方程的难度,即便只是获取大量私钥这一先决条件,也是一件不可能完成的任务。更何况,在实际的密码系统中,若有大量私钥泄露,早已实施全系统密钥更换。因此,我们可以认为在CPK的工程应用中,共谋攻击是无法成功实施的。

文献[4]提出了几种抵御共谋攻击的技术手段,此外,也有完全避免共谋攻击的方法,例如采用维数足够大的密钥矩阵(超过系统中实际使用的私钥的数量),但这样做不能充分发挥CPK的长处,不是最优的应用方案。

3.3 密钥空间问题

在CPK系统中,基本思想是使用一定规模的密钥矩阵,获得对应用系统来说足够大的密钥空间。

在传统密码系统中,私钥是随机产生的,密钥空间可以看成仅受密钥长度限制。对比这种情况, CPK的确是缩小了密钥的选取空间(当密钥矩阵确定以后)。

但所有密码系统的设计都是在理论安全性与工程实现易用性/可用性之间寻找平衡点。因此,我们应该关注的是密钥空间缩小对系统的安全性是否会产生实际影响,影响有多大。

反观传统密码系统在产生密钥过程中所使用的随机性检测技术,当要求实际使用的密钥必须满足某些随机性检测标准时,事实上也在人为缩小密钥空间。更何况使用密钥矩阵产生密钥,只是知道密钥的总量不会超过某一个值,并不知道密钥的具体值是在哪个固定的范围内,对穷举攻击来说并没有减少要尝试的密钥的个数。

4 结 语

CPK从发布到现在已有十余年时间,在这期间,CPK本身得到了不断完善,其应用也越来越广泛,但对于其安全性的疑虑也一直存在。这里重点探讨了如何设计基于CPK的密钥管理系统,并对设计基于CPK的密钥管理系统过程中涉及到的几个安全性问题进行了初步分析,得出了这些安全问题不会影响工程应用的结论。后续将对基于CPK设计的密钥管理系统的环境适应性、可扩展性等问题进行研究。

[1] 关志,南湘浩.数字签名与密钥交换机制的讨论[J].信息安全与通信保密,2008(03):46-47.

GUAN Zhi,NAN Xiang-hao.Discussing of Digital Signature and Key Exchange Mechanism[J].Information Security and Communications Privacy,2008(3):46-47.

[2] 赵远,马宇驰,邓依群,等.一种新的安全电子商务协议CPK-SET[J].通信技术,2010(08):178-180.

ZHAO Yuan,MA Yuchi,DENG Yi-qun,et al.A Secure Electronic Transaction Protocol Based on CPK[J].Communications Technology,2010(8):178-180.

[3] 赵建国.组合公钥(CPK)技术的创新实践[J].信息安全与通信保密,2012(05):55-57.

ZHAO Jian-guo.Innovative Practice of CPK Technology [J].Information Security and Communications Privacy, 2012(5):55-57.

[4] 南湘浩.CPK组合公钥体制(v8.0)[J].信息安全与通信保密,2013(03):39-41,44.

NAN Xiang-hao.Briefing of Combination Public Key System(CPK)V8.0[J].Information Security and Communications Privacy,2013(3):39-41,44.

[5] 崔杰克.基于CPK的认证及密钥管理技术研究[D].哈尔滨:哈尔滨工业大学,2010.

CUI Jie-ke.Authentication and Key Management Based on CPK[D].Harbin:Harbin Institute of Technology, 2010.

[6] 荣昆,李益发.CPK种子矩阵的优化设计方案[J].计算机工程与应用,2006(24):120-121.

RONG Kun,LI Yi-fa.A Optimized Scheme of the CPK Seed Matrix.Computer Engineering and Applications [J],2006(24):120-121.

FANG Li-guo(1977-),male,M.Sci., senior engineer,majoring in information security,communications security technology,computer application.

王 银(1978—),男,学士,工程师,主要研究方向为信息安全、通信安全技术;

WANG Yin(1978-),male,B.Sci.,engineer,majoring in information security,communications security technology.

蒋 涛(1979—),男,学士,工程师,主要研究方向为质量与可靠性技术、信息安全;

JIANG Tao(1979-),male,B.Sci.,engineer,majoring in quality and reliability technology,information security.

段俊红(1984—),男,学士,工程师,主要研究方向为嵌入式系统、通信安全技术;

DUAN Jun-hong(1984-),male,B.Sci.,engineer,majoring in embedded system,communications security technology.

刘 蕴(1981—),女,硕士,工程师,主要研究方向为信息安全。

LIU Yun(1981-),female,M.Sci.,engineer,majoring in information security.

Design on CPK-based Key Management System

FANG Li-guo,WANG Yin,JIANG Tao,DUAN Jun-hong,LIU Yun
(NO.30 Institute of CETC,Chengdu Sichuan 610041;China)

In the process of key management,under the precondition of guaranteeing the security,it is expected to achieve the goal that reducing round trips,total bandwidth and communication entity’s computation.Aiming at this problem,combined public key(CPK)is proposed to provide effective means.This paper introduces the fundamental of CPK briefly,summarizes the CPK elements and points out that it should be paid much attention on designing CPK-based key management system.Then the paper gives a CPK-based key management system demonstration,describes its working flow,and analyzes several security questions that might be faced in designing CPK-based key management.

combined public key;key management system;security;key production;key distribution

TP309.7

A

1002-0802(2014)08-0968-05

10.3969/j.issn.1002-0802.2014.08.026

房利国(1977—),男,硕士,高级工程师,主要研究方向为信息安全、通信安全技术、计算机应用;

2014-06-05;

2014-07-04 Received date:2014-06-05;Revised date:2014-07-04

猜你喜欢

私钥公钥密钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
幻中邂逅之金色密钥
幻中邂逅之金色密钥
案例教学法在公钥密码体制难点教学中的应用——以ssh服务中双向认证为例
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
密码系统中密钥的状态与保护*
TPM 2.0密钥迁移协议研究
神奇的公钥密码
一种基于虚拟私钥的OpenSSL与CSP交互方案