一种用于软件使用授权的方法技术

技术编号:23449616 阅读:18 留言:0更新日期:2020-02-28 22:56
本申请涉及一种软件使用授权的方法。终端设备的Rich OS上运行客户端程序,TEE中运行TA,TA和服务器中分别保存通信密钥和授权密钥,所述方法包括:TA利用预存的通信密钥对客户端程序生成的组织请求报文进行处理并加密,得到请求密文;密文上送至服务器,以使服务器校验请求密文得到授权响应密文并下发授权响应密文至客户端程序;TA从客户端程序接收授权响应密文,验证后在TEE中存储授权凭证,对移动设备进行授权使用。不仅能够实现严格的一设备一授权,无法篡改、复制、共享授权凭证;而且可以显著提升授权机制的用户体验,无需额外硬件。

A method of software authorization

【技术实现步骤摘要】
一种用于软件使用授权的方法
本申请涉及安全
,特别是涉及一种用于软件使用授权的方法。
技术介绍
随着移动安全技术的发展,越来越多的软件开发商(区别于在线服务提供商),希望其研发的软件产品的使用权能够被保护,仅允许被授权的终端设备运行该软件产品。这种方法要求软件开发商在将软件产品交付客户后,对软件在终端设备上的运行许可进行授权管理。然而现有技术中,客户需要购买硬件盾(加密狗、加密U盘、密钥钥匙等),使用软件时,用户将硬件盾插入设备,通过硬件盾提供的密码功能服务对软件运行授权。该种方法中则会出现的例如因采购硬件盾需要承担额外的设备成本而导致的硬件设备成本高的问题、因要通过线下渠道将硬件盾交付到最终用户手上,物流、渠道、维修成本高导致的交付以及部署成本高的问题、以及使用过程中因使用流程繁琐导致的硬件设备成本高的问题。在其他现有技术中,用户可以从服务商获得授权码、注册码,输入软件后获取软件的使用权,然而该种方法中也存在着保护措施安全性差的问题,当软件程序运行在不可信的执行环境时,授权码的计算过程可能被破解,可能通过篡改授权状态绕过授权保护机制。本专利技术的目的,在于提供一种软件使用授权的方法,使软件在使用授权时,能够确保授权机制的有效性和安全性。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够既可以保证程序安全又提高用户体验的用于终端设备的使用授权方法。一种软件使用授权的方法,其特征在于,包括终端设备1、服务器2,终端设备1和服务器2通过网络连接;终端设备1中安装有富系统11以及可信执行环境12;富系统11上运行客户端程序111,可信执行环境12中运行可信应用TA121;客户端程序111实现TA121与服务器2之间的安全通信链路;TA121实现密码服务功能,通过密码服务功能实现对需要授权的软件进行管控;TA121和服务器2中保存通讯密钥,用于在TA121与服务器2之间建立安全通信链路;TA121和服务器2中还保存有授权密钥:服务器2使用授权密钥授权凭证签名。TA121验证授权凭证签名;软件使用授权的方法包括:步聚S1,针对需要授权的软件,客户端程序111向可信应用TA121发送授权请求报文,授权请求报文包括终端设备1信息、授权目标信息;步骤S2,可信应用TA121处理授权请求报文并使用通讯密钥对处理结果以及授权请求报文进行加密生成授权请求密文回送;步骤S3,客户端程序111上送授权请求密文给服务器2;步聚S4,服务器2使用通讯密钥解密的授权请求密文,并验证授权请求合法性以及完整性,签署授权凭证并下发授权响应密文至客户端程序111;步聚S5,客户端程序111将授权响应密文发TA121;步聚S6,可信应用TA121接收授权响应密文,使用通讯密钥解密,使用授权密钥验证授权凭证,验证通过后在TEE12中存储授权凭证,并将授权结果信息返回至客户端程序111;客户端程序111启动时,TA121验证存储在TEE12中存储的授权凭证,验证通过后,将验证结果返回客户端程序111,客户端程序111在接受到验证结果后,进入运行状态。进一步地,终端设备1包括个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备中的任一种。进一步地,服务器2为独立的服务器或者多个服务器组成的服务器集群。进一步地,通讯密钥可以采用预制对称密钥,也可以采用SSL及类似方法。进一步地,授权密钥可以采用非对称算法、MAC算法、组合使用对称加密和摘要算法的方式。进一步地,步骤S1中,还包括授权控制信息。进一步地,TA121的密码服务包括加密解密、签名验签、完整性校验。进一步地,软件启动时,TA121验证授权凭证后,还提供密码服务功能执行必要的功能流程。进一步地,功能流程包括解密关键安全参数、校验被保护的软件中模块的合法性、完整性。进一步地,在步骤S2中,可信应用TA121使用摘要算法处理授权请求报文。上述用于终端设备的使用授权方法,终端设备的RichOS上运行客户端程序,TEE中运行TA,TA和服务器中分别保存通信密钥和授权密钥,所述方法包括:TA对客户端程序生成的授权请求报文进行处理并利用预存的通信密钥进行加密,得到请求密文;密文上送至服务器,以使服务器校验请求密文得到授权响应密文并下发授权响应密文至客户端程序;TA从客户端程序接收授权响应密文,验证后在TEE中存储授权凭证,对移动设备进行授权使用。不仅能够实现严格的一设备一授权,无法篡改、复制、共享授权凭证;而且可以显著提升授权机制的用户体验,无需额外硬件。附图说明图1为实施例中用于移动设备的使用授权方法的应用环境说明图;图2为实施例中用于移动设备授权请求的流程示意图;具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请各实施例提供的技术方案进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。图1为实施例中用于移动设备的使用授权方法的应用环境说明图,作为授权系统,由终端设备1、服务器2组成。终端设备1和服务器2通过移动网络连接。终端设备1可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。本实施方式中,终端设备1为采用Android(安卓)系统的移动终端。服务器2为独立的服务器或者是多个服务器组成的服务器集群来实现。本实施方式中,服务器2为一个应用服务器(授权服务器)。终端设备1中安装有RichOS11(Android)以及TEE12(可信执行环境)。RichOS11(Android)上运行客户端程序111(APP),TEE12中运行可信应用TA121,客户端程序111和可信应用TA121构成授权程序模块,客户端程序111实现TA121与授权服务器2之间的安全通信链路。TA121实现加解密、签名验签、完整性校验等密码服务,通过密码服务实现对需要授权的软件进行管控。TA121和服务器2中保存通讯密钥,用于在TA121与服务器1之间建立安全通信链路。通讯密钥可以采用预制对称密钥,如客户端与服务端包含相同的会话密钥(或种子密钥);也可以采用SSL(或其他类似方法),例如由客户端和服务端临时协商会话密钥。TA121和服务器2中还保存有授权密钥:服务器2使用授权密钥对授权凭证签名。TA121验证授权凭证签名,可以采用非对称算法、MAC算法、组合使用对称加密和摘要算法等方式。终端设备中1需要保护的模块只有经过授权程序模块授权通过后,才能提供正常的功能。以下对移动设备软件使用授权的流程进行说明,如图2所示。步聚S1,针对需要授权的软件,客户端程序111发起授权请求。具体为客户端程序111向可信应用TA121发送申请授权请求报文,携带待授权设备信息、授权目标信本文档来自技高网...

【技术保护点】
1.一种软件使用授权的方法,其特征在于,包括终端设备(1)、服务器(2),终端设备(1)和服务器(2)通过网络连接;/n终端设备(1)中安装有富系统(11)以及可信执行环境(12);/n富系统(11)上运行客户端程序(111),可信执行环境(12)中运行可信应用TA(121);/n客户端程序(111)实现TA(121)与服务器(2)之间的安全通信链路;/nTA(121)实现密码服务功能,通过密码服务功能实现对需要授权的软件进行管控;/nTA(121)和服务器(2)中保存通讯密钥,用于在TA(121)与服务器(2)之间建立安全通信链路;/nTA(121)和服务器(2)中还保存有授权密钥:服务器(2)使用授权密钥对授权凭证签名;TA(121)验证授权凭证签名;/n软件使用授权的方法包括:/n步聚1(S1),针对需要授权的软件,客户端程序(111)向可信应用TA(121)发送授权请求报文,所述授权请求报文包括所述终端设备(1)信息、授权目标信息;/n步骤2(S2),可信应用TA(121)处理授权请求报文,并使用通讯密钥对处理结果、请求报文进行加密,生成授权请求密文回送;/n步骤3(S3),客户端程序(111)上送授权请求密文给服务器(2);/n步聚4(S4),服务器(2)使用通讯密钥解密所述的授权请求密文,并验证授权请求合法性以及完整性,签署授权凭证并下发授权响应密文至客户端程序(111);/n步聚5(S5),客户端程序(111)将授权响应密文发送给TA(121);/n步聚6(S6),可信应用TA(121)接收授权响应密文,使用通讯密钥解密,使用授权密钥验证授权凭证,验证通过后在TEE(12)中存储授权凭证,并将授权结果信息返回至客户端程序(111);/n客户端程序(111)启动时,TA(121)验证存储在TEE(12)中存储的授权凭证,验证通过后,将验证结果返回客户端程序(111),客户端程序(111)在接受到验证结果后,进入运行状态。/n...

【技术特征摘要】
1.一种软件使用授权的方法,其特征在于,包括终端设备(1)、服务器(2),终端设备(1)和服务器(2)通过网络连接;
终端设备(1)中安装有富系统(11)以及可信执行环境(12);
富系统(11)上运行客户端程序(111),可信执行环境(12)中运行可信应用TA(121);
客户端程序(111)实现TA(121)与服务器(2)之间的安全通信链路;
TA(121)实现密码服务功能,通过密码服务功能实现对需要授权的软件进行管控;
TA(121)和服务器(2)中保存通讯密钥,用于在TA(121)与服务器(2)之间建立安全通信链路;
TA(121)和服务器(2)中还保存有授权密钥:服务器(2)使用授权密钥对授权凭证签名;TA(121)验证授权凭证签名;
软件使用授权的方法包括:
步聚1(S1),针对需要授权的软件,客户端程序(111)向可信应用TA(121)发送授权请求报文,所述授权请求报文包括所述终端设备(1)信息、授权目标信息;
步骤2(S2),可信应用TA(121)处理授权请求报文,并使用通讯密钥对处理结果、请求报文进行加密,生成授权请求密文回送;
步骤3(S3),客户端程序(111)上送授权请求密文给服务器(2);
步聚4(S4),服务器(2)使用通讯密钥解密所述的授权请求密文,并验证授权请求合法性以及完整性,签署授权凭证并下发授权响应密文至客户端程序(111);
步聚5(S5),客户端程序(111)将授权响应密文发送给TA(121);
步聚6(S6),可信应用TA(121)接收授权响应密文,使用通讯密钥解密,使用授权密钥验证授权凭证,验证通过后在TEE(12)中存储授权凭证,并将授权结果信息返...

【专利技术属性】
技术研发人员:刘亚雷
申请(专利权)人:北京握奇智能科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1