用于银行柜面敏感数据保护的硬件密码模块及方法

文档序号:6598042阅读:194来源:国知局

专利名称::用于银行柜面敏感数据保护的硬件密码模块及方法
技术领域
:本发明涉及一种用于银行柜面敏感数据保护的硬件密码模块及方法,特别是涉及一种利用硬加密技术对银行柜面敏感数据进行保护的硬件密码模块及方法。
背景技术
:银行柜面是银行业务处理的主要渠道,大量的客户信息和交易信息敏感数据通过柜面在银行网络中传输。如果没有适当的安全措施,这些信息在传输存储时就容易被窃取,在传输过程中容易被截获,从而造成信息泄露产生安全隐患。另外,信息在存储和传输期间还可能被非法删除、更改或添加,从而导致对银行资源及网络服务的非法干预,对银行和用户造成不可挽回的损失。总的来说,银行柜面系统对安全性的需求至少有①保证交易信息的机密性。有的交易信息需要保密,这就需要对交易报文进行加密。②保证交易信息的完整性。交易报文有的数据对私密性的要求不高,但对数据完整性要求很高,如取现业务中账号、金额等,存在着被非法篡改的可能性。这些重要交易报文数据在传输过程中,必须进行完整性校验。③保证交易行为的不可抵赖性。以往银行柜面安全措施大部分仅仅是保密,很少采用数字签名,这并不符合现代金融系统的安全需求。构筑银行柜面敏感数据安全保护体系是金融企业健康发展的有力保障,也是各金融企业急需解决的问题。传统的银行柜面安全机制侧重于柜员的身份认证,在对客户信息和交易数据等敏感数据保护上是缺失和不完善的。目前,银行对柜面敏感数据的保护一般采用软加密技术,对交易数据进行加密和MAC校验。这种方式虽然可以基本达到保证数据的机密性和完整性,但仍然存在以下不可忽视的缺陷一是,软加密的方式暴漏在用户计算机内部,容易给攻击者采用分析程序进行跟踪、反编译等手段进行攻击;二是,软加密的工作密钥存储没有安全保护,容易遭到窃取,使加密系统形同虚设;三是,密钥管理很复杂,实际使用过程中长期不会进行密钥更换;四是,软加密的加密强度并不高,容易遭到破解。五是,缺少数字签名方式,交易不可抵赖性无从保证;六是,软加密方式运行效率较低,可靠性也容易受到外界因素的影响。
发明内容为解决现有技术中存在的上述问题,设计了本发明。本发明的目的在于克服上述缺陷而提供的一种基于硬件加密的敏感数据保护方法。本发明的另一目的是在银行柜面系统增加对交易信息的数字签名手段,保证交易的不可抵赖性。为实现上述目的,本发明提供一种用于银行柜面敏感数据保护的硬件密码模块,所述硬件密码模块采用三层密钥管理体系,其中第一层为标识密钥,第二层为TMK密钥,第三层包括TAK密钥、TEK密钥及TDK密钥,并且,所述标识密钥是一个非对称密钥,其用于加密TMK密钥、产生签名、验证签名,所述标识密钥永久保存,不需要更换;TMK密钥是一个加密以及解密密钥用的密钥,用于密钥协商过程中对工作密钥进行加密以及解密;TAK密钥是一个数据加密用的密钥,所述TAK密钥对消息数据生成和校验一个信息认证代码,从进行信息认证,TEK密钥是一个数据加密用的密钥,用于加密柜面敏感数据,实现交易报文的安全传输,TDK密钥用于对加密的数据进行解密。优选的,所述硬件密码模块还包括处理器;用于完成由硬件启动到操作系统启动的过渡,从而为操作系统提供运行环境的引导区;用于存放操作系统内核数据、文件系统数据、用户代码和用户数据的存贮器;用于连接台式机终端USB接口的通信接口;实现密码算法、局部总线接口、URAT和时序控制功能的算法芯片;产生随机数并由处理器端口进行采集的真随机数发生器。优选的,所述硬件密码模块包括用于存储银行柜面敏感数据的安全存储区,所述安全存储区包括静态存储区及临时存储区。优选的,所述引导区完成的功能包括初始化CPU、存储器;激活指令/数据Cache;建立堆栈指针和启动参数区;上电自检;最后跳转到内核起始处。优选的,所述硬件密码模块保存的所有密钥都不以明文的方式读出,只能够得到其校验值,整个密码运算过程封装在硬件密码模块内部完成,上层应用不能得到运算过程中的密钥。优选的,硬件密码模块具有密钥销毁功能。优选的,在硬件密码模块进行密钥销毁时,硬件密码模块自身具有的密钥清除命令清除指定的密钥而不会对其它密钥造成影响。优选的,硬件密码模块设置有密钥自毁电路,在机仓被打开时会自动销毁硬件密码模块内的所有密钥,从而保证硬件密码模块在遭受外界物理攻击时密钥的安全。另外,本发明提供一种用于银行柜面敏感数据保护的方法,所述方法使用适用于银行柜员终端的硬件密码模块对所述银行柜面敏感数据进行保护,其中,所述硬件密码模块包括用于存储银行柜面敏感数据的安全存储区,所述安全存储区包括静态存储区及临时存储区,所述方法包括,步骤1在硬件密码模块投入使用前,首先进行初始化,该步骤1包括1.1)由后台管理系统给硬件密码模块分配唯一标识GUID,1.2)由后台标识认证中心根据硬件密码模块标识GUID产生该硬件密码模块标识密钥,所述标识密钥包括标识公钥及标识私钥,1.3)后台管理系统将硬件密码模块标识GUID和标识私钥下发给硬件密码模块,将标识公钥存储在后台数据库中;步骤2硬件密码模块注册,该步骤2包括2.1)与后台密钥管理中心约定主密钥TMK,2.2)密钥管理中心随机生成TMK,并用该硬件密码模块标识公钥加密,下发到柜员终端,2.3)硬件密码模块用标识私钥解密TMK,并将TMK保存在硬件密码模块静态存储区;步骤3硬件密码模块签到,该步骤3包括3.1)与后台密钥管理中心约定工作密钥,所述工作密钥包括ΤΑΚ、TEK以及TDK,3.2)密钥中心随机生成所述工作密钥,并用TMK密钥加密,下发到柜员终端,3.3)硬件密码模块用TMK解密工作密钥,并保存在硬件密码模块临时存储区。本发明的有益效果是采用一个物理安全的实体,作为柜员终端的外围设备使用,承担柜员终端安全模块的作用,能够实时地为柜面提供消息验证、数据加密、签名的产生和验证的密码服务,保证数据从产生、传输、接收整个过程的机密性、完整性和不可抵赖性。这种机制对柜面系统完全是一种黑盒处理方式,从而屏蔽了外界系统的干扰。采用专用的密钥存储区和安全保护机制,避免了密钥泄露的风险。采用安全机动的密钥管理手段,可以达到专钥专用、秘密换钥的目的。可以实现柜面工作密钥机动安全有效的统一管理。图1是根据本发明的硬件密码模块硬件组成示意2是根据本发明的硬件密码模块软件组成示意3是根据本发明的密钥管理体系结构示意图具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。硬件密码模块的硬件框图如附图1所示。硬件密码模块采用单板设计,所有电路集成在一块ARM9260嵌入式主板上。嵌入式主板上集成的电路和主要器件如下①处理器ARM9微控制器②引导区2MBNORFLASH主要用来存放U-Boot代码③内存64MBSDRAM数据总线宽度为32bit,工作时钟为IOOMHz④存贮器64MBNANDFLASH用于存放操作系统内核、文件系统、用户代码和用户数据⑤安全存储区用于存储密钥、口令等敏感数据⑥通信接口USB2.0接口,用于连接台式终端USB⑦算法芯片采用FPGA实现密码算法、局部总线接口、URAT和时序控制功能⑧真随机数发生器用WNG-5实现,其时钟由18.432MHz时钟分频得到,随机数由处理器端口进行采集⑨电源采用+3.3V和+1.8V直流电源,这两种电源都来自主机+5V电源,其中由+3.3V电源派生出+1.8V电源。+5V电源的功耗控制在5W之内,即5V电源提供的电流最大只需IA⑩时钟工作主频为200MHz硬件密码模块的软件主要由系统引导程序U-Boot、嵌入式Linux内核、Linux根文件系统、设备驱动程序和应用服务程序等组成,如附图2所示。硬件密码模块的U-Boot引导程序采用的是U-Boot,它是系统复位后进入操作系统之前执行的一段代码,主要用于完成由硬件启动到操作系统启动的过渡,从而为操作系统提供基本的运行环境。具体来说,U-Boot完成的主要功能有初始化CPU、存储器;激活指令/数据Cache;建立堆栈指针和启动参数区;上电自检;最后跳转到内核起始处。硬件密码模块采用的是嵌入式Linux操作系统,该操作系统由LinuX2.6内核、Linux根文件系统和设备驱动程序组成。其中内核主要负责进程调度、内存管理、虚拟文件系统、网络接口和进程间通信;根文件系统主要包括系统目录、系统命令、链接库、设备条目以及系统初始化脚本等;设备驱动程序是应用程序访问底层硬件设备的软件接口,帮助应用程序方便地使用底层硬件设备。在使用Linux源码时,必须遵循最小功能集原则,对于不需要的功能和组件,一律排除在外。这样做,一方面可以精简操作系统,达到提高运行效率,减少占用存储空间的目的;另一方面,可以减少操作系统可能存在的漏洞,防止利用操作系统漏洞发起的攻击。应用服务程序是硬件密码模块内部的一个可执行程序,是硬件密码模块向外部主机提供密码服务功能的接口。硬件密码模块采用三层密钥管理体系,如附图3所示。标识密钥是一个非对称密钥,其用途主要是加密TMK密钥、产生签名、验证签名。标识密钥在模块初始化时写入并存储在硬件密码模块内部。标识密钥可永久保存,不需要更换。TMK(TerminalMasterKey)密钥是一个加密、解密密钥用的密钥,用于密钥协商过程中对工作密钥进行加密、解密。TMK通过标识密钥加密存储到硬件密码模块中。TMK可长期保存,不需要经常更换,通常两年更换一次。TAK(TerminalAuthenticationKey)密钥是一个数据加密用的密钥,主要对消息数据生成和校验一个信息认证代码(MessageAuthenticationCode),从而达到信息认证的目的。TAK由TMK加密后存储到硬件密码模块临时存储区。TAK需要经常性地更换,通常每天更换一次。TEK(TerminalEncryptKey)密钥是一个数据加密用的密钥,用于加密柜面敏感数据,实现交易报文的安全传输。TEK由TMK加密后存储到硬件密码模块临时存储区。TEK需要经常性地更换,通常每天更换一次。TDK(TerminaDecryptKey)密钥用于对数据进行解密。TDK由TMK加密后存储到硬件密码模块临时存储区。TDK需要经常性地更换,通常每天更换一次。硬件密码模块保存的密钥都不能够以明文的方式读出,只能够得到其校验值。整个密码运算过程封装在硬件密码模块内部完成,上层应用不能得到运算过程中的密钥。硬件密码模块内的存储区分为两部分一部分是静态存储区,可以长期存储数据,即使设备掉电,也可以保证存储内容不丢失;另一部分是临时存储区,可以保存密钥,但设备掉电或者复位时,密钥被自动清除。静态存储区用于存储需要长期保存的内容,具体来说有<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>临时存储区用于保存不需要长期保存的密钥,主要是工作密钥。硬件密码模块复位时,工作密钥被自动清除。硬件密码模块内部可以存放30组对称工作密钥,每一组工作密钥包含一个ΤΑΚ、一个TEK和一个TDK。每组工作密钥对应一个索引号,索引号范围为000-029。<table>tableseeoriginaldocumentpage8</column></row><table>为了保证密钥在特殊情况下的安全性,硬件密码模块设计提供密钥销毁功能。硬件密码模块具有两种密钥销毁方式一是软件方式销毁密钥。硬件密码模块具有密钥清除命令,借助该命令可以用软件方式清除指定的密钥而不会对其它密钥造成影响;二是,硬件密码模块硬件密码模块设置有密钥自毁电路,在机仓被打开时会自动销毁硬件密码模块内的所有密钥,从而保证硬件密码模块在遭受外界物理攻击时密钥的安全。硬件密码模块的应用流程包括以下几个步骤——步骤1硬件密码模块初始化。硬件密码模块在投入使用前,首先进行初始化,主要完成以下工作①由后台管理系统给硬件密码模块分配唯一标识GUID②由后台标识认证中心根据硬件密码模块标识GUID产生该硬件密码模块标识公、私钥。③后台管理系统将硬件密码模块标识GUID和标识私钥下发给硬件密码模块;将标识公钥存储在后台数据库中。步骤2硬件密码模块注册。该步骤紧随初始化过程进行,也必须在硬件密码模块通入使用前先行完成。注册主要完成以下工作①与后台密钥管理中心约定主密钥TMK。②密钥管理中心随机生成TMK,并用该硬件密码模块标识公钥加密,下发到柜员终端。③硬件密码模块用标识私钥解密TMKJfTMK保存在硬件密码模块静态存储区。步骤3硬件密码模块签到。在硬件密码模块投入生产运行时,柜员终端每次重新加电启动,或者工作一定时间后(通常为一个工作日),硬件密码模块需要先进行签到,才能正常开始工作。签到主要完成以下工作①与后台密钥管理中心约定工作密钥(TAK、TEK、TDK)②密钥中心随机生成工作密钥,并用TMK密钥加密,下发到柜员终端③硬件密码模块用TMK解密工作密钥,并保存在硬件密码模块临时存储区。硬件密码模块初始化和注册过程是通过一套TOB管理平台完成标识密钥和TMK密钥的约定。硬件密码模块签到是通过柜员终端一个代理程序完成工作密钥的约定。权利要求一种用于银行柜面敏感数据保护的硬件密码模块,其特征在于所述硬件密码模块采用三层密钥管理体系,其中第一层为标识密钥,第二层为TMK密钥,第三层包括TAK密钥、TEK密钥及TDK密钥,并且,所述标识密钥是一个非对称密钥,其用于加密TMK密钥、产生签名、验证签名,所述标识密钥永久保存,不需要更换;TMK密钥是一个加密以及解密密钥用的密钥,用于密钥协商过程中对工作密钥进行加密以及解密;TAK密钥是一个数据加密用的密钥,所述TAK密钥对消息数据生成和校验一个信息认证代码,从进行信息认证,TEK密钥是一个数据加密用的密钥,用于加密柜面敏感数据,实现交易报文的安全传输,TDK密钥用于对加密的数据进行解密。2.如权利要求1所述的硬件密码模块,其特征在于所述硬件密码模块还包括,处理器;用于完成由硬件启动到操作系统启动的过渡,从而为操作系统提供运行环境的引导区;用于存放操作系统内核数据、文件系统数据、用户代码和用户数据的存贮器;用于连接台式机终端USB接口的通信接口;实现密码算法、局部总线接口、URAT和时序控制功能的算法芯片;产生随机数并由处理器端口进行采集的真随机数发生器。3.如权利要求1或2所述的硬件密码模块,其特征在于所述硬件密码模块包括用于存储银行柜面敏感数据的安全存储区,所述安全存储区包括静态存储区及临时存储区。4.如权利要求2所述的硬件密码模块,其特征在于所述引导区完成的功能包括初始化CPU、存储器;激活指令/数据Cache;建立堆栈指针和启动参数区;上电自检;最后跳转到内核起始处。5.如权利要求1所述的硬件密码模块,其特征在于硬件密码模块保存的所有密钥都不以明文的方式读出,只能够得到其校验值,整个密码运算过程封装在硬件密码模块内部完成,上层应用不能得到运算过程中的密钥。6.如权利要求5所述的硬件密码模块,其特征在于硬件密码模块具有密钥销毁功能。7.如权利要求6所述的硬件密码模块,其特征在于在硬件密码模块进行密钥销毁时,硬件密码模块自身具有的密钥清除命令清除指定的密钥而不会对其它密钥造成影响。8.如权利要求6所述的硬件密码模块,其特征在于硬件密码模块设置有密钥自毁电路,在机仓被打开时会自动销毁硬件密码模块内的所有密钥,从而保证硬件密码模块在遭受外界物理攻击时密钥的安全。9.一种用于银行柜面敏感数据保护的方法,所述方法使用适用于银行柜员终端的硬件密码模块对所述银行柜面敏感数据进行保护,其中,所述硬件密码模块包括用于存储银行柜面敏感数据的安全存储区,所述安全存储区包括静态存储区及临时存储区,其特征在于所述方法包括,步骤1在硬件密码模块投入使用前,首先进行初始化,该步骤1包括1.1)由后台管理系统给硬件密码模块分配唯一标识GUID,1.2)由后台标识认证中心根据硬件密码模块标识GUID产生该硬件密码模块标识密钥,所述标识密钥包括标识公钥及标识私钥,1.3)后台管理系统将硬件密码模块标识GUID和标识私钥下发给硬件密码模块,将标识公钥存储在后台数据库中;步骤2硬件密码模块注册,该步骤2包括2.1)与后台密钥管理中心约定主密钥TMK,2.2)密钥管理中心随机生成TMK,并用该硬件密码模块标识公钥加密,下发到柜员终端,2.3)硬件密码模块用标识私钥解密TMK,并将TMK保存在硬件密码模块静态存储区;步骤3硬件密码模块签到,该步骤3包括3.1)与后台密钥管理中心约定工作密钥,所述工作密钥包括TAK、TEK以及TDK,3.2)密钥中心随机生成所述工作密钥,并用TMK密钥加密,下发到柜员终端,3.3)硬件密码模块用TMK解密工作密钥,并保存在硬件密码模块临时存储区。10.如权利要求9所述的用于银行柜面敏感数据保护的方法,其特征在于所述硬件密码模块为权利要求1-8任一项所述的硬件密码模块。全文摘要本发明涉及一种用于银行柜面敏感数据保护的硬件密码模块及方法,所述硬件密码模块对所述银行柜面敏感数据进行保护,所述硬件密码模块包括用于存储银行柜面敏感数据的安全存储区,所述存储区包括静态存储区及临时存储区,所述方法包括步骤1对所述硬件密码模块进行初始化;步骤2硬件密码模块注册;步骤3硬件密码模块签到。根据本发明所述的银行柜面敏感数据保护方法,能够实时地为柜面提供消息验证、数据加密、签名的产生和验证的密码服务,保证数据从产生、传输、接收整个过程的机密性、完整性和不可抵赖性。文档编号G06F21/00GK101799852SQ20101010738公开日2010年8月11日申请日期2010年2月9日优先权日2010年2月9日发明者戴宇星申请人:北京江南博仁科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1