用于POS的多应用密钥管理方法、系统及POS终端与流程

文档序号:13513689阅读:452来源:国知局
用于POS的多应用密钥管理方法、系统及POS终端与流程

本发明涉及pos安全技术领域,尤其是涉及一种用于pos的多应用密钥管理方法、系统及pos终端。



背景技术:

近年来,越来越多的第三方支付机构加入到了pos终端的收单业务,支持android系统的智能pos也在逐步地推广使用中,pos终端除了提供传统的收单功能外,还提供了许多丰富的增值服务,如预付卡受理、优惠券管理、积分管理及客户信息管理等。由此可见,pos终端必须能支持多应用功能,以实现商户的各种应用需求。而pos的多应用需求势必要求pos能支持多应用的密钥管理,即实现各应用的密钥隔离,一个应用不能访问另外一个应用的密钥,以防止敏感信息泄漏。

对于多应用密钥管理,现有技术中,有的通过不同的应用使用不同的密钥索引来实现,这种方法对应用有很多的约束,不易扩展;有的多应用通过创建多个密钥文件来实现,以应用名+密钥类型+密钥索引作为密钥文件名来唯一的指定一个密钥文件,此种方法虽然更灵活了,但是带来了新的问题,即通过文件系统的方式管理密钥,需要考虑密钥掉电保护的设计,另外,密钥的查找和更新速度较慢,影响了pos性能和用户体验。



技术实现要素:

本发明所要解决的技术问题是:提供一种用于pos的多应用密钥管理方法、系统及pos终端,可实现多应用的密钥隔离,灵活管理密钥,扩展性强,且可提升查询、更新效率。

为了解决上述技术问题,本发明采用的技术方案为:提供一种用于pos的多应用密钥管理方法,至少包括如下步骤:

s1:pos安全服务程序在pos终端创建sqlite数据库密钥文件;

s2:在所述sqlite数据库密钥文件中为每个金融交易应用创建对应的密钥表,用于存储该金融交易应用的一个或多个密钥;

s3:金融交易应用调用密钥操作接口后,安全服务程序获取所述金融交易应用的应用名,并作为当前操作的密钥表名,对所述密钥表执行操作。

其中,所述密钥表的名称与对应的金融交易应用名称一致。

其中,所述密钥以密钥记录形式存储在所述密钥表内,所述密钥记录包括密钥索引、密钥体系、密钥类型、密钥长度、密文密钥内容以及对应密钥记录的mac校验值。

其中,所述密钥表通过标准sql语言执行密钥记录的查询、更新及增删操作。

为解决上述技术问题,本发明还提供一种用于pos的多应用密钥管理系统,包括:

文件创建模块,用于pos安全服务程序在pos终端创建sqlite数据库密钥文件;及

表创建模块,用于在所述sqlite数据库密钥文件中为每个金融交易应用创建对应的密钥表,用于存储该金融交易应用的一个或多个密钥;

执行模块,用于在金融交易应用调用密钥操作接口后,安全服务程序获取所述金融交易应用的应用名,并作为当前操作的密钥表名,对所述密钥表执行操作。

其中,所述密钥表的名称与对应的金融交易应用名称一致。

其中,所述密钥以密钥记录形式存储在所述密钥表内,所述密钥记录包括密钥索引、密钥体系、密钥类型、密钥长度、密文密钥内容以及对应密钥记录的mac校验值。

其中,所述密钥表通过标准sql语言执行密钥记录的查询、更新及增删操作。

为解决上述问题,本发明还提供一种pos终端,包括上述所述的用于pos的多应用密钥管理系统。

本发明的有益效果在于:区别于现有技术,本发明pos安全服务程序在pos终端创建sqlite数据库密钥文件,并在该文件中为每个金融交易应用创建对应的密钥表,用于存储该金融交易应用的一个或多个密钥。由于每个金融交易应用仅对应唯一的密钥表,因此本发明可实现多应用的密钥隔离,灵活管理密钥,扩展性强。

附图说明

图1为本发明用于pos的多应用密钥管理方法的流程示意图;

图2为本发明具体实施例的管理系统示意图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

首先应当说明的是,sqlite数据库的优势很多,如代码开源、内存占用量小、查询效率高、支持视图、支持并发读、事务操作是原子,即在系统突然崩溃或者电源突然出现故障的时候,能保证数据的完整性,这对密钥管理尤为重要。正是基于以上的优点,本发明的技术方案采用了sqlite数据库来实现多应用的密钥管理。

请参照图1,本发明提供一种用于pos的多应用密钥管理方法,至少包括如下步骤:

s1:pos安全服务程序在pos终端创建sqlite数据库密钥文件;

s2:在所述sqlite数据库密钥文件中为每个金融交易应用创建对应的密钥表,用于存储该金融交易应用的一个或多个密钥;

s3:金融交易应用调用密钥操作接口后,安全服务程序获取所述金融交易应用的应用名,并作为当前操作的密钥表名,对所述密钥表执行操作。

区别于现有技术,本发明pos安全服务程序在pos终端创建sqlite数据库密钥文件,并在该文件中为每个金融交易应用创建对应的密钥表,用于存储该金融交易应用的一个或多个密钥。由于每个金融交易应用仅对应唯一的密钥表,且因此本发明可实现多应用的密钥隔离,灵活管理密钥,扩展性强。

其中,所述密钥表的名称与对应的金融交易应用名称一致。

其中,所述密钥以密钥记录形式存储在所述密钥表内,所述密钥记录包括密钥索引、密钥体系、密钥类型、密钥长度、密文密钥内容以及对应密钥记录的mac校验值。

其中,所述密钥表通过标准sql语言执行密钥记录的查询、更新及增删操作。

对应地,本发明还提供一种用于pos的多应用密钥管理系统,包括:

文件创建模块,用于pos安全服务程序在pos终端创建sqlite数据库密钥文件;及

表创建模块,用于在所述sqlite数据库密钥文件中为每个金融交易应用创建对应的密钥表,用于存储该金融交易应用的一个或多个密钥;

执行模块,用于在金融交易应用调用密钥操作接口后,安全服务程序获取所述金融交易应用的应用名,并作为当前操作的密钥表名,对所述密钥表执行操作。

其中,所述密钥表的名称与对应的金融交易应用名称一致。

其中,所述密钥以密钥记录形式存储在所述密钥表内,所述密钥记录包括密钥索引、密钥体系、密钥类型、密钥长度、密文密钥内容以及对应密钥记录的mac校验值。

其中,所述密钥表通过标准sql语言执行密钥记录的查询、更新及增删操作。

利用上述方法,本发明还提供一种pos终端,包括上述所述的用于pos的多应用密钥管理系统。

如图2所示,在一个具体的实施例中,本发明所述的每台pos终端都包含了一个专用于存储密钥的sqlite数据库文件,此数据库文件中包含了多个密钥表,每个应用对应一个唯一的与应用名相同的密钥表,密钥表中包含了若干密钥记录,一条记录就对应一个密钥,包含密钥索引、密钥体系、密钥类型、密钥长度、密文密钥内容以及本条密钥记录的mac校验值。

pos终端的每个金融交易应用程序都有一个唯一的应用名,金融交易应用程序通过调用安全服务程序提供的接口来操作密钥。在金融交易应用程序调用密钥操作接口时,安全服务程序会先获取此应用程序的应用名,然后以此应用名作为当前要操作的密钥表名,再对这个密钥表进行查询、更新、增删等操作。由此可见,pos终端上的任何一个应用只能访问与其应用名相同的密钥表,无法访问其它应用的密钥表,由此保证了多应用之间的密钥隔离。密钥的查询、更新、增删等操作都是通过标准的sql语言来实现,由此保证了快速准确地查询和更新密钥。

pos基于sqlite多应用密钥管理的具体实现流程如下:

1.创建sqlite数据库密钥文件:即每台pos终端初始化时,pos的安全服务程序都会为其创建一个sqlite数据库密钥文件,用于存放该pos终端的所有金融交易密钥。

2.创建应用密钥表:pos终端安装了金融交易应用后,还需要由收单行下载金融交易所使用的密钥,pos终端才能用于金融交易。pos的安全服务程序在sqlite数据库密钥文件中为每个应用创建唯一的密钥表,用于存放每个应用所使用的密钥,密钥表名等于应用名。每增加一个金融交易应用,pos的安全服务程序就会在sqlite数据库密钥文件中新增一个密钥表。

3.操作应用密钥表:一个金融交易应用可以包含多个密钥,每个密钥都以一条密钥记录存储在应用对应的密钥表中,通过密钥索引来查询密钥和更新密钥。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1