智能密码钥匙是一种具备密码运算、密钥管理能力、可提供密码服务的终端密码设备,其主要作用是存储用户秘密信息(如私钥、数字证书),完成数据加解密、数据完整性校验、数字签名、访问控制等功能。智能密码钥匙一般使用USB接口形态,因此也被称作USB Token或者USB Key。
智能密码钥匙与智能IC卡类似,相似之处在于两者的处理器芯片基本是相同的,业内一般统称为智能卡芯片;智能IC卡领域的大量技术及标准被智能密码钥匙产品所使用;智能IC卡国际标准ISO/IEC 7816-4所定义的APDU指令也同样是智能密码钥匙所广泛使用的指令格式。两者的主要不同之处在于智能IC卡的主要作用是对卡中的文件提供访问控制功能,与读卡器进行交互;智能密码钥匙作为私钥和数字证书的载体,向具体的应用提供密码运算功能。
典型的智能密码钥匙的外形与普通U盘类似,其特征主要包括使用USB接口,内置安全智能芯片;有一定的存储空间,可以存储用户私钥及数字证书等数据;具备密码运算能力,能够完成密钥生成和安全存储、数据加密和数字签名等功能;采用基于身份的用户鉴别机制,通常采用个人识别码(PIN)来实现;配有供其他应用程序调用的软件接口程序及驱动。
为避免智能密码钥匙为伪造的数据生成签名,交互型电子签名在生成电子签名过程中增加了与用户的交互过程。响应的,具备双向交互功能、配有屏幕和操控按键的智能密码钥匙称为第二代智能密码钥匙。第二代智能密码钥匙每次收到指令以后,可以在内部解析指令内容,从待签名数据中提取关键信息,及时显示在屏幕上供用户确认。如果屏幕显示信息与用户真实交易意图不符,说明信息被篡改,用户可以马上取消操作。如果信息无误,用户可以通过内置的确认按键控制操作进一步执行。第二代智能密码钥匙的主机接口除了USB外,也出现了更多形态,如WIFI、蓝牙、音频、lightening、NFC、红外等,这些新型智能密码钥匙的区别主要是使用接口不同,所具备功能类似。
以网上银行交易为例,用户登录网上银行系统,选择需要进行的银行服务;用户确认交易信息后,输入PIN码;PIN码验证正确后,用户将用自己的私钥对交易信息进行签名,并将签名的交易信息、数字证书等发送给网银系统服务器;网银系统服务器利用预置的根CA证书验证用户所发送的数字证书的有效性,同时通过CA验证用户所发送的数字证书是否被撤销,在确定用户证书有效的情况下,利用用户的签名公钥验证用户签名的交易信息;如验证通过,则执行交易,并返回交易成功。
商密认证中遇到问题可站内联系或15011462285.
密码行业标准中,已发布4项关于智能密码钥匙产品的标准,包括GM/T 0016-2012《智能密码钥匙应用接口规范》、GM/T 0017-2012《智能密码钥匙密码应用接口数据格式规范》、GM/T 0027-2014《智能密码钥匙技术规范》和GM/T 0048-2016《智能密码钥匙密码检测规范》。
1)GM/T 0016-2012对应的国家标准是GB/T 35291-2017。该标准定义了基于PKI密码体制的智能密码钥匙的应用接口,描述了密码应用接口的函数、数据类型、参数结构和设备安全要求。该标准适用于智能密码钥匙产品的研制、使用和检测,还可为智能密码钥匙生产商提供产品和技术的标准定位机标准化的参考,提高智能密码钥匙产品的安全性、易用性和互操作性。
2)GM/T 0017-2012标准对智能密码钥匙的应用数据接口进行规范,用于指导智能密码钥匙的数据层操作。该标准用于规范智能密码钥匙的APDU报文、接口函数的编码和设备协议等内容,适用于智能密码钥匙产品的研制、使用和检测。
3)GM/T 0027-2014标准定义了智能密码钥匙的相关术语,详细描述了智能密码钥匙的功能要求、硬件要求、软件要求、性能要求、安全要求、环境适应性要求和可靠性要求等有关内容。
4)GM/T 0048-2016标准定义了智能密码钥匙的相关术语,详细描述了智能密码钥匙的检测环境、检测内容和检测方法等有关内容。该标准使用于智能密码钥匙的检测,也可用于指导智能密码钥匙的研制和使用。
标准GM/T 0016-2012和GM/T 0017-2012规定了智能密码钥匙的接口要求。智能密码钥匙的产品技术和检测过程分别遵循标准GM/T 0027-2014和GM/T 0048-2016。
1) 应结合产品的应用逻辑结构,理解智能密码钥匙的密钥体系结构。
GM/T 0016-2012对智能密码钥匙的应用逻辑结构进行了描述。智能密码钥匙产品一般基于非对称密码机制,至少支持三种密钥:设备认证密钥、用户密钥、会话密钥。设备认证密钥用于终端管理程序与设备之间的相互鉴别;用户密钥指用于签名验签、加密解密的非对称密钥;会话密钥值临时从外部密文导入或内部生成的对称密钥,使用完毕或设备断电后立即消失。
一个智能密码钥匙设备可存在多个应用,应用之间相互独立。应用由管理员PIN、用户PIN、文件和容器组成,每个应用维护各自的与管理员PIN和用户PIN相关的权限状态。
2) 区分出厂初始化和应用初始化
3) 使用SM系列算法进行密码运算
优先使用SM1、SM2、SM3、SM4、SM9算法。
4) 口令PIN和对称密钥的存储和使用安全
PIN长度不小于6字符,重试次数不大于10次。口令认证和密钥运算时都不能使用明文传输。
5) 在签名前应执行身份鉴别,以保证签名密钥的使用安全
每次执行签名前都对用户进行身份鉴别,每次执行签名操作后立即清除身份鉴别结果,下次执行敏感操作前仍需进行身份鉴别。