CPK可信认证系统转让专利

申请号 : CN200610076019.X

文献号 : CN100586065C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 南相浩关志

申请人 : 北京易恒信认证科技有限公司

摘要 :

本发明公开了一种以芯片实现的CPK可信认证系统,芯片中包括专用COS、CPK算法、ID证书、签名协议和密钥交换协议、加密算法和HASH函数等,芯片根据封装和接口的不同,分为智能卡、USB Key、Flash存储卡、手机SIM卡等不同形态。由一个芯片承担密码机功能、签名验证功能、密钥存储与管理功能,而且在不同标识域、安全域具有一卡通的功能,做到即插即用,可简便地构建可信认证系统。

权利要求 :

1.组合公钥CPK可信认证系统,所述组合公钥CPK可信认证系统是 以芯片实现加密与脱密功能、数字签名与验证功能、密钥的存储与管理功能、 在不同标识域和安全域具有一卡通的功能的认证系统,其中专用软件系统 COS、CPK算法、ID证书、签名协议和密钥交换协议、加密算法和HASH 函数,均以模块化设计方式实现,其特征在于所述组合公钥CPK可信认证 系统包括:处理器,用于处理各种数据,从而对整个系统进行控制和管理;

安全存储器,只有处理器的特定指令、或专门的外部设备才可以访问其 中的数据,攻击者不能绕过处理器或专门的外部设备访问存储器中的数据, 也不能通过逻辑或者物理上的方式访问其中数据;

普通存储器,用于存储其他数据;

公钥密码学引擎,提供用于公钥运算的指令,支持椭圆曲线密码学运算;

对称密码学引擎,提供用于对称加密、散列算法的运算指令;

真随机数发生器,用于生成真随机数;

系统保护设备,包括对芯片的安全封装、防剖片分析攻击的防护器件;

通信接口,包括USB控制器,串行接口或智能卡接口,用于与外部设 备进行通信;

此外,所述组合公钥CPK可信认证系统还包括:

标识-私钥管理模块,用于存储、管理、处理、保护私钥和标识数据, 所有对私钥的操作都由该模块完成,该模块调用椭圆曲线密码学模块进行椭 圆曲线签名和椭圆曲线公钥加密的解密运算;

公钥因子矩阵管理模块,通过映射算法将标识映射为公钥因子矩阵的索 引,并通过CPK算法和公钥因子矩阵计算出对应的公钥;

访问控制模块,通过口令和密码学功能保护系统,确保只有拥有口令的 用户才能访问所述组合公钥CPK可信认证系统;

椭圆曲线密码学模块,进行椭圆曲线签名、验证、公钥加密、解密功能;

对称密码学模块,提供对称加密、散列算法、MAC算法;

HASH算法模块,根据HASH函数对数据进行运算;

真随机数发生模块,生成真随机数;

CPK数据格式编解码模块,以CPK格式对数据进行编码和解码;

通信协议模块,实现和CPK代理之间的通信协议,以请求-应答命令的 方式向CPK代理提供服务;

用户私钥存储于安全存储器中。

2.根据权利要求1的组合公钥CPK可信认证系统,其特征在于:如果 该系统不包括公钥密码学引擎,对称密码学引擎和真随机数发生器,则该系 统调用相应的椭圆曲线密码模块、对称密码学模块和真随机数发生模块完成 其功能。

3.根据权利要求1的组合公钥CPK可信认证系统,其特征在于:组合 公钥CPK可信认证系统中的数据包括公钥因子矩阵,当前用户的标识和相 应的私钥,这些数据以ID证书的形式存储。

4.根据权利要求1的组合公钥CPK可信认证系统,其特征在于:组合 公钥CPK可信认证系统的功能包括ID属性管理、加密功能、签名功能、协 议执行功能、密钥存储与管理功能,且能够即插即用。

5.根据权利要求1的组合公钥CPK可信认证系统,其特征在于:所述 组合公钥CPK可信认证系统包括集成有处理器和存储器的智能卡芯片、独 立存储器设备和安全计算机至少其中之一。

6.根据权利要求1的组合公钥CPK可信认证系统,其特征在于:其中 所述芯片根据封装和接口的不同,为智能卡、USB Key、Flash存储卡、手 机SIM卡至少其中之一。

说明书 :

技术领域

本发明涉及信息安全技术,尤其设计一种计算机与网络环境下的CPK 可信认证系统。

背景技术

随着互联网的发展,对计算机和网络安全的要求也越来越高,相应的加 密算法和技术也在蓬勃发展。目前的加密技术可分为两类,即对称密钥技术 和非对称密钥技术。其中非对称密钥技术由于可以避免通过网络传递解密密 钥即私钥的需要而得到了广泛的应用。
非对称密钥目前最为本领域技术人员所公知的技术为PKI(Public Key Infrastructure)。PKI的运行靠两大部件:层次化的CA机构(Certification Authority)和庞大的证书库LDAP。PKI靠第三方公证来解决标识和密钥的 捆绑。为此需要建立庞大的层次化的CA认证机构。PKI还要靠在线运行的 证书库的支持,证书库的在线运行引发了大量的网络信息流量,例如一方为 了获得通信对方的证书,就需要向CA层层认证。正因为基于PKI技术实现 的认证系统依靠数据库在线运行,其运行效率很低,处理能力不大。据美国 国防部反映,PKI将引起信息爆炸,美军将来的通信也很难满足PKI带宽需 求,而且引起机构爆炸,为支持200万张CAC卡,全军新增了2500个CA 工作站,人员管理和经费已到不堪重负的程度。于是当今的各国学者,包括 部分PKI公司在内,正在寻找一种新的出路。
另一种非常有具有前景的加密技术是IBE(Identity Based Encryption)。 1984年,Shamir提出了基于标识的签名设想,并推测基于标识的密码体制 (简称IBE:Identity Based Encryption)的存在性,但是一直没有找到具体 的实现方法。
2001年Don Boneh和Matthew Franklin根据Shamir的想法,提出了从 Weil配对来实现基于标识的密码体制。与PKI技术相比较,IBE算法虽然取 消了庞大的层次化CA机构,但需要保留用户相关的参数。基于IBE算法实 现的认证系统依靠数据库在线运行,其运行效率很低,处理能力并不大。因 为参数是与各用户相关,所以参数量与用户量成正比。只要需要公布用户相 关信息,就需要目录库(LDAP)等数据库的支持,进而也没有办法减少动 态的在线维护量。
公众网的发展和应用,提出了构筑可信网络系统的新的要求。认证系统 是可信网络系统的核心技术,而在认证系统的核心技术则是密钥技术。密钥 技术中有两大难点:规模化和基于标识的密钥分发。CPK密钥技术正好解决 了这两个难点,为实现规模化公众网上实现可信系统创造了条件。
CPK算法与IBE算法一样,也是基于标识的公钥算法。CPK不需要数 据库的在线支持,可用一个芯片实现,在规模性、经济性、可行性、运行效 率上具有前述两种体制(PKI和IBE)无法比拟的优势。
虽然CPK可信认证系统存在巨大的优越性,然而其核心的CPK算法存 在一定程度的弱点。CPK算法本身不能抵御用户共谋攻击。对于n*n的CPK 因子矩阵可以支持n*n数量级的用户,但是攻击者只要收集到n*(n-1)数 量的用户私钥,就可以求解出整个私钥因子矩阵,以此可以计算出任何一个 用户的私钥,从而破解整个系统。对于实际系统而言,根据因子矩阵大小的 不同,采用较小因子矩阵的CPK系统可能只能抵御1000个用户以下的共谋 攻击。如果不能有效地保证私钥的安全,那么整个系统将面临着巨大的风险。
因此,如何解决私钥保护问题,则成为CPK认证体制的一个亟待解决 的问题。

发明内容

有鉴于此,为了解决CPK认证中存在的私钥保护问题,增强CPK认证 体制的安全性,本发明提出了基于专有硬件设备的CPK认证加密系统,不 仅能够有效地抵御用户共谋攻击,确保了CPK认证体制的安全,同时使得 该认证体制更易于管理,也使得CPK认证方式适用于更广泛的应用。
根据本发明的CPK可信认证系统,通过专有硬件设备实现CPK算法, 并利用该专有硬件设备存储、管理和保护CPK算法和认证体制中的私钥等 机密、敏感数据。和纯软件的实现相比,私钥只在系统内部参与运算,即使 系统的合法用户也不能从系统中读出私钥数据,杜绝了攻击者获得私钥的可 能性,从而从根本上消除了共谋攻击的可能性。
本发明的主要目的在于提供一种组合公钥CPK可信认证系统,所述组 合公钥CPK可信认证系统是以芯片实现加密与脱密功能、数字签名与验证 功能、密钥的存储与管理功能、在不同标识域和安全域具有一卡通的功能的 认证系统,其中专用软件系统COS、CPK算法、ID证书、签名协议和密钥 交换协议、加密算法和HASH函数,均以模块化设计方式实现,其特征在于 所述组合公钥CPK可信认证系统包括:
处理器,用于处理各种数据,从而对整个系统进行控制和管理;
安全存储器,只有处理器的特定指令、或专门的外部设备才可以访问其 中的数据,攻击者不能绕过处理器或专门的外部设备访问存储器中的数据, 也不能通过逻辑或者物理上的方式访问其中数据;
普通存储器,用于存储其他数据;
公钥密码学引擎,提供用于公钥运算的指令,支持椭圆曲线密码学运算;
对称密码学引擎,提供用于对称加密、散列算法的运算指令;
真随机数发生器,用于生成真随机数;
系统保护设备,包括对芯片的安全封装、防剖片分析攻击的防护器件;
通信接口,包括USB控制器,串行接口或智能卡接口,用于与外部设 备进行通信;
此外,所述组合公钥CPK可信认证系统还包括:
标识-私钥管理模块,用于存储、管理、处理、保护私钥和标识数据, 所有对私钥的操作都由该模块完成,该模块调用椭圆曲线密码学模块进行椭 圆曲线签名和椭圆曲线公钥加密的解密运算;
公钥因子矩阵管理模块,通过映射算法将标识映射为公钥因子矩阵的索 引,并通过CPK算法和公钥因子矩阵计算出对应的公钥;
访问控制模块,通过口令和密码学功能保护系统,确保只有拥有口令的 用户才能访问所述组合公钥CPK可信认证系统;
椭圆曲线密码学模块,进行椭圆曲线签名、验证、公钥加密、解密功能;
对称密码学模块,提供对称加密、散列算法、MAC算法;
HASH算法模块,根据HASH函数对数据进行运算;
真随机数发生模块,生成真随机数;
CPK数据格式编解码模块,以CPK格式对数据进行编码和解码;
通信协议模块,实现和CPK代理之间的通信协议,以请求-应答命令的 方式向CPK代理提供服务;
用户私钥存储于安全存储器中。
根据本发明的优选实施例,如果该系统不包括公钥密码学引擎,对称密 码学引擎和真随机数发生器,则该系统调用相应的椭圆曲线密码模块、对称 密码学模块和真随机数发生模块完成其功能。
根据本发明的优选实施例,组合公钥CPK可信认证系统中的数据包括 公钥因子矩阵,当前用户的标识和相应的私钥,这些数据以ID证书的形式 存储。
根据本发明的优选实施例,组合公钥CPK可信认证系统的功能包括ID 属性管理、加密功能、签名功能、协议执行功能、密钥存储与管理功能,且 能够即插即用。
根据本发明的优选实施例,所述组合公钥CPK可信认证系统包括集成 有处理器和存储器的智能卡芯片、独立存储器设备和安全计算机至少其中之 一。
根据本发明的优选实施例,其中所述芯片根据封装和接口的不同,为智 能卡、USB Key、Flash存储卡、手机SIM卡至少其中之一。
本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进 行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言 将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其 他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构 来实现和获得。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本 发明作进一步的详细描述,其中:
图1示出了根据本发明的CPK系统的基本结构;
图2示出了根据本发明的CPK系统的详细结构;
图3示出了根据本发明的签名流程;
图4示出了根据本发明的验证流程;
图5示出了根据本发明的公钥加密流程;
图6示出了根据本发明的公钥解密流程。

具体实施方式

以下将参照附图,对本发明的优选实施例进行详细的描述。
CPK是组合公钥(Combined Public Key)的简写。CPK密钥管理体制 是离散对数难题型的基于标识(身份)的密钥生成与管理的体制。它依据离 散对数难题的数学原理构建公开密钥与私有密钥矩阵,采用杂凑函数与密码 变换将实体的标识映射为矩阵的行坐标与列坐标序列,用以对矩阵元素进行 选取与组合,生成数量庞大的由公开密钥和私有密钥组成的公、私密钥对, 从而实现基于标识的超大规模的密钥生产与分发。
CPK密钥算法利用离散对数、椭圆曲线密码理论,构造公、私钥对,以 映射算法将公、私钥变量和用户标识绑定,从而解决基于标识的密钥管理。 CPK的密钥管理采用密钥集中生产,统筹配发的集中式模式,具有可控制、 可管理的优点,便于构建由上而下的网络信任体制。CPK的密钥管理采用了 密钥分散存储、静态调用的运行模式,从而可以实现第三方和非在先认证。
根据本发明,CPK组合公钥算法利用有限的公/私因子构造公/私因子矩 阵,在此公/私钥矩阵基础上可派生数量极其巨大的公/私钥对,并通过映射 算法将参与方的标识与其密钥(公/私钥)绑定的新技术。
基于CPK算法的认证系统是一种超大规模的基于标识的密钥管理系统, 可用于专用认证和公众认证网络上,有效地为包括(但不限于)电子邮件、 电子票据、电子物流标识、电子办公等在内的可信应用提供可信性证明。
根据本发明,CPK可信认证系统是以芯片实现的认证系统,芯片中包括 专用COS、CPK算法、ID证书、签名协议和密钥交换协议、加密算法和HASH 函数等,芯片根据封装和接口的不同,分为智能卡、USB Key、Flash存储 卡、手机SIM卡等不同形态。根据需要将公钥矩阵写入芯片中,可就地计 算对方公钥,由一个芯片承担密码机功能、签名验证功能、数据库密钥存储 功能,而且在不同标识域、安全域具有一卡通的功能,可简便地构建可信认 证系统。
在CPK可信认证系统中,绝大部分功能均在芯片内完成,以保证认证 过程的安全性,同时实现认证系统的芯片化,达到提供最简捷的认证服务的 目的。芯片包括:
支持CPK可信认证系统的专用COS;支持CPK运算的相关算法;ID 证书,包括多标识域、多作用域、授权等级、角色划分的参数和密钥;CPK 数字签名协议、CPK密钥交换协议;分级加密协议、口令更改协议、运行格 式协议;私钥保护技术措施等。
专有硬件设备根据封装和接口的不同,可能具有智能卡、USB Key、Flash 存储卡、手机SIM卡等不同形态。
图1示出了根据本发明的CPK系统基本结构。如图1所示,本系统在 物理组成上至少包括一个设备作为CPK专有硬件设备,根据具体实现和环 境的不同,可能由包括计算机、网络在内的多种硬件设备及相关软件构成。
本系统在逻辑上有两个主要组成部分,CPK核心系统与CPK代理 (Agent)。CPK核心系统作为一个独立的逻辑部件实现CPK算法,通过 硬件接口或软件接口提供认证和加密的功能。CPK Agent通常嵌入在应用系 统或应用环境之中,为其提供CPK认证和加密服务。服务的接口可以有多 种形式,如API、中间件、系统服务、网络服务等等,但不限于此。CPK Agent 本身并不实现CPK基础功能,而是通过和CPK核心系统的特定通信协议, 调用其功能,并向应用环境提供这些服务。CPK Agent也会对核心系统的功 能进行一定程度的封装或增强,从而满足应用系统的需求。
图2示出了根据本发明的CPK系统的详细结构。如图2所示,CPK Built-in专有硬件体系结构由软件和硬件相结合构成,软件系统分别运行于 专有硬件设备和通用网络和计算机平台之上。该CPK Built-in芯片中包括硬 件系统、软件系统(即CPKCOS)和内部的相关数据。其中硬件系统由多个 不同功能的IP核构成,提供基础的处理器、存储器、密码学引擎、随机数 发生器等模块。软件系统存储于芯片内部的Flash存储器或直接烧录于ROM 存储器中。软件系统调用、包装相应的硬件模块提供的基本功能,实现CPK 各种算法和协议。软件系统中的部分模块还读写和CPK算法相关的一些数 据存储,包括公钥因子矩阵和标识-私钥列表等等。
本系统的专有硬件设备根据具体形态的不同,具有全部或者部分的如下 系统部件:
1)处理器,用于处理各种数据,从而对整个系统进行控制和管理。
2)安全存储器。只有处理器的特定指令、或专门的外部设备才可以访 问其中的数据,攻击者不能绕过这些接口访问存储器中的数据,也不能通过 剖片攻击等逻辑或者物理上的方式访问其中数据。
3)普通存储器,用于存储其他数据。
4)公钥密码学引擎。提供用于公钥运算的指令,支持椭圆曲线密码学 运算。
5)对称密码学引擎。提供用于对称加密、散列算法等运算指令。
6)真随机数发生器,用于生成真随机数。
7)系统保护设备,包括对芯片的安全封装、防剖片分析等攻击的防护 器件。
8)通信接口,包括USB控制器,串行接口或智能卡接口,用于与外部 设备进行通信。
本系统的软件包括以下组成部分:
1)标识-私钥管理模块。该模块用于存储、管理、处理、保护私钥和标 识数据。所有对私钥的操作都由该模块完成,该模块调用椭圆曲线密码学模 块进行椭圆曲线签名和椭圆曲线公钥加密的解密运算。
2)公钥因子矩阵管理模块。该模块通过映射算法将标识映射为公钥因 子矩阵的索引,并通过CPK算法和公钥因子矩阵计算出对应的公钥。
3)访问控制模块。通过口令和密码学功能保护系统,确保只有拥有口 令的用户才能访问系统。
4)椭圆曲线密码学模块。可以进行椭圆曲线签名、验证、公钥加密、 解密等功能。
5)对称密码学模块,提供对称加密、散列算法、MAC算法等。
6)HASH算法模块,根据HASH函数对数据进行运算。
7)真随机数发生器,生成真随机数。
8)CPK数据格式编解码模块,以CPK格式对数据进行编码和解码。
9)通信协议模块。实现和CPK代理之间的通信协议,以请求-应答命 令的方式向CPK代理提供服务。
根据本发明,本系统中的数据包括公钥因子矩阵,当前用户的标识和相 应的私钥,这些数据以ID证书的形式存储。
如果硬件设备提供了相应的实现,则椭圆曲线密码模块、对称密码学模 块和真随机数发生器直接调用硬件功能,否则通过软件来实现。
下面对CPKCOS进行详细的解释。
①CPKCOS提供基于标识的、无需第三方、非在线的认证方式。 CPKCOS在芯片上实现CPK算法,可以为每个实体提供一个或多个全局唯 一的标识,各个实体之间可以通过该标识相互认证。CPKCOS可以在一个芯 片内部支持多个标识(数量由安全存储区的空间而定),并通过可变的映射 算法,使一个芯片可以支持多种应用,并可以灵活地撤销、更新标识。
②CPKCOS支持多层次认证系统的构建。CPKCOS为每一个CPK公钥 因子矩阵生成全局唯一的安全域标识,用以标志一个安全域。不同层次、不 同区域的认证系统通过拥有不同的公钥因子矩阵划分为不同的安全域,而安 全域之间可以通过唯一的安全域标识互相识别并获取对方的公钥因子矩阵, 从而将不同的安全域在逻辑上连通构成一个统一的认证网络。
③CPKCOS通过为每个标识设置一个密级表示字,只有符合密级限制 的操作才会被CPKCOS执行,从而支持军队等系统中的多密级安全需求。
④CPKCOS提供ECDSA数字签名、ECDH密钥交换、ECIES公钥加 密、AES和TripleDES对称加密算法,SHA系列散列算法,可以进行认证、 加密等多种安全应用,也可以作为辅助的安全算法模块。
⑤CPKCOS支持系统的软件升级,增添其他密码学算法、增添扩展功能。
为了确保系统的安全性,软件系统进行了特设设计以配合专有硬件实现 安全保护。以下通过CPKCOS代表该软件系统。CPKCOS在逻辑上通过多 种方式保证了系统和私钥等秘密数据的安全性。
①CPKCOS将存储器分为安全存储区和非安全存储区,安全存储区由 安全增强的EEPROM存储器构成,非安全存储区由普通Flash存储器构成。 CPKCOS将系统程序、私钥等机密数据、操作机密数据的程序段等重要程序 和数据存储在安全存储区中,公钥因子矩阵等可以公开的数据存储在非安全 存储区。CPKCOS系统程序段通过验证非安全存储区中数据或程序的签名、 完整性码来确保这些数据没有被篡改,通过加密来保证该存储区中的数据的 机密性。非安全存储区的设计使得CPKCOS可以支持芯片外部的Flash存储 器,保证其安全性。
②CPKCOS系统不对外提供私钥等秘密数据的读取接口,只能通过这 些接口进行正常的签名、解密功能,而无法获取秘密数据,即使合法用户也 不能读出其中的私钥数据。
③CPKCOS通过口令保护芯片及内部敏感数据。用户只有在输入验证 口令后才能使用CPK安全芯片。CPKCOS系统通过在口令验证过程中增加 延时大大增加攻击者尝试口令所消耗的时间,同时在芯片内部保持验证失败 计数器,如果口令验证的失败次数超过最高限额,芯片内敏感信息将会自毁。
④CPKCOS保护私钥因子矩阵不被破解。CPK算法有无法抵御共谋攻 击的弱点,如果攻击者可以收集大量的私钥,那么可以通过计算求解还原整 个私钥因子矩阵。CPK安全芯片一方面通过硬件保护和CPKCOS的对外接 口保证即使合法用户也不能读出私钥数据,同时将私钥等敏感数据以口令和 只在芯片内部产生并存储的真随机数加密,即使攻击者通过剖片分析等破解 芯片硬件,从中读出数据,如果没有口令也不能获得私钥。CPKCOS还支持 将公钥因子矩阵存储在外部存储器中,从而增加矩阵规模,可以将共谋攻击 所需破解芯片的数量提高1到3个数量级(128MB的外部存储空间)。
以下将参照图3-图6,对本发明的具体实施方案进行详细描述。然而, 需要注意的是,本发明可以体现为不同的形式,并且不应当被理解为限于在 此阐释的实施例。相反,提供这些实施例是为了本公开内容的完全和彻底, 并且能够完全地向本领域技术人员表达本发明的范围。
如图3-图6所示,本系统包括四种基本的CPK运算功能:基于CPK算 法的签名、验证、公钥加密和解密。这里分别用附图3、附图4、附图5、 附图6等四幅图示来说明这四种运算的基本流程,其中框体代表系统模块, 线段代表数据,箭头代表数据的流动方向,运行先后顺序在图中表示为自上 而下。
图3示出了CPK数字签名的流程图。如图3所示,基于CPK Built-in 的数字签名过程如下:
1)用户在CPK Built-in中的标识列表中选择一个标识用于数字签名。
2)用户将待签名数据输入CPK Built-in芯片。
3)CPK Built-in芯片中的Hash算法模块计算出待签名数据的散列值。
4)CPK Built-in芯片中的随机数发生器生成用于签名的随机数。
5)CPK Built-in芯片中的私钥管理模块通过用户的标识读取对应的私 钥。
6)椭圆曲线密码学模块通过散列值、随机数和私钥生成ECDSA数字 签名。
7)数据编码模块将ECDSA数字签名值和用于签名的标识统一编码为 CPK格式的数字签名数据包,并传出CPK Built-in芯片,返回给用户。
图4示出了CPK数字签名的签名验证流程图。如图4所示,基于CPK Built-in数字签名的签名验证过程如下:
1)CPK Built-in芯片从外部读入CPK数字签名和被签名的原数据。
2)Hash算法模块计算出被签名数据的散列值。
3)CPK数据格式编解码模块从CPK数字签名中取得签名者标识和 ECDSA数字签名数据。
4)标识-公钥影射算法模块将签名者标识映射为签名者用于签名的公钥。
5)椭圆曲线密码学模块通过散列值、ECDSA数字签名和签名者公钥验 证签名是否有效,并将结果返回给用户。
图5示出了CPK公钥加密算法的加密流程图。通过CPK公钥加密算法, 一个用户可以向任意其他用户发送经过公钥加密的数据,数据以CPK公钥 加密算法加密,密钥为接受者的标识,接受者通过自己的私钥可以对该数据 进行解密。如图5所示,其详细过程如下:
1)CPK Built-in芯片从外部读入接受者的标识和带加密的数据明文。
2)标识-公钥映射算法模块通过标识和公钥因子矩阵计算出接收者的公 钥。
3)随机数发生器生成作为加密数据的对称密钥和用于公钥加密运算的 随机数。
4)椭圆曲线密码学模块将明文以对称密钥算法加密,并通过接收方的 公钥对对称密钥进行椭圆曲线公钥加密,生成ECIES加密密文。
5)CPK数据格式编码解码模块将密文和接收方标识编码为CPK密文数 据包,并返回给用户。
图6示出了CPK公钥加密算法的解密流程图。如图6所示,其详细过 程如下:
1)CPK Built-in芯片从外部读入CPK加密密文数据包。
2)CPK数据格式编码解码模块对该数据包进行解码,读出标识和ECIES 加密数据。
3)私钥管理模块通过内部的标识-私钥列表获得对应的私钥。
4)椭圆曲线密码学模块通过私钥对ECIES加密数据进行解密,解密过 程首先用椭圆曲线公钥加解密算法和私钥解出加密数据的对称密钥,然后用 该对称密钥将密文解为明文,并将明文返回给用户。
根据安全性、性能和应用环境的不同,专有硬件设备可以采用多种不同 的形态。由于不同专有硬件设备的存储和处理能力的差别,以及具体应用环 境的差别,系统的不同功能模块会在CPK核心系统和CPK代理之间均衡分 布。专有硬件设备功能越强,则系统的功能模块越多地实现在专有硬件设备 之上;反之,如果专有设备的硬件设备功能越强,则系统的功能模块越多地 实现于应用环境中的CPK代理之上。
三种具有代表性的专有硬件设备分别是智能卡芯片、安全计算机、不具 有处理能力的存储卡,这里针对这三种代表性的硬件分别提出具体的实施方 案。
1、基于智能卡芯片
目前主流的智能卡芯片的性能和存储能力可以支持CPK核心系统的全 部功能,因此可以将全部的程序和数据建立在该硬件平台上,通常实现在 CPK代理中的扩展功能,如对数据的对称加密功能,也可以实现在智能卡芯 片上,从而构成一个软硬结合的独立产品。CPK代理只需要直接调用智能卡 芯片的功能,并将和硬件的通信协议包装为面向宿主环境的软件接口,如 API或系统服务即可。
智能卡芯片的处理能力较弱,不能支持密集的服务请求。由于智能卡的 片上存储空间较小,通过外接存储器芯片扩展其存储空间,从而支持更大的 公钥因子矩阵。
2、基于安全计算机
安全计算机通常通过专门的硬件设计、附加的安全芯片等手段保护。安 全计算机具有比智能卡芯片更强的处理能力和更大的存储空间,可以支持 CPK核心系统的全部功能。CPK核心系统和CPK代理可以共存于安全计算 机硬件平台之上,该平台还可以支持应用系统的功能。基于安全计算机的 CPK可信认证系统和应用系统结合可以形成独立的产品形态,如基于CPK 的VPN、可信路由器等产品。
3、基于存储卡
存储卡本身不具有独立的处理器,只是具有一定的存储空间。存储卡价 格便宜,适合于银行卡能大规模应用,但是本身不具备处理器,因此需要以 密码学的方式保护存储器中的机密数据,并且必须配合专门的安全读取设备 用于读取其中的私钥。
本发明的实施能够带来以下益处和优点。
(1)以往的认证都采用从前提假设出发,经过形式化推理证明的“相 信逻辑”,证明对象只限于客体:而本系统则采用不设前提假设,以“条件 的满足性直接证明的“可信逻辑”,证明提高到没有前提假设的“可信逻辑”, 证明对象包括主体(身份)、客体、内容、行为。
(2)以往的认证系统只解决规模不大的专用网的认证(几千或几万的 规模),而本系统则适应超大规模的专用网的认证和诸如电子邮件、个人电 话、个人账号等公众网的认证。其规模是以数万亿计的。
(3)以往的认证系统以CA机构和数据库作为认证的必备手段的,其 费用昂贵,系统维护复杂;而本系统以一个芯片实现认证系统,取消了CA 机构和数据库,大大简化了认证过程,提高了认证效率,大大降低了成本, 节省了运行费和维护费。
尽管通过参照本发明的某些优选实施例,已经对本发明进行了图示和描 述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各 种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。