一种智能pos机密钥管理系统及方法

文档序号:10690824阅读:962来源:国知局
一种智能pos机密钥管理系统及方法
【专利摘要】本发明提供一种智能POS机密钥管理系统及方法,本方案利用安全芯片独立存储,管理智能POS机的所有密钥,对密钥进行分级管理,并由一级密钥对二级密钥加密保护,二级密钥对三级密钥加密保护,依此类推;若一级密钥被销毁,整个密钥体系被销毁。本方案提供的密钥管理方案对密钥分级进行管理,从层次上、逻辑上对不同种类密钥进行隔离,避免密钥滥用;采用根密钥方法,只要销毁了根密钥,等同于销毁整个密钥体系,避免了逐一销毁所有密钥带来的效率低下及销毁不完整而产生密钥残留问题。
【专利说明】
一种智能POS机密钥管理系统及方法
技术领域
[0001]本发明涉及金融支付的安全技术,具体涉及智能POS机的密钥管理机制。
【背景技术】
[0002]密钥,是整个加密体系的核心,密钥可以存储在脑子、磁条卡、智能卡、设备内存中。加密的安全性实际上是依赖密钥实现的。人们用来加密数据的算法大同小异,要么就是对称加密,如AES、DES、TDEA等,要么就是非对称加密,如RSA、Elgamal、背包算法、Rabin、D-
H、ECC等,因此确保加密安全性的关键是密钥。
[0003]在金融交易和移动支付领域,各个国际卡组织、收单机制、发卡行开始更多地使用加密,生成了越来越多的密钥,密钥的种类变得繁杂起来。在一台常见的移动支付POS机里面,存有多种密钥,如主密钥、磁道密钥、PIN密钥、传输密钥、MAC密钥、交易密钥等。如果攻击者拿到了密钥,也就得到了交易者的数据访问权限。密钥需要进行严格可靠而科学的管理。密钥管理包括从密钥的产生到密钥的销毁的各个方面,主要表现于管理体制、管理协议和密钥的产生、分配、更换和注入等,由于密钥种类的增加,现今的密钥管理比以往更加困难。
[0004]在移动支付和POS机领域,随着发卡行和国际卡组织的标准不但升级,POS机中注入了越来越多的密钥。尤其是智能POS机的出现,带来了 POS机增值业务的爆发式增值,而这些增值业务因为涉及金融安全,都需要带入新的密钥来对敏感数据加密,因此需要一种更高效的机制来管理智能POS机中繁杂的密钥。与此同时,智能POS机是一个开放的系统,可以安装各种APP业务应用,容易造成密钥的泄露和被开放系统截获。一旦智能POS机设备遭受到攻击,根据安全规范要求,还需要在瞬间高效而不遗漏的销毁设置中存储的所有密钥。
[0005]所以,智能POS机的密钥管理面临的问题是:密钥种类多样繁杂、密钥容易被开放系统截取、密钥需要快速销毁而无遗漏。

【发明内容】

[0006]针对现有智能POS机的密钥管理所面临的问题,本发明的目的在于提供一种高效、高可靠性的智能POS机的密钥管理方案。
[0007]为了达到上述目的,本发明采用的方案包括如下两部分:
[0008]方案1:提供一种智能POS机密钥管理系统,所述密钥管理系统包括一安全芯片,所述安全芯片独立存储,管理智能POS机的所有密钥。
[0009]优选的,所述安全芯片中设定电池保电安全存储区BPK,长度不少于32字节;BPK在安全芯片触发安全告警的情况下会自动电擦除BPK内的数据。
[0010]优选的,所述安全芯片对密钥进行分级管理,由一级密钥对二级密钥加密保护,二级密钥对三级密钥加密保护,依此类推;所述一级密钥存在安全芯片中的电池保电安全存储区BPK;其它密钥经过一级密钥加密后存放于安全芯片的内部FLASH中,每次使用之前,都必须先解密;若一级密钥被销毁,整个密钥体系被销毁。[0011 ]方案2:提供一种智能POS机密钥管理方法,所述密钥管理方法对密钥进行分级管理,并由一级密钥对二级密钥加密保护,二级密钥对三级密钥加密保护,依此类推。
[0012]优选的,所有密钥都由智能POS机的安全芯片进行管理。
[0013]优选的,所有密钥都存放于安全芯片的存储区,该安全芯片具有电池保电安全存储区BPK;电池保电安全存储区BPK在安全芯片触发安全告警的情况下会自动电擦除其内的数据。
[0014]优选的,所述一级密钥存放于安全芯片的电池保电安全存储区BPK,其它密钥经过一级密钥加密后存放于安全芯片的内部FLASH中,每次使用之前,都必须先解密,后使用。
[0015]优选的,当智能POS机触发安全告警时,安全芯片会自动清除电池保电安全存储区BPK内数据,一级密钥被擦除,被一级密钥加密存储的其它级别密钥都会失效,整个密码体系被销毁。
[0016]优选的,所述密钥管理方法采用三级管理方式,一级密钥为根密钥SEK,二级密钥为签名密钥S_PUK、设备主密钥TMK、鉴权密钥AUK,三级密钥为工作密钥WK;并由一级密钥对二级密钥加密保护,二级密钥对三级密钥加密保护;二密钥和三级密钥都通过根密钥SEK加密后存储,若根密钥被销毁,整个密钥体系被销毁。
[0017]优选的,所述的根密钥SEK,用于加密其它密钥,其存储于安全芯片的BPK区;根密钥SEK在设备首次运行或格式化之后,由安全芯片随机数电路生成;根密钥SEK在安全芯片内部使用,不可被外部读出和写入。
[0018]优选的,所述的签名密钥S_PUK,用来对智能POS机的固件升级和下载的二进制BIN文件进行验签,只有被签名验证通过的BIN文件才能升级和下载成功,防止设备被非法刷机;签名密钥3_?皿被根密钥SEK加密后存储于安全芯片的内部FLASH中;签名密钥5_?服在进行验签使用前,必须用根密钥SEK解密。
[0019]优选的,所述的设备主密钥TMK,用来对工作密钥WK加解密;设备主密钥TMK由交易后台产生,在设备生产时交由厂商导入设备;设备主密钥TMK被根密钥SEK加密后存储于设备安全芯片的内部FLASH中;设备主密钥TMK在使用前,必须用根密钥SEK解密。
[0020]优选的,所述的鉴权密钥AUK,用来对智能系统的APP引用的访问控制进行鉴权,防止非法未授权应用对密钥和安全存储区进行数据访问;鉴权密钥AUK被根密钥SEK加密后存储于安全芯片的内部FLASH中,并在使用前,必须用根密钥SEK解密。
[0021]优选的,所述的工作密钥WK在设备每日签到时从交易后台系统更新下载下来,同时下载下来的工作密钥WK被交易后台的设备主密钥TMK加密,需先通过设备主密钥TMK解密,然后用根密钥SEK加密后存放于安全芯片的内部FLASH中,并在使用之前,必须通过根密钥SEK解密。
[0022]优选的,所述的工作密钥WK包括:个人密码密钥PIK、磁道加密密钥TDK、MAC计算密钥MAK、报文传输密钥TSK。
[0023]优选的,当智能POS机触发安全告警时,安全芯片会自动清除BPK区内的数据,根密钥SEK被擦除,被根密钥SEK加密存储的二级和三级密钥都会失效,整个密码体系被销毁。
[0024]本方案提供的密钥管理方案对密钥分三级进行管理,从层次上、逻辑上对不同种类密钥进行隔离,避免密钥滥用;采用根密钥方法,只要销毁了根密钥,等同于销毁整个密钥体系,避免了逐一销毁所有密钥带来的效率低下及销毁不完整而产生密钥残留问题。
[0025]再者,该密钥管理方案完全在安全芯片中进行,开放的智能系统不参与密码管理,防止密钥被截取和被外部访问,保证安全性。
【附图说明】
[0026]以下结合附图和【具体实施方式】来进一步说明本发明。
[0027]图1为本发明实施例三级密钥示意图;
[0028]图2为本发明实施例的工作密钥下载过程示意图;
[0029]图3为本发明实施例的密钥销毁过程示意图。
【具体实施方式】
[0030]为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
[0031]本方案中通过一安全芯片来构成智能POS机密钥管理系统,以此对智能POS机所有的密钥进行存储和管理。
[0032]该安全芯片为但不限于智能POS机的安全芯片,其具有用于存放所有密钥的存储区,该存储区中还设定了电池保电安全存储区BPK,长度不少于32字节;该电池保电安全存储区BPK在安全芯片触发安全告警的情况下会自动电擦除BPK内的数据。
[0033]据此,本方案将智能POS机的所有密钥都存放于安全芯片的存储区,不存放于智能系统存储区;同时由智能POS机的安全芯片进行管理,智能系统不参与密钥管理。
[0034]该安全芯片对密钥进行分级管理,经分级后的密钥之间,依级别依次加密,即由一级密钥对二级密钥加密保护,由二级密钥对三级密钥加密保护,依此类推;其中一级密钥一般为用于加密其它密钥的根密钥,其存在安全芯片中的电池保电安全存储区BPK;而其它密钥经过一级密钥加密后存放于安全芯片的内部FLASH中,每次使用之前,都必须先解密;这样若一级密钥被销毁,整个密钥体系被销毁。
[0035]故,当智能POS机被触发安全告警时,其内的安全芯片会自动擦除BPK内数据,继而一级密钥被清除,被一级密钥加密存储的二级、三级等密钥都会失效,整个密码体系被销毁。
[0036]由上可知,本密钥管理方案完全在安全芯片中进行,开放的智能系统不参与密码管理,防止密钥被截取和被外部访问;再者,密钥管理分三级进行,从层次上、逻辑上对不同种类密钥进行隔离,避免密钥滥用;采用根密钥方法,只要销毁了根密钥,等同于销毁整个密钥体系,避免了逐一销毁所有密钥带来的效率低下及销毁不完整而产生密钥残留问题。
[0037]针对上述的智能POS机密钥管理方案,以下通过以具体应用实例来进一步的说明。
[0038]本实施例的智能POS机采用安卓智能系统,进一步,亦可以采用Windows系统或者Linux系统来实施,不会影响本方案的原理阐述。
[0039]参见图1,本实施例采用三级密钥管理方式:一级密钥SlOl、二级密钥S102、三级密钥S103;—级密钥为根密钥SEK; 二级密钥为签名密钥S_PUK、设备主密钥TMK、鉴权密钥AUK;三级密钥为工作密钥WK。
[0040]其中由一级密钥对二级密钥加密保护,二级密钥对三级密钥加密保护;二级密钥和三级密钥都通过SEK加密后存储,加密算法为TDEA。这样若根密钥被销毁,整个密钥体系被销毁。
[0041]本实施例的智能POS机为安卓POS机,具有两个内核,一个内核是安卓内核,负责APP应用事务处理和运行安卓系统;一个内核是安全内核,具有安全芯片,负责整个POS机的安全管理。
[0042]本实施例的密钥都由安卓POS机的安全芯片进行管理,安卓系统不参与密钥管理。所述安卓系统可以安装APP应用,具有安卓系统开放性的特征。本实施例的所有密钥都存放于安全芯片的存储区,不存放于安卓系统存储区。
[0043]本实施例的安全芯片与支付行业广泛采用的安全芯片相同,具有金融支付相关安全认证,具有加密、解密和随机数生成功能和防止攻击的安全告警触发机制。该安全芯片还具有纽扣电池保电存储区BPK(Backup_battery Protected Kit),该BPK区大小为32字节。BPK区域在系统开机情况下由设备主电池供电,在设备关机情况下由备用纽扣电池供电。无论在开机或者关机情况下,当POS机遭受攻击而触发安全告警机制,需要销毁密钥时,都可以自动电擦除BPK内的数据。
[0044]在本实施例中,根密钥SEK存储于BPK区,长度为24字节;SEK在设备首次运行或格式化之后,由安全芯片随机数电路生成;SEK在安全芯片内部使用,不可被外部读出和写入;SEK是一种对称密钥,用来对其它各级密钥加密,加密算法为TDEA。
[0045]在本实施例中,签名密钥S_PUK用来对智能POS机的固件升级和下载的二进制BIN文件进行验签,只有被签名验证通过的BIN文件才能升级和下载成功。合法的BIN文件都被厂商用私钥进行过签名,防止系统被非法刷机。S_PUK是一种非对称密钥,是长度为2048位的RSA公钥,S_PUK是设备初始化前由厂商预置的。S_PUK被SEK加密后存储于安全芯片的内部FLASH中,加密算法为TDEA; S_PUK在使用前,必须用SEK进行解密。
[0046]较佳地,签名密钥S_PUK还被用来进行固件周期自检,一般设置为24小时自检一次,自检用来验证固件的完整性和有效性。如果自检成功,固件继续运行;如果自检失败,意味着固件损坏或者遭受攻击,将设备置为安全告警触发状态,清除BPK中的根密钥SEK,设备进入不可操作状态。
[0047]在本实施例中,设备主密钥TMK是对称密钥,用来对工作密钥进行加解密,算法为TDEA,设备主密钥TMK长度为16字节。TMK是由交易后台的加密机生成的,在设备生产时交由厂商注入,因此交易后台和POS终端中都具有相同的TMK密钥。TMK注入的方法遵守国际标准组织ANSI TR-31规范要求和支付卡行业规范PCI POI DTRs v3.1要求。TMK注入后被SEK加密存储于设备安全芯片的内部FLASH中,加密算法为TDEA JMK在使用前,用SEK来解密,用未经解密的TMK密文不能完成任何操作。
[0048]较佳地,设备主密钥TMK在工厂进行注入时,为保证密钥安全,按照知识分散原则,可以由两位密钥管理员分别注入,两位管理员各自保存一半长度(8字节)的TMK密钥。
[0049]较佳地,设备主密钥TMK在工厂进行注入时,为保证密钥安全,还需要对密钥进行完整性CRC校验。
[0050]在本实施例中,安卓POS机搭载有各种业务APP应用,这些应用有些是交易用的、有些是对账和MIS管理的,还有些是商户促销和会员管理的,这些应用都必须经过授权才能安装到安卓POS机上。
[0051]鉴权密钥AUK用来对智能系统的APP应用的访问控制进行鉴权,AUK长度为16字节,是一种TDEA算法的对称密钥。AUK是设备初始化前由系统预置的,AUK被SEK加密后存储于安全芯片的内部FLASH中,算法为TDEA^UK在使用前,必须用SEK解密。只有被AUK鉴权通过的应用才能安装到智能POS机上,才能访问POS机内的敏感数据。
[0052]根据上述规则,智能POS机可以创建应用白名单,只有被AUK鉴权通过的APP才能进入应用白名单,未进入应用白名单的APP将被禁止在智能POS机上使用。
[0053]工作密钥WK包括一系列密钥:个人密码密钥PIK、磁道加密密钥TDK、MAC计算密钥MAK、报文传输密钥TSK。这一系列密钥在设备每日签到时从后台系统更新下载下来,下载下来的WK已经被交易后台的TMK加密,因此先通过设备TMK解密,解密后的WK通过SEK加密后存放于安全芯片的安全FLASH中,加密算法为TDEA13WK在使用之前,必须通过SEK解密,才能参与POS机的支付交易使用。
[0054]参见图2,其所示为实施例中工作密钥WK的下载过程,具体包括如下步骤:
[0055]1.智能POS机终端每日签到向后台请求更新工作密钥;
[0056]2.智能POS机终端接收后台下发的工作密钥WK的密文;
[0057]3.从安全芯片的BPK区读出根密钥SEK;
[0058]4.从安全芯片的内部Flash中读出设备主密钥TMK,并用根密钥SEK解密;
[0059]5.用CRC32校验TMK的完整性和可靠性:若校验成功转入步骤6;若不成功,转入步骤8;
[0060]6.检查工作密钥WK是否下载成功:若下载成功,转入步骤7;若下载不成功,转入步骤9;
[0061]7.用解密后的设备主密钥TMK解密工作密钥WK密文,并校验工作密钥WK的完整性和可靠性:若校验成功转入步骤8;若不成功,转入步骤;
[0062]8.用根密钥SEK加密工作密钥WK,加密后的工作密钥WK存入安全芯片的内部Flash中;
[0063]9.清除下载缓存区,结束下载。
[0064]在本实施例中:
[0065]PIK密钥用于对PIN Block进行加密获得PIN密文,长度为16字节;
[0066]MAC密钥用于对数据块计算的MAC值加密,长度8字节;
[0067]TDK密钥用于对POS机的磁道数据进行加密,长度为16字节;
[0068]TSK用于POS机和后台之间传输的数据报文加密,长度为16字节。
[0069]上述的工作密钥WK是一系列的动态密钥,这些密钥的种类和数量随着业务的增长还可以扩展,能带来POS机业务的灵活性。
[0070]较佳地,以上工作密钥的长度还可以根据业务类型和使用需要进行调整,而不是固定住长度,便于业务最佳实施。
[0071]在本实施例中,二级密钥和三级密钥都经过了SEK加密后才存储,都存放于安全芯片的内部FLASH中,这些密钥在使用之前,都必须先解密,后使用。
[0072]较佳地,SEK对二三级密钥进行加密存储时,还可以将密钥CRC校验值一块存入安全芯片的内部FLASH中,有利于在固件周期自检时检查密钥的完整性。当设备自检时,一旦检查到某个密钥块的CRC校验失败,则意味着该设备可能遭受了安全攻击,可以触发安全告警状态而销毁密钥。
[0073]本实施例的密钥管理还具有一个附加机制,如果用户连续多次输错PIN码,意味着该POS机可能遭受恶意穷举法攻击,则也会触发安全告警而销毁密钥。
[0074]进一步地,安卓POS机在被其它方式攻击时,如拆机、切割、钻孔时,也会触发安全告警机制而要求销毁密钥。
[0075]更进一步地,根据国际支付协会PCI和银联卡组织对POS机的密钥安全性要求,在触发安全告警情况下,POS机必须完全清除设备内存储的所有密钥。在触发安全告警情况下,本实施例安卓POS机的安全芯片会自动触发电擦除机制,擦除BPK区域内数据,SEK被清除,被SEK加密存储的二级、三级密钥都会失效,整个安卓POS机的密码体系瞬间被销毁,无一遗漏。
[0076]综上所述,整个密钥体系的销毁流程主要包括如下步骤,参见图3:
[0077]1.固件检测,若成功,转入步骤2,若不成功,转入步骤7;
[0078]2.进行设置的24小时周期自检;
[0079]3.检查根密钥SEK是否正确,若正确,转入步骤3,若不正确,转入步骤7;
[0080]4.进行密钥CRC校验;若正确,转入步骤5,若不正确,转入步骤7;
[0081 ] 5.检查设备主密钥TMK是否正确,若正确,转入步骤6,若不正确,转入步骤7;
[0082]6.检查工作密钥WK是否正确,若正确,检测流程;若不正确,转入步骤7;
[0083]7.判断为智能POS机遭受攻击,智能POS机触发安全告警,安全芯片会自动清除BPK区内的数据,根密钥SEK被擦除,使得整个密码体系被销毁。
[0084]以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
【主权项】
1.一种智能POS机密钥管理系统,其特征在于,所述密钥管理系统包括一安全芯片,所述安全芯片独立存储,管理智能POS机的所有密钥。2.根据权利要求1所述的一种智能POS机密钥管理系统,其特征在于,所述安全芯片中设定电池保电安全存储区BPK,长度不少于32字节;BPK在安全芯片触发安全告警的情况下会自动电擦除BPK内的数据。3.根据权利要求2所述的一种智能POS机密钥管理系统,其特征在于,所述安全芯片对密钥进行分级管理,由一级密钥对二级密钥加密保护,二级密钥对三级密钥加密保护,依此类推;所述一级密钥存在安全芯片中的电池保电安全存储区BPK;其它密钥经过一级密钥加密后存放于安全芯片的内部FLASH中,每次使用之前,都必须先解密;若一级密钥被销毁,整个密钥体系被销毁。4.一种智能POS机密钥管理方法,其特征在于,所述密钥管理方法对密钥进行分级管理,并由一级密钥对二级密钥加密保护,二级密钥对三级密钥加密保护,依此类推。5.根据权利要求4所述的一种智能POS机密钥管理方法,其特征在于,所有密钥都由智能POS机的安全芯片进行管理。6.根据权利要求4所述的一种智能POS机密钥管理方法,其特征在于,所有密钥都存放于安全芯片的存储区,该安全芯片具有电池保电安全存储区BPK;电池保电安全存储区BPK在安全芯片触发安全告警的情况下会自动电擦除其内的数据。7.根据权利要求6所述的一种智能POS机密钥管理方法,其特征在于,所述一级密钥存放于安全芯片的电池保电安全存储区BPK,其它密钥经过一级密钥加密后存放于安全芯片的内部FLASH中,每次使用之前,都必须先解密,后使用。8.根据权利要求7所述的一种智能POS机密钥管理方法,其特征在于,当智能POS机触发安全告警时,安全芯片会自动清除电池保电安全存储区BPK内数据,一级密钥被擦除,被一级密钥加密存储的其它级别密钥都会失效,整个密码体系被销毁。9.根据权利要求4所述的一种智能POS机密钥管理方法,其特征在于,所述密钥管理方法采用三级管理方式,一级密钥为根密钥SEK,二级密钥为签名密钥S_PUK、设备主密钥TMK、鉴权密钥AUK,三级密钥为工作密钥WK;并由一级密钥对二级密钥加密保护,二级密钥对三级密钥加密保护;二密钥和三级密钥都通过根密钥SEK加密后存储,若根密钥被销毁,整个密钥体系被销毁。10.根据权利要求9所述的一种智能POS机密钥管理方法,其特征在于,所述的根密钥SEK,用于加密其它密钥,其存储于安全芯片的BPK区;根密钥SEK在设备首次运行或格式化之后,由安全芯片随机数电路生成;根密钥SEK在安全芯片内部使用,不可被外部读出和写入。11.根据权利要求9所述的一种智能POS机密钥管理方法,其特征在于,所述的签名密钥S_PUK,用来对智能POS机的固件升级和下载的二进制BIN文件进行验签,只有被签名验证通过的BIN文件才能升级和下载成功,防止设备被非法刷机;签名密钥3_?1]1(被根密钥SEK加密后存储于安全芯片的内部FLASH中;签名密在进行验签使用前,必须用根密钥SEK解LU O12.根据权利要求9所述的一种智能POS机密钥管理方法,其特征在于,所述的设备主密钥TMK,用来对工作密钥WK加解密;设备主密钥TMK由交易后台产生,在设备生产时交由厂商导入设备;设备主密钥TMK被根密钥SEK加密后存储于设备安全芯片的内部FLASH中;设备主密钥TMK在使用前,必须用根密钥SEK解密。13.根据权利要求9所述的一种智能POS机密钥管理方法,其特征在于,所述的鉴权密钥AUK,用来对智能系统的APP引用的访问控制进行鉴权,防止非法未授权应用对密钥和安全存储区进行数据访问;鉴权密钥AUK被根密钥SEK加密后存储于安全芯片的内部FLASH中,并在使用前,必须用根密钥SEK解密。14.根据权利要求9所述的一种智能POS机密钥管理方法,其特征在于,所述的工作密钥WK在设备每日签到时从交易后台系统更新下载下来,同时下载下来的工作密钥WK被交易后台的设备主密钥TMK加密,需先通过设备主密钥TMK解密,然后用根密钥SEK加密后存放于安全芯片的内部FLASH中,并在使用之前,必须通过根密钥SEK解密。15.根据权利要求14所述的一种智能POS机密钥管理方法,其特征在于,所述的工作密钥WK包括:个人密码密钥PIK、磁道加密密钥TDK、MAC计算密钥MAK、报文传输密钥TSK。16.根据权利要求9-15中任一项所述的一种智能POS机密钥管理方法,其特征在于,当智能POS机触发安全告警时,安全芯片会自动清除BPK区内的数据,根密钥SEK被擦除,被根密钥SEK加密存储的二级和三级密钥都会失效,整个密码体系被销毁。
【文档编号】H04L9/32GK106059771SQ201610297814
【公开日】2016年10月26日
【申请日】2016年5月6日
【发明人】沈勇坚, 胡永刚, 王翔平
【申请人】上海动联信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1