加密机

什么是加密机?
加密机是通过国家 商用密码主管部门鉴定并批准使用的国内自主开发的 主机加密设备,加密机和主机之间使用 TCP/IP协议通信,所以加密机对主机的类型和 主机操作系统无任何特殊的要求。
加密机主要有四个功能模块
硬件加密部件
硬件加密部件主要的功能是实现各种 密码算法,安全保存 密钥,例如CA的根密钥等。
密钥管理菜单
通过密钥管理菜单来管理主机加密机的密钥,管理密钥管理员和操作员的口令卡。
加密机后台进程
加密机后台进程接收来自前台API的信息,为应用系统提供加密、 数字签名等安全服务。加密机后台进程采用后台启动模式,开机后自动启动。
加密机监控程序和后台监控进程
加密机监控程序负责控制加密机后台进程并监控硬件加密部件,如果加密部件出错则立即报警。
加密机前台API
加密机前台API是给应用系统提供的加密开发接口,应用系统通过把加密机前台API使用加密的加密服务,加密机前台API是以标准C库的形式提供。目前加密机前台API支持的标准接口有:PKCS#11、Bsafe、CDSA等。
加密机支持目前国际上常用的多种 密码算法
支持的 公钥算法有
RSA DSA 椭圆曲线密码算法 Diffe Hellman  SM2
支持的 对称算法有
SDBI DES IDEA RC2 RC4 RC5 SM4  SM1
支持的 单向散列算法有
SDHI MD2 MD5 SHA1  SM3
 转自:http://baike.baidu.com/link?url=RGLPXn_Xiay7bTzpWTJaXed4XI7IbNMq-ciXp73ypLYj5QQ8l8AruWNb_nei-dT4ALYcwoEOSmRwwHVQ09SRnK
 

目前国内在商用密码领域中使用的加解密一般都普遍使用对称密钥算法,主要是由于其运算速度快,算法公开,技术成熟。对称密钥算法又以DES算法或3DES算法运用更为普遍。

在对称密钥算法中为了保证密钥的安全,一般都采用三层密钥体系来进行保护。三层密钥体系由主密钥、区域密钥和通讯密钥构成。主密钥是用来保护区域密钥的,区域密钥是用来保护通讯密钥的,通讯密钥是真正参与到交易中用来加解密的。主密钥和区域密钥一般都是由多人掌握密钥分量,分别注入到硬件加密机中后由加密机自行合成的,通讯密钥一般是由系统和系统之间自行约定产生的,由区域密钥加密后保存在系统中,一般都保存在数据库中。

首先我们来看一下如何实现PIN的泄露。目前国内普遍采用的加密机其所带的标准指令集中可以使用一个区域密钥来加密其他的区域密钥并将密文输出,那么如果该加密机中存在一个我们知晓明文的区域密钥,那么通过该指令集我们就可以获取所有的区域密钥的明文了,从而可以进一步从数据库中解密出所有的通讯密钥的明文,获取了通讯密钥的明文就可以进一步解密出PIN的明文了。

由于业务需要PIN的转换指令是必须存在的,如果在加密机中存在一个我们知晓明文的区域密钥,那么只要利用PIN转换指令集我们就可以直接获取到PIN的明文了。

因此在加密机中如何确保区域密钥不被泄露出去是至关重要的。例如:严格禁止将生产的加密机即用于生产又用于测试;严格禁止在生产加密机中注入测试密钥;严格执行密钥分量分段保管的原则防止密钥泄露等等。但是这些原则对一些小型的商业机构往往很难被严格遵守或执行,因此一旦控制不严很容易发生内部泄密事件,如果该机构又是作为收单行,那么被泄露的信息范围就可能不仅仅局限在该机构自身了。

下面我们再来看一下如何实现针对加密机的攻击。加密机的标准指令集中可以通过指令要求加密机产生随机分量并存储到指定的密钥索引中,那么如果有一个程序对加密机中所有的密钥索引均执行上述指令,那么原先保存的用于生产的区域密钥将全部被替换,其带来的直接后果是所有的交易将全部失败。

因此对于区域密钥的及时备份是非常重要的,在应急处理时可以使用备份密钥导入的方式来恢复原先的区域密钥。另外,对于加密机的指令集在可能的情况下尽量实现指令集定制是一个比较好的预防手段。对于直接参与到交易的加密机尽量只保留交易所必需的指令集,将管理指令尽量的缩减或取消,可以有效的防止该类攻击手段。不过该项工作需要加密机厂商同应用开发方密切配合方能实现。

目前看来,在加密机的使用过程中还是存在着一些风险和隐患的,如没有一个切实有效的指导标准是很难确保在使用过程中不出现问题的。政府监管部门、加密机厂商以及用户自身都需要认识到这些问题并重视这些问题,才能在日常使用过程中严格把关,从而避免信息安全事件的发生。

(免责申明:文中所描述的均为存在的技术可能性,并不代表笔者的鼓励或支持上。如有人利用上述可能性而触犯法律的,一切后果自负,笔者不承担任何责任)

 

转自:http://blog.sina.com.cn/s/blog_67118e770100l0zy.html

你可能感兴趣的:(java基础)