一种应用程序认证系统及认证方法技术方案

技术编号:20177334 阅读:36 留言:0更新日期:2019-01-23 00:32
本发明专利技术提供了一种应用程序认证系统及认证方法,认证系统包括认证终端和应用程序认证模块,应用程序认证模块包括生成第一真随机数的第一真随机数生成模块;根据第一真随机数和从认证终端获取的第二真随机数生成第一认证密钥的第一认证密钥生成模块;比较第一认证密钥与从认证终端获取的第二认证密钥是否一致的鉴定子模块。认证终端包括:生成第二真随机数第二真随机数生成模块;对应用程序的被使用次数与预设次数上限进行比较的认证次数鉴定模块;根据第一真随机数和第二真随机数生成第二认证密钥的第二认证密钥生成模块。本发明专利技术提供的技术方案,保证了应用开发商提供的应用程序使用范围的安全性和使用次数的可控性。

An Application Authentication System and Authentication Method

The invention provides an application authentication system and an authentication method. The authentication system includes an authentication terminal and an application authentication module. The application authentication module includes a first true random number generation module to generate the first true random number, and a first authentication key generation module to generate the first authentication key based on the first true random number and the second true random number obtained from the authentication terminal. An authentication sub-module comparing the first authentication key with the second authentication key obtained from the authentication terminal. Authentication terminal includes: generating the second true random number generating module; authenticating the number of times an application is used to compare with the upper limit of the preset number of times; generating the second authenticated key generating module of the second authenticated key according to the first true random number and the second true random number. The technical scheme provided by the invention ensures the security of the application scope and the controllability of the number of times of use provided by the application developer.

【技术实现步骤摘要】
一种应用程序认证系统及认证方法
本专利技术涉及应用程序认证,具体涉及一种应用程序认证系统及认证方法。
技术介绍
COS为ChipOperatingSystem,称作片内操作系统。随着内部带有微处理器的智能卡与安全芯片的出现,使得管理卡片本身这种复杂的工作的实现成为了现实。COS的出现不仅大大地改善了卡片与读写器的交互,使用更安全,而且使得智能卡本身向着个人计算机化的方向迈进了一大步。COS的主要功能是控制智能卡与外界的信息交换,管理卡内的存储器并在卡内部完成各种命令的处理。装载以汇编语言、C语言等本地语言开发COS的卡称为Native卡,在Native卡中,COS平台和应用一般不会分开开发。同一个厂家,既进行COS平台的开发,又进行应用的开发。装载JavaCard平台的卡称为Java卡,Java卡是Java技术与智能卡技术相结合的产物,是一种新型的智能卡系统。它将Java语言的面向对象、跨平台以及高安全性等特性引入到智能卡中。Java卡引入统一标准的应用编程接口(ApplicationProcessingInterface,API),使得Java卡平台和应用开发可以分离。Java卡API是Java卡运行环境的重要组成部分之一,它提供了一套统一的用于应用开发的编程接口,包括IO接口、异常管理、安全管理等接口,使得应用开发与平台开发可以完全分离。Java卡上的应用可以使用标准的API进行编程和调试,生成可下载文件(CAP文件)。在卡片发行后,可以再进行应用的下载、安装和删除等应用管理。当应用和平台开发分离后,任何一家调用标准API开发的应用都能装载到另一家提供相同版本API的Java卡平台上。这样,在商业合作中,一个应用开发商的应用可以提供给另一个平台开发商的平台进行发行,来合作开发产品。在这个过程中,应用开发商的应用生成的可下载的应用程序(CAP文件)需要提供给平台开发商。这样,应用程序就有被盗用或超出商用合同约定的项目和使用次数的风险。项目合作完成后,平台开发商还可以继续发行使用该应用程序,这样,对应用提供商来说,存在很大的风险。因此,需要找到一个方法来保护应用程序的使用。
技术实现思路
现有的Java卡合作开发模式中,应用开发商的可下载文件(CAP文件)可能需要提供给平台开发商来进行发行。在发行过程中,存在CAP文件被随意使用,并超出合同约定的使用次数的情况。在传送过程中,也可能发生CAP文件的遗失或被盗取的情况,使得应用的CAP文件得不到有效的安全防护。本专利技术使用技术手段来防止上述现象的发生,以保证应用开发商提供的应用程序(CAP文件)使用范围的安全性和使用次数的可控性,并可以使得与项目无关的他人获取到该应用程序后,不能随意使用。本专利技术提供一种应用程序认证模块,包括:第一真随机数生成模块,用于生成第一真随机数;第一认证密钥生成模块,用于根据第一真随机数和从认证终端获取的第二真随机数生成第一认证密钥;鉴定子模块,用于比较第一认证密钥与从认证终端获取的第二认证密钥是否一致,若一致则应用程序的功能允许被外部设备调用;否则不允许被调用。第一认证密钥生成模块包括:第一过程密钥生成子模块,用于根据应用程序认证模块存储的固定密钥和从认证终端获取的第二真随机数生成第一过程密钥;第一认证密钥生成子模块,用于根据第一真随机数和第一过程密钥生成第一认证密钥。所述应用程序认证模块还包括:用于存储固定密钥的存储模块。本专利技术提供一种认证终端,包括:第二真随机数生成模块,用于生成第二真随机数;认证次数鉴定模块,用于从应用程序认证模块获取第一真随机数,并对应用程序的被使用次数与预设次数上限进行比较,若被使用次数加1后未超出预设次数上限,则通过第二认证密钥生成模块生成第二认证密钥;否则将第一真随机数退回应用程序认证模块;第二认证密钥生成模块,用于根据第一真随机数和第二真随机数生成第二认证密钥。所述第二认证密钥生成模块包括:第二过程密钥生成子模块,用于根据认证终端存储的固定密钥和第二真随机数生成第二过程密钥;第二认证密钥生成子模块,用于根据第一真随机数和第二过程密钥生成第二认证密钥。所述认证终端还包括:存储模块,用于存储应用程序的被使用次数和预设次数上限,以及固定密钥。本专利技术提供一种应用程序认证系统,包括:如上所述的应用程序认证模块以及所述的认证终端。本专利技术提供一种应用程序认证方法,包括:应用程序认证模块将生成的第一真随机数发送至认证终端;所述认证终端对应用程序的被使用次数与预设次数上限进行比较,若被使用次数加1后未超过预设次数上限,则所述认证终端根据第一真随机数和认证终端产生的第二真随机数生成第二认证密钥并发送至所述应用程序认证模块;否则将第一真随时数退回应用程序认证模块;所述应用程序认证模块根据第一真随机数和从认证终端获取的第二认证密钥中的第二真随机数生成第一认证密钥,并比较所述第一认证密钥与第二认证密钥是否一致,若一致则应用程序的功能允许被外部设备调用;否则不允许被调用。所述认证终端根据第一真随机数和认证终端产生的第二真随机数生成第二认证密钥包括:所述认证终端生成第二真随机数;所述认证终端对其存储的固定密钥和第二真随机数加密生成第二过程密钥;所述认证终端对第一真随机数和第二过程密钥加密生成第二认证密钥。所述应用程序认证模块根据第一真随机数和从认证终端获取的第二认证密钥中的第二真随机数生成第一认证密钥包括:所述应用程序认证模块对其存储的固定密钥和从认证终端获取的第二认证密钥中的第二真随机数加密生成第一过程密钥;所述应用程序认证模块对第一真随机数和第一过程密钥加密生成第一认证密钥。生成所述第一过程密钥的加密算法与生成所述第二过程密钥的加密算法相同;生成所述第一认证密钥的加密算法与生成所述第二认证密钥的加密算法相同。本专利技术提供一种应用程序认证模块,包括:第一真随机数生成模块,用于生成第一真随机数;第一认证密钥验证模块,用于验证从认证终端获取的第二认证密钥中解密生成的第一真随机数、第二真随机数与第一真随机数生成模块生成的第一真随机数和从认证终端获取的第二真随机数的一致性,若均一致,则应用程序的功能允许被外部设备调用;否则不允许被调用。第一认证密钥验证模块包括:第一认证密钥验证子模块,用于对从认证终端获取的第二认证密钥进行解密生成第二过程密钥和第一真随机数,并验证该第一真随机数与第一真随机数生成模块生成的第一随机数的一致性;第一过程密钥验证子模块,用于对第二认证密钥解密生成的第二过程密钥进行解密后生成第二随机数,并验证该第二真随机数与从认证终端获取的第二真随机数的一致性;执行子模块,若第一认证密钥验证子模块和第一过程密钥验证子模块验证一致性均通过,则应用程序的功能允许被外部设备调用;否则不允许被调用。本专利技术提供一种认证系统,包括:上述应用程序认证模块中的一种和认证终端。本专利技术提供一种认证方法,包括:应用程序认证模块将生成的第一真随机数发送至认证终端;所述认证终端对应用程序的被使用次数与预设次数上限进行比较,若被使用次数加1后未超过预设次数上限,则所述认证终端根据第一真随机数和认证终端产生的第二真随机数生成第二认证密钥并发送至所述应用程序认证模块;否则将第一真随时数退回应用程序认证模块;所述应用程序认证模块根据从认证终端获取的第二认本文档来自技高网
...

【技术保护点】
1.一种应用程序认证模块,其特征在于,包括:第一真随机数生成模块,用于生成第一真随机数;第一认证密钥生成模块,用于根据第一真随机数和从认证终端获取的第二真随机数生成第一认证密钥;鉴定子模块,用于比较第一认证密钥与从认证终端获取的第二认证密钥是否一致,若一致则应用程序的功能允许被外部设备调用;否则不允许被调用。

【技术特征摘要】
1.一种应用程序认证模块,其特征在于,包括:第一真随机数生成模块,用于生成第一真随机数;第一认证密钥生成模块,用于根据第一真随机数和从认证终端获取的第二真随机数生成第一认证密钥;鉴定子模块,用于比较第一认证密钥与从认证终端获取的第二认证密钥是否一致,若一致则应用程序的功能允许被外部设备调用;否则不允许被调用。2.如权利要求1所述的应用程序认证模块,其特征在于,第一认证密钥生成模块包括:第一过程密钥生成子模块,用于根据应用程序认证模块存储的固定密钥和从认证终端获取的第二真随机数生成第一过程密钥;第一认证密钥生成子模块,用于根据第一真随机数和第一过程密钥生成第一认证密钥。3.一种认证终端,其特征在于,包括:第二真随机数生成模块,用于生成第二真随机数;认证次数鉴定模块,用于从应用程序认证模块获取第一真随机数,并对应用程序的被使用次数与预设次数上限进行比较,若被使用次数加1后未超出预设次数上限,则通过第二认证密钥生成模块生成第二认证密钥;否则将第一真随机数退回应用程序认证模块;第二认证密钥生成模块,用于根据第一真随机数和第二真随机数生成第二认证密钥。4.如权利要求3所述的认证终端,其特征在于,所述第二认证密钥生成模块包括:第二过程密钥生成子模块,用于根据认证终端存储的固定密钥和第二真随机数生成第二过程密钥;第二认证密钥生成子模块,用于根据第一真随机数和第二过程密钥生成第二认证密钥。5.如权利要求4所述的认证终端,其特征在于,所述认证终端还包括:存储模块,用于存储应用程序的被使用次数和预设次数上限,以及固定密钥。6.一种应用程序认证系统,其特征在于,包括:如权利要求1或2所述的应用程序认证模块,以及如权利要求3-5任一所述的认证终端。7.一种应用程序认证方法,其特征在于,包括:应用程序认证模块将生成的第一真随机数发送至认证终端;所述认证终端对应用程序的被使用次数与预设次数上限进行比较,若被使用次数加1后未超过预设次数上限,则所述认证终端根据第一真随机数和认证终端产生的第二真随机数生成第二认证密钥并发送至所述应用程序认证模块;否则将第一真随时数退回应用程序认证模块;所述应用程序认证模块根据第一真随机数和从认证终端获取的第二认证密钥中的第二真随机数生成第一认证密钥,并比较所述第一认证密钥与第二认证密钥是否一致,若一致则应用程序的功能允许被外部设备调用;否则不允许被调用。8.如权利要求7所述的认证方法,其特征在于,所述认证终端根据第一真随机数和认证终端产生的第二真随机数生成第二认证密钥包括:所述认证终端生成第二真随机数;所述认证终端对其存储的固定密钥和第二真随机数加密生成第二过程密钥;所述认证终端对第一真随机数和第二过程密钥加密生成第二认证密钥。9.如权利要求8所述的认证方法,其特征在于,所述应用程序认证模块根据第一真随机数和从认证终端获取的第二认证密钥中的第二真随机数生成第一认证密钥包括:所述应用程序认证模块对其存储的固定密钥和从认证终端获取的第二认证密钥中的第二真随机数加密生成第一过程密钥;所述应用程序认证模块对第一真随机数和第一过程密钥加密生成第一认证密钥。10.如权利要求9所述的认证方...

【专利技术属性】
技术研发人员:盛万兴李二霞史常凯李玉凌孟晓丽许保平刘海涛张波常方圆何连杰
申请(专利权)人:中国电力科学研究院国家电网公司
类型:发明
国别省市:北京,11

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

1