一种面向粮食信息化的数据安全解决方案

2013-12-10 05:12徐朝辉赵淑梅
关键词:个子公钥解密

徐朝辉,赵淑梅,秦 杰

(1.河南工业大学 粮食信息处理与控制教育部重点实验室,河南 郑州 450001;2.郑州铁路职业技术学院,河南 郑州 450052)

0 引言

粮食信息化建设对于提高粮食信息资源的合理共享和有效利用,提高粮食质量安全监管水平、增强国家对粮食生产与储藏的宏观调控能力,保障粮食安全具有重要作用.在网络时代,粮食信息安全是粮食安全的重要内容之一.

粮食信息化涉及粮油市场监测信息体系、粮油仓储管理信息体系、粮食现代物流信息体系、粮油加工信息体系、粮食财务会计信息体系、国有粮食企业改革和发展信息体系、粮食市场及电子商务信息体系、粮食质量安全监管信息体系、粮食监督检查信息体系、军粮供应服务信息体系等,多个既相互关联又相对独立的信息系统,各个系统中均包含有涉密信息,其中有些信息涉及行业秘密,有些信息涉及国家安全.涉密信息的安全级别存在差异,如何在保证各个信息系统之间信息的互联互通前提下,确保涉密信息的安全可靠高效传输是粮食信息化需要解决的问题.针对粮食信息系统的实际应用需求,作者设计了一种安全的面向粮食信息化需求的数据安全传输方案:对于普通的机密信息采用保密强度较低的对称加密方式传输,对于绝密信息采用非对称加密方式传输.设计的这套面向粮食信息化数据安全解决方案,可以直接应用到现有的粮食信息平台上,为现有的信息平台提供较为安全的信息安全保障.

1 数据加密方法分析

常用的数据加密方法可以分为两大类[1]:对称加密和非对称加密.

1.1 对称加密

对称加密的主要特点是用于加密的密钥和用来解密的密钥相同或者等价,发、收信息双方均使用这个密钥对数据进行加密和解密.著名的对称加密算法有DES[2]和AES[3].

数据加密算法(Data Encryption Standard,DES),1974年由美国IBM公司研制,1977年作为美国联邦信息处理标准正式推出.待加密的明文按64 bit(位)为单位进行分组,密钥长度为64 bit,在民用密码领域应用广泛.但由于密钥太短,除去8 bit校验位,实际密钥长度仅为56 bit,对数据的保密强度不够高.而且DES算法完全公开,该算法的安全性完全依赖于对加密密钥的可靠保护,需要有安全可靠的专用信道来传送加密密钥.

高级加密标准(Advanced Encryption Standard,AES),是2000年美国国家标准局推出的用来取代DES的新一代民用数据加密规范.采用对称分组密码体制,加密密钥长度可以为128、192或者256 bit,数据分组长度为128 bit.其加密强度比DES有大幅度提升,但算法复杂度也相对较高.

对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高.不足之处:由于通信双方使用相同的密钥,信息安全性无法得到充分保证.此外,通信双方每次使用对称加密算法时,都要使用仅双方知道的唯一钥匙,随着密钥的更新,通信双方拥有的钥匙数量不断增长,密钥管理成为用户的沉重负担.另外,由于密钥管理方面的困难,使得对称加密算法在分布式网络系统环境中使用存在较多困难[4].

1.2 非对称加密

非对称加密思想最早由Diffie和Hellman提出,主要特点是数据加密密钥和数据解密密钥不同.加密算法和加密密钥都是公开的,因此也称公开密钥加密.任何人都可将明文转换成密文,但相应的解密密钥是保密的,并且无法根据加密密钥推导出解密密钥.即使是加密者,如果未被授权也无法进行有效的解密.

最著名的非对称加密算法由Rivest、Shamir和Adleman提出,也被称为RSA(以三个发明者的首位字母命名)算法[5].RSA算法能抵抗到目前为止已知的所有针对密码的破解攻击.非对称加密方式完全满足网络数据通讯中的两个基本的安全要求:保密性和认证性.

但由于非对称加密方法执行加、解密运算的过程较为复杂、费时,通常用在安全保密性要求较高的政府核心部门和军事单位,用于传送数据量较少的绝密信息,较少用于普通民用领域.

2 面向粮食信息化的数据加密方法以及密钥管理方案

通过上述分析可以看出,对称算法的执行效率比非对称算法高、速度快,实现相对简单,适合对大批量数据的加密[7-8].粮食信息化平台数据安全应当采用对称加密技术进行数据的安全传输,同时应当确保数据密钥的安全性.

2.1 IDEA对称加密算法

IDEA对称加密算法由华裔学者来学嘉博士和著名密码专家James L.Massey于1990年联合提出.数据明文和密文均为64 bit,密钥长度128 bit.IDEA采用迭代的分组加密方式实现数据加密,使用128 bit密钥和8次循环迭代进行数据加密.该算法是在DES算法的基础上发展出来的,由于密钥长度加长,算法复杂度提升,其安全性远高于DES.在同样硬件条件下,IDEA算法速度比DES快两倍,比RSA算法快100倍.在现有的对称加密方法中,IDEA被认为是具有极高的安全性,能抵抗绝大多数专业形式的分析性攻击.

IDEA算法的核心思想是将64 bit待加密数据分组被分成4个16 bit 子分组:Dl,D2,D3,D4. 这4个子分组是算法的第1轮输入,共进行8轮循环运算.每一轮循环中,4个子分组先进行相加、相乘、异或等操作,并分别与6个16 bit子密钥相乘、相异或以及相加运算.最后,这4个子分组再与4个子密钥进行一些迭代运算.

每一轮运算过程执行的顺序如下:

① 将第1个子密钥与D1做乘法运算.

② 将第2个子密钥与D2做加法运算.

③ 将第3个子密钥与D3做加法运算.

④ 将第4个子密钥与D4做乘法运算.

⑤将①和③的结果进行异或运算.

⑥将②和④的结果进行异或运算.

⑦ 将⑤的结果与第5个子密钥做乘法运算.

⑧将⑥和⑦的结果做加法运算.

⑨ 将⑧的结果与第6个子密钥做乘法运算.

⑩将⑦和⑨的结果做加法运算.

11将①和⑨的结果做异或运算.

12将③和⑨的结果做异或运算.

13将②和⑩的结果做异或运算.

14将④和⑩的结果做异或运算.

每一轮运算输出的结果形成4个子分组.再将其中两个子分组进行交换(第8轮除外),作为下一轮运算的输入.

经过上述8轮运算后,再进行一个最终的输出变换:

① 将第1个子密钥和D1做乘法运算.

② 将第2个子密钥与D2做加法运算.

③ 将D3和第3个子密钥做加法运算.

④ 将D4和第4个子密钥做乘法运算.最后,将这4个子分组按照一定顺序连接到一起,就生成了密文.

算法实际使用了52个子密钥(8轮运算中的每一轮需要6个,其他4个用来做输出变换):先将128 bit密钥分成8个16 bit子密钥.这是第一批8个子密钥(包含第1轮6个,第2轮的头2个).之后将密钥左循环移位k位,再分成8个子密钥,再将其中的4个用在第2轮运算,另外4个用在第3轮运算.之后密钥再次向左环移n位产生另外8个子密钥,如此进行,直到算法结束.

解密过程与加密过程基本类似,但解密子密钥要进行求逆运算,解密子密钥可以是加密子密钥的加法逆,也可以是乘法逆.

2.2 基于PKI的密钥管理方案

密钥管理是确保通讯系统安全的核心问题,密钥的安全管理管理主要包括密钥产生、密钥分发、密钥备份、密钥恢复和密钥更新等内容.PKI方式是目前最优的密钥管理方案.

2.2.1 公开密钥基础设施PKI(Public Key Infrastructure)

PKI已经得到较为广泛的应用,它为网络信息的传输提供加密及数字签名等安全服务,形成了数据加密密钥以及数字证书的一整套管理体系.概言之,它是一种遵循既定标准的密钥管理平台[5].

PKI是通过数字证书机制来实现对公共密钥的管理.设置CA(Certificate Authority)为证书的签发机构,即PKI的核心,由它对数字证书进行管理.数字证书实质上是一种电子文档,是网络环境的电子身份证,是公钥管理体系的管理媒介.在网络计算环境中,数字证书用来证明用户的合法身份以及公开密钥的合法性,简称数字ID.数字证书主要由一对密钥以及用户的特征信息等数据构成,存储到特定的介质之中,确保用户的身份信息不被非法窃取或者篡改.

一个完整的PKI系统包括:权威的认证机关(CA)、数字证书库和数字证书作废系统、密钥的备份与恢复、应用接口等5个部分,PKI的构建也围绕这5个部分来进行.

认证机关(CA):负责数字证书的申请和受理,是数字证书的签发机关,是权威的认证机构.

数字证书库:记录和保存已签发的数字证书和公钥,合法用户可通过它获得需要的其他用户的证书及公钥.公钥证书是将某个用户的公开密钥及其身份信息(如用户的DN标识名、电子邮件等)绑定在一起的电子文档,由CA签发,并由CA使用自身的私有密钥来对公钥证书中的信息进行数字签名,并将签名信息附于其后,从而形成一份完整的数字证书.公钥证书即代表该用户的公开密钥信息.

证书作废系统:证书超过有效期或者临时出现异常情况,需要将已经签发的证书作废.为实现这一功能,PKI中的证书作废系统提供了作废证书的一系列相关操作.

密钥的备份及恢复系统:如果用户用于解密数据的密钥丢失,数据将无法进行解密.为避免这种情况的出现,PKI提供了密钥的备份与恢复机制.同样,密钥的备份与恢复工作也由CA来完成,并且,密钥备份与恢复只针对解密密钥,不对私钥提供备份与恢复操作.

应用接口:PKI的关键价值不仅在于能够为用户提供方便的数据加密和数字签名等服务,而且应具备良好的应用接口,使得各种应用能以可信、一致、安全的方式与PKI系统进行交互,确保网络环境的安全性、易用性和完整性.

2.2.2 基于PKI的密钥管理方案

虽然PKI方式是目前来说最优的密钥管理方案,但该系统实现过于复杂,涉及的工程量较大,为此,参照PKI的方法,设计了一个类似于PKI的简易的密钥管理系统,用于有效地解决粮食信息的网络安全传输问题.图1为加密数据发送流程.

图1 加密密钥发送流程

该系统有两大功能模块组成:公钥管理中心模块(也称密钥管理服务器)、客户端模块.

2.2.2.1 公钥管理中心模块

公钥管理中心来负责保存公钥和分发公钥,以及用户身份认证.它具体负责实现如下功能:

图2 密钥管理中心(服务器)生成公钥

① 密钥的产生.管理中心采用分布式的密钥生成模式来产生密钥对:即由客户端模块负责密钥对的生成.其中,私钥用安全可靠的方式保存在本地,例如可以保存在客户机外置的FLASH存储芯片中,公钥和用户的身份认证信息由公钥管理中心采用安全数据库加以保存.

最初的初始密钥由密钥管理中心负责安装(包含服务器的公钥).密钥生成操作界面如图2所示.

客户端模块通过调用接口来完成用户加密和解密数据.为管理方便,提高系统可扩展性,在客户端建立如图3所示数据库.

图3 客户端各种数据库

另外,如发生意外情况,如密钥泄露等,客户端模块也允许用户通过手工方式更新密钥.

④ 密钥备份和恢复.由客户端负责完成密钥的备份和恢复工作.比如,遗忘私钥文件口令,在备份密钥时,可以对用户设置一些有关用户信息的询问,当在口令遗忘或丢失时,如果用户能够回答预先设定的准确答案时,客户端就可以有条件地为用户进行私钥恢复,并设置新口令.与此同时,必须将曾用过的公钥对及其使用它进行签名或加密过的文件进行关联和备份操作,保证在密钥过期后,历史文件仍然可以得到解密.图4是设计的密钥备份和恢复功能的操作界面.

图4 密钥备份和恢复功能的操作界面

图5 密钥历史档案操作界面

2.2.2.2 客户端模块

图6为客户端操作界面,该模块完成的主要功能:

① 密钥的产生、保存、分发,以及更新.

② 以RSA加密方式从公钥管理中心获取新的私钥,并进行保存.

③ 保存从公钥管理中心获取的公钥表.

④ 采用1 024 bit强度加密,以RSA方式加密256 bit的数据加密密钥,并发给提出保密通信的客户.

⑤ 用RSA方式解密256 bit的数据加密密钥,并安全保存在本地.

⑥ 采用256 bit加密强度,实现对称数据加解密.

图6 客户端操作界面

2.2.3 密钥产生以及加密数据通信过程

这里以3台计算机PC1、PC2、PC3进行保密数据通信为例,说明数据加密密钥产生以及加密数据通信过程:

① 如果PC1发起保密通信请求,则用密钥管理中心的公钥对该请求加密后发送.

② 密钥管理中心接收到该请求时,对PC1的请求进行认证,经过确认后,则建立一个以PC1为源节点的加密通信信道;同时生成一个用于该通信的密钥,用PC1的公钥进行加密,返回给PC1,当PC1获该密钥后,就可以启动保密通信.

③ 如果PC2请求与PC1进行通信,PC2可用密钥管理中心提供的公钥以加密方式发送该请求.

④ 密钥管理中心对PC2的请求的合法性进行认证,通过后,密钥管理中心将PC1的密钥用PC2的公钥加密,之后将加密数据发给PC2,PC2就获得了数据的加密密钥.

⑤ PC2接收到PC1发送来的加密数据后,用获得的密钥进行解密处理.

⑥ 这时如果有PC3请求与PC1或者PC2进行保密通信,PC3则同样用公钥进行加密后再发送请求.

⑦ 密钥管理中心确认PC3的请求合法后,密钥管理中心则对PC1的密钥用PC3的公钥进行加密,再发给PC3,这样PC3就得到了PC1的数据的加密密钥.

⑧ 这样,PC3接收PC1或者PC2的加密数据包,就可以用PC1的数据加密密钥进行解密处理.

⑨ 其他更多节点的保密通信类似于PC2、PC3的通信操作过程.

3 结束语

结合现有各个粮食信息系统既相互关联又相对独立的特点,针对粮食信息化面临的安全问题,提出并设计的这套安全数据加密系统,对于大批量数据传输采用保密性能优于DES的IDEA对称加密方式实现,在数据传输过程中可以确保较高的安全性.为了确保密钥管理的安全性,设计了类PKI密钥管理系统,将传统的PKI功能化繁为简,完全能够保证密钥的产生和分发过程的安全.该方案可以作为一个功能模块直接应用到现有的粮食信息化系统及粮食信息通信过程中,以增强现有粮食信息系统的安全性.

[1] 郭现峰.基于混沌动态S盒的密码算法及其应用研究[D].西安:西南交通大学,2011.

[2] 王立川.椭圆曲线上标量乘快速算法研究[D].西安:西安电子科技大学,2011.

[3] Agrawal M,Kayal N,Saxena N.PRIMES is in P[J].Annals of Mathematics,2004,160:781-793.

[4] 杨小东,王毅.AES密钥扩展新方法[J].微电子学与计算机,2012,29(1):102-104.

[5] Bruce Schneier.Applied cryptography:Protocols,algorithms,and source code in C(cloth)[M].John Wiley&Sons Inc,1996.

[6] 李荣森,秦杰,窦文华.RSA系列算法在工程中的应用研究 [J].计算机科学,2007,34(2):86-90.

[7] 李荣森,秦杰.嵌入式PKI仿真平台软件的设计与实现[J].计算机工程,2007,33(16):259-260.

[8] 曾会,蒋兴浩,孙锬锋.一种基于PKI的物联网安全模型研究[J].计算机应用与软件,2012,29(6):271-274.

猜你喜欢
个子公钥解密
长颈鹿个子高
炫词解密
解密“一包三改”
炫词解密
一种基于混沌的公钥加密方案
难怪个子长不高
个子不是一样高
HES:一种更小公钥的同态加密算法
SM2椭圆曲线公钥密码算法综述
机智的回答