CN110162936B - 一种软件内容的使用授权方法 - Google Patents

一种软件内容的使用授权方法 Download PDF

Info

Publication number
CN110162936B
CN110162936B CN201910471967.0A CN201910471967A CN110162936B CN 110162936 B CN110162936 B CN 110162936B CN 201910471967 A CN201910471967 A CN 201910471967A CN 110162936 B CN110162936 B CN 110162936B
Authority
CN
China
Prior art keywords
software
cloud server
client
authentication
bit cloud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910471967.0A
Other languages
English (en)
Other versions
CN110162936A (zh
Inventor
褚庆东
孟雄晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Bit Anso Information Technology Co ltd
Original Assignee
Beijing Bit Anso Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Bit Anso Information Technology Co ltd filed Critical Beijing Bit Anso Information Technology Co ltd
Priority to CN201910471967.0A priority Critical patent/CN110162936B/zh
Publication of CN110162936A publication Critical patent/CN110162936A/zh
Application granted granted Critical
Publication of CN110162936B publication Critical patent/CN110162936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种软件内容的使用授权方法,方法包括:101、比特云服务器接收第一用户通过软件内容提供商客户端触发的与软件内容关联的保护指令;102、比特云服务器根据保护指令,产生用于供第二用户基于任意设备使用所述软件内容的授权码;103、比特云服务器接收任意设备中的软件客户端发送的认证请求;104、比特云服务器根据预先定义的认证策略对认证请求进行认证处理,若认证合格,则建立软件客户端与比特云服务器的用于数据交互的安全通讯通道。上述方法解决了现有技术中的机器识别不准确,易用性不好,无法实现自助授权,安全强度不高、容易克隆和复制等的缺点。

Description

一种软件内容的使用授权方法
技术领域
本发明属于信息安全技术,具体涉及一种软件内容的使用授权方法。
背景技术
随着互联网技术的日益发展,软件、音频、视频、图书、图片等数字内容在互联网上的传播也日益广泛,上述数字内容的拷贝和传播也越来越容易,从而被大范围非法盗版,导致内容提供商的利益受到严重损害,因此数字内容的保护变得非常重要。
针对上述问题,目前市场上也提供了多种软件和数字内容的保护方法,按照是否有依赖于第三方硬件来分,有传统的硬加密方法和不依赖于第三方硬件的软加密方法。硬加密方法一般都要在机器上插入一个硬件(比如加密狗)在并口或USB口,大部分都有一个全球唯一的序列号,部分硬件可能还会有自己的CPU、存储器等。硬加密的致命缺点就是需要占用机器的USB口,需要物流等,因此不需要第三方硬件的软加密方法就应运而生,目前市场上的软加密可以说是实现了软加密的基本功能。
软加密的基本流程如下:
第一步:提取客户端机器的硬件指纹,一般来是硬盘、CPU、网卡、主板等中的一种或多种,发送给开发商;
第二步:开发商利用硬件指纹作为密钥因子加密软件或数字内容,发送给客户端机器;
第三步:在客户端机器上运行软件或打开数字内容时,会首先获取所运行的机器的机器指纹,用该指纹去解密软件或数字内容,只有机器指纹完全匹配了,才能够运行软件或打开受保护的数字内容。数字内容拷贝到其他机器会因为机器指纹不正确,无法正确解密,从而也就起到了保护的作用。
但上述软加密的方案有一个缺点,就是对每一个机器都要重复加密,开发商的工作量太大,因而经常用下面的另一方案代替:
该方案包括如下步骤:第一步:开发商用一个密钥事先将数字内容加密,加密后的数字内容可以通过各种途径分发到客户端。
第二步:提取客户端机器的硬件指纹,发送给开发商;
第三步:开发商产生一个包括加密数字内容密钥的授权文件,并用客户端发过来的机器指纹对该授权文件加密,然后发送到客户端;
第四步:在客户端机器上运行软件或打开数字内容时,先读取授权文件,获取解密密钥,然后解密软件或数字内容,正常使用。由于授权文件是由机器指纹加密的,所以拷贝到其它机器是无法打开的,拷贝无效。
然而,在实际使用中因为考虑安全性和易用性方案要复杂的多,需要解决各种问题。比如①现有的软加密方案很难获取一个稳定可靠又安全的全球唯一的识别码,这对正确的识别用户计算机造成了一定的障碍;②还有这些软加密方案都没有数据库,只是在开发商端提供一个简单的工具,没有把机器的识别信息存储起来,造成机器识别不准确,易用性不好,无法实现自助授权,安全强度不高等的缺点。
再比如有的方案只是和硬盘的逻辑序列号绑定,这里存在两个严重问题,第一,逻辑序列号可以修改,其他用户都可以修改成同样的序列号,这样就造成了破解;第二,格式化硬盘会导致序列号发生变化,从用户角度来说,导致用户的授权无法正常使用,必须联系开发商重新获取授权;另一方面,从开发商来说,开发商无法分辨用户是格式化机器了,还是换了一台机器。用户如果更换机器,也只能重发新的授权,原来得授权无法实现收回。用户如果打算办公室和家里都安装一套软件,但同时只会使用一套,又该怎么办?如果是企业用户,为每一台机器授权是一件很繁琐的事情,而且也不便管理,又该怎么办?如何去管理已经发出去的授权?目前这些方案的授权文件都是存放在本地的,很容易被克隆和复制。
发明内容
为了解决上述的技术问题或者技术问题之一,本发明提供一种软件内容的使用授权方法。
为了达到上述的目的,本发明采用的主要技术方案包括:
第一方面,本发明提供一种软件内容的使用授权方法,所述方法包括:
101、比特云服务器接收第一用户借助于软件内容提供商客户端触发的与软件内容关联的保护指令;
102、所述比特云服务器根据所述保护指令,产生用于供第二用户基于任意设备使用所述软件内容的授权码;
103、所述比特云服务器接收任意设备中的软件客户端发送的认证请求,所述认证请求中包括携带授权码的认证信息;
104、所述比特云服务器根据预先定义的认证策略对所述认证请求进行认证处理,若认证合格,则建立所述软件客户端与所述比特云服务器的用于数据交互的安全通讯通道。
可选地,所述认证信息包括:所述比特云服务器根据所述保护指令生成的软件内容的授权信息;
所述授权信息包括下述的一种或多种:软件内容的使用时间、软件内容的有效期、软件内容的最大使用次数、与所述软件内容相关的允许激活次数、使用所述软件内容的最大终端数量。
可选地,所述步骤103中的认证信息还包括:请求码;
其中,所述请求码为所述软件客户端根据所述软件客户端所属设备的硬件信息/机器指纹、SDK库中的信息获取的,用于标识当前设备的唯一性的信息;
或者,所述请求码为对所述软件客户端根据所述软件客户端所属设备的硬件信息/机器指纹、SDK库中的信息进行哈希处理获取的,用于标识当前设备的唯一性的信息;
和/或,所述请求码中还包括所述软件客户端所属设备产生的随机因子和/或自校验的签名信息;
任意终端在不同时刻生成的请求码均不相同;
所述SDK是第二用户借助于软件内容提供商客户端与比特云服务器交互产生的涉及软件授权的信息的库。
可选地,所属设备的硬件信息/机器指纹包括下述的一种或多种:CPU序列号、主板BIOS序列号、硬盘物理序列号、硬盘逻辑序列号、网卡MAC地址、IP地址、设备名称、设备的用户名称、比特ID/比特安索生产的USB硬件设备、开发商自定义识别码。
可选地,所述步骤104包括:
若在步骤103中所述比特云服务器首次接收所述认证请求,则所述比特云服务器将所述请求码中的机器指纹保存在数据库中;
若在步骤103中所述比特云服务器非首次接收所述认证请求,则所述比特云服务器将所述请求码中的机器指纹和所述数据库中存储的机器指纹,依据根据预先定义的认证策略进行比较。
可选地,所述方法还包括:
所述比特云服务器根据所述认证请求,将认证请求的信息在数据库中进行存储;
若所述比特云服务器在认证合格之后,所述比特云服务器生成一个认证标识码,并将生成的认证标识码存储在数据库中;
所述比特云服务器将所述认证标识码发送所述认证请求对应的软件客户端,以使所述软件客户端进行数据交互时携带所述认证标识码。
可选地,所述方法还包括:
所述比特云服务器根据所述数据库中的存储信息进行数据分析,获取异常的授权码或软件客户端对应的设备的机器指纹,并对异常的授权码或异常机器指纹的设备进行报警处理;
或者,所述比特云服务器向第一用户提供用于查看或管理所述授权码和/或请求码的管理模块;
或者,所述比特云服务器提供远程服务接口,以使所述软件内容提供商借助所述远程服务接口在软件内容管理系统中操作;
或者,
所述比特云服务器周期性接收建立安全通讯通道的软件客户端的心跳信息,以确定所述软件客户端所属设备处于正常连接状态;
若所述比特云服务器在预设时间段内没有接收到所述心跳信息,则确定所述软件客户端所属设备端处于异常状态,关闭所述安全通讯通道,并释放所述软件客户端所属设备。
可选地,步骤101之前,所述方法还包括:
所述第一用户基于待授权保护的软件内容,在软件内容提供商的客户端操作,以获取与待授权保护的软件内容对应的SDK;
SDK用于嵌入待分发第二用户的软件。
可选地,SDK包括:软件内容提供商的客户端生成的公钥、appkey密码、软件产品标识。
可选地,步骤104中的建立所述软件客户端与所述比特云服务器的用于数据交互的安全通讯通道,包括:
1041、所述比特云服务器接收所述软件客户端发送的请求码,所述请求码包括下述的一种或多种:
软件客户端所属设备的时间、机器指纹、证书的ID和SDK中的软件产品标识、公钥、特征字符串、appkey密码;
1042、所述比特云服务器根据产品标识,从数据库中找到与产品标识匹配的私钥,并采用私钥解密需要和特征字符串匹配的数据,将解密的数据和特征字符串进行匹配;
1043、若配对错误,则结束,否则,查看请求码中是否包括证书的ID;
1044、如果包括证书的ID,则比特云服务器生成第一随机数,将第一随机数和appkey密码组成第一加解密密钥;
1045、所述比特云服务器将第一随机数采用证书ID所属的公钥加密,并将该公钥加密后的第一随机数发送软件客户端;以使客户端采用证书ID所属的私钥解密第一随机数,并基于第一随机数和appkey密码组成客户端使用的第二加解密密钥,第二加解密密钥和第一加解密密钥对应,并用于对发送和接收比特云服务器的数据进行加解密;
1046、所述比特云服务器生成与软件客户端进行通讯的会话ID,并基于第一加解密密钥对发送软件客户端的包括会话ID的数据进行加密,以及基于第一加解密密钥对接收软件客户端发送的包括会话ID的数据进行解密。
可选地,所述步骤1043之后,步骤1044之前,还包括:
若请求码中没有证书的ID,则服务器产生一对新的公钥和私钥,并基于新的公钥和私钥,生成用于发送软件客户端的证书,证书包括证书的ID,证书的生成时间、新的公钥、私钥;
所述比特云服务器接收软件客户端接收证书之后,返回的证书的ID。
第二方面,本发明提供一种软件内容的使用授权方法,所述方法包括:
S1、比特云服务器接收任意设备中的软件客户端发送的认证请求,认证请求中包括携带待使用的软件内容的授权码的认证信息;
S2、比特云服务器根据预先定义的认证策略对所述认证请求进行认证处理,若认证合格,则建立所述软件客户端与所述比特云服务器的用于数据交互的安全通讯通道;
其中,所述授权码为比特云服务器在接收第一用户通过软件内容提供商客户端触发的与软件内容关联的保护指令后,产生的用于供第二用户基于任意设备使用所述软件内容的授权码。
可选地,所述比特云服务器执行上述第一方面任一所述的内容。
本发明的有益效果是:
本发明中,所有用于授权软件内容的相关信息都直接通过互联网直接从授权服务器(即比特云服务器)获取,本地计算机(即开发商所属的设备、软件客户端所属的设备)并不保存上述信息,避免了用于授权软件内容的信息被克隆破解的问题。
此外,软件客户端和比特云服务器的连接都是通过安全通道进行数据传输,降低了对通讯数据进行截获分析的风险。
进一步地,比特云服务器根据软件客户端的连接的大数据信息,能够对异常的授权码和机器进行预警。
本发明中提取了软件客户端所属设备的多项硬件指纹、配合软指纹,同时采用了全面的、智能的比较技术,使得对设备的识别更精准,提高了识别率的同时提高了易用性。
附图说明
图1为本发明一实施例提供的软件内容的使用授权系统的软件用例示意图;
图2为本发明的软件客户端和比特云服务器之间建立安全通道的时序图;
图3为本发明方法中软件的分发使用的系统网络图;
图4为本发明方法的整体工作顺序图;
图5为软件客户端使用软件时的工作流程示意图;
图6为比特云服务器对软件客户端的匹配过程的流程图。
具体实施方式
为了更好地解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
如图1所示,本申请实施例提供一种系统的软件用例示意图,在图1中,开发商开发人员和开发商销售人员可理解为下述的第一用户,客户可理解为第二用户,其中,客户想使用开发商开发人员研发的开发商软件,如何将开发商软件的软件内容合理授权给客户使用,且不存在本申请背景技术中提及的现有技术的各种容易克隆、复制、易用性低等缺陷。
本申请实施例中提供一种比特云服务器,该比特云服务器中设置有认证服务模块、数据库和管理系统。通过管理系统与开发商管理平台对接,或者与开发商销售直接对接,实现开发商从比特云服务器中获取授权码,进而使得开发商开发人员将授权码随同软件一同发送第二用户,如图4所示,图4中的开发商指的是第一用户所属设备,服务指的是比特云服务器,客户指的的第二用户的软件客户端。
基于图5和图6所示,客户在使用开发商的软件时,先与比特云服务器交互,实现认证流程,在认证合格之后,基于客户的软件客户端与比特云服务器建立的安全通讯通道实现数据交互,进而实现使用开发商软件。
实施例1
本发明实施例提供一种软件内容的使用授权方法,该方法可包括:
101、比特云服务器接收第一用户通过软件内容提供商客户端触发的与软件内容关联的保护指令。
102、所述比特云服务器根据所述保护指令,产生用于供第二用户基于任意设备使用所述软件内容的授权码。
本实施例中的授权码是随同软件一并发给第二用户,以使第二用户基于授权码进行软件的激活、升级或其他使用等。
在实际应用中,在步骤101之前,本实施例中,比特云服务器还响应于第一用户的操作,以获取与所述软件内容对应的SDK,该SDK嵌入到发送第二用户的软件中。
103、比特云服务器接收任意设备中的软件客户端发送的认证请求,所述认证请求中包括携带授权码的认证信息。
举例来说,该步骤中的认证信息还可包括:所述比特云服务器根据所述保护指令生成的软件内容的公私钥对中的公钥加密的数据(即公钥加密的特征字符串)和授权信息等;或者,在其他实施例中,认证信息包括:授权信息和下述的请求码等,上述公钥加密的特征字符串位于请求码中,本实施例不对其限定,根据实际需要调整或设置。
所述授权信息包括下述的一种或多种:软件内容的使用时间、软件内容的有效期、软件内容的最大使用次数、与所述软件内容相关的允许激活次数、使用所述软件内容的最大终端数量等。
本实施例中的授权码可理解为16字节长的字符串。
104、比特云服务器根据预先定义的认证策略对所述认证请求进行认证处理,若认证合格,则建立所述软件客户端与所述比特云服务器的用于数据交互的安全通讯通道,如图5所示。。具体的安全通讯通道可参见下述“安全连接”部分的描述。
软件客户端和比特云服务器端的通讯是采用数字证书中的公私钥建立的安全通道进行传输。客户端和服务器端均有自己的数字证书。数字证书就是包含公私钥信息的数字文件,比特云服务器中每一个产品会有一个对应的数字证书。软件客户端会在第一次认证的时候由比特云服务器将数字证书生成并发送。
本实施例中,所有用于授权软件内容的相关信息都直接通过互联网直接从授权服务器(即比特云服务器)获取,本地计算机(即开发商所属的设备、软件客户端所属的设备)并不保存上述信息,避免了用于授权软件内容的信息被克隆破解的问题。客户和服务器的连接都是通过安全通道进行数据传输,解决了现有技术中,无法实现自助授权,安全强度不高的缺陷,同时,解决了现有技术中直接使用软件时的授权文件都存放在本地,容易被克隆和复制的缺陷。
进一步地,为了更好的理解本实施例的内容,特别说明的是,上述方法的步骤101之前,所述方法还包括下述的步骤100:
100、第一用户基于待授权保护的软件内容,在软件内容提供商的客户端操作,使得该客户端与比特云服务器交互,以获取与待授权保护的软件内容对应的SDK;
SDK用于嵌入待分发第二用户的软件。
举例来说,SDK包括:安全库(包含动态库和静态库)、头文件、接口定义文件、使用说明、例子程序、开发工具等,安全库和头文件中包含软件内容提供商的客户端生成的公钥、appkey密码、软件产品标识等信息。
在实际应用中,SDK还可以包括其他内容,本实施例不对其限定。
也就是说,SDK是第二用户借助于软件内容提供商客户端与比特云服务器交互产生的涉及软件授权信息的文件。
每一个开发商从比特云服务器下载开发库/SDK(每一个产品下载下来的库均不相同,主要区别在包含的产品密钥不同,产品的ID不同,开发商的ID不同)。
进一步地,本实施例中,所述步骤103中的认证信息还可包括:请求码;
其中,所述请求码为所述软件客户端根据所述软件客户端所属设备的硬件信息/机器指纹、SDK中的信息获取的,用于标识当前设备的唯一性的信息;
或者,所述请求码为对所述软件客户端根据所述软件客户端所属设备的硬件信息/机器指纹、SDK中的信息进行哈希处理获取的,用于标识当前设备的唯一性的信息;
所述请求码中还包括所述软件客户端所属设备产生的随机因子和/或自校验的签名信息;进而可检验请求码的完整性和真实性。
任一终端在不同时刻生成的请求码均不相同,增加授权码的安全性。特别说明的是,软件客户端程序启动运行,在软件客户端界面输入授权码,软件客户端程序根据授权码产生请求码。
在具体实现过程中,所属设备的硬件信息/机器指纹包括下述的一种或多种:CPU序列号、主板BIOS序列号、硬盘物理序列号、硬盘逻辑序列号、网卡MAC地址、IP地址、设备名称、设备的用户名称、比特ID/比特安索生产的USB硬件设备、开发商自定义识别码。
由此,可以保证使用软件的设备的唯一性。
如果存在多个相同的硬件,多个硬件的识别码均包括在机器指纹中。
本实施例的方法可理解为开发商通过比特云服务器的管理平台创建软件产品,下载开发工具和SDK,完成产品的安全集成。可以理解的是SDK的信息嵌入到软件中。
进而开发商通过比特云服务器的管理平台产生授权码,以便使授权码和软件产品一并发送给第二用户。
使用软件产品的软件客户端产生该客户端所属设备的请求码,发送到比特云服务器的认证服务器(即认证服务模块);
认证服务器(即认证服务模块)验证软件客户端发送的请求码,验证合格后建立安全通讯通道;
软件客户端通过安全通道访问服务,服务通过安全通道返回数据到软件客户端;软件客户端根据服务器返回的数据执行相应的功能。
实施例2
本发明实施例提供一种软件内容的使用授权方法,该方法可包括:
201、比特云服务器接收任意设备中的软件客户端发送的认证请求,认证请求中包括携带待使用的软件内容的授权码的认证信息。
其中,所述授权码可理解为比特云服务器在接收第一用户通过软件内容提供商客户端触发的与软件内容关联的保护指令后,产生的用于供第二用户基于任意设备使用所述软件内容的授权码。
举例来说,该步骤中的认证信息还可包括:所述比特云服务器根据所述保护指令生成的软件内容的授权信息;
所述授权信息包括下述的一种或多种:软件内容的使用时间、软件内容的有效期、软件内容的最大使用次数、软件内容对应的终端的数量、与所述软件内容相关的允许激活次数、使用所述软件内容的最大终端数量。
可理解的是,对于开发商来说,每一软件内容在授权后,该软件内容对应的授权码是授权信息集合的一个标识,通过授权码可以在比特云服务器中检索设置对应软件内容的授权信息。
202、比特云服务器根据预先定义的认证策略对所述认证请求进行认证处理,若认证合格,则建立所述软件客户端与所述比特云服务器的用于数据交互的安全通讯通道。
此外,本实施例的图6还示出了具体的客户端登录的过程。
可理解的是,在具体实现过程中,上述的步骤202可理解为:
A1、若在步骤201中所述比特云服务器首次接收所述认证请求,则所述比特云服务器将所述请求码中的机器指纹和数据库中已存在的指纹按照匹配策略进行匹配(比如匹配策略是CPU、网卡、主板中的三个有两个指纹是相同的,则认为匹配),如果符合匹配策略,继续进入下一步,否则将本次认证中获取的机器指纹保存在数据库中,并结束认证;
A2、比特云服务器根据认证请求在认证合格之后,生成一个认证标识码,并将生成的认证标识码存储在数据库中。
可理解的是,本实施例中的认证标识码是一次性的,即每次认证的时候都会新建一个认证标识码,后续的数据交互操作都需要传递该认证标识码,直到退出软件的时候,该认证标识码失效。下次打开软件进行认证的时候,再重新创建新的认证标识码。
A3、并将所述认证标识码发送所述认证请求对应的软件客户端,以使所述软件客户端在数据交互操作中携带所述认证标识码。
A4、此外,在认证合格之后,比特云服务器周期性接收建立安全通讯通道的软件客户端的心跳信息,以确定所述软件客户端所属设备处于正常连接状态;
A5、若所述比特云服务器在预设时间段内没有接收到所述心跳信息,则确定所述软件客户端所属设备端处于异常状态,关闭所述安全通讯通道,并释放所述软件客户端所属设备。
可理解的是,在另一可实现的实现方式中,上述的步骤202还可理解为下述的步骤过程:
B1、若在步骤103中所述比特云服务器非首次接收所述认证请求,则所述比特云服务器将所述请求码中的机器指纹和所述数据库中存储的机器指纹,依据根据预先定义的认证策略进行比较。
例如,认证策略可分成三种:第一种,完全匹配,就是指定的这几个机器指纹必须完全一致;第二种,部分匹配,即指定的几个机器指纹只要满足最少匹配的数量即可;第三种,不需匹配,不去比较机器指纹是否一致,只是记录在数据库中而已。
进一步地,比特云服务器还比较请求码中的时间和比特云服务器的时间是否在允许的误差范围内,根据认证策略允许或拒绝软件客户端的认证请求。
本实施例的认证策略可以针对不同的软件客户端设定不同的比较策略,该策略也保存在数据库中。
在实际应用中,数据库中记录软件客户端的所有验证时间和次数,比特云服务器比较验证次数是否到达限制,来允许或拒绝软件客户端的认证请求。
B2、比特云服务器根据所述认证请求,将认证请求的认证信息在数据库中进行存储;
B3、若所述比特云服务器在认证合格之后,所述比特云服务器生成一个认证标识码,并将生成的认证标识码存储在数据库中;
并将所述认证标识码发送所述认证请求对应的软件客户端,以使所述软件客户端在后续的交互中携带所述认证标识码。
也就是说,每次成功认证之后,比特云服务器都会产生一个唯一的认证标识码,保存在数据库中,同时向客户端发送上述唯一认证标识码,在下次的请求码中会包含所述唯一认证标识码,如果是第一次产生请求码,则不包含所述认证标识码。
在本实施例中,认证标识码是一次性的,即每次认证的时候都会新建一个认证标识码,后续的操作都需要传递该认证标识码,直到退出软件的时候,该认证标识码失效。下次打开软件进行认证的时候,再重新创建新的认证标识码。
下述的证书的ID是永久的,一台机器的证书永远不变,证书ID也永远不变。证书的ID和上述认证标识码不是相同内容。
在实际应用中,本实施例的比特云服务器根据所述数据库中的存储信息进行数据分析,获取异常的授权码或软件客户端对应的设备,并对异常的授权码或软件客户端对应的设备进行报警处理;即服务器存储所有客户端的连接信息(如请求码、升级码、指纹信息等)和记录,服务基于这些大数据进行实时分析,对异常的授权码和机器进行预警,提醒管理员采取相应的措施。
或者,所述比特云服务器向第一用户提供用于查看或管理所述授权码和/或请求码的管理模块/接口;比特云提供控制台管理页面,可以对授权码、用户、机器等进行管理,如删除、添加、修改等。
或者,所述比特云服务器提供远程服务接口,以使所述软件内容提供商借助所述远程服务接口在软件内容管理系统中操作。也就是说,比特云服务器提供一组Web Service管理接口,开发商可以通过这些接口集成到开发商自己的管理系统中。
特别说明的是,上述实施例1和实施例2中的授权,可以是软件程序的全部验证授权或者部分授权,如在软件程序的入口处调用验证授权的API Login,或者在程序的重要功能或关键执行路径前执行验证授权。也就是说,开发商需要在他们的程序入口处检查授权的合法性,即调用接口Login,在该接口中会实现所说的验证过程,包括获取机器指纹,连接服务器等。
验证的方法有多种,可以调用验证接口Check,也可以调用解密接口,解密出预先加密的数据,然后使用该数据。
本实施例中所有的接口都在SDK中,SDK会有很多的接口供开发商调用,除了开发商验证授权码的接口,开发商程序中还需要定期的验证授权,这个时候用其他接口进行验证。包括后面说的加密接口,这些额外的接口是为了增强软件的安全性,防破解。
实施例3
结合图1所示,本实施例的授权方案包括以下几个部分:数据库、认证服务模块、管理系统、客户端库(即图1中的比特云库)和一些工具软件。各部分的关系图参见图1的软件用例图。
数据库用于存储产品信息、用户信息、授权信息和认证信息等各种数据。
认证服务模块,主要是提供客户的认证服务,完成授权码的产生、激活和升级,是整个系统的核心。
管理系统主要是管理授权和用户信息,是开发商的操作界面;同时提供WebService接口供客户端程序(即比特云的客户端库)和管理平台使用,同时实现对数据库的操作。
客户端库是一个嵌入客户程序的一个模块,包含动态库和静态库,负责授权与验证,加密与解密操作,客户端库可理解为上述的SDK中的一部分。
开发商工具是授权和保护的辅助工具,其中包含外壳工具可以实现程序和数字内容的保护。
角色:开发商是指使用本产品的软件开发商。第一用户是指使用开发商开发的软件人员。第二用户是使用软件的用户。
实现过程
开发商登录比特云控制台(即比特云服务器的一个模块),通过控制台产生一个产品,同时比特云服务器会自动生成产品对应的公私钥(此时的公钥放置于SDK中),然后在该产品下产生一个新的授权,并对该授权码设置相应的授权信息,授权信息包括使用时间,有效期,最大使用次数,授权终端数量,授权码连接服务器的允许激活次数,最大用户数,包含的模块信息,以及自定义数据(如权限、通知)等,把授权码发送给第一用户。第一用户将软件和授权码一并分发第二用户。
第二用户第一次打开客户端软件,由于没有授权,需要输入开发商给的授权码进行激活,激活的时候需要通过互联网连接比特云服务器进行验证,验证通过后可以正常使用软件;软件使用过程中根据开发商的设计,可能还会多次验证授权。
当用户软件关闭的时候,需要释放授权,解除对授权的占用。参见图4的工作顺序图。
软件保护过程
软件保护有两种方式,一种是开发商的程序集成安全库(即SDK),在程序的入口处调用验证授权的API Login,在程序的重要功能或关键执行路径前执行验证授权。验证的方法有多种,可以调用验证接口Check(其处于SDK中的安全库中),也可以调用解密接口,解密出预先加密的数据,然后使用该数据。
除了客户端主动调用接口连接比特云服务器进行验证,客户端调用Login登录成功之后,安全库会自动定期连接比特云服务器进行认证,和比特云服务器进行心跳连接,心跳时间可以自行设定,比如1分钟连接一次,保证比特云服务器能及时了解客户的活跃情况,当比特云服务器发现客户超过2分钟没有连接时,比特云服务器认为客户端异常中断,比特云服务器会释放该用户数,一旦服务释放该用户数,客户端的除了登录接口外其他接口调用都会失败,需要重新登录才可以继续操作。心跳的通讯协议和接口的通讯协议是一致的,只是传输的命令不同。
第二种是外壳的保护方式,对已经发布的可执行程序和动态库进行加壳加密,保护后的程序运行时,先运行外层的壳,查找对应的授权,如果授权有效,壳负责把加密后的程序进行解密,然后运行。
SDK中的库分为静态库和动态库。SDK全称为Software Development Kit,中文名称为软件开发工具包,这里的SDK会包含动态库、静态库、头文件、文档说明和一些工具软件。
管理功能
比特云控制台负责管理授权码,包括产生授权码、修改授权码、查询授权码、设置授权码的状态(是否有效)、设置授权码有效期、使用次数限制,可以踢出当前的连接,设置根据IP、机器指纹等禁用机器。
比特云控制台可以允许多个开发商登录,同一个开发商也可以有多个账号,不同的账号设置不同的权限,比如产生授权码的权限,查看授权码权限;不同的账户管理不同的授权码,不同账户间的授权码也可以分享。
查看授权码的激活、连接和使用记录,查看授权码的自定义数据,查看软件客户端连接的机器数量。查看异常的授权码和机器,然后进行相应的处理,比如禁用授权码,禁用机器等。
同时提供了一组WebService管理接口,开发商可以调用这些接口,和已有的管理系统进行对接,根据自己的需求,实现定制化的管理界面。
授权码
授权码是软件授权的身份证,授权码字符串本身不包括任何信息,只是一个唯一的标识,服务通过授权码可以到数据库中查找相应的授权信息,客户端(开发商和使用者分别对应的客户端)可以通过授权码查找对应的授权信息。授权码具备以下特性:
·唯一性,确保生成的所有的授权码都不能重复。
·可读性,客户要通过键盘输入授权码,或者通过电话传递授权码,所以要尽可能容易识别率,比如授权码中避免同时使用字母O和数字0。授权码仅包含以下32个字符:ABCEFGHIJKLMNOPQRSTUVWXY23456789。
·简洁性,授权码为了输入方便,不能太长,比如授权码长度设定为16个字符,可以根据需要适当的调整长度。
·安全性,如果授权码太容易被模拟,安全性会大大降低,授权码中采用随机数,增加暴力破解的难度。
·易用性,授权码自身必须能够自校验,用以快速判断用户输入的授权码是否正确。
授权码的产生:由服务器为每一个授权码分配一个唯一的ID,按照下面的组成方式生成授权码。
安全连接
软件客户端和比特云服务器进行通讯,采用安全连接的方式,通讯密钥采用公私密钥+对称密钥相结合的算法。如图2所示,具体步骤如下:
1)软件客户端发送请求码到比特云服务器,请求码包含产品唯一标识,授权码,产品公钥加密的特征字符串“Bitanswer”后的结果(开发商集成产品时候内嵌的),以及软件客户端时间、指纹等信息(软件客户端所属设备的时间),如果软件客户端包含证书(如具有公私钥信息的数字文件),也要包含证书的ID。
针对上述的特征字符串,可理解为开发商在软件授权时任意选取的,并将这个特征字符串放置于SDK中,软件客户端对这个特征字符串进行加密,然后放到请求码中一同发送给比特云服务器;
比特云服务器对客户端传过来的加密特征字符串后的结果进行解密,如果解密后数据是约定的数据,说明密钥是正确的,然后就可以进行后续的操作了。
2)比特云服务器收到请求码后,根据授权码和产品标识,从数据库中找到对应的产品私钥,用私钥解密数据(这个数据可为上述的软件客户端加密的特征字符串的结果),如果得到的数据和特征字符串“Bitanswer”一致,继续后面的操作,否则返回错误。
在该步骤中,私钥解密的数据可理解如下:开发商在开发软件的时候,取一些数据,调用加密接口加密,把加密后的数据放到代码(即嵌入软件内容)中,软件执行的时候,调用解密接口去解密这部分数据,如果数据一致,表明密钥是正确的,也就是授权是正确的。
3)比特云服务器判断软件客户端发过来的请求码中是否包含证书信息,如果包含,继续下一步。
否则,比特云服务器产生一对新的公私钥,基于此新的公私钥,组成客户端证书发给软件客户端,证书还包含唯一的ID,证书的生成时间等信息。新的公私钥位于证书中。
4)比特云服务器生成一个12字节的随机数,然后和appKey中的4个字节组成对称的第一加解密密钥。
5)比特云服务器把上一步生成的12字节的随机数用软件客户端的新的公钥加密,发送给软件客户端。同时服务器产生一个16字节的SessionID作为会话ID。
6)软件客户端用新的私钥解密12字节的随机数,然后和appKey组成的16字节的对称加解密密钥(即第二加解密密钥)。如果软件客户端原来没有证书,需要把证书保存到本地。
7)后面所有的通讯都是通过上面建立的对称密钥进行加解密,每次发送信息都会包含SessionID。
8)软件客户端和比特云服务器的每一次通讯,比特云服务器都会产生一个唯一的通讯ID即下述的会话ID,并发送给软件客户端,软件客户端在下次通讯的时候,需要把这个通讯ID在发送给比特云服务器。
9)当软件客户端主动退出或超时退出后,会话ID会失效,下次重新登录需要创建新的会话ID。
数据通讯格式
数据通讯采用自定义的数据格式,前面部分为数据段,数据段后面添加签名段,数据签名段包含签名的方法,签名时间,签名数据和签名的机构(签名的机器)。
除了建立安全通道外的数据传输,都是先把各种信息组成数据段,然后对该数据进行加密,加密采用AES等对称加密算法,密钥为建立安全通道过程中建立的密钥。
软件客户端程序启动运行,输入授权码,软件客户端程序根据授权码产生请求码,请求码中包含授权码、机器硬件识别码、机器日期时间和时区信息等;如果客户端曾经使用过授权,该请求码中还包括授权码的实际使用记录,比如已经使用次数,最后一次使用时间,最后一次连接服务器时间等,把请求码发送到比特云服务器等待比特云服务器认证处理后返回结果,如图4所示。
发送的格式和服务返回的格式均符合上述的数据通讯格式。
比特云服务器中的认证服务器收到软件客户端发过来的请求码后,进行一系列的验证,验证授权码的完整性,真实性,如果请求码包括授权码,需要验证授权码的合法性和有效性,比如该授权码是否被禁用,验证激活机器数量是否到达最到限制,时间是否过期等。在软件升级时,如果所有的验证都通过后,根据授权码从数据库中取出相应的授权信息,在数据中建立一条记录,并设置唯一ID作为升级ID,把该升级ID和授权信息组成一个升级码,同样升级串要包含签名,发送给软件客户端。
软件客户端收到认证服务器发送过来的升级码,首先也要验证升级码的完整性和真实性,验证本地计算机的时间是否在允许的误差范围内。软件客户端与比特云服务器升级交互中,可参照上述过程,将升级码发送比特云服务器,以进行升级的后续认证处理。
机器智能识别过程
不同的机器是通过机器不同的指纹进行识别,获取并使用的机器指纹包括CPU、硬盘(包括物理序列号和逻辑序列号)、网卡MAC(多个网卡都要获取)、主板BIOS、IP地址、机器名、用户名等,还可以包含自定义指纹,为了保护客户的隐私,并不是直接把机器指纹发送到比特云服务器,而是把获取到的机器指纹进行哈希,把哈希后的结果发送到认证服务器。
由于机器包含很多种指纹,但大部分指纹并非固定的,并非唯一的,可能会由于重新安装系统、升级硬件而发生变化,所以是否是同一台机器,会有一个对应的匹配策略,这个匹配策略由比特云服务器根据不同的使用场景进行设定,不同的软件设置不同的策略,策略可以设置很多种,或者是多种的组合,例如:
1)CPU和网卡的指纹都相同,算是同一台机器;
2)CPU、网卡和BIOS三个指纹中的任何两个相同,算是同一台机器;
3)CPU、网卡的指纹相同,同时其他五个指纹中的三个相同,算是同一台机器。
匹配策略不限于这些,这些仅是例子。
策略的定义方式为xml格式,如:
<policy><mid id=1type=1/><mid id=2type=1/><min>1</min></policy>
所有登录的机器指纹都会记录到比特云服务器的数据库中,客户端发送的机器指纹和服务器进行比较,如果和已经注册的机器匹配,返回成功,正常执行。如果和已经注册的机器不匹配,判断是否超过限定的机器台数,如果超过,返回错误,否则注册成新的机器,返回成功。
如果设置授权的并发数为一时,当软件客户端调用Login命令登录成功后,比特云服务器会记录该机器为在线机器,其他机器无法进行登录,直到该软件客户端调用Logout退出。同理,并发数可以设置为多台,允许多台机器并发使用,如图3所示。
智能预警
由于数据库和大数据的存在,为预警提供了可能。预警类型有很多种,可以根据需要随时添加,打开或关闭。
作为云服务器,服务器的可靠性就非常重要,必须能够提供更高的可靠性的服务,除了自身正常执行功能外,还要防止各种异常的访问,检测自己的状态,确保服务正常运行。
除了常规的防火墙和操作系统级别的预防外,服务端的服务会实时对客户端的连接进行统计和分析,对于不正常的连接进行预警,有效预防破解和其他非正常使用。
授权异常预警
对于每一台曾经连接过的机器,都有一个证书和唯一的通讯ID即会话ID,而且该证书和通讯ID在比特云服务器也会有相应的记录,如果软件客户端发送的和比特云服务器的不一致,说明软件客户端很可能使用的是克隆后的授权;或者该机器的指纹是克隆的或者是模拟的等等,比特云服务器可以给出预警,提醒管理员关注该授权码,必要时采取相应的措施。例如某一次通讯,比特云服务器传给了软件客户端通讯ID723,但下次软件客户端连接服务器的时候,发送给比特云服务器的却是429,说明软件客户端可能是做过系统的恢复或文件备份等操作,如果多次发生这类问题,开发商就需要对这些授权码特别关注。
一个授权码连接的IP变化过于频繁,一会儿在北京,一会儿在上海,说明这个授权码很可能被多人使用,会在预警页面上进行提醒,开发商可以根据需要进行采取相应的措施。
可疑攻击或破解
一个授权码短时间内频繁登录,比如10分钟内登录100次,很可能这个用户在尝试进行破解操作,不停的进行尝试。
一个IP短时间频繁连接服务,很可能用户在破解或对服务器进行攻击。
如果预警系统发现异常,一是会发出预警,提醒开发商进行关注;而是达到一定阀值(比如每分钟连接超过30次或一天内连接总次数超过1000次),系统会自动把问题授权码或IP加入黑名单,一定时间(比如30分钟)后,会自动解除。
需要理解的是,以上对本发明的具体实施例进行的描述只是为了说明本发明的技术路线和特点,其目的在于让本领域内的技术人员能够了解本发明的内容并据以实施,但本发明并不限于上述特定实施方式。凡是在本发明权利要求的范围内做出的各种变化或修饰,都应涵盖在本发明的保护范围内。

Claims (8)

1.一种软件内容的使用授权方法,其特征在于,所述方法包括:
101、比特云服务器接收第一用户借助于软件内容提供商客户端触发的与软件内容关联的保护指令;
102、所述比特云服务器根据所述保护指令,产生用于供第二用户基于任意设备使用所述软件内容的授权码;
103、所述比特云服务器接收任意设备中的软件客户端发送的认证请求,所述认证请求中包括携带授权码的认证信息;
其中,认证信息还包括:请求码;所述请求码为所述软件客户端根据所述软件客户端所属设备的硬件信息/机器指纹、SDK库中的信息获取的,用于标识当前设备的唯一性的信息;或者,所述请求码为对所述软件客户端根据所述软件客户端所属设备的硬件信息/机器指纹、SDK库中的信息进行哈希处理获取的,用于标识当前设备的唯一性的信息;
104、所述比特云服务器接收认证请求,将请求码中的机器指纹和比特云服务器的数据库中存储的机器指纹根据预先定义的认证策略对所述认证请求进行认证处理,若认证合格,则建立所述软件客户端与所述比特云服务器的用于数据交互的安全通讯通道,所有用于授权软件内容的相关信息借助于安全通讯通道从比特云服务器获取,软件客户端所属的设备不保存所有用于授权软件内容的相关信息;
在认证合格之后,所述比特云服务器生成一个一次性的认证标识码,并将生成的认证标识码存储在数据库中,所述比特云服务器将所述认证标识码发送所述认证请求对应的软件客户端,以使所述软件客户端进行数据交互时携带所述认证标识码;
其中,所述步骤104中的“将请求码中的机器指纹和比特云服务器的数据库中存储的机器指纹根据预先定义的认证策略对所述认证请求进行认证处理”包括:
若在步骤103中所述比特云服务器首次接收所述认证请求,则所述比特云服务器将所述请求码中的机器指纹保存在数据库中;
若在步骤103中所述比特云服务器非首次接收所述认证请求,则所述比特云服务器将所述请求码中的机器指纹和所述数据库中存储的机器指纹,依据根据预先定义的认证策略进行比较;
所属设备的硬件信息/机器指纹包括下述的至少三种:CPU序列号、主板BIOS序列号、硬盘物理序列号、硬盘逻辑序列号、网卡MAC地址、IP地址、设备名称、设备的用户名称、比特ID/比特安索生产的USB硬件设备、开发商自定义识别码。
2.根据权利要求1所述的方法,其特征在于,
所述请求码中还包括所述软件客户端所属设备产生的随机因子和/或自校验的签名信息;
任意终端在不同时刻生成的请求码均不相同;
所述SDK是第二用户借助于软件内容提供商客户端与比特云服务器交互产生的涉及软件授权的信息的库。
3.根据权利要求1所述的方法,其特征在于,所述认证信息包括:所述比特云服务器根据所述保护指令生成的软件内容的公私钥对中的公钥加密的数据和授权信息;
所述授权信息包括下述的一种或多种:软件内容的使用时间、软件内容的有效期、软件内容的最大使用次数、与所述软件内容相关的允许激活次数、使用所述软件内容的最大终端数量。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述比特云服务器根据所述数据库中的存储信息进行数据分析,获取异常的授权码或软件客户端对应的设备的机器指纹,并对异常的授权码或异常机器指纹的设备进行报警处理;
或者,所述比特云服务器向第一用户提供用于查看或管理所述授权码和/或请求码的管理模块;
或者,所述比特云服务器提供远程服务接口,以使所述软件内容提供商借助所述远程服务接口在软件内容管理系统中操作;
或者,
所述比特云服务器周期性接收建立安全通讯通道的软件客户端的心跳信息,以确定所述软件客户端所属设备处于正常连接状态;
若所述比特云服务器在预设时间段内没有接收到所述心跳信息,则确定所述软件客户端所属设备端处于异常状态,关闭所述安全通讯通道,并释放所述软件客户端所属设备。
5.根据权利要求1所述的方法,其特征在于,步骤101之前,所述方法还包括:
所述第一用户基于待授权保护的软件内容,在软件内容提供商的客户端操作,以获取与待授权保护的软件内容对应的SDK;
SDK用于嵌入待分发第二用户的软件。
6.根据权利要求5所述的方法,其特征在于,SDK包括:软件内容提供商的客户端生成的公钥、appkey密码和/或软件产品标识。
7.根据权利要求5所述的方法,其特征在于,步骤104中的建立所述软件客户端与所述比特云服务器的用于数据交互的安全通讯通道,包括:
1041、所述比特云服务器接收所述软件客户端发送的请求码,所述请求码包括下述的一种或多种:
软件客户端所属设备的时间、机器指纹、证书的ID和SDK中的软件产品标识、公钥、特征字符串、appkey密码;
1042、所述比特云服务器根据产品标识,从数据库中找到与产品标识匹配的私钥,并采用私钥解密需要和特征字符串匹配的数据,将解密的数据和特征字符串进行匹配;
1043、若配对错误,则结束,否则,查看请求码中是否包括证书的ID;
1044、如果包括证书的ID,则比特云服务器生成第一随机数,将第一随机数和appkey密码组成第一加解密密钥;
1045、所述比特云服务器将第一随机数采用证书ID所属的公钥加密,并将该公钥加密后的第一随机数发送软件客户端;以使客户端采用证书ID所属的私钥解密第一随机数,并基于第一随机数和appkey密码组成客户端使用的第二加解密密钥,第二加解密密钥和第一加解密密钥对应,并用于对发送和接收比特云服务器的数据进行加解密;
1046、所述比特云服务器生成与软件客户端进行通讯的会话ID,并基于第一加解密密钥对发送软件客户端的包括会话ID的数据进行加密,以及基于第一加解密密钥对接收软件客户端发送的包括会话ID的数据进行解密。
8.根据权利要求7所述的方法,其特征在于,所述步骤1043之后,步骤1044之前,还包括:
若请求码中没有证书的ID,则服务器产生一对新的公钥和私钥,并基于新的公钥和私钥,生成用于发送软件客户端的证书,证书包括证书的ID,证书的生成时间、新的公钥、私钥;
所述比特云服务器接收软件客户端接收证书之后,返回的证书的ID。
CN201910471967.0A 2019-05-31 2019-05-31 一种软件内容的使用授权方法 Active CN110162936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910471967.0A CN110162936B (zh) 2019-05-31 2019-05-31 一种软件内容的使用授权方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910471967.0A CN110162936B (zh) 2019-05-31 2019-05-31 一种软件内容的使用授权方法

Publications (2)

Publication Number Publication Date
CN110162936A CN110162936A (zh) 2019-08-23
CN110162936B true CN110162936B (zh) 2020-03-31

Family

ID=67630508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910471967.0A Active CN110162936B (zh) 2019-05-31 2019-05-31 一种软件内容的使用授权方法

Country Status (1)

Country Link
CN (1) CN110162936B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110717170B (zh) * 2019-10-09 2023-08-11 江苏重华数字科技有限公司 一种bim系统指纹登陆系统、方法及其装置
CN111125677A (zh) * 2019-12-24 2020-05-08 苏州思必驰信息科技有限公司 设备授权方法及系统
CN111046367B (zh) * 2019-12-24 2022-05-03 思必驰科技股份有限公司 语音设备鉴权方法及系统
CN111404946B (zh) * 2020-03-19 2023-06-06 北京比特安索信息技术有限公司 基于浏览器的账户认证方法及服务器
CN111597545B (zh) * 2020-05-19 2021-08-31 北京海泰方圆科技股份有限公司 一种授权管理方法及装置
CN111698255B (zh) * 2020-06-15 2022-07-22 南京领行科技股份有限公司 一种业务数据传输方法、设备及系统
CN111859364A (zh) * 2020-07-29 2020-10-30 杭州安恒信息技术股份有限公司 一种权限认证方法、装置、设备及存储介质
CN112364307B (zh) * 2020-09-30 2024-03-12 深圳市为汉科技有限公司 软件授权方法及相关设备
CN112235276B (zh) * 2020-10-09 2023-04-18 三星电子(中国)研发中心 主从设备交互方法、装置、系统、电子设备和计算机介质
CN112749378A (zh) * 2021-01-20 2021-05-04 京东数科海益信息科技有限公司 开发工具包的验证方法和装置、存储介质、电子装置
CN113326480B (zh) * 2021-06-01 2024-02-20 北京联创新天科技有限公司 一种应用程序的授权校验方法、装置、介质及设备
CN113254887A (zh) * 2021-06-04 2021-08-13 统信软件技术有限公司 一种应用程序的授权方法、计算设备以及存储介质
CN113393551A (zh) * 2021-06-30 2021-09-14 赛诺联合医疗科技(北京)有限公司 一种基于云服务器的影像系统
CN113343185B (zh) * 2021-08-02 2021-10-22 统信软件技术有限公司 一种客户端应用的授权方法、计算设备及存储介质
CN113641423B (zh) * 2021-08-31 2023-07-07 青岛海信传媒网络技术有限公司 显示设备及系统启动方法
CN114386075A (zh) * 2022-01-14 2022-04-22 建信金融科技有限责任公司 数据传输通道建立、数据传输方法、装置、设备及介质
CN114745149B (zh) * 2022-02-17 2023-12-05 惠州市博实结科技有限公司 一种软件授权管理方法
CN114282176B (zh) * 2022-03-02 2022-06-21 南京安元科技有限公司 一种软件授权双向加密系统及加密方法
CN114710332B (zh) * 2022-03-23 2023-09-15 新华三技术有限公司 一种许可防克隆方法及装置
CN115001801B (zh) * 2022-05-30 2023-05-30 北京沸铜科技有限公司 一种基于区块链的数字内容异构链跨链授权方法
CN115587342B (zh) * 2022-11-28 2023-11-07 金现代信息产业股份有限公司 一种软件产品授权许可保护系统及方法
CN116305295B (zh) * 2023-05-18 2023-07-21 深圳凡泰极客科技有限责任公司 用于下发小程序的方法及平台

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012989A (zh) * 2010-12-07 2011-04-13 江苏风云网络服务有限公司 软件即服务中基于门限与密钥的授权方法
CN104361267A (zh) * 2014-11-19 2015-02-18 厦门海迈科技股份有限公司 基于非对称加密算法的软件授权与保护装置及方法
CN105471810A (zh) * 2014-05-28 2016-04-06 北京奇虎科技有限公司 软件授权信息的验证方法及系统
CN106878007A (zh) * 2017-02-08 2017-06-20 飞天诚信科技股份有限公司 一种授权方法及系统
CN107835162A (zh) * 2017-10-18 2018-03-23 北京深思数盾科技股份有限公司 软件数字许可服务器签发软件数字许可权限的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012989A (zh) * 2010-12-07 2011-04-13 江苏风云网络服务有限公司 软件即服务中基于门限与密钥的授权方法
CN105471810A (zh) * 2014-05-28 2016-04-06 北京奇虎科技有限公司 软件授权信息的验证方法及系统
CN104361267A (zh) * 2014-11-19 2015-02-18 厦门海迈科技股份有限公司 基于非对称加密算法的软件授权与保护装置及方法
CN106878007A (zh) * 2017-02-08 2017-06-20 飞天诚信科技股份有限公司 一种授权方法及系统
CN107835162A (zh) * 2017-10-18 2018-03-23 北京深思数盾科技股份有限公司 软件数字许可服务器签发软件数字许可权限的方法

Also Published As

Publication number Publication date
CN110162936A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110162936B (zh) 一种软件内容的使用授权方法
US7270193B2 (en) Method and system for distributing programs using tamper resistant processor
US8572689B2 (en) Apparatus and method for making access decision using exceptions
US8726339B2 (en) Method and apparatus for emergency session validation
CN109361668A (zh) 一种数据可信传输方法
US8806602B2 (en) Apparatus and method for performing end-to-end encryption
US20130046696A1 (en) Method and Apparatus for Object Transaction Session Validation
US9055061B2 (en) Process of authentication for an access to a web site
JP2004295271A (ja) カード及びパスコード生成器
US20130047248A1 (en) Apparatus and Method for Determining Subject Assurance Level
US8752157B2 (en) Method and apparatus for third party session validation
CN114186199B (zh) 许可授权方法及装置
JP5013931B2 (ja) コンピューターログインをコントロールする装置およびその方法
US20130047204A1 (en) Apparatus and Method for Determining Resource Trust Levels
CN111143822A (zh) 一种应用系统访问方法及装置
CN112765626A (zh) 基于托管密钥授权签名方法、装置、系统及存储介质
WO2008053279A1 (en) Logging on a user device to a server
US20130047211A1 (en) Method and apparatus for network session validation
US8584202B2 (en) Apparatus and method for determining environment integrity levels
CN113872989A (zh) 基于ssl协议的认证方法、装置、计算机设备和存储介质
CN117375986A (zh) 一种应用访问方法、装置、服务器
CN112383577A (zh) 授权方法、装置、系统、设备和存储介质
US20130047199A1 (en) Method and Apparatus for Subject Recognition Session Validation
CN111740938B (zh) 信息处理方法、装置、客户端和服务器
US8572688B2 (en) Method and apparatus for session validation to access third party resources

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant