一种对软件服务做激活授权管理的系统及方法与流程

文档序号:20350795发布日期:2020-04-10 22:58阅读:243来源:国知局
一种对软件服务做激活授权管理的系统及方法与流程

本发明涉及软件服务激活授权领域,具体涉及一种对软件服务做激活授权管理的系统及方法。



背景技术:

随着tee技术的广泛应用,越来越多的基于tee架构的安全产品产生,目前市场上基于此技术架构的一款名为“手机盾”的安全产品,在手机上实现身份认证、数据报文安全传输、数据加解密、数据签名等功能,确保手机用户的交易安全,减少用户敏感数据被窃取和攻击的风险,避免用户财产损失。

目前市场上的手机盾产品被公安部三所-警务通项目采纳,并在具有tee架构的华为手机一些型号产品上做了定制开发,出厂预置了手机盾应用,并使用手机盾应用来做数据信息安全保护。手机盾在预置的出厂状态在并不能直接使用,必须经过激活授权后才能正常使用。

由于公安部三所下辖的各省级单位对手机盾有各自的要求并且需要独立使用与管理,所以需要在各个省级单位均部署一套激活服务器及开盾服务器,进行省级区域性的手机盾产品及业务的分类管理。

同时,由于手机盾所依赖的终端(包括手机)并非关联产品,终端出售后最终使用用户并不能事先确定,所以并不能在手机盾产品出厂前就进行与用户绑定关系。因此,采用后期动态绑定的方式进行用户、终端、手机盾产品、省份等信息的授权绑定。

考虑到不同的省都有自己激活授权服务器,同时后续还有其他项目或产品根据需求定制激活授权服务程序,对激活授权方式与类型也是会多种多样,同时维护这么多的激活授权服务器中的手机盾应用激活授权会很不方便,对后期的维护和升级管理会比较困难,维护成本较高,所以目前亟需设计一种针对不同产品激活服务提供统一的激活授权管理系统,方便管理和后期维护,减少成本,同时还需确保在授权管理过程中敏感数据的安全。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种对软件服务做激活授权管理的系统及方法,实现对软件服务做激活授权license统一管理,并使用密码学加解密技术和tee安全架构技术来做到密钥安全存储与使用。

为实现上述目的,本发明采用的技术方案如下:

一种对软件服务做激活授权管理的系统,所述系统包括:待激活产品、激活授权服务程序和统一授权license管理系统,所述待激活产品出厂预置在具有可信执行环境的终端中;

所述激活授权服务程序用于向所述统一授权license管理系统发送license授权请求订单并接收反馈的授权license密文文件;

所述统一授权license管理系统用于对接收的所述license授权请求订单进行审核,审核通过后生成所述授权license密文文件并反馈给所述激活授权服务程序;

所述待激活产品用于向所述激活授权服务程序发送身份鉴权请求并接收反馈的身份鉴权响应信息,身份鉴权通过后向所述激活授权服务程序发送激活或授权请求并接收反馈的激活或授权响应信息,确定激活或授权成功;

所述激活授权服务程序还用于对接收的所述身份鉴权请求进行身份鉴权合法性验证,生成所述身份鉴权响应信息并反馈给所述待激活产品,还用于根据接收的所述激活或授权请求和所述授权license密文文件生成所述激活或授权响应信息并反馈给所述待激活产品。

进一步,如上所述的一种对软件服务做激活授权管理的系统,所述待激活产品出厂时,所述待激活产品的产品信息存储在所述终端的ta层或se层,所述产品信息包括产品编号、激活策略、激活算法和激活密钥。

进一步,如上所述的一种对软件服务做激活授权管理的系统,所述统一授权license管理系统用于配置license签名密钥对,所述待激活产品的产品信息,所述激活授权服务程序的授权id,还通过license保护根密钥配置所述激活授权服务程序的license保护子密钥,所述license签名密钥对包括license签名公钥和license签名私钥。

进一步,如上所述的一种对软件服务做激活授权管理的系统,所述激活授权服务程序还用于配置设置所述统一授权license管理系统分配下发的授权id和license保护子密钥、license签名公钥。

进一步,如上所述的一种对软件服务做激活授权管理的系统,所述激活授权服务程序具体用于:

通过自身的license签名公钥对license授权请求订单进行加密,将加密后的license授权请求订单发送给所述统一授权license管理系统。

进一步,如上所述的一种对软件服务做激活授权管理的系统,所述统一授权license管理系统具体用于:

通过所述license签名私钥对接收的所述license授权请求订单进行解密,对解密后的所述license授权请求订单进行审核,审核通过后生成授权license数据,通过所述license签名私钥对所述授权license数据进行数据签名后通过所述激活授权服务程序对应的license保护子密钥进行加密,获取授权license密文,通过混淆算法对所述授权license密文进行混淆,通过所述激活授权服务程序对应的license保护子密钥对混淆后的所述授权license密文进行mac计算,获取mac结果,将混淆后的所述授权license密文和所述mac结果一并生成授权license密文文件并发送给所述激活授权服务程序。

进一步,如上所述的一种对软件服务做激活授权管理的系统,所述激活授权服务程序具体用于:

通过自身的license签名公钥对接收的所述授权license密文文件进行数据签名验证,验证通过后通过自身的license保护子密钥进行解密,得到所述license授权请求订单对应的授权license数据,并将该授权license数据存储在数据库或加密机中。

进一步,如上所述的一种对软件服务做激活授权管理的系统,所述待激活产品还用于:

通过所述激活密钥对所述激活或授权请求中的敏感数据进行加密和完整性保护。

进一步,如上所述的一种对软件服务做激活授权管理的系统,所述激活授权服务程序具体用于:

在已授权的license数据中查找所述激活或授权请求对应的产品授权信息,找到后通过所述授权license数据中的激活密钥对所述产品授权信息进行验证,验证通过后生成激活码,通过所述授权license数据中的激活密钥对所述激活码进行加密,生成所述激活或授权响应信息并发送给所述待激活产品,记录并动态绑定所述待激活产品与所述终端和所述用户信息;

所述待激活产品具体用于:

通过所述激活密钥对接收的所述激活或授权响应信息进行验证,验证通过后确定激活或授权成功,并将状态由初始状态转换为已授权启用状态。

本发明实施例中还提供了一种对软件服务做激活授权管理的方法,所述方法包括:

(1)待激活产品出厂预置在具有可信执行环境的终端中,所述待激活产品的产品信息存储在所述终端的ta层或se层,所述产品信息包括产品编号、激活策略、激活算法和激活密钥;

(2)统一授权license管理系统配置license签名密钥对,所述待激活产品的产品信息,所述激活授权服务程序的授权id,还通过license保护根密钥配置所述激活授权服务程序的license保护子密钥,所述license签名密钥对包括license签名公钥和license签名私钥;

(3)所述激活授权服务程序配置设置所述统一授权license管理系统分配下发的授权id、license保护子密钥和license签名公钥;

(4)所述激活授权服务程序通过自身的license签名公钥对license授权请求订单进行加密,将加密后的license授权请求订单发送给所述统一授权license管理系统;

(5)所述统一授权license管理系统通过所述license签名私钥对接收的所述license授权请求订单进行解密,对解密后的所述license授权请求订单进行审核,审核通过后生成授权license数据,通过所述license签名私钥对所述授权license数据进行数据签名后通过所述激活授权服务程序对应的license保护子密钥进行加密,获取授权license密文,通过混淆算法对所述授权license密文进行混淆,通过所述激活授权服务程序对应的license保护子密钥对混淆后的所述授权license密文进行mac计算,获取mac结果,将混淆后的所述授权license密文和所述mac结果一并生成授权license密文文件并发送给所述激活授权服务程序;

(6)所述激活授权服务程序通过自身的license签名公钥对接收的所述授权license密文文件进行数据签名验证,验证通过后通过自身的license保护密钥进行解密,得到所述license授权请求订单对应的授权license数据,并将该授权license数据存储在数据库或加密机中;

(7)所述待激活产品向所述激活授权服务程序发送身份鉴权请求;

(8)所述激活授权服务程序对接收的所述身份鉴权请求进行身份鉴权合法性验证,验证通过后生成所述身份鉴权响应信息并发送给所述待激活产品;

(9)所述待激活产品根据所述身份鉴权响应信息确定身份鉴权通过后,向所述激活授权服务程序发送激活或授权请求;

(10)所述激活授权服务程序在已授权的license数据中查找所述激活或授权请求对应的产品授权信息,找到后通过所述授权license数据中的激活密钥对所述产品授权信息进行验证,验证通过后生成激活码,通过所述授权license数据中的激活密钥对所述激活码进行加密,生成所述激活或授权响应信息并发送给所述待激活产品,记录并动态绑定所述待激活产品与所述终端和所述用户信息;

(11)所述待激活产品通过所述激活密钥对接收的所述激活或授权响应信息进行验证,验证通过后确定激活或授权成功,并将状态由初始状态转换为已授权启用状态。

本发明的有益效果在于:本发明通过统一授权license管理系统对授权license文件进行统一管理,可以将待激活产品的激活或授权使用权有控制的分配给授权代理层即激活授权服务程序,做到有效的功能解耦和管控,减少升级维护成本,同时,方便扩展对新产品授权的支持;并且使用tee技术和密码学加解密技术对授权license文件和产品激活过程进行安全保护,极大的提高了产品激活过程的安全性。

附图说明

图1为本发明实施例中提供的一种对软件服务做激活授权管理的系统的关系模型示意图;

图2为本发明实施例中提供的一种对软件服务做激活授权管理的系统的架构模型示意图;

图3为本发明实施例中提供的tee基本分区架构图;

图4为本发明实施例中提供的授权license密文文件生成过程示意图;

图5为本发明实施例中提供的一种对软件服务做激活授权管理的方法的流程示意图。

具体实施方式

下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。

本发明结合tee(trustedexecutionenvironment,可信执行环境)技术和密码学加解密技术建立一套统一的安全的对软件服务做激活授权管理的系统。通过此系统,实现对手机盾软件服务做激活授权license统一管理,并使用密码学加解密技术和tee安全架构技术来做到密钥安全存储与使用,同时做到终端在用户手中后实现动态激活和绑定产品与用户信息。

本发明主要是对需要通过激活授权后才能使用的手机盾产品提供一套统一的安全的激活授权license管理的系统。本系统提供各个激活授权服务程序中的手机盾产品license授权文件,并使用tee技术和密码学加解密技术保障license授权文件及激活过程的安全。

本系统主要包括待激活产品、激活授权服务程序、统一授权license管理系统三个部分。三者之间的关系模型如图1所示。

待激活产品:需要通过激活或授权后才能使用的软硬件产品或服务程序,该程序运行在可信执行环境tee下,出厂预置在具有可信执行环境的终端中,终端可以是带tee功能的华为手机。

激活授权服务程序:向待激活产品提供激活或授权功能的服务程序,其中的授权服务模块用到的被激活产品授权license信息由统一授权license管理系统分配和下发。其功能主要包括产品激活或授权功能、产品授权license文件导入和解析功能、敏感信息安全存储功能、产品激活或授权记录信息管理和统计功能等,该服务程序中使用密码学加解密技术并结合数据库安全存储或加密机安全存储确保数据安全。

统一授权license管理系统:对授权license文件进行统一管理的服务程序。其核心功能主要包括license订单管理功能、license订单审核功能、授权license文件生成和管理功能、产品授权信息配置管理功能、激活授权服务程序配置管理功能、license订单及授权license文件统计管理功能等,该服务程序中使用密码学加解密技术并结合数据库安全存储或加密机安全存储确保数据安全。

实施例一

如图2所示,一种对软件服务做激活授权管理的系统,系统包括:待激活产品、激活授权服务程序和统一授权license管理系统,待激活产品出厂预置在具有可信执行环境的终端中;

激活授权服务程序用于向统一授权license管理系统发送license授权请求订单并接收反馈的授权license密文文件;

统一授权license管理系统用于对接收的license授权请求订单进行审核,审核通过后生成授权license密文文件并反馈给激活授权服务程序;

待激活产品用于向激活授权服务程序发送身份鉴权请求并接收反馈的身份鉴权响应信息,身份鉴权通过后向激活授权服务程序发送激活或授权请求并接收反馈的激活或授权响应信息,确定激活或授权成功;

激活授权服务程序还用于对接收的身份鉴权请求进行身份鉴权合法性验证,生成身份鉴权响应信息并反馈给待激活产品,还用于根据接收的激活或授权请求和授权license密文文件生成激活或授权响应信息并反馈给待激活产品。

待激活产品出厂时,待激活产品的产品信息存储在终端的ta层或se层,产品信息包括产品编号、激活策略、激活算法和激活密钥。

统一授权license管理系统还用于配置license签名密钥对,待激活产品的产品信息,激活授权服务程序的授权id,通过license保护根密钥配置激活授权服务程序的license保护子密钥,license签名密钥对包括license签名公钥和license签名私钥。

激活授权服务程序还用于配置和设置统一授权license管理系统分配下发的授权id、license保护子密钥和license签名公钥。

激活授权服务程序具体用于:

通过自身的license签名公钥对license授权请求订单进行加密,将加密后的license授权请求订单发送给统一授权license管理系统。

统一授权license管理系统具体用于:

通过license签名私钥对接收的license授权请求订单进行解密,对解密后的license授权请求订单进行审核,审核通过后生成授权license数据,通过license签名私钥对授权license数据进行数据签名后通过激活授权服务程序对应的license保护子密钥进行加密,获取授权license密文,通过混淆算法对授权license密文进行混淆,通过激活授权服务程序对应的license保护子密钥对混淆后的授权license密文进行mac计算,获取mac结果,将混淆后的授权license密文和mac结果一并生成授权license密文文件并发送给激活授权服务程序。

激活授权服务程序具体用于:

通过自身的license签名公钥对接收的授权license密文文件的数据签名进行验证,验证通过后通过自身的license保护子密钥进行解密,得到license授权请求订单对应的授权license数据,并将该授权license数据存储在数据库或加密机中。

待激活产品还用于:

通过激活密钥对激活或授权请求中的敏感数据进行加密和完整性保护。

激活授权服务程序具体用于:

在已授权的license数据中查找激活或授权请求对应的产品授权信息,找到后通过授权license数据中的激活密钥对产品授权信息进行验证,验证通过后生成激活码,通过授权license数据中的激活密钥对激活码进行加密,生成激活或授权响应信息并发送给待激活产品,记录并动态绑定待激活产品与终端和用户信息;

待激活产品具体用于:

通过激活密钥对接收的激活或授权响应信息进行验证,验证通过后确定激活或授权成功,并将状态由初始状态转换为已授权启用状态。

本系统主要是对存在tee等安全环境的终端中进行对预制应用的开通使用进行激活授权,产品的激活密钥可以出厂预制在tee框架中ta、se层的安全环境中,保证了密钥安全。tee采用基于硬件的隔离技术。保证执行环境的安全可信。其基本分区架构如图3所示。

本发明中的待激活产品会涉及到tee的非安全区和安全区,但产品的敏感数据存储与操作必须在安全区内。

本发明中的待激活产品应该具有未启用和已启用等状态特征,可以包含但不限制衍生状态,例如初始状态(未启用)、已授权状态(已启用)、已失效(不能继续使用)等状态。待激活产品可以预置到手机等终端出厂设置中,在需要使用的时候通过激活服务来启用,根据实际业务需要,激活时可以动态或静默设置一个激活授权服务的地址进行激活或授权启用。

本发明中待激活产品在出厂状态时只设置必要的产品编号、激活密钥、激活算法、激活策略及业务功能等,对于产品所在的环境(例如手机终端等)不做关联绑定,解耦了出厂产品与所在终端的出厂关联性,在产品激活过程中再进行产品与终端的关系进行动态绑定,减少了产品出厂准备的环节,提高产品出厂交付流程效率,减少了成本。此种类型的产品更具有通用性和灵活性,出厂时不用关心产品所在的终端最终所有者是谁,可以在最终用户手上激活时进行动态绑定与设置。

本发明中的待激活产品所在的环境称之为终端,终端包含但不限制是手机、pc等,推荐使用带tee功能的终端。

本发明中的授权license数据主要包括但不限以下内容:订单号、订单日期、激活授权服务程序的授权id、产品授权license数量、产品授权信息(产品编号、激活策略、激活密钥、激活算法等)等。当然也可以根据产品不同进行扩展支持其他内容或定制授权内容。

本发明中传输的授权license密文文件采用数据加密、数据签名、数据混淆等算法进行安全保护,防止被非法截取或篡改或伪造。

授权license密文文件生成过程如图4所示。授权的license明文内容(授权license数据)由统一授权license管理系统使用license签名私钥进行签名后通过激活授权服务程序的license保护子密钥进行加密,获取license密文,再通过混淆算法将license密文进行混淆,然后使用license保护子密钥对混淆后的license密文进行mac计算获取mac结果。最后将混淆后的license密文和mac结果一起写到授权license密文文件中。

license保护密钥体系设计如下:

license签名密钥对:非对称密钥对,使用非对称算法,由统一授权license管理系统生成并安全存储,其中私钥只能统一授权license管理系统自己使用,不能外泄,公钥提供给各个激活授权服务程序对授权license密文文件的内容进行合法性验证使用。

license保护根密钥:对称密钥,使用对称算法,由统一授权license管理系统生成并安全存储,只能统一授权license管理系统自己使用,不能外泄,用于分散出各个激活授权服务程序的license保护子密钥。

license保护子密钥:对称密钥,使用对称算法,安全存放在统一授权license管理系统和激活授权服务程序中,每个激活授权服务程序均有自己的license保护子密钥。license保护子密钥由统一授权license管理系统license保护根密钥对激活授权服务程序的编号进行分散得到,当然也可以自行约定其他规则并配置到系统中。

本发明中的敏感数据均进行安全存储,存储介质包括但不限制为加密机、密码卡、智能密码钥匙、安全数据库、安全动态库、tee等硬件或软件资源。

实施例二

一种对软件服务做激活授权管理的方法,方法包括:

(1)待激活产品出厂预置在具有可信执行环境的终端中,待激活产品的产品信息存储在终端的ta层或se层,产品信息包括产品编号、激活策略、激活算法和激活密钥;

(2)统一授权license管理系统配置license签名密钥对,待激活产品的产品信息,激活授权服务程序的授权id,还通过license保护根密钥配置激活授权服务程序的license保护子密钥,license签名密钥对包括license签名公钥和license签名私钥;

(3)激活授权服务程序配置设置统一授权license管理系统分配下发的授权id、license保护子密钥和license签名公钥;

(4)激活授权服务程序通过自身的license签名公钥对license授权请求订单进行加密,将加密后的license授权请求订单发送给统一授权license管理系统;

(5)统一授权license管理系统通过license签名私钥对接收的license授权请求订单进行解密,对解密后的license授权请求订单进行审核,审核通过后生成授权license数据,通过license签名私钥对授权license数据进行数据签名后通过激活授权服务程序对应的license保护子密钥进行加密,获取授权license密文,通过混淆算法对授权license密文进行混淆,通过激活授权服务程序对应的license保护子密钥对混淆后的授权license密文进行mac计算,获取mac结果,将混淆后的授权license密文和mac结果一并生成授权license密文文件并发送给激活授权服务程序;

(6)激活授权服务程序通过自身的license签名公钥对接收的授权license密文文件进行数据签名验证,验证通过后通过自身的license保护密钥进行解密,得到license授权请求订单对应的授权license数据,并将该授权license数据存储在数据库或加密机中;

(7)待激活产品向激活授权服务程序发送身份鉴权请求;

(8)激活授权服务程序对接收的身份鉴权请求进行身份鉴权合法性验证,验证通过后生成身份鉴权响应信息并发送给待激活产品;

(9)待激活产品根据身份鉴权响应信息确定身份鉴权通过后,向激活授权服务程序发送激活或授权请求;

(10)激活授权服务程序在已授权的license数据中查找激活或授权请求对应的产品授权信息,找到后通过授权license数据中的激活密钥对产品授权信息进行验证,验证通过后生成激活码,通过授权license数据中的激活密钥对激活码进行加密,生成激活或授权响应信息并发送给待激活产品,记录并动态绑定待激活产品与终端和用户信息;

(11)待激活产品通过激活密钥对接收的激活或授权响应信息进行验证,验证通过后确定激活或授权成功,并将状态由初始状态转换为已授权启用状态。

如图5所示,激活授权管理的处理流程如下:

1、待激活产品预置在出厂的终端中,该终端应该具有tee架构,激活密钥、激活算法、激活策略、产品编号等信息安全存储在终端的安全区(ta层或se层),确保这些敏感数据的安全。出厂时确保产品处于初始状态(未授权激活),此产品出厂时不与终端及用户信息在后台进行绑定。

2、统一授权license管理系统配置license签名密钥对、产品编号、产品激活策略、产品激活密钥等信息;配置激活授权服务的授权id、license保护密钥。

3、激活授权服务程序配置设置由统一授权license管理系统分配的授权id、授权licence保护密钥、license签名公钥等数据,安全存储在数据库或加密机中。

4、激活授权服务程序组织并向统一授权license管理系统提交license授权请求订单,订单信息需要使用license签名公钥进行加密保护。

5、统一授权license管理系统接收到请求订单后使用license签名私钥进行解密,解密成功后进行订单审核,审核通过后则组织授权license数据,生成授权license密文文件,授权license数据由激活授权服务对应的license保护密钥进行加密保护,并且通过license签名私钥进行数据签名保护,确保文件的机密性和完整性,同时实现文件的身份合法性验证保护。

6、统一授权license管理系统将授权license密文文件下发给激活授权服务程序。

7、激活授权服务程序接收到授权license密文文件后进行解析,验证文件的合法性(通过license签名公钥进行验签、license保护密钥进行解密),验证通过则解析出授权内容并进行安全存储。验证不通过则不进行处理。

8、待激活产品向激活授权服务程序提交身份鉴权请求。

9、激活授权服务程序接收到身份鉴权请求后进行身份鉴权合法性校验。

10、激活授权服务程序将身份鉴权响应信息返回待激活产品。

11、待激活产品在与激活授权服务程序的身份鉴权通过之后,向激活授权服务程序提交激活或授权请求(包含产品数据和终端数据等),请求信息中的敏感数据(产品编号、激活算法类型、激活策略等)需要使用激活密钥进行加密和完整性保护,激活密钥需要在tee安全区内获取并使用,不能出安全区。

12、激活授权服务程序接收到激活或授权请求后,记录请求数据,在已授权的license中查找对应的产品授权信息,如果找到则使用激活密钥进行数据校验,校验通过则生成激活码并通过产品激活密钥进行加密和完整性保护,生成授权响应信息,激活成功,记录并动态绑定产品与终端及用户信息。

13、激活授权服务程序将激活或授权响应信息返回给待激活产品。

14、待激活产品接收到激活或授权响应信息后使用激活密钥进行验证,验证通过则激活或授权成功,产品被启用,并将状态由初始状态转换为已授权启用状态。

本发明技术方案带来的有益效果包括:

(1)统一授权license管理系统对license授权文件进行统一管理,可以将待激活产品的激活或授权使用权有控制的分配给授权代理层(激活授权服务程序),做到有效的功能解耦和管控,减少升级维护成本,同时,方便扩展对新产品授权的支持;并且使用tee技术和密码学加解密技术对license文件和产品激活过程进行安全保护,极大的提高了产品激活过程的安全性。

(2)待激活产品在初始状态下统一授权license管理系统无需关心产品所在的环境,减少产品激活使用前的出厂准备工作,提高产品发布速度,减少相关的成本。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

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