基于网络的主动防泄密文件加密技术
基于网络的主动防泄密文件加密技术
作者:葛 春 项兆军 宋洪娟等
来源:《现代电子技术》2009年第22期
摘 要:分析信息安全防护现状,提出基于网络的系统密钥加密机制,在加密与eKey模块应用设计基础上,研制一种密钥安全获取通信协议,实现了密钥的安全管理,设计了缜密的加解密流程,使得文件只能被特定网络环境下合法的用户所存取,从整体上达到了信息主动防泄密安全防护的目的。
关键词:主动防泄密;加密;eKey;
系统密钥
中图分类号:TP393
加强网络信息安全既要防范外部人员非法介入或窃取信息,更要防范内部人员的主动泄密。根据美国联邦调查局(FBI)和计算机安全机构(CSI)的调查结果显示,80%以上的安全威胁来自内部;中国国家信息安全测评认证中心调查结果也表明,信息安全问题主要来自泄密和内部人员犯罪。
为了实现涉密文件的安全主动防护,在此提出基于网络的系统密钥加密机制,利用系统密钥加密文件数据,使文件只能被特定网络环境下的合法用户所存取。在此将在密码技术研究和eKey开发应用基础上,设计一种密钥安全获取通信协议,研制一种严密的密钥安全管理措施,实现
基于网络的主动防泄密文件加密。
1 加密与eKey
模块应用设计
1.1
加密算法选择
对称密码技术也被称为单密钥加密,它是指在加密与解密时使用同一密钥。对称密码技术的优点在于效率高,算法简单,系统开销小,
适合加密大量数据。
非对称密码技术也被称作公钥密码技术,在加解密时分别使用两个不同密钥:一个可对外界公开,称为“公钥”;一个只有所有者知道,称为“私钥”。公钥与私钥之间紧密联系,用公钥加密的信息只能用相应的私钥解密,反之亦然。非对称密码技术可提供安全认证服务,其主要缺点是加/解密速度慢、耗用资源大。因此,
采取综合运用对称密码技术与非对称密码技术的加解密方案。 鉴于AES对称密码算法具有高强度安全性能,故选用AES算法实现涉密文件数据的加密。由于用户认证信息与密钥信息数据相对较小,选用非对称密码RSA算法实现系统对用户的合法认证,
以及系统密钥的安全获取。
1.2 eKey
的应用开发
eKey又名电子密码钥匙,是一种结合了智能卡技术与USB接口技术的数据安全产品。这里选用明华公司的eKey,其内置SmartCOS[CD*2]XC智能卡操作系统,在文件系统、密码算法和安全控制三方面都进行了精心设计,具有高效完备的安全访问机制。
本文使用eKey来存储用户密钥、系统公钥、系统密钥惟一的ID号及其他重要数据。为了实现对数据的加密与认证操作,基于明华提供的接口函数库开发了eKey应用函数库(eKey.dll)。该函数库可实现与eKey有关的系统操作,包括密钥生成、加密签名等。表
函数库封装的主要方法,本文对其编程实现不再赘述。
方法功能说明
EncryptWithCert()使用eKey内公钥证书中的用户公钥加密数据
EncryptWithKey()使用eKey内用户私钥加密数据
DncryptWithKey()使用eKey内用户私钥解密数据
GenKey() eKey内生成加密或签名密钥对
GetEKeyID()从eKey中获得其惟一的序列号
GenAesKey()eKey硬件中随机产生256位AES算法密钥
列出了eKey.dll 2
密钥安全获取通信协议
为保证只有通过合法身份认证的用户才能得到系统密钥SK(System Key),在此设计了一种密钥安全获取通信协议。该协议首先通过检测用户eKey的序列号,并与用户注册的eKey序列号相比较来实现用户合法性判断,然后通过系统密钥SK的ID号,来正确获取每个涉密文件对应的系统密钥SK。用户在服务器端注册时将其eKey惟一的序列号与用户身份绑定,并使用此序列号作为初始值生成密钥EK,再使用EK加密SK,得到EK{SK},并将其保存于系统密钥数据库中。在客户端,用户只有插入合法的eKey,读出相应的序列号,才能解密EK{SK},从而得到SK。协议的流程图如图1所示,其实现过程为
(1) 用户C首先调用函数GetEKeyID()获得其eKey的序列号Ei;再调用函数
EncryptWithKey()通过自己的私钥SKc加密用户名和Ei;得到SKc{Username,Ei};然后用S的公钥PKs加密SKc{Username,Ei}得到PKs{SKc{Username,Ei}},并将其发送给服务器; (2) 服务器S接收到PKs{SKc{Username,Ei}}后,用其私钥SKs和C的公钥PKc依次进行解密,得到用户名Username和eKey序列号Ei。通过对比服务器端数据库中存储的用户信息和从用户端接收到的用户信息,判断用户的合法性。S产生一个表示是否通过认证的ACK信号,并生成一个随机数