采用无证书密码学的安全电子邮件系统设计与分析

2021-11-16 02:26:22温圣军韩春晓
信息安全研究 2021年11期
关键词:邮件系统私钥公钥

温圣军 韩春晓 杜 琳 袁 刚

(国家市场监督管理总局信息中心 北京 100820)(wenshengjun@samr.gov.cn)

电子邮件作为互联网最为广泛的应用之一,因其内容的敏感性及收发协议的明文传输特性,在身份认证、报文传输及存储方面存在安全风险,即使采用SSL进行简单传输加密,也存在单向认证、易受中间人攻击的可能性,导致个人隐私、商业机密甚至国家秘密泄露.针对上述电子邮件的安全问题,目前较好的解决方案有基于公钥基础设施(public key infrastructure, PKI)的非对称密码体系[1-2]和基于标识的密码体系[3-4](identity-based cryptography, IBC)2种.基于PKI的安全邮件系统[5-8]被广泛采用,但存在成本高、管理复杂等缺点.基于IBC的安全邮件系统[9-10]由于减少了繁琐的证书/公钥交换及验证环节,且使用椭圆曲线密码算法,有效提升了系统效率,但IBC体系设计中存在负责生成私钥的第三方信任机构(trust authority, TA)或密码生成中心(key generation center, KGC),用户私钥完全依赖其生成,很难避免第三方以授权用户身份进行恶意活动,存在密钥托管的固有安全缺陷.本文通过分析当前主流安全邮件系统设计方案的优缺点及解决方法,选取无证书公钥加密方案[11-12]作为解决密钥托管问题的一种技术,以普及的智能终端作为令牌/指纹认证系统,实现对用户的安全认证,结合国密SM3杂凑算法、SM4对称密码算法[13]、SM9基于身份标识的公钥密码算法,在满足安全系统设计数据交互真实性、完整性、机密性等安全特性的同时,降低了对第三方信任机构或密码生成中心的依赖度,增强了邮件系统自身的安全性.

1 基础介绍

1.1 相关背景

目前,PKI证书体系已成熟应用于安全邮件系统,但由于该体制需要频繁交互验证及构建基础设施,存在使用繁琐、成本较大、管理复杂等缺陷.IBC密码体系以用户标识作为用户公钥,减少了PKI体系中对用户公钥的管理认证,极大简化了系统设计,降低了系统复杂性,但该方案由于存在可信第三方TA/KGC,用户私钥完全依赖其生成,TA/KGC既能够合法取得授权从事恶意活动,也面临一旦被攻破导致系统安全性完全失效的可能,存在着密钥托管的天然缺陷.

针对IBC的上述问题,解决的主要方式为尽量降低对TA/KGC的信赖度.综合当前的主要解决方法,可概括为(t,n)门限方案及用户秘密方式2类.(t,n)门限方案主要采取多个授权机构共同完成密钥生成的关键任务来解决密钥托管问题,但构建多个授权机构带来了额外成本.用户秘密方式目前主要分为基于证书和无证书2种类型,基于证书的解决方案完全克服了密钥托管缺陷,但显然是一种类PKI结构,失去了IBC的优势.基于无证书用户秘密方式的解决方案,在有效解决IBC密钥托管问题的同时,保持了IBC体系简单易用、成本较低的特点,是目前基于IBC体系设计安全邮件系统的一个发展方向,也是本文提出的安全邮件系统设计方案所采取的密钥托管问题解决方案.

1.2 IBC密码体系基础

IBC密码体系的概念最早由以色列密码学家Shamir(原PKI体系的设计者之一)于1984年提出,其最大特点是将实体标识本身用作实体公钥,不再依赖证书和证书管理系统,极大简化了管理密码系统的复杂性,在国际国内得到了广泛推广应用.现阶段,IEEE P1363.3的基于标识的密码技术工作组正在进行相关算法的标准化工作,ISO/IEC已完成2个基于标识的签名算法标准化.在国内,国家密码管理局已于2016年正式公布SM9标识密码算法,该算法采用椭圆曲线上的双线性对作为基础数学工具,可使用如邮件地址、手机号等具有唯一性的标识作为用户公钥,进行数据加密和身份认证,非常适合电子邮件保护.

1.3 无证书密码学基础

为有效解决IBC中的密钥托管问题,Sattam等人[11]于2003年提出了无证书公钥密码学(certificateless public key cryptography, CL-PKC)的概念.在CL-PKC中,用户的完整私钥由TA或KGC提供的部分私钥和用户定义但TA/KGC不知道的秘密值组合生成.Al-Riyami和Paterson提出的算法(简称AL-P)可概括为安装、用户秘密值选取、部分私钥生成、完整私钥生成、公钥生成5个部分.设定IG为线性Diffie-Hellman问题参数生成器,k为输入参数.AL-P算法各部分功能简要描述如下:

1) 安装,由KGC执行.

Step1.以k为输入参数,运行IG,生成(G1,G2,e),其中G1,G2为素数q和e的阶群,并满足G1×G2→G2;

Step2.任意选择P∈G1;

Step3.随机选择主密钥s∈*q,计算P0=sP;

Step5.KGC公布系统参数(G1,G2,e,n,P,P0,H1,H2),安全保存主密钥s.

2) 用户秘密值选取,由用户执行.

设定IDm为用户m标识,任意选取xm∈*q作为秘密值,计算Xm=xmP并提交Xm给KGC.

3) 部分私钥生成,由KGC执行.以Xm和IDm∈{0,1}*为输入,计算用户m的部分私钥Dm.

Step1.Qm=H1(IDm‖Xm);

Step2.Dm=sQm∈G1.

4) 完整私钥生成,由用户执行,生成完成私钥Sm.计算Sm=XmDm=xmsQm∈G1.

5) 公钥生成,由用户执行,生成用户公钥对Pm.

Step1.计算Xm=xmP,Ym=xmQm;

Step2.形成Pm=(Xm,Ym).

2 系统设计

依据前述分析,本文的安全邮件系统除具备邮件系统的常用功能外,应满足高安全性要求,即在具备邮件传输机密性、完整性、真实性的同时,能够保证避免TA/KGC获取合法授权进行可能的恶意活动的安全特性.

2.1 整体设计

依据实现功能,安全邮件系统主要分为私钥生成模块(KGC)、标识(公钥)管理模块、算法模块、客户端模块、其他辅助模块5部分.如图1所示,KGC与用户合作,调用算法模块产生主密钥、系统参数及用户完整私钥及秘密值公钥.标识(公钥)管理平台对用户标识进行管理.客户端模块在用户生成完整私钥后,结合标识(公钥)管理平台相关数据,调用算法模块进行邮件加/解密、签名/认证、完整性计算等操作,配合辅助模块完成加密邮件的收发.

图1 国密安全邮件系统整体设计架构图

系统中各组成部分的功能具体为:

1) KGC.私钥服务器,调用AL-P的安装算法,生成主密钥s及系统参数(G1,G2,e,n,P,P0,H1,H2),接收用户秘密值计算后的值Xm,生成部分私钥Dm.

2) 算法模块.集成AL-P算法(含安装、用户秘密值选取、部分私钥生成、完整私钥生成、用户公钥生成5个子模块),国密公钥算法SM9(签名/认证),国密对称密码算法SM4(数据加解密),国密杂凑密码算法SM3(完整性验证).

3) 客户端.包括邮件系统部署、邮件内容加密存储,提供基于标准邮件协议的邮件收发,实现邮件收发加解密,调用算法模块进行真实性、完整性验证.

4) 用户.选择秘密值xm,计算并发送Xm给KGC. KGC生成Dm后,调用算法模块计算完整私钥Sm及公钥Pm.通过标识(公钥)管理平台预注册用户标识、进行公钥存储等.

5) 标识(公钥)管理平台.进行标识管理、公钥存储发布,支持用户注册及自管理.

6) 辅助模块(除用户外).智能终端以指纹、人脸认证系统进行用户认证,在终端安全存储区(即隐私空间)实现秘密值安全存储.防病毒、反垃圾、旁路监控功能部件及防火墙作为邮件系统的外围安全辅助防护措施,统一构建安全邮件系统的安全保护机制.

2.2 通信过程

假设用户Alice向用户Bob发送加密邮件,选择各自邮件地址为用户标识IDAlice,IDBob,即IDAlice=alice@a.com,IDBob=bob@b.com,邮件内容为T,Alice的定义秘密值为kAlice,Bob的定义秘密值为kBob,具体通信过程如图2所示:

图2 国密安全邮件系统通信流程图

在图2中,Alice向Bob进行安全邮件通信时,分为预处理、公钥验证、加密、签名及最后的封装发送5个环节,完成对发送对象的公钥验证、明文加密签名及最后的发送操作.具体的各阶段计算过程为:

1) 预处理阶段.通信双方在自域范围内的标识管理平台进行预注册,标识管理平台收集用户提供的自身标识ID、公钥P并进行存储、发布.

2) 公钥验证阶段.Alice作为会话发起方,首先在Bob所在域的标识管理平台获取Bob的公钥及标识ID并作公钥验证.

3) 报文加密阶段.对需要发送的明文T,Alice首先任意选定随机数r,结合仅有自己拥有的秘密值xAlice及Bob公钥XBob生成双方会话密钥,再生成本次报文加密使用的对称密码算法主密钥K,调用算法模块进行报文加密后形成密文T′.

4) 签名阶段.主要完成对r的加密及报文T杂凑值T*的签名,用于接收方对报文的完整性验证.

5) 封装发送.依据邮件系统的部署环境,客户端使用POP(S)/SMTP(S)/IMAP(S)、Web端采用https等邮件传输协议,按照相关封装标准进行格式封装后发送.

Bob在收到邮件后,经数据提取、公钥验证、解密、认证最终完成邮件系统的安全接收.

3 安全性分析

基于国密SM3杂凑算法、SM4对称密码算法及SM9标识密码算法,结合无证书密钥生成机制设计的邮件系统,在有效解决密钥托管缺陷的同时,保证了邮件系统数据交互机密性、完整性、真实性要求.

1) 机密性:以SM4对称密码算法保证邮件内容的加密传输,每次生成密钥K后,使用SM9密码算法中的标识公钥对密钥进行再次加密形成K′后,与密文封装成标准格式(如RFC 5751:Secure/Multipurpose Internet Mail Extensions Version 3.2 Message Specification),接收方使用私钥解密后可得密钥K,进而得到明文,无需密钥交互即可达到一次一密的机密性.

2) 完整性:以SM3杂凑算法生成明文的摘要数据,与密文及加密后的对称密钥K′一起进行标准格式封装,接收方在解密得到明文后,同样以SM3生成杂凑值,与封装的原摘要数据进行比对获证数据完整性.显然,中间人无法获取明文便无法伪造杂凑值,即完整性既依赖于SM3算法本身,也依赖SM4对称加密算法以及SM9签名算法.

3) 真实性:应用SM9标识密码算法,发送方使用完整私钥对加密数据进行签名,接收方可使用发送方的公钥对数据的来源真实性进行核验.伪造真实性的可能性取决于获取另一个私钥,使得同一个公钥能够进行解密,这对SM9所采用的ECC密码算法来说是困难的,从而保证了邮件系统数据的真实性.

4) 密钥托管安全:从系统设计的密钥生成过程可知,用户私钥的生成过程中,由于用户定义秘密值k的参与,使得TA/KGC无法获取用户的完整私钥,进而无法取得授权身份,有效避免其进行恶意活动,保证了邮件系统的密钥托管安全.

4 结 语

对比基于PKI/CA及IBC的安全邮件系统解决方案,本文提出的采用无证书密码学的IBC安全邮件系统解决方案,由于节省了证书管理等环节,在结合KGC完成私钥生成后,即可脱离TA/KGC完成邮件安全收发,用户定义的秘密值虽然参与完整私钥的生成,但第三方无法获取相关信息,既有效克服了PKI/CA体系成本高、管理复杂的缺点,又防止了密钥托管方进行恶意行为的可能,在具备经济易用特点的同时,克服了IBC体系中的密钥托管固有缺陷,提升了邮件系统的整体安全性,加之系统全部采用国密算法,在党政机关和大型企事业单位的外网公务电子邮件系统应用方面具有显著优势和广泛应用前景.

猜你喜欢
邮件系统私钥公钥
比特币的安全性到底有多高
基于改进ECC 算法的网络信息私钥变换优化方法
MailArchiva系统需求
一种基于混沌的公钥加密方案
一种基于虚拟私钥的OpenSSL与CSP交互方案
内部邮件系统移动应用的设计与应用
广西电力(2016年1期)2016-07-18 11:00:35
HES:一种更小公钥的同态加密算法
SM2椭圆曲线公钥密码算法综述
删除EXCEL重复内容系统研究
科技视界(2014年21期)2014-08-21 09:34:45
基于格的公钥加密与证书基加密