基于身份签密的安全通信系统

时间:2022-08-07 11:52:32

基于身份签密的安全通信系统

摘 要:基于身份签密的体制能在一个逻辑步骤内完成加密和签名的功能,其通信成本和计算量都比传统先加密后签名的方案小。利用Ben Lynn的PBC库以及李发根等提出的基于身份签密的算法,实现了用户间的安全通信。该系统较当前提出的基于IBE的安全通信系统操作更为简便,安全性更高。

关键词:基于身份签密; 安全通信; PBC库;IBE安全通信系统

中图分类号:TP309 文献标识码:A

文章编号:1004-373X(2010)09-0098-03

Secure Communication System of Identity-based Signcryption

LI Shun, ZENG Chao, LI Jun

(Institute of Electronic Engineering, China Academy of Engineering Physics, Mianyang 621900,China)

Abstract: The identity-based signcryption can realize the encryption and digital signature, whose communication cost and computation are less than the traditional encryption-then-signature scheme. The secure communication between usersis rea-lized by PBC library coded by Ben Lynn and identity-based signcryption algorithm proposed by LI Fa-gen et al. The system is securer and easier than the available IBE-based secure communication system.

Keywords: identity-based signcryption; secure communication; PBC library;IBE secure cemmunication system

0 引 言

在开放网络中传输信息需要对信息进行加密。由于基于IBE的密码体制能极大地简化基于证书密码体制的密钥管理过程,已经成为密码学研究的热点之一。它选择任意比特串(如身份证号、Email地址等)作为公钥,由私钥生成中心(PKG)生成公钥。从阅读的文献来看,已经有很多将IBE体制应用于到现实系统中的例子。文献[1]中实现了一个基于IBE的安全邮件系统。文献[2]中将IBE体制用于学分制管理系统中,实现了安全的学分制管理。这些文献都是基于斯坦福大学计算机科学系安全实验室Ben Lynn开发的IBE程序库[3],只能实现IBE加密,不具备签名功能,而且操作较为繁琐(需要输入命令)。

针对这些问题,本文根据Ben Lynn最新实现的PBC库[4],实现了一个基于身份签密的安全通信系统。基于身份签密能在一个逻辑步骤内完成加密和签名的功能,其通信成本和计算量都比传统先加密后签名的方案小。该系统能提供加密和数字签名的功能,具有更高的安全性,而且操作简单,人机界面好。

1 基于身份签密体制

2002年Malone Lee定义了基于身份签密方案的安全模型,利用双线性对构造了第一个基于身份的签密方案[5],但是该方案被证明不是语义安全的。随后一些新方案相继提出,文献[6]中提出目前为止被证明为最高效的基于身份签密体制,该方案在随机预言机模型下被证明可满足机密性、不可伪造性、不可否认性、公开验证性和前向安全性。该方案包括Setup,Signcrypt,Unsigncrypt三个算法。

1.1 系统初始化(Setup)

设P为循环加法群G1的生成元,阶为q;G2为具有相同阶q的乘法循环群。PKG随机选择一个主密钥s∈Z*q,计算Ppub=sP作为自己的公钥。定义4个安全的Hash函数,满足:

H1={0,1}*G1,H2={0,1}*Zq,

H3:G1Zq,H4:G2{0,1}n。

公开系统参数: {G1,G2,n,e,P,Ppub,H1,H2,H3,H4}。

每个用户拥有自己的ID(ID可以是标识用户身份的任意比特串)。用户向PKG发送自己的ID,PKG计算QU=H1(ID)作为用户的公钥,SU=s QU作为用户的私钥。PKG通过安全通道将私钥传递给用户,并公布用户的公钥。

1.2 签密(Signcrypt)

假设用户Alice要给Bob发送一条签密消息,即m∈{0,1}n。其中,Alice的公钥为QA,私钥为SA;Bob的公钥为QB,私钥为SB,则执行以下步骤:

(1) Alice随机选择k∈Z*q,计算R=kP,S=k-1[H2(m)•Ppub+H3(R)•SA];

(2) 计算w=e(Ppub,QB)k和c=H4(w)m;

(3) 发送密文σ=(c,R,S)给Bob。

1.3 解签密(Unsigncrypt)

Bob接收到密文σ后,执行如下步骤:

(1) 计算w=e(R,SB),如果该消息确实是由Alice发送给Bob的,则可以通过m=cH4(w)恢复消息。

(2) 用通过恢复得到的消息m判断e(R,S)=e(P,Ppub)H2(m)e(Ppub,QA)H3(R)是否成立,如果成立,则解签密成功,否则返回符号“”,解签密失败。

2 基于身份签密的安全通信系统

2.1 系统交互模型

系统交互模型如图1所示。

图1 系统交互模型

PKG Server运行Setup算法,计算出系统参数,建立TCP服务器等待连接。用户Alice和Bob连接上服务器,PKG Server登记他们的主机名作为身份信息。当Alice要给Bob发送签密消息时,Bob建立TCP服务器等待Alice的连接,并进行下述交互步骤:

(1) Alice申请Bob的公钥;

(2) PKG生成Alice私钥和Bob的公钥,并连同系统参数一起发送给Alice;

(3) Alice运行Signcrypt算法,发送密文σ给Bob;

(4) Bob检测到Alice的连接(即得到Alice的主机名),向PKG申请Alice的公钥;

(5) PKG向Bob发送Alice的公钥、Bob私钥和系统参数;

(6) Bob运行Unsigncrypt算法,返回验证结果给Alice。

2.2 系统安全机制

(1) 主密钥的生成与撤销。本系统传输的信息是极为重要的,而且传输的信息量较少,在运行PKG服务器时,需要键入用户口令,以验证操作权限,验证后才运行Setup算法。在Alice和Bob的通信结束后,PKG关闭,撤销原主密钥,在下次运行PKG时,重新生成主密钥。这样省去了主密钥的备份和恢复机制,降低了系统的复杂性。

(2) 私钥生成、撤销与安全通道。PKG必须采取访问控制、入侵检测、审计追踪等安全防范措施,以保证主密钥和私钥生成算法的安全。在一次通信完成后,PKG需要重新生成主密钥,用户私钥也需重新申请,原私钥撤销、删除。私钥发送的安全通道通过文献[7]中提出的算法实现。

(3) 公钥撤销。借鉴传统解决方法,在主机名后,用有效年限的方法来构成公钥,如使用“主机名||2009”形式的字符串作为公钥,其中附加字段“2009”指该公钥的有效期为2009年。

2.3 基于身份签密安全通信系统的实现

2.3.1 核心算法的实现

斯坦福大学计算机科学系的Ben Lynn在其博士论文中对使用对密码系统的实现进行了深入研究[8],开发了开源的PBC库[4]。该库为循环群上的双线形对提供了虚拟接口,使开发人员不用考虑底层的数学实现[9]。PBC库是建立在GMP库之上的,在安装PBC库之前需要安装GMP库。

Hash函数选择标准算法SHA1,因此需要安装openssl库。为了有效地进行代码复用,定义了将PBC数据类型散列为字符串的函数element_hash_to_str。实现过程如下:

void element_hash_to_str(element_t a, unsigned char * md)

{

mpz_t t;

int n;

char *data = pbc_malloc(n);

mpz_init(t);

element_to_mpz(t, a);

n=mpz_sizeinbase(t, 40) + 2;

mpz_get_str(data, 40, t);

SHA1((unsigned char*)data, sizeof(data), md);

pbc_free(data);

}

算法的主要执行过程如图2所示。

2.3.2 图形用户界面的开发

采用Nokia公司最新推出的开源SDK-Qt Creator 1.0开发GUI界面。Qt具有非常好的可移植性,能支持大多数的硬件平台,具有“一次编译,到处运行”的特点,适合复杂的GUI开发。在通信过程中,用户双方使用面向连接的TCP协议,以保证传输的实时性。Qt中的QTcpServer和QTcpSocket类库对TCP协议的实现提供了很好的支持,极大地加快了开发进程。软件已在Ubuntu 8.10和Windows XP操作系统下进行测试,且运行良好。

图2 算法执行流程图

3 结 语

针对网络中传输重要信息的需要,利用Ben Lynn最新开发的PBC库实现了文献[6]等提出的基于身份签密的算法,并在此基础上开发一个安全通信系统。该系统采用TCP协议进行通信,使用Qt开发操作界面,有效地解决了当前基于IBE体制的实现中所存在的操作不方便,只实现单一加密等功能问题。该系统能有效地运行在多种平台,其安全性高,适合于传输极为重要的信息。

参考文献

[1]彭海涛,史清华.基于身份加密的安全邮件系统[J].计算机工程,2005,31(13):124-125.

[2]孙飞显,徐明洁,杨进,等.基于Web的教务管理系统安全方案设计[J].计算机应用,2006,26(5):1198-1201.

[3]BEN Lynn. Stanford IBE Library[EB/OL]. [2004-11-21]. crypto.stanford.edu/ibe/download/ibe-0.7.2.tgz.

[4]BEN Lynn. PBC Library[EB/OL]. [2005-03-22]. crypto.stanford.edu/pbc/.

[5]MALONE-LEE J. Identity based signcryption[R]. [S.l.]: Cryptology ePrint Archive, 2002.

[6]李发根,胡予濮,李刚.一个高效的基于身份的签密方案[J].计算机学报,2006,29(9):1641-1647.

[7]YUAN Q, LI S. A new efficient ID-based authenticated key agreement protocol[EB/OL]. [2005-07-09]. /2005/309.pdf.

[8]LYNN Ben. On the implementation of pairing-based cryptosystems[D]. USA: Stanford University, 2008.

[9]LYNN Ben. PBC Library Manual 0.4.19 [EB/OL]. [2007-08-11]. crypto.stanford.edu/pbc/.

上一篇:电信数据网安全评估中权重的确定方法 下一篇:基于软交换技术的RoIP网关设计与实现