书签 分享 收藏 举报 版权申诉 / 22

一种基于STK菜单对软件进行授权的方法及系统.pdf

  • 上传人:000****221
  • 文档编号:5888416
  • 上传时间:2019-03-29
  • 格式:PDF
  • 页数:22
  • 大小:2.14MB
  • 摘要
    申请专利号:

    CN201510267417.9

    申请日:

    2015.05.22

    公开号:

    CN104850811A

    公开日:

    2015.08.19

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06K 7/00申请日:20150522|||公开

    IPC分类号:

    G06K7/00; G06K19/073

    主分类号:

    G06K7/00

    申请人:

    东信和平科技股份有限公司

    发明人:

    张汉就; 郑爱华; 徐美燕

    地址:

    519060广东省珠海市南屏科技工业园屏工中路8号

    优先权:

    专利代理机构:

    北京集佳知识产权代理有限公司11227

    代理人:

    屈慧丽; 曹志霞

    PDF完整版下载: PDF下载
    内容摘要

    本发明实施例公开了一种基于STK菜单对软件进行授权的方法及系统,解决了现有的软件授权方式由于仅通过软件识别码及相对应的主金钥对软件进行加密保护,对智能卡进行通过软件识别码及相对应的主金钥进行解密的方式。现有方式虽然实现了授权,但由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题。本发明实施例基于STK菜单对软件进行授权的方法包括:按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限;向智能卡发送STK指令获取授权软件的可授权次数;判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存。

    权利要求书

    权利要求书
    1.  一种基于STK菜单对软件进行授权的方法,其特征在于,包括:
    按照预置认证步骤对智能卡进行认证,并获取浏览所述智能卡的STK菜单权限;
    向所述智能卡发送STK指令获取授权软件的可授权次数;
    判断与所述授权次数对应数量的智能卡的ICCID是否已授权,若否,则对所述智能卡进行授权处理,并将授权后的所述智能卡的所述ICCID进行储存。

    2.  根据权利要求1所述的基于STK菜单对软件进行授权的方法,其特征在于,向所述智能卡发送STK指令获取授权软件的可授权次数具体包括:
    向所述智能卡发送STK指令获取授权软件的可授权次数;
    判断所述可授权次数是否大于0,若是,则提取起始授权的所述智能卡对应的起始ICCID,以及预置的智能卡已授权数量。

    3.  根据权利要求2所述的基于STK菜单对软件进行授权的方法,其特征在于,判断与所述授权次数对应数量的智能卡的ICCID是否已授权,若否,则对所述智能卡进行授权处理,并将授权后的所述智能卡的所述ICCID进行储存具体包括:
    判断与所述授权次数对应数量的智能卡的ICCID是否已授权,若否,则向所述智能卡发送所述STK指令,写入剩余授权次数,授权后的所述智能卡对应的所述ICCID和所述智能卡已授权数量;
    将授权后的所有所述ICCID进行本地储存;
    其中,所述剩余授权次数为所述可授权次数和所述智能卡已授权数量的差值。

    4.  根据权利要求3所述的基于STK菜单对软件进行授权的方法,其特征在于,将授权后的所述ICCID进行本地储存之后还包括:
    通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览所述智能卡的所述STK菜单权限;
    通过所述操作动态库向所述智能卡发送所述STK指令,获取授权后的所述智能卡对应的所述起始ICCID和所述智能卡已授权数量;
    所述操作动态库根据所述起始ICCID和所述智能卡已授权数量获取授权 后的所有所述ICCID。

    5.  根据权利要求1或4所述的基于STK菜单对软件进行授权的方法,其特征在于,按照预置认证步骤对智能卡进行认证,并获取浏览所述智能卡的STK菜单权限之前还包括:
    通过授权软件按照预置认证步骤对智能卡进行认证,以获取浏览所述智能卡的所述STK菜单权限;
    通过所述授权软件向所述智能卡发送所述STK指令,对所述可授权次数进行设置。

    6.  根据权利要求5所述的基于STK菜单对软件进行授权的方法,其特征在于,所述预置认证步骤具体包括:
    通过调用程序调用所述智能卡产生第一随机数,并进行临时保存;
    通过所述调用程序使用DES算法对所述第一随机数进行加密计算,并返回对应的密文数据;
    通过所述调用程序将所述密文数据发送至所述智能卡进行DES算法解密获取第二随机数;
    将所述第一随机数和所述第二随机数进行比对,若所述第一随机数和所述第二随机数相等,则认证成功。

    7.  一种基于STK菜单对软件进行授权的系统,其特征在于,包括第一授权端;
    所述第一授权端包括:
    第一认证单元,用于按照预置认证步骤对智能卡进行认证,并获取浏览所述智能卡的STK菜单权限;
    第一获取单元,用于向所述智能卡发送STK指令获取授权软件的可授权次数;
    判断单元,用于判断与所述授权次数对应数量的智能卡的ICCID是否已授权,若否,则对所述智能卡进行授权处理,并将授权后的所述智能卡的所述ICCID进行储存。

    8.  根据权利要求7所述的基于STK菜单对软件进行授权的系统,其特征在于,所述第一获取单元具体包括:
    获取子单元,用于向所述智能卡发送STK指令获取授权软件的可授权次数;
    第一判断子单元,用于判断所述可授权次数是否大于0,若是,则提取起始授权的所述智能卡对应的起始ICCID,以及预置的智能卡已授权数量;
    所述判断单元具体包括:
    第二判断子单元,用于判断与所述授权次数对应数量的智能卡的ICCID是否已授权,若否,则向所述智能卡发送所述STK指令,写入剩余授权次数,授权后的所述智能卡对应的所述ICCID和所述智能卡已授权数量;
    储存子单元,用于将授权后的所有所述ICCID进行本地储存;
    其中,所述剩余授权次数为所述可授权次数和所述智能卡已授权数量的差值。

    9.  根据权利要求7或8所述的基于STK菜单对软件进行授权的系统,其特征在于,基于STK菜单对软件进行授权的系统还包括业务使用端;
    所述业务使用端具体包括:
    第二认证单元,用于通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览所述智能卡的所述STK菜单权限;
    第二获取单元,用于通过所述操作动态库向所述智能卡发送所述STK指令,获取授权后的所述智能卡对应的所述起始ICCID和所述智能卡已授权数量;
    第三获取单元,用于所述操作动态库根据所述起始ICCID和所述智能卡已授权数量获取授权后的所有所述ICCID。

    10.  根据权利要求9所述的基于STK菜单对软件进行授权的系统,其特征在于,基于STK菜单对软件进行授权的系统还包括第二授权端;
    所述第二授权端包括:
    第三认证单元,用于通过授权软件按照预置认证步骤对智能卡进行认证,以获取浏览所述智能卡的所述STK菜单权限;
    设置单元,用于通过所述授权软件向所述智能卡发送所述STK指令,对所述可授权次数进行设置。

    11.  根据权利要求10所述的基于STK菜单对软件进行授权的系统,其特 征在于,所述预置认证步骤具体包括:
    通过调用程序调用所述智能卡产生第一随机数,并进行临时保存;
    通过所述调用程序使用DES算法对所述第一随机数进行加密计算,并返回对应的密文数据;
    通过所述调用程序将所述密文数据发送至所述智能卡进行DES算法解密获取第二随机数;
    将所述第一随机数和所述第二随机数进行比对,若所述第一随机数和所述第二随机数相等,则认证成功。

    说明书

    说明书一种基于STK菜单对软件进行授权的方法及系统
    技术领域
    本发明涉及智能卡检测技术领域,尤其涉及一种基于STK菜单对软件进行授权的方法及系统。
    背景技术
    智能卡(Smart Card),内嵌有微芯片的塑料卡(通常是一张信用卡的大小)的通称。一些智能卡包含一个RFID芯片,所以它们不需要与读写器的任何物理接触就能够识别持卡人。智能卡配备有CPU和RAM,可自行处理数量较多的数据而不会干扰到主机CPU的工作。智能卡还可过滤错误的数据,以减轻主机CPU的负担。适应于端口数目较多且通信速度需求较快的场合。卡内的集成电路包括中央处理器CPU、可编程只读存储器EEPROM、随机存储器RAM和固化在只读存储器ROM中的卡内操作系统COS(Chip Operating System)。卡中数据分为外部读取和内部处理部分。
    随着智能卡的广泛使用,对智能卡的要求也越来越高,同时智能卡需要进行授权以辅助管理生产数据,因此,对智能卡的授权方式也多种,目前常用的是软件授权方式对智能卡进行授权,现有的软件授权方法可在多个领域普遍应用,但在智能卡领域,由于智能卡软件均需要使用到智能卡读卡器,同时,智能卡本身又是非常安全的,因此可使用智能卡对软件进行授权,此种方法可以提高软件授权的安全性,能够避免被破解和复制。
    然而现有的软件授权方式,由于仅通过软件识别码及相对应的主金钥对软件进行加密保护,对智能卡进行通过软件识别码及相对应的主金钥进行解密。虽然实现了授权,但由于安全性较低,导致了软件加密算法的安全性远远不如硬件,极易被破解的技术问题。
    发明内容
    本发明实施例提供了一种基于STK菜单对软件进行授权的方法及系统,解决了现有的软件授权方式由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题。
    本发明实施例中提供的一种基于STK菜单对软件进行授权的方法,包括:
    按照预置认证步骤对智能卡进行认证,并获取浏览所述智能卡的STK菜 单权限;
    向所述智能卡发送STK指令获取授权软件的可授权次数;
    判断与所述授权次数对应数量的智能卡的ICCID是否已授权,若否,则对所述智能卡进行授权处理,并将授权后的所述智能卡的所述ICCID进行储存。
    优选地,向所述智能卡发送STK指令获取授权软件的可授权次数具体包括:
    向所述智能卡发送STK指令获取授权软件的可授权次数;
    判断所述可授权次数是否大于0,若是,则提取起始授权的所述智能卡对应的起始ICCID,以及预置的智能卡已授权数量。
    优选地,判断与所述授权次数对应数量的智能卡的ICCID是否已授权,若否,则对所述智能卡进行授权处理,并将授权后的所述智能卡的所述ICCID进行储存具体包括:
    判断与所述授权次数对应数量的智能卡的ICCID是否已授权,若否,则向所述智能卡发送所述STK指令,写入剩余授权次数,授权后的所述智能卡对应的所述ICCID和所述智能卡已授权数量;
    将授权后的所有所述ICCID进行本地储存;
    其中,所述剩余授权次数为所述可授权次数和所述智能卡已授权数量的差值。
    优选地,将授权后的所述ICCID进行本地储存之后还包括:
    通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览所述智能卡的所述STK菜单权限;
    通过所述操作动态库向所述智能卡发送所述STK指令,获取授权后的所述智能卡对应的所述起始ICCID和所述智能卡已授权数量;
    所述操作动态库根据所述起始ICCID和所述智能卡已授权数量获取授权后的所有所述ICCID。
    优选地,按照预置认证步骤对智能卡进行认证,并获取浏览所述智能卡的STK菜单权限之前还包括:
    通过授权软件按照预置认证步骤对智能卡进行认证,以获取浏览所述智 能卡的所述STK菜单权限;
    通过所述授权软件向所述智能卡发送所述STK指令,对所述可授权次数进行设置。
    优选地,所述预置认证步骤具体包括:
    通过调用程序调用所述智能卡产生第一随机数,并进行临时保存;
    通过所述调用程序使用DES算法对所述第一随机数进行加密计算,并返回对应的密文数据;
    通过所述调用程序将所述密文数据发送至所述智能卡进行DES算法解密获取第二随机数;
    将所述第一随机数和所述第二随机数进行比对,若所述第一随机数和所述第二随机数相等,则认证成功。
    本发明实施例中提供的一种基于STK菜单对软件进行授权的系统,包括第一授权端;
    所述第一授权端包括:
    第一认证单元,用于按照预置认证步骤对智能卡进行认证,并获取浏览所述智能卡的STK菜单权限;
    第一获取单元,用于向所述智能卡发送STK指令获取授权软件的可授权次数;
    判断单元,用于判断与所述授权次数对应数量的智能卡的ICCID是否已授权,若否,则对所述智能卡进行授权处理,并将授权后的所述智能卡的所述ICCID进行储存。
    优选地,所述第一获取单元具体包括:
    获取子单元,用于向所述智能卡发送STK指令获取授权软件的可授权次数;
    第一判断子单元,用于判断所述可授权次数是否大于0,若是,则提取起始授权的所述智能卡对应的起始ICCID,以及预置的智能卡已授权数量;
    所述判断单元具体包括:
    第二判断子单元,用于判断与所述授权次数对应数量的智能卡的ICCID是否已授权,若否,则向所述智能卡发送所述STK指令,写入剩余授权次数, 授权后的所述智能卡对应的所述ICCID和所述智能卡已授权数量;
    储存子单元,用于将授权后的所有所述ICCID进行本地储存;
    其中,所述剩余授权次数为所述可授权次数和所述智能卡已授权数量的差值。
    优选地,基于STK菜单对软件进行授权的系统还包括业务使用端;
    所述业务使用端具体包括:
    第二认证单元,用于通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览所述智能卡的所述STK菜单权限;
    第二获取单元,用于通过所述操作动态库向所述智能卡发送所述STK指令,获取授权后的所述智能卡对应的所述起始ICCID和所述智能卡已授权数量;
    第三获取单元,用于所述操作动态库根据所述起始ICCID和所述智能卡已授权数量获取授权后的所有所述ICCID。
    优选地,基于STK菜单对软件进行授权的系统还包括第二授权端;
    所述第二授权端包括:
    第三认证单元,用于通过授权软件按照预置认证步骤对智能卡进行认证,以获取浏览所述智能卡的所述STK菜单权限;
    设置单元,用于通过所述授权软件向所述智能卡发送所述STK指令,对所述可授权次数进行设置。
    优选地,所述预置认证步骤具体包括:
    通过调用程序调用所述智能卡产生第一随机数,并进行临时保存;
    通过所述调用程序使用DES算法对所述第一随机数进行加密计算,并返回对应的密文数据;
    通过所述调用程序将所述密文数据发送至所述智能卡进行DES算法解密获取第二随机数;
    将所述第一随机数和所述第二随机数进行比对,若所述第一随机数和所述第二随机数相等,则认证成功。
    从以上技术方案可以看出,本发明实施例具有以下优点:
    本发明实施例提供了一种基于STK菜单对软件进行授权的方法及系统, 其中,基于STK菜单对软件进行授权的方法包括:按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限;向智能卡发送STK指令获取授权软件的可授权次数;判断与授权次数对应数量的智能卡的ICCID是否授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存。本实施例中,通过对智能卡进行认证,并获取浏览智能卡的STK菜单权限;向智能卡发送STK指令获取授权软件的可授权次数;判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存,便实现了基于智能卡硬件的STK对软件进行授权的技术,解决了现有的软件授权方式由于仅通过软件识别码及相对应的主金钥对软件进行加密保护,对智能卡进行通过软件识别码及相对应的主金钥进行解密。虽然实现了授权,但由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题。
    附图说明
    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
    图1为本发明实施例中提供的一种基于STK菜单对软件进行授权的方法的一个实施例的流程示意图;
    图2为本发明实施例中提供的一种基于STK菜单对软件进行授权的方法的另一个实施例的流程示意图;
    图3为本发明实施例中提供的一种基于STK菜单对软件进行授权的方法的另一个实施例的流程示意图;
    图4为本发明实施例中提供的一种基于STK菜单对软件进行授权的方法的另一个实施例的流程示意图;
    图5为本发明实施例中提供的一种基于STK菜单对软件进行授权的方法的预置认证步骤的流程示意图;
    图6为本发明实施例中提供的一种基于STK菜单对软件进行授权的系统的一个实施例的结构示意图;
    图7为本发明实施例中提供的一种基于STK菜单对软件进行授权的系统的另一个实施例的结构示意图;
    图8为本发明实施例中提供的一种基于STK菜单对软件进行授权的系统的另一个实施例的结构示意图。
    具体实施方式
    本发明实施例提供了一种基于STK菜单对软件进行授权的方法及系统,解决了现有的软件授权方式由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题。
    STK(SIM Tool Kit)可以理解为一组开发增值业务的命令,一种小型编程语言,它允许基于智能卡的用户身份识别单元(SIM卡)运行自己的应用软件。
    ICCID(Integrate circuit card identity)集成电路卡识别码,ICCID是智能卡的唯一识别号码。
    为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
    请参阅图1,本发明实施例中提供的一种基于STK菜单对软件进行授权的方法的一个实施例包括:
    101、按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限;
    本实施例中,当需要对软件进行授权时,可以是结合智能卡进行软件授权,首先按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限。
    前述的预置认证步骤将在后续的实施例中进行详细的描述。
    102、向智能卡发送STK指令获取授权软件的可授权次数;
    当按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限之后,向智能卡发送STK指令获取授权软件的可授权次数。
    103、判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则执行步骤104;
    当向智能卡发送STK指令获取授权软件的可授权次数之后,需要判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则执行步骤104。
    104、对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存。
    当判断与授权次数对应数量的智能卡的ICCID不为授权时,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存。
    本实施例中,通过对智能卡进行认证,并获取浏览智能卡的STK菜单权限;向智能卡发送STK指令获取授权软件的可授权次数;判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存,便实现了基于智能卡硬件的STK对软件进行授权的技术,解决了现有的软件授权方式由于仅通过软件识别码及相对应的主金钥对软件进行加密保护,对智能卡进行通过软件识别码及相对应的主金钥进行解密。虽然实现了授权,但由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题。
    上面是对基于STK菜单对软件进行授权的方法的过程进行详细的描述,下面将对判断与授权次数对应数量的智能卡的ICCID是否授权的过程进行详细的描述,请参阅图2,本发明实施例中提供的一种基于STK菜单对软件进行授权的方法的另一个实施例包括:
    201、按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限;
    本实施例中,当需要对软件进行授权时,可以是结合智能卡进行软件授权,首先按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限。
    前述的预置认证步骤将在后续的实施例中进行详细的描述。
    202、向智能卡发送STK指令获取授权软件的可授权次数;
    当按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限之后,向智能卡发送STK指令获取授权软件的可授权次数,例如可授权次数为n。
    203、判断可授权次数是否大于0,若是,则执行步骤204;
    当向智能卡发送STK指令获取授权软件的可授权次数之后,需要判断可授权次数是否大于0,若是,则执行步骤204,反之则授权结束。
    204、提取起始授权的智能卡对应的起始ICCID,以及预置的智能卡已授权数量;
    当断可授权次数大于0之后,则提取起始授权的智能卡对应的起始ICCID,以及预置的智能卡已授权数量。
    前述的起始ICCID可以是多个智能卡中最开始进行授权处理的智能卡的ICCID值,前述的智能卡已授权数量为在此次授权操作中需要对多少个智能卡进行授权的授权数量m。
    205、判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则执行步骤206;
    当向智能卡发送STK指令获取授权软件的可授权次数之后,需要判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则执行步骤206,反之,若部分或全部授权过,则再次执行步骤204和205,例如判断ICCID(1)到ICCID(n)是否已授权过,前述的ICCID(1)到ICCID(n)为对软件授权前的可授权次数n所对应的ICCID值是否已有授权处理过。
    206、向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量;
    当判断与授权次数对应数量的智能卡的ICCID不为授权时,则向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量。
    前述的授权次数为可授权次数和智能卡已授权数量的差值,例如可授权次数n-授权数量m。
    207、将授权后的所有ICCID进行本地储存。
    当向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量之后,将授权后的所有ICCID进行本地储存。
    本实施例中,通过对智能卡进行认证,并获取浏览智能卡的STK菜单权限;向智能卡发送STK指令获取授权软件的可授权次数;判断与授权次数对 应数量的智能卡的ICCID是否已授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存,便实现了基于智能卡硬件的STK对软件进行授权的技术,解决了现有的软件授权方式由于仅通过软件识别码及相对应的主金钥对软件进行加密保护,对智能卡进行通过软件识别码及相对应的主金钥进行解密。虽然实现了授权,但由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题,同时,判断与授权次数对应数量的智能卡的ICCID是否授权,若否,则向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量,使得剩余授权次数为可授权次数和智能卡已授权数量的差值,实现了更加智能化的软件和硬件的交互。
    上面是判断与授权次数对应数量的智能卡的ICCID是否授权的过程进行详细的描述,下面将对授权后的ICCID进行储存之后的使用过程进行详细的描述,请参阅图3,本发明实施例中提供的一种基于STK菜单对软件进行授权的方法的另一个实施例包括:
    301、按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限;
    本实施例中,当需要对软件进行授权时,可以是结合智能卡进行软件授权,首先按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限。
    前述的预置认证步骤将在后续的实施例中进行详细的描述。
    302、向智能卡发送STK指令获取授权软件的可授权次数;
    当按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限之后,向智能卡发送STK指令获取授权软件的可授权次数,例如可授权次数为n。
    303、判断可授权次数是否大于0,若是,则执行步骤304;
    当向智能卡发送STK指令获取授权软件的可授权次数之后,需要判断可授权次数是否大于0,若是,则执行步骤304,反之则授权结束。
    304、提取起始授权的智能卡对应的起始ICCID,以及预置的智能卡已授权数量;
    当断可授权次数大于0之后,则提取起始授权的智能卡对应的起始ICCID,以及预置的智能卡已授权数量。
    前述的起始ICCID可以是多个智能卡中最开始进行授权处理的智能卡的ICCID值,前述的智能卡已授权数量为在此次授权操作中需要对多少个智能卡进行授权的授权数量m。
    305、判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则执行步骤306;
    当向智能卡发送STK指令获取授权软件的可授权次数之后,需要判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则执行步骤306,反之,若部分或全部授权过,则再次执行步骤304和305,例如判断ICCID(1)到ICCID(n)是否已授权过,前述的ICCID(1)到ICCID(n)为对软件授权前的可授权次数n所对应的ICCID值是否已有授权处理过。
    306、向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量;
    当判断与授权次数对应数量的智能卡的ICCID不为已授权时,则向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量。
    前述的授权次数为可授权次数和智能卡已授权数量的差值,例如可授权次数n-授权数量m。
    307、将授权后的所有ICCID进行本地储存;
    当向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量之后,将授权后的所有ICCID进行本地储存。
    308、通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限;
    当将授权后的所有ICCID进行储存之后,需要使用授权软件的时候,首先通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限。
    309、通过操作动态库向智能卡发送STK指令,获取授权后的智能卡对应的起始ICCID和智能卡已授权数量;
    当通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限之后,通过操作动态库向智能卡发送STK指令,获取授权后的智能卡对应的起始ICCID和智能卡已授权数量。
    310、操作动态库根据起始ICCID和智能卡已授权数量获取授权后的所有ICCID。
    当通过操作动态库向智能卡发送STK指令,获取授权后的智能卡对应的起始ICCID和智能卡已授权数量之后,需要操作动态库根据起始ICCID和智能卡已授权数量获取授权后的所有ICCID,例如前述的ICCID(1)到ICCID(n)。
    本实施例中,通过对智能卡进行认证,并获取浏览智能卡的STK菜单权限;向智能卡发送STK指令获取授权软件的可授权次数;判断与授权次数对应数量的智能卡的ICCID是否授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存,便实现了基于智能卡硬件的STK对软件进行授权的技术,解决了现有的软件授权方式由于仅通过软件识别码及相对应的主金钥对软件进行加密保护,对智能卡进行通过软件识别码及相对应的主金钥进行解密。虽然实现了授权,但由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题,同时,判断与授权次数对应数量的智能卡的ICCID是否授权,若否,则向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量,使得剩余授权次数为可授权次数和智能卡已授权数量的差值,实现了更加智能化的软件和硬件的交互,以及使用过程的详细描述,进一步使得业务系统更加智能化。
    上面是对授权后的ICCID进行储存之后的使用过程进行详细的描述,下面将对授权次数的设置过程进行详细的描述,请参阅图4,本发明实施例中提供的一种基于STK菜单对软件进行授权的方法的另一个实施例包括:
    401、通过授权软件按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限;
    本实施例中,当需要对软件进行授权时,可以是结合智能卡进行软件授权,首先通过授权软件按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限,前述的授权软件是使用C++等高级语言开发的基于PC机运行的单机软件,通过操作智能卡读卡器,对智能卡进行授权次数的设置。
    402、通过授权软件向智能卡发送STK指令,对可授权次数进行设置;
    当通过授权软件按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限之后,需要通过授权软件向智能卡发送STK指令,对可授权次数进行设置。
    403、按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限;
    本实施例中,当通过授权软件向智能卡发送STK指令,对可授权次数进行设置之后,首先按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限。
    前述的预置认证步骤将在后续的实施例中进行详细的描述。
    404、向智能卡发送STK指令获取授权软件的可授权次数;
    当按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限之后,向智能卡发送STK指令获取授权软件的可授权次数,例如可授权次数为n。
    405、判断可授权次数是否大于0,若是,则执行步骤406;
    当向智能卡发送STK指令获取授权软件的可授权次数之后,需要判断可授权次数是否大于0,若是,则执行步骤406,反之则授权结束。
    406、提取起始授权的智能卡对应的起始ICCID,以及预置的智能卡已授权数量;
    当断可授权次数大于0之后,则提取起始授权的智能卡对应的起始ICCID,以及预置的智能卡已授权数量。
    前述的起始ICCID可以是多个智能卡中最开始进行授权处理的智能卡的ICCID值,前述的智能卡已授权数量为在此次授权操作中需要对多少个智能卡进行授权的授权数量m。
    407、判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则执行步骤408;
    当向智能卡发送STK指令获取授权软件的可授权次数之后,需要判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则执行步骤408,反之,若部分或全部授权过,则再次执行步骤406和407,例如判断ICCID(1) 到ICCID(n)是否已授权过,前述的ICCID(1)到ICCID(n)为对软件授权前的可授权次数n所对应的ICCID值是否已有授权处理过。
    408、向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量;
    当判断与授权次数对应数量的智能卡的ICCID不为已授权时,则向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量。
    前述的授权次数为可授权次数和智能卡已授权数量的差值,例如可授权次数n-授权数量m。
    409、将授权后的所有ICCID进行本地储存。
    当向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量之后,将授权后的所有ICCID进行本地储存。
    需要说明的是,前述的步骤402至409是通过使用C++等高级语言开发的基于PC机运行的单机软件,通过操作智能卡读卡器,对只能卡进行业务申请的软件授权操作,使用方授权软件预置了与授权卡相同的密钥,用来对授权卡进行认证。使用方授权软件由授权方开发,交由使用方管理和使用。
    410、通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限;
    当将授权后的所有ICCID进行储存之后,需要使用授权软件的时候,首先通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限。
    411、通过操作动态库向智能卡发送STK指令,获取授权后的智能卡对应的起始ICCID和智能卡已授权数量;
    当通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限之后,通过操作动态库向智能卡发送STK指令,获取授权后的智能卡对应的起始ICCID和智能卡已授权数量。
    412、操作动态库根据起始ICCID和智能卡已授权数量获取授权后的所有ICCID。
    当通过操作动态库向智能卡发送STK指令,获取授权后的智能卡对应的 起始ICCID和智能卡已授权数量之后,需要操作动态库根据起始ICCID和智能卡已授权数量获取授权后的所有ICCID,例如前述的ICCID(1)到ICCID(n)。
    前述的步骤410至412是业务系统进行处理,业务系统是使用Java或C++等高级语言开发的B/S或C/S软件,通过调用操作动态库获得ICCID数据,动态库是使用C++等高级语言开发的动态链接库软件,通过操作智能卡读卡器访问授权卡上的数据,将授权后的智能卡上已申请的ICCID数据读取出来交由业务系统使用。授权后的智能卡操作动态库预置了与智能卡相同的密钥,用来对授权后的智能卡进行认证。授权后的智能卡操作动态库由授权方开发,交由使用方管理和使用,智能卡读卡器是支持PC/SC接口的硬件设备,使用USB连接至PC机,具有接触和非接触功能,用来识别授权后的智能卡,授权后的智能卡为CPU接触或非接触智能卡,支持STK菜单,用来进行认证授权功能。授权后的智能卡的STK菜单访问权限需要先进行认证,授权后的智能卡与调用软件中均预置相同密钥,调用软件可以是授权方授权软件、使用方授权软件和操作动态库。授权后的智能卡由授权方预置授权次数,由使用方业务进行授权,再由业务系统使用,前述的密钥对数据进行加解密的算法为国密DES。
    本实施例中,通过对智能卡进行认证,并获取浏览智能卡的STK菜单权限;向智能卡发送STK指令获取授权软件的可授权次数;判断与授权次数对应数量的智能卡的ICCID是否授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存,便实现了基于智能卡硬件的STK对软件进行授权的技术,解决了现有的软件授权方式由于仅通过软件识别码及相对应的主金钥对软件进行加密保护,对智能卡进行通过软件识别码及相对应的主金钥进行解密。虽然实现了授权,但由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题,同时,判断与授权次数对应数量的智能卡的ICCID是否授权,若否,则向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量,使得剩余授权次数为可授权次数和智能卡已授权数量的差值,实现了更加智能化的软件和硬件的交互,以及使用过程的详细描述,进一步使得业务系统更加智能化。
    下面将对预置认证步骤进行详细描述,请参阅图5,预置认证步骤具体包 括:
    501、通过调用程序调用智能卡产生第一随机数,并进行临时保存;
    502、通过调用程序使用DES算法对第一随机数进行加密计算,并返回对应的密文数据;
    503、通过调用程序将密文数据发送至智能卡进行DES算法解密获取第二随机数;
    504、将第一随机数和第二随机数进行比对,若第一随机数和第二随机数相等,则认证成功。
    例如调用程序调用智能卡产生一个随机数A,智能卡临时保存随机数A在卡内;调用程序用密钥计算随机数A并返回密文数据B;调用程序把密文数据B发送给授权卡;授权卡在卡片内部解密随机数B得到随机数明文C;智能卡在卡片内部比对随机数C和随机数A。若A与C相同,则认证成功,否则,认证失败。
    请参阅图6,本发明实施例中提供的一种基于STK菜单对软件进行授权的系统一个实施例包括:
    第一授权端61;
    第一授权端61包括:
    第一认证单元611,用于按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限;
    第一获取单元612,用于向智能卡发送STK指令获取授权软件的可授权次数;
    判断单元613,用于判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存。
    本实施例中,通过第一认证单元611对智能卡进行认证,第一获取单元612获取浏览智能卡的STK菜单权限;向智能卡发送STK指令获取授权软件的可授权次数;判断单元613判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存,便实现了基于智能卡硬件的STK对软件进行授权的技术,解决了 现有的软件授权方式由于仅通过软件识别码及相对应的主金钥对软件进行加密保护,对智能卡进行通过软件识别码及相对应的主金钥进行解密。虽然实现了授权,但由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题。
    上面是对基于STK菜单对软件进行授权的系统的结构进行详细的描述,下面将对子单元进行详细的描述,请参阅图7,本发明实施例中提供的一种基于STK菜单对软件进行授权的系统另一个实施例包括:
    第一授权端71;
    第一授权端71包括:
    第一认证单元711,用于按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限;
    第一获取单元712,用于向智能卡发送STK指令获取授权软件的可授权次数;
    第一获取单元712具体包括:
    获取子单元7121,用于向智能卡发送STK指令获取授权软件的可授权次数;
    第一判断子单元7122,用于判断可授权次数是否大于0,若是,则提取起始授权的智能卡对应的起始ICCID,以及预置的智能卡已授权数量
    判断单元713,用于判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存。
    判断单元713具体包括:
    第二判断子单元7131,用于判断与授权次数对应数量的智能卡的ICCID是否授权,若否,则向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量;
    储存子单元7132,用于将授权后的所有ICCID进行本地储存;
    其中,剩余授权次数为可授权次数和智能卡已授权数量的差值。
    本实施例中,通过第一认证单元711对智能卡进行认证,第一获取单元712获取浏览智能卡的STK菜单权限;向智能卡发送STK指令获取授权软件 的可授权次数;判断单元713判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存,便实现了基于智能卡硬件的STK对软件进行授权的技术,解决了现有的软件授权方式由于仅通过软件识别码及相对应的主金钥对软件进行加密保护,对智能卡进行通过软件识别码及相对应的主金钥进行解密。虽然实现了授权,但由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题,同时,判断与授权次数对应数量的智能卡的ICCID是否授权,若否,则向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量,使得剩余授权次数为可授权次数和智能卡已授权数量的差值,实现了更加智能化的软件和硬件的交互。
    上面是对子单元进行详细的描述,下面将对附加单元进行详细的描述,请参阅图8,本发明实施例中提供的一种基于STK菜单对软件进行授权的系统另一个实施例包括:
    第一授权端81;
    第一授权端81包括:
    第一认证单元811,用于按照预置认证步骤对智能卡进行认证,并获取浏览智能卡的STK菜单权限;
    第一获取单元812,用于向智能卡发送STK指令获取授权软件的可授权次数;
    第一获取单元812具体包括:
    获取子单元8121,用于向智能卡发送STK指令获取授权软件的可授权次数;
    第一判断子单元8122,用于判断可授权次数是否大于0,若是,则提取起始授权的智能卡对应的起始ICCID,以及预置的智能卡已授权数量
    判断单元813,用于判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存。
    判断单元813具体包括:
    第二判断子单元8131,用于判断与授权次数对应数量的智能卡的ICCID 是否授权,若否,则向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量;
    储存子单元8132,用于将授权后的所有ICCID进行本地储存;
    其中,剩余授权次数为可授权次数和智能卡已授权数量的差值。
    基于STK菜单对软件进行授权的系统还包括业务使用端82;
    业务使用端82具体包括:
    第二认证单元821,用于通过调用操作动态库按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限;
    第二获取单元822,用于通过操作动态库向智能卡发送STK指令,获取授权后的智能卡对应的起始ICCID和智能卡已授权数量;
    第三获取单元823,用于操作动态库根据起始ICCID和智能卡已授权数量获取授权后的所有ICCID。
    基于STK菜单对软件进行授权的系统还包括第二授权端83;
    第二授权端83包括:
    第三认证单元831,用于通过授权软件按照预置认证步骤对智能卡进行认证,以获取浏览智能卡的STK菜单权限;
    设置单元832,用于通过授权软件向智能卡发送STK指令,对可授权次数进行设置。
    前述的预置认证步骤具体包括:通过调用程序调用智能卡产生第一随机数,并进行临时保存;通过调用程序使用DES算法对第一随机数进行加密计算,并返回对应的密文数据;通过调用程序将密文数据发送至智能卡进行DES算法解密获取第二随机数;将第一随机数和第二随机数进行比对,若第一随机数和第二随机数相等,则认证成功。
    本实施例中,通过第一认证单元811对智能卡进行认证,第一获取单元812获取浏览智能卡的STK菜单权限;向智能卡发送STK指令获取授权软件的可授权次数;判断单元813判断与授权次数对应数量的智能卡的ICCID是否已授权,若否,则对智能卡进行授权处理,并将授权后的智能卡的ICCID进行储存,便实现了基于智能卡硬件的STK对软件进行授权的技术,解决了现有的软件授权方式由于仅通过软件识别码及相对应的主金钥对软件进行加 密保护,对智能卡进行通过软件识别码及相对应的主金钥进行解密。虽然实现了授权,但由于安全性较低,软件加密算法的安全性远远不如硬件,极易被破解的技术问题,同时,判断与授权次数对应数量的智能卡的ICCID是否授权,若否,则向智能卡发送STK指令,写入剩余授权次数,授权后的智能卡对应的ICCID和智能卡已授权数量,使得剩余授权次数为可授权次数和智能卡已授权数量的差值,实现了更加智能化的软件和硬件的交互,以及使用过程的详细描述,进一步使得业务系统更加智能化。
    所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
    在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
    所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
    另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
    所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
    以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

    关 键  词:
    一种 基于 STK 菜单 软件 进行 授权 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种基于STK菜单对软件进行授权的方法及系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-5888416.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1