1.应用程序发送方法,包括:
接收终端请求下载应用程序的消息;
在所述终端付费成功时,根据所述终端的交易信息,将多个身份信息和授权策略嵌入数字证书;以及
将嵌入身份信息和授权策略的数字证书和所述应用程序一起发送给所述终端;
其中,授权策略包括针对与多个身份信息对应的终端的应用程序授权级别、使用期限和/或使用次数;
所述数字证书是基于X.509格式的数字证书,
将多个身份信息和授权策略嵌入数字证书的步骤包括:
在数字证书扩展字段中的String类型的条目中,嵌入XML格式的多个身份信息和授权策略。
2.应用程序运行方法,包括:
终端接收应用程序以及嵌入多个身份信息和授权策略的数字证书;
终端对接收到的数字证书中嵌入的身份信息和授权策略进行认证;以及在认证通过时,终端根据授权策略运行接收到的应用程序;
其中,授权策略包括针对与多个身份信息对应的终端的应用程序授权级别、使用期限和使用次数;
所述数字证书是基于X.509格式的数字证书,且所述数字证书扩展字段中的String类型的条目中嵌入XML格式的多个身份信息和授权策略。
3.如权利要求2所述的方法,其中,授权策略包括针对与多个身份信息对应的终端的所述应用程序的使用期限。
4.如权利要求2所述的方法,其中,授权策略包括针对与多个身份信息对应的终端的所述应用程序的使用次数。
5.如权利要求3所述的方法,其中,终端对接收到的数字证书中嵌入的身份信息和授权策略进行认证的步骤包括:
终端读取本地存储的身份信息,利用本地存储的身份信息对接收到的数字证书中嵌入的身份信息进行认证;以及
终端读取本地存储的时间信息,利用本地存储的时间信息对接收到的数字证书中嵌入的授权策略中的使用期限进行认证。
6.如权利要求4所述的方法,其中,终端对接收到的数字证书中嵌入的身份信息和授权策略进行认证的步骤包括:
终端读取本地存储的身份信息,利用本地存储的身份信息对接收到的数字证书中嵌入的身份信息进行认证;以及
终端对本地运行所述应用程序的次数进行统计,利用统计的次数对接收到的数字证书中嵌入的授权策略中的使用次数进行认证。
7.如权利要求2所述的方法,其中,根据授权策略运行接收到的应用程序的步骤包括:
根据授权策略中的应用程序授权级别确定应用程序安装和启动参数,并依据所确定的应用程序安装和启动参数来运行应用程序。
8.服务器,包括:
接收模块,接收终端请求下载应用程序的消息;
记录模块,在终端付费成功时,记录所述终端的交易信息;
写入模块,根据记录模块记录的交易信息,将多个身份信息和授权策略嵌入数字证书;
以及
发送模块,将嵌入身份信息和授权策略的数字证书和所述应用程序一起发送给所述终端;
其中,授权策略包括针对与多个身份信息对应的终端的应用程序授权级别、使用期限和/或使用次数;
所述数字证书是基于X.509格式的数字证书,所述写入模块在X.509格式的数字证书扩展字段中的String类型的条目中,嵌入XML格式的多个身份信息和授权策略。
9.终端,包括:
接收模块,接收应用程序以及嵌入多个身份信息和授权策略的数字证书;
认证模块,对接收到的数字证书中嵌入的身份信息和授权策略进行认证;以及运行模块,在认证模块认证通过时,根据授权策略运行接收到的应用程序;
其中,授权策略包括针对与多个身份信息对应的终端的应用程序授权级别、使用期限和/或使用次数;
所述数字证书是基于X.509格式的数字证书,且所述数字证书扩展字段中的String类型的条目中嵌入XML格式的多个身份信息和授权策略。
10.如权利要求9所述的终端,其中,认证模块包括:
身份信息认证单元,读取本地存储的身份信息,利用本地存储的身份信息对接收到的数字证书中嵌入的身份信息进行认证;
使用期限认证单元,读取本地存储的时间信息,利用本地存储的时间信息对接收到的数字证书中嵌入的授权策略中的使用期限进行认证;以及
使用次数认证单元,对本地运行所述应用程序的次数进行统计,利用统计的次数对接收到的数字证书中嵌入的授权策略中的使用次数进行认证。
11.如权利要求9或10所述的终端,其中,所述运行模块根据授权策略中的应用程序授权级别确定应用程序安装和启动参数,并依据所确定的应用程序安装和启动参数来运行应用程序。
应用程序发送方法、应用程序运行方法、服务器和终端\n技术领域\n[0001] 本申请涉及应用程序发送方法、应用程序运行方法、服务器和终端。\n背景技术\n[0002] 现有的数字内容(包含应用程序)的保护机制中,比较主流的是基于DRM(Digital Rights Management,数字权限管理技术)的版权保护机制。DRM版权保护机制应用在应用程序版权保护上的主体思想是:\n[0003] 首先建立应用程序授权中心。针对要下载的应用程序,可以利用密钥(Key)进行加密保护,加密的数字内容头部存放着KeyID和内容授权中心的URL。用户在准备安装使用时,根据内容头部的KeyID和URL信息,就可以通过数字内容授权中心的验证授权后送出相关的密钥解密,第三方应用程序方可安装运行。\n[0004] 需要保护的第三方应用程序被加密,即使被用户下载保存,没有得到应用授权中心的验证授权也无法安装,从而严密地保护了内容的版权。密钥一般有两把,一把公钥(public key),一把私钥(private key)。公钥用于加密应用内容本身,私钥用于解密内容,私钥还可以防止当内容头部有被改动或破坏的情况,利用密钥就可以判断出来,从而阻止内容被非法使用。\n[0005] 传统的DRM内容版权保护将被保护的第三方应用程序使用对应的内容颁发者的私钥进行签名和加密,而移动终端本身从业务平台下载授权文件(rights object),授权文件中包含公钥。授权文件保存在移动终端本地或每次使用时从网络中获取,其中的公钥能够对下载的加密应用程序进行解密和签名验证,从而达到版权保护的作用。\n[0006] 为了针对传统的DRM方案中对应用程序的定制关系依赖于授权文件的缺点,可使授权文件以数字证书的形式存储于SD卡、SIM等卡存储设备中,从而实现授权随用户在不同设备间的迁移而迁移。但是,现有方案中对于应用程序的授权形式通常只有授权允许与否以及授权期限两个维度,且授权文件还是绑定在单用户上,不能满足例如应用程序试用、转授权、赠送等模式,无法满足运营商的需求。\n发明内容\n[0007] 为了解决现有应用程序版权保护方案中授权形式简单化的问题,本申请提出了一种应用程序发送方法、应用程序运行方法、服务器和终端。\n[0008] 根据本申请的一个方面,提出了一种应用程序发送方法,可包括:接收终端请求下载应用程序的消息;在所述终端付费成功时,根据所述终端的交易信息,将多个身份信息和授权策略嵌入数字证书;以及将嵌入身份信息和授权策略的数字证书和所述应用程序一起发送给所述终端。\n[0009] 根据本申请的另一个方面,提出了一种应用程序运行方法,可包括:终端接收应用程序以及嵌入多个身份信息和授权策略的数字证书;终端对接收到的数字证书中嵌入的身份信息和授权策略进行认证;以及在认证通过时,终端根据授权策略运行接收到的应用程序。\n[0010] 根据本申请的又一个方面,提出了一种服务器,可包括:接收模块,接收终端请求下载应用程序的消息;记录模块,在终端付费成功时,记录所述终端的交易信息;写入模块,根据记录模块记录的交易信息,将多个身份信息和授权策略嵌入数字证书;以及发送模块,将嵌入身份信息和授权策略的数字证书和所述应用程序一起发送给所述终端。\n[0011] 根据本申请的再一个方面,提出了一种终端,可包括:接收模块,接收应用程序以及嵌入多个身份信息和授权策略的数字证书;认证模块,对接收到的数字证书中嵌入的身份信息和授权策略进行认证;以及运行模块,在认证模块认证通过时,根据授权策略运行接收到的应用程序。\n[0012] 通过本申请的方法和装置,能够对应用程序版权保护中的应用程序授权策略进行具体配置,从而支持例如应用程序试用、转授权、赠送等模式,满足运营商的需求。\n附图说明\n[0013] 图1是根据本申请一个实施方案的应用程序发送方法的流程图;\n[0014] 图2是根据本申请具体实施例的X.509格式的数字证书的结构示意图;\n[0015] 图3是根据本申请一个实施方案的应用程序运行方法的流程图;\n[0016] 图4是根据本申请一个实施方案的服务器的框图;\n[0017] 图5是根据本申请一个实施方案的终端的框图;以及\n[0018] 图6是根据本申请一个实施方案的终端的框图。\n具体实施方式\n[0019] 下面参照附图,对本申请的实施方案进行详细说明。\n[0020] 图1示出了根据本申请一个实施方案的应用程序发送方法。如图1所示,在步骤S1002,接收终端请求下载应用程序的消息。虽然图中未示出,但可以理解,终端的用户在发送下载请求之前,可能已经完成了对应用程序的购买操作,并成功付费。这时,服务器侧可记录有与该购买操作对应的交易信息,其中可包括一个或多个身份信息以及相应的授权策略。\n[0021] 接着参照图1,在步骤S1004,在发出下载请求的终端付费成功时,可根据该终端的交易信息,将其中包含的一个或多个身份信息和授权策略嵌入数字证书。然后,在步骤S1006,将嵌入了身份信息和授权策略的数字证书和请求下载的应用程序一起发送给所述终端。可以理解,若终端付费未成功,则下载请求被拒绝(图中未示出)。\n[0022] 在图1所示的应用程序发送方法中,由于数字证书中嵌入了一个或多个身份信息以及授权策略,从而能够支持例如应用程序试用、转授权、赠送等模式。下面将具体描述。\n[0023] 根据本申请的一个具体实施方案,嵌入数字证书的授权策略可包括针对特定终端的应用程序授权级别、使用期限和/或使用次数。\n[0024] 具体地,针对某个终端的应用程序授权级别可以是例如应用程序的完整版本或应用程序的试用版本等。针对某个终端的应用程序使用期限可以是特定的时间点或时间段,表示该应用程序只在特定时间点之前或在特定时间段期间能够在终端内安装和/或运行。\n针对某个终端的应用程序使用次数表示应用程序在终端内的最大安装和/或运行次数。\n[0025] 如上所述,授权策略可以是终端用户在进行购买应用程序过程中确定的,并在付费成功后记录在交易信息中。由于应用程序授权策略可进行配置,因此可更好地满足运营商和用户的需求。\n[0026] 下面以常见的X.509格式的数字证书为例,详细说明在数字证书中嵌入身份信息和授权策略的方式。\n[0027] 图2示出了在X.509格式的数字证书中嵌入身份信息和授权策略的结构示意图。如图2所示,可利用X.509格式的数字证书中的扩展(extension)字段来嵌入身份信息和授权策略。\n[0028] X.509格式的数字证书的扩展字段的每一条目包括三个域:扩展类型、扩展值和关键状态指示。本具体实施方案中可使用String类型的扩展字段存储以XML描述的关于应用程序的一个或多个身份信息和授权策略。\n[0029] 具体地,在如图2所示的数字证书中,扩展字段包含了版权授权描述信息:扩展字段的String标识此扩展字段是一条字符串,关键标识字段代表了此条版权授权信息的级别,扩展值标示了具体的应用程序授权信息。在该例中扩展值标示了针对应用名ID为angry bird第三方应用程序的两条版权授权信息:Auth1标识将该应用程序的全部功能授权给IMSI摘要为abcdef的用户,授权期限为永久。Auth2标识可表示一条应用程序赠送或应用转授权的授权信息,即用户abcdef在购买应用时同时获得将该应用的指定到2011年12月31日或使用20次的应用程序体验权限赠送给好友(IMSI标识为bcdefg的用户)。\n[0030] 在X.509数字证书中定义了相应的授权信息扩展字段后,应用程序的发布者可以按照传统的方式,在向具体的用户发布应用程序时,使用X.509数字证书对第三方应用程序进行验证和签名,发布的第三方应用程序包最终包含的内容包括:应用程序程序体、应用程序发布者签发的数字证书以及利用签发的数字证书对应用程序程序体的签名。\n[0031] 本实施方案中,在发布者证书中引入了应用申请用户的IMSI号和权限信息,使得应用发布商在提供应用给用户下载之前需要针对不同的用户生成不同的应用安装包,为应用发布商的服务器带来一些额外的负载。针对这种情况,由于应用程序的签名过程最复杂的运算在于使用发布者证书对程序体签名过程中的包摘要计算,因此可在应用发布商的服务器部署中,在服务器侧引入摘要算法的专用计算工具,以提升签名计算的效率,缩短用户应用下载的等待时间。\n[0032] 根据图2所示的具体实施例,通过在数字证书中嵌入的两个身份信息以及针对每个身份信息的对应终端的不同授权策略,即不同的授权级别、使用期限或使用次数,可实现应用程序试用、转授权、赠送等模式,满足运营商的需求,并可通过对嵌入数字证书的内容进行灵活配置,实现更多的应用程序授权模式。\n[0033] 接下来参照图3,描述根据本申请一个实施方案的应用程序运行方法。\n[0034] 如图3所示,在步骤S3002,终端接收应用程序以及嵌入了一个或多个身份信息和授权策略的数字证书。然后,在步骤S3004,终端对接收到的数字证书中嵌入的身份信息和授权策略进行认证,并在步骤S3006,若认证通过,终端则根据授权策略运行接收到的应用程序。\n[0035] 具体地,终端在获取包含应用程序和数字证书的应用搞程序包之后,在程序安装时,终端操作系统的应用安装服务会接收到安装请求,此时,应用安装服务可首先检查应用程序包中的数字证书的签发机构(未示出),若数字证书为特定运营商签发,则进行步骤S3004,即对接收到的数字证书中嵌入的身份信息和授权策略进行认证。若应用程序的数字证书非特定运营商签发,则转入传统的验证流程对应用程序签发机构的安全性和合法性进行验证,具体处理方式可依据企业安全策略灵活调整,此处不再详细描述。\n[0036] 根据图3所示的方法,通过在对数字证书中嵌入的身份信息和授权策略进行认证,能够支持例如应用程序试用、转授权、赠送等模式,满足运营商的需求。\n[0037] 根据一个具体实施方案,嵌入数字证书中的授权策略可包括针对特定终端的应用程序的使用期限。在这种情况下,终端对接收到的数字证书中嵌入的身份信息和授权策略进行认证的步骤可分别包括对身份信息的认证和对使用期限的认证。\n[0038] 具体地,终端对身份信息的认证可以是,终端读取本地存储的身份信息,利用本地存储的身份信息对接收到的数字证书中嵌入的身份信息进行认证。通过身份信息的认证,可检查应用程序是否已经授权给本终端的用户。例如,应用安装服务首先读取本终端SIM卡中的IMSI号码(例如可通过操作系统提供的机卡接口读取SIM卡中存储的IMSI信息)进行摘要,并与数字证书中的包含的IMSI号码摘要进行核对,若匹配则表示通过认证。\n[0039] 另外,终端对使用期限的认证可以是,终端读取本地存储的时间信息,利用本地存储的时间信息对接收到的数字证书中嵌入的授权策略中的使用期限进行认证。具体地,可判断使用期限是否已经过期,若未过期,则表示认证通过。\n[0040] 根据一个具体实施方案,嵌入数字证书中的授权策略可包括针对特定终端的应用程序的使用次数。在这种情况下,终端对接收到的数字证书中嵌入的身份信息和授权策略进行认证的步骤可分别包括对身份信息的认证和对使用次数的认证。\n[0041] 具体地,终端对身份信息的认证可以是,终端读取本地存储的身份信息,利用本地存储的身份信息对接收到的数字证书中嵌入的身份信息进行认证。\n[0042] 另外,终端对使用次数的认证可以是,终端对本地运行所述应用程序的次数进行统计,利用统计的次数对接收到的数字证书中嵌入的授权策略中的使用次数进行认证,在达到预订的体验次数后,阻止应用程序的运行请求。\n[0043] 根据一个具体实施方案,授权策略可包括针对与一个或多个身份信息对应的终端的应用程序授权级别、使用期限和使用次数。在这种情况下,在终端进行了对身份信息的认证、对使用期限的认证和对使用次数的认证以后,可根据授权策略中的应用程序授权级别运行接收到的应用程序。具体地,根据授权策略中的应用程序授权级别确定应用程序安装和启动参数,并依据所确定的应用程序安装和启动参数来运行应用程序。\n[0044] 以上所描述的多个具体实施方案中,仅对不同于现有数字证书认证过程的细节进行了详细描述,为了节省篇幅,省略了数字证书的现有认证过程。例如,在验证数字证书是否由特定运营商颁发的过程可以是传统的证书配对的方式,由终端本机预置的根证书对数字证书进行验证。再例如,可使用传统的方式,对应用程序的签名进行验证,其主要操作是根据应用程序包的签名验证该应用程序的合法性和完整性。\n[0045] 通过以上的具体实施方案,可通过对嵌入数字证书的内容进行认证,实现多种的应用程序授权模式。\n[0046] 接下来参照图4,描述根据本申请一个实施方案的服务器的结构。\n[0047] 如图4所示,服务器40可包括接收模块402、记录模块404、写入模块406和发送模块\n408。\n[0048] 接收模块402可接收终端请求下载应用程序的消息。记录模块404可在终端付费成功时,记录所述终端的交易信息。写入模块404可根据记录模块记录的交易信息,将一个或多个身份信息和授权策略嵌入数字证书嵌入数字证书。发送模块408可将嵌入身份信息和授权策略的数字证书和所述应用程序一起发送给所述终端。\n[0049] 类似地,根据一个具体实施方案,授权策略可包括针对与一个或多个身份信息对应的终端的应用程序授权级别、使用期限和/或使用次数。\n[0050] 根据一个具体实施例,在X.509格式的数字证书中,写入模块在数字证书扩展字段中的String类型的条目中,嵌入XML格式的一个或多个身份信息和授权策略。\n[0051] 图5和图6示出了根据本申请实施方案的终端的结构。\n[0052] 首先参照图5,终端50可包括接收模块502、认证模块504和运行模块506。接收模块\n502可接收应用程序以及嵌入一个或多个身份信息和授权策略的数字证书。认证模块504可对接收到的数字证书中嵌入的身份信息和授权策略进行认证。运行模块506可在认证模块认证通过时,根据授权策略运行接收到的应用程序。\n[0053] 根据一个具体实施方案,授权策略可包括针对与一个或多个身份信息对应的终端的应用程序授权级别、使用期限和/或使用次数。图6示出了这种情况下的终端的结构。\n[0054] 如图6所示,终端60可包括接收模块602、认证模块604和运行模块606,其中,接收模块602和运行模块606与图5所示的接收模块502和运行模块506类似,此处不再赘述。\n[0055] 如图6所示的认证模块604可具体包括:身份信息认证单元6042、使用期限认证单元6044和使用次数认证单元6046。其中,身份信息认证单元6042可读取本地存储的身份信息,利用本地存储的身份信息对接收到的数字证书中嵌入的身份信息进行认证;使用期限认证单元6044可读取本地存储的时间信息,利用本地存储的时间信息对接收到的数字证书中嵌入的授权策略中的使用期限进行认证;使用次数认证单元6046可对本地运行所述应用程序的次数进行统计,利用统计的次数对接收到的数字证书中嵌入的授权策略中的使用次数进行认证。\n[0056] 根据一个具体实施方案,在终端中,运行模块506或606可根据授权策略中的应用程序授权级别确定应用程序安装和启动参数,并依据所确定的应用程序安装和启动参数来运行应用程序。\n[0057] 下面以一个具体示例,描述本申请的应用程序发送和运行方法。\n[0058] 用户从应用商店中购买了应用程序,程序名为APP,该用户(IMSI摘要为abcdef)为此应用购买了完整的使用权限以及针对另一个指定用户(IMSI摘要为bcdefa)的20次试用权限。完成购买操作后服务器生成附带版权策略证书的应用程序供用户下载。如此例中安全证书中附加了应用程序的一条版权策略,策略描述如下:\n[0059]\n[0060] 该授权策略中Auth_1标识了应用程序APP授权给IMSI摘要为abcdef的用户,允许其无时限无限制地使用该应用程序。Auth_2标识了应用程序授权给IMSI摘要为bcdefa的用户,允许其在2011年12月31日之前,试运行此应用程序20次。\n[0061] 应用程序包被下载且分发后。如终端启动了安装APP的操作,系统的应用安装服务截获到应用的安装请求INS_REQ。安全系统接收到该请求后,启动版权及完整性验证的流程。\n[0062] 在版权及完整性验证流程中,版权及完整性验证子系统提取应用程序的安装包,从中解析出应用发布者提供的证书,首先验证该证书的发行者是否为本机构。如果证书的发行者验证通过,则读取安全证书中附加的版权策略。\n[0063] 读取证书后,版权及完整性验证子系统的IMSI摘要计算及判定子模块读取本机SIM卡中存储的IMSI并将其摘要后与证书中的abcdef比对,匹配成功后再检查该应用程序授权的期限和权限,以此决定该应用程序是否可以被安装在该手机上。\n[0064] 从上例中可以看到,相对于传统的版权保护体系中基于文件形式的验证方法,本申请通过在数字证书中预置应用程序对应的版权授权策略,实现了应用程序授权的灵活配置与动态化鉴定。\n[0065] 以上参照附图对本申请的示例性的实施方案进行了描述。本领域技术人员应该理解,上述实施方案仅仅是为了说明的目的而所举的示例,而不是用来进行限制。凡在本申请的教导和权利要求保护范围下所作的任何修改、等同替换等,均应包含在本申请要求保护的范围内。
法律信息
- 2017-05-03
- 2013-12-04
实质审查的生效
IPC(主分类): G06F 21/12
专利申请号: 201210142208.8
申请日: 2012.05.09
- 2013-11-13
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-04-27
|
2010-12-02
| | |
2
| |
2012-02-01
|
2010-07-27
| | |
3
| |
2011-08-10
|
2011-01-26
| | |
4
| |
2011-01-12
|
2009-07-07
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |