Web应用程序授权方法及装置与流程

文档序号:14911634发布日期:2018-07-10 23:34阅读:329来源:国知局

本发明涉及计算机技术领域,尤其涉及Web应用程序授权方法及装置。



背景技术:

Web应用程序是一种能够通过Web访问的应用程序。针对某些用户对Web应用程序的保密性需求,例如政府部分的用户,需要将Web应用程序部署到用户的局域网环境(即,专网,例如,铁路系统专网、公安系统专网等)中,而不是直接暴露在公网上,所谓公网是相对于专网而言,例如各个运营商架设的为社会大众服务的网络。

通常在为用户正式部署Web应用程序之前,可以先让用户进行试用,这就要求Web应用程序能够提供试用周期,避免Web应用程序被无限期试用,进而避免Web应用程序开发方的损失,因此,Web应用程序需要具备在试用周期结束后停止授权的功能。

目前,Web应用程序授权管理,使用对称加密方式,将授权文件加密,Web应用程序解密该授权文件,然后根据授权文件中的授权信息,判断Web应用程序是否还在授权期内,如果超过授权期则使Web应用程序退出。对称加密方式的加密密钥和解密密钥相同,要想Web应用程序能够解密授权文件,必须将加密密码和Web应用程序放在一起,通常使用“暗贴”的方法,将加密密码放到一个不容易被找到的地方,但是,“暗贴”方式存储加密密码还是比较容易地被破解,导致Web应用程序在超过授权期限后仍能使用,进而导致Web应用程序开发方的经济损失。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的Web应用程序授权方法及装置,其技术方案如下:

第一方面,本申请提供一种Web应用程序授权方法,应用于运行Web应用程序的待验证主机中,包括:

当运行目标Web应用程序时,获取存储在所述目标Web应用程序中的公钥,所述公钥根据非对称加密算法生成;

获取授权许可文件,所述授权许可文件包括第一数字签名及授权信息,所述第一数字签名利用与所述公钥对应的私钥对所述授权信息进行签名得到;

利用所述公钥及所述第一数字签名验证所述授权许可文件是否被篡改;

当确定所述授权许可文件未被篡改后,根据所述授权信息验证所述目标Web应用程序的运行信息是否与所述授权信息匹配;

当所述目标Web应用程序的运行信息与所述授权信息不匹配时,退出所述目标Web应用程序。

可选地,所述授权信息包括所述目标Web应用程序对应的被授权主机的唯一标识及授权期限;

所述利用所述公钥及所述第一数字签名验证所述授权许可文件是否被篡改,包括:

利用所述公钥对所述第一数字签名进行解密得到第一哈希值;

从所述授权许可文件中获取授权信息及所述授权信息对应的第二哈希值;

比较所述第一哈希值和所述第二哈希值是否相同;

如果所述第一哈希值与所述第二哈希值相同,则确定所述授权许可文件未被篡改;

如果所述第一哈希值与所述第二哈希值不同,则确定所述授权许可文件被篡改。

可选地,所述授权信息包括被授权主机的第一唯一标识及授权期限;

所述当确定所述授权许可文件未被篡改后,根据所述授权信息验证所述目标Web应用程序的运行信息是否与所述授权信息相匹配,包括:

获取所述待验证主机的第二唯一标识;

判断所述第二唯一标识与所述第一唯一标识是否相同;

如果所述第二唯一标识与所述第一唯一标识相同,则判断当前时间是否在所述授权许可文件中的授权期限内;

当所述当前时间在所述授权期限内时,确定所述目标Web应用程序的运行信息与所述授权信息匹配;

当所述第二唯一标识与所述第一唯一标识不相同,或者,当前时间超出所述授权期限时,确定所述目标Web应用程序的运行信息与所述授权信息不匹配。

可选地,所述方法还包括:

对所述目标Web应用程序进行数字签名,得到第二数字签名;

当运行所述目标Web应用程序时,利用所述第二数字签名验证所述目标Web应用程序是否被篡改;

当确定所述目标Web应用程序未被篡改时,执行所述获取存储在所述目标Web应用程序中的公钥的步骤。

第二方面,本申请提供一种Web应用程序授权方法,,应用于对Web应用程序进行授权管理的主机中,所述方法包括:

获取被授权主机的唯一标识,以及获取所述目标Web应用程序的授权期限;

根据非对称加密算法生成公钥和私钥,并将所述公钥存储到所述目标Web应用程序中;

利用所述私钥对所述唯一标识及所述授权期限进行签名,得到所述第一数字签名;

利用所述第一数字签名、所述唯一标识及所述授权期限生成授权许可文件,并将所述授权许可文件存储到所述目标Web应用程序中;当所述被授权主机加载所述目标Web应用程序后,利用所述公钥及所述第一数字签名验证所述授权许可文件是否被篡改,以及,当确定所述授权许可文件未被篡改时,所述被授权主机利用所述授权许可文件验证所述被授权主机运行所述目标Web应用程序的运行信息是否符合所述授权许可文件中的授权信息。

第三方面,本申请提供一种Web应用程序授权装置,应用于运行Web应用程序的待验证主机中,包括:

第一获取模块,用于当运行目标Web应用程序时,获取存储在所述目标Web应用程序中的公钥,所述公钥根据非对称加密算法生成;

第二获取模块,用于获取授权许可文件,所述授权许可文件包括第一数字签名及授权信息,所述第一数字签名利用与所述公钥对应的私钥对所述授权信息进行签名得到;

第一验证模块,用于利用所述公钥及所述第一数字签名验证所述授权许可文件是否被篡改;

第二验证模块,用于当确定所述授权许可文件未被篡改后,根据所述授权信息验证所述目标Web应用程序的运行信息是否与所述授权信息匹配;

程序退出模块,用于当所述目标Web应用程序的运行信息与所述授权信息不匹配时,退出所述目标Web应用程序。

可选地,所述授权信息包括所述目标Web应用程序对应的被授权主机的唯一标识及授权期限;所述第一验证模块包括:

解密子模块,用于利用所述公钥对所述第一数字签名进行解密得到第一哈希值;

计算子模块,用于从所述授权许可文件中获取授权信息及所述授权信息对应的第二哈希值;

比较子模块,用于比较所述第一哈希值和所述第二哈希值是否相同;

第一确定子模块,用于当所述第一哈希值与所述第二哈希值相同时,确定所述授权许可文件未被篡改;

第二确定子模块,用于当所述第一哈希值与所述第二哈希值不同时,确定所述授权许可文件被篡改。

可选地,所述授权信息包括被授权主机的第一唯一标识及授权期限;所述第二验证模块包括:

第一获取子模块,用于获取所述待验证主机的第二唯一标识;

第一判断子模块,用于判断所述第二唯一标识与所述第一唯一标识是否相同;

第二判断子模块,用于当所述第二唯一标识与所述第一唯一标识相同时,判断当前时间是否在所述授权许可文件中的授权期限内;

第三确定子模块,用于当所述当前时间在所述授权期限内时,确定所述目标Web应用程序的运行信息与所述授权信息匹配;

第四确定子模块,用于当所述第二唯一标识与所述第一唯一标识不相同,或者,当前时间超出所述授权期限时,确定所述目标Web应用程序的运行信息与所述授权信息不匹配。

可选地,所述装置还包括:

数字签名模块,用于对所述目标Web应用程序进行数字签名,得到第二数字签名;

第三验证模块,用于当运行所述目标Web应用程序时,利用所述第二数字签名验证所述目标Web应用程序是否被篡改;当确定所述目标Web应用程序未被篡改时,控制所述第一获取模块获取存储在所述目标Web应用程序中的公钥。

第四方面,本申请提供一种Web应用程序授权装置,应用于对Web应用程序进行授权管理的主机中,所述装置包括:

第一获取模块,用于获取被授权主机的唯一标识;

第二获取模块,用于获取所述目标Web应用程序的授权期限;

密钥生成模块,用于根据非对称加密算法生成公钥和私钥,并将所述公钥存储到所述目标Web应用程序中;

数字签名模块,用于利用所述私钥对所述唯一标识及所述授权期限进行签名,得到所述第一数字签名;

授权许可文件生成模块,用于利用所述第一数字签名、所述唯一标识及所述授权期限生成授权许可文件,并将所述授权许可文件存储到所述目标Web应用程序中;当被授权主机加载所述目标Web应用程序后利用所述公钥及所述第一数字签名验证所述授权许可文件是否被篡改,当确定所述授权许可文件未被篡改时,所述被授权主机利用所述授权许可文件验证所述被授权主机运行所述目标Web应用程序的运行信息是否符合所述授权许可文件中的授权信息。

借由上述技术方案,本发明提供的Web应用程序授权方法,在目标Web应用程序中存储有公钥,该公钥由非对称加密算法生成。当运行目标Web应用程序时,获取授权许可文件,该授权许可文件包含第一数字签名和授权信息。利用公钥及第一数字签名验证授权许可文件是否被篡改,当确定授权许可文件未被篡改时,利用授权信息验证目标Web应用程序的运行信息是否符合授权条件,如果不符合授权条件,则退出该目标Web应用程序。该方法利用非对称加密算法生成的私钥对授权许可文件进行数字签名,非对称加密算法得到的公钥/私钥具有唯一性,因此,数字签名不可能被篡改,从而保证验证授权许可文件是否被篡改的标准的唯一性。因此,利用该方法实现的Web应用程序的授权许可功能的安全性更高。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例一种Web应用程序授权方法的流程图;

图2示出了本发明实施例一种验证该授权许可文件是否被篡改过程的流程图;

图3示出了本发明实施例一种验证运行信息是否与授权信息匹配的过程的流程图;

图4示出了本发明实施例另一种Web应用程序授权方法的流程图;

图5示出了本发明实施例又一种Web应用程序授权方法的流程图;

图6示出了本发明实施例获得第一数字签名过程的流程图;

图7示出了本发明实施例一种Web应用程序授权装置的框图;

图8示出了本发明实施例一种第一验证模块的框图;

图9示出了本发明实施例一种第二验证模块的框图;

图10示出了本发明实施例另一种Web应用程序授权装置的框图;

图11示出了本发明实施例另一种Web应用程序授权装置的框图;

图12示出了本发明实施例一种数字签名模块的框图。

具体实施方式

下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。

请参见图1,示出了本发明实施例一种Web应用程序授权方法的流程图,该方法应用于运行Web应用程序的待验证主机中,如图1所示,该包括:

S110,当待验证主机运行目标Web应用程序时,获取存储在目标Web应用程序中的公钥。

目标Web应用程序是指任意一个需要进行授权管理的Web应用程序。

待验证主机是运行目标Web应用程序的计算机设备。

该公钥根据非对称加密算法生成,并存储到目标Web应用程序中。

S120,获取授权许可文件。

授权许可文件和目标Web应用程序一起部署到待验证主机中。

该授权许可文件包括第一数字签名及授权信息,其中,第一数字签名利用与公钥对应的私钥对授权信息进行签名得到。

授权信息包括被授权主机的唯一标识和授权期限;被授权主机的唯一标识可以包括计算机的CPU序列号、MAC(Media Access Control,媒体访问控制)地址等计算机的唯一信息。

在本申请一种可能的实现方式中,可以选择计算机的任意一个唯一信息作为唯一标识,还可以使用计算机的多个唯一信息作为唯一标识,使用的唯一信息越多,篡改计算机唯一标识的难度越大。

S130,利用公钥及第一数字签名验证该授权许可文件是否被篡改;如果未被篡改,则执行S140;如果被篡改过,则执行S150。

当待验证主机获取授权许可文件后,首先利用授权许可文件中的第一数字签名验证授权许可文件是否被篡改过。以第一数字签名中的信息为标准,判断授权许可文件中的授权信息是否与标准一致。

在本发明一种可能的实现方式中,如图2所示,S130可以包括:

S131,利用公钥对第一数字签名进行解密得到第一哈希值。

第一数字签名是利用私钥对授权信息(被授权主机的唯一标识和授权期限)对应字符串的哈希值进行加密得到的。

哈希算法是将任意长度的二进制数值映射为较短的固定长度的另一二进制数值,这个短的二进制数值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式,对于一个字符串哪怕只更改该字符串中的一个字符,随后哈希都将产生不同的哈希值。

待验证主机利用公钥将第一数字签名进行解密得到第一哈希值。

S132,从授权许可文件中获取授权信息,并获取该授权信息对应的第二哈希值。

待验证主机从授权许可文件中获得授权信息,然后利用哈希算法计算该授权信息对应的哈希值,即第二哈希值,该第二哈希值是授权信息的字符串对应的哈希值。

S133,比较第一哈希值和第二哈希值是否相同;如果相同,则执行S134;如果不相同,执行S135。

S134,确定授权许可文件未被篡改。如果两个哈希值一致,则表明授权许可文件中的授权信息未被篡改。

S135,确定授权许可文件被篡改。如果两个哈希值不一致,则表明授权许可文件中的授权信息被篡改过。

S140,根据授权信息验证所述目标Web应用程序的运行信息是否与所述授权信息匹配;如果不匹配,则执行S150;如果匹配,则执行S160。

授权信息通常包括被授权主机的唯一标识和授权期限,相应的,运行信息包括待验证主机的唯一标识和当前时间。

在本发明一种可能的实现方式中,先判断待验证主机是否是授权主机,如果是被授权主机,进一步判断是否在授权期限内。如图3所示,验证运行信息是否与授权信息匹配的过程可以包括以下步骤:

S141,获取待验证主机的第二唯一标识。

S142,判断第二唯一标识与授权许可文件中的第一唯一标识是否相同;如果相同,则执行S143;如果不相同,则执行S145;

S143,判断当前时间是否小于授权许可文件中的授权期限;如果小于,则执行S144;如果超出授权期限,则执行S145。

S144,确定目标Web应用程序的运行信息与授权信息匹配。

S145,确定目标Web应用程序的运行信息与所述授权信息不匹配。

需要说明的是,在本发明的其它可能的实现方式中,可以先判断目标Web应用程序的当前时间是否在授权期限内,如果在授权期限内,则进一步判断待验证主机是否是被授权主机。本发明不限定授权主机和授权期限的判断顺序。

S150,退出目标Web应用程序。

如果确定待验证主机运行目标Web应用程序的运行信息与授权信息不匹配(即不符合授权条件),则退出目标Web应用程序。

S160,验证通过,正常运行目标Web应用程序。

如果待验证主机运行目标Web应用程序的运行信息与授权信息匹配,则确定符合授权条件,正常运行目标Web应用程序。

本实施例提供的Web应用程序授权方法,在目标Web应用程序中存储有公钥,该公钥由非对称加密算法生成。当运行目标Web应用程序时,获取授权许可文件,该授权许可文件包含第一数字签名和授权信息。利用公钥及第一数字签名验证授权许可文件是否被篡改,如果授权许可文件未被篡改,利用授权信息验证目标Web应用程序的运行信息是否符合授权条件,如果不符合授权条件,则退出该目标Web应用程序。该方法利用非对称加密算法生成的私钥对授权许可文件进行数字签名,非对称加密算法得到的公钥/私钥具有唯一性,因此,数字签名不可能被篡改,从而保证验证授权许可文件是否被篡改的标准的唯一性。因此,利用该方法实现的Web应用程序的授权许可功能的安全性更高。

请参见图4,示出了本发明实施例另一种Web应用程序授权方法的流程图,本实施例中,为了防止Web应用程序集中的公钥被篡改,利用强命名技术对程序集进行签名。如图4所示,该方法在图1所示实施例的基础上还包括:

S210,利用强命名技术对目标Web应用程序进行数字签名,得到第二数字签名。

强命名由一个程序集的标识组成并通过公钥和数字签名(针对该程序集生成)加强的名称。其中,程序集的标识包括简单文本名称、版本号和区域性信息。强名称提供可靠的完整性检查。

S220,当运行目标Web应用程序时,利用第二数字签名验证目标Web应用程序是否被篡改;如果目标Web应用程序未被篡改,则执行S110的步骤;如果目标Web应用程序被篡改,则执行S150。

在进行强命名签名时,首先对程序集(不包括DOS头和PE头)进行哈希运算,得到文件的散列值,然后使用私钥对散列值进行加密,得到密文。然后将公钥、公钥标识和密文三个信息保存在程序集中。在加载该程序集时,首先对该程序集进行哈希运算得到一个新的哈希值,然后从程序集中提取公钥对密文解密得到原始的哈希值,如果两个哈希值相同,即通过验证。

任何人不会产生与其他人相同的公钥/私钥对,因此,利用私钥对程序集进行的签名不可能被篡改,可以作为验证程序集的判断标准。

需要说明的是,强命名中第二数字签名所使用的公钥/私钥对与授权验证时的公钥/私钥对不相同。

本实施例提供的Web应用程序授权方法,在加载目标Web应用程序时,首先验证目标Web应用程序是否被篡改过,如果未被篡改,则继续根据授权许可文件验证当前运行是否符合授权条件。利用该方法能够有效防止Web应用程序中的公钥被篡改,从而进一步提高了Web应用程序的授权功能安全性。

请参见图5,示出了本发明实施例又一种Web应用程序授权方法的流程图,该方法应用于对Web应用程序进行授权管理的主机中,授权管理的主机是Web应用程序开发方的计算机设备。

如图5所示,该方法包括:

S310,获取运行目标Web应用程序的被授权主机的唯一标识,以及获取所述目标Web应用程序的授权期限。

被授权主机的唯一标识包括计算机的CPU序列号、MAC地址等能够唯一标识计算机的信息。

在本发明一种可能的实现方式中,由工作人员在授权管理主机中输入授权期限和被授权主机的唯一标识。

S320,根据非对称加密算法生成公钥和私钥,并将所述公钥存储到所述目标Web应用程序中。

利用非对称加密算法生成公钥/私钥对,并将公钥保存到目标Web应用程序中。公钥/私钥对具有唯一性。

S330,利用私钥对所述唯一标识及所述授权期限进行签名,得到所述第一数字签名。

在本发明一种可能的实现方式中,如图6所示,S330可以包括以下步骤:

S331,利用哈希算法计算得到该唯一标识及授权期限组成的字符串所对应的第一哈希值。

获取被授权主机的唯一标识和授权期限组成的字符串,然后,计算该字符串对应的哈希值,称为第一哈希值。

S332,利用私钥对第一哈希值进行加密得到所述第一数字签名。

利用步骤S320产生的私钥对第一哈希值进行加密,得到第一数字签名。

S340,利用所述第一数字签名、所述唯一标识及所述授权期限生成授权许可文件,并将所述授权许可文件存储到目标Web应用程序中。

所述被授权主机利用公钥及第一数字签名验证授权许可文件是否被篡改,以及,当确定所述授权许可文件未被篡改时,所述被授权主机利用授权许可文件验证被授权主机运行目标Web应用程序的运行信息是否与授权许可文件中的授权信息匹配。

本实施例提供的Web应用程序授权方法,根据被授权主机的唯一标识、授权期限及私钥生成授权许可文件的数字签名,利用该数字签名、被授权主机的唯一标识及授权期限生成授权许可文件。当待验证主机运行Web应用程序时,利用数字签名验证授权许可文件是否被篡改,如果没有被篡改,进一步利用授权许可文件中的授权信息验证当前的运行Web应用程序是否符合授权条件,如果不符合则自动退出该Web应用程序。该方法利用非对称加密算法生成的私钥对授权许可文件进行数字签名,非对称加密算法得到的公钥/私钥具有唯一性,因此,数字签名不可能被篡改,从而保证验证授权许可文件是否被篡改的标准的唯一性。因此,利用该方法实现的Web应用程序的授权许可功能的安全性更高。

相应于上述的Web应用程序授权方法实施例,本发明还提供了Web应用程序授权装置实施例。

请参见图7,示出了本发明实施例一种Web应用程序授权装置的框图,该装置应用于运行Web应用程序的待验证主机中,该装置包括:第一获取模块110、第二获取模块120、第一验证模块130、第二验证模块140和程序退出模块150。

第一获取模块110,用于当运行目标Web应用程序时,获取存储在目标Web应用程序中的公钥。

该公钥根据非对称加密算法生成。利用非对称加密算法生成的公钥/私钥具有唯一性,利用同一非对称加密算法都不可能得到完全相同的公钥/私钥。

第二获取模块120,用于获取授权许可文件。

该授权许可文件包括第一数字签名及授权信息,该第一数字签名利用与公钥对应的私钥对授权信息进行加密得到。

授权信息包括被授权主机的唯一标识和授权期限。

唯一标识可以包括计算机的CPU序列号、MAC地址等能够唯一标识计算机设备的信息。

在本申请一种可能的实现方式中,可以选择计算机的任意一个唯一信息作为唯一标识,还可以使用计算机的多个唯一信息作为唯一标识,使用的唯一信息越多,篡改计算机唯一标识的难度越大。

第一验证模块130,用于利用公钥及第一数字签名验证该授权许可文件是否被篡改。

当待验证主机获取授权许可文件后,首先利用授权许可文件中的第一数字签名验证授权许可文件是否被篡改过。以第一数字签名中的信息为标准,判断授权许可文件中的授权信息是否与标准一致。

在本发明一种可能的实现方式中,如图8所示,第一验证模块130包括:解密子模块131、计算子模块132、比较子模块133、第一确定子模块134和第二确定子模块135。

解密子模块131,用于利用公钥对第一数字签名进行解密得到第一哈希值。

第一数字签名是利用私钥对授权信息(被授权主机的唯一标识和授权期限)对应字符串的哈希值进行加密得到的。因此,验证时,利用公钥对第一数字签名进行解密,得到哈希值,称为第一哈希值。

计算子模块132,用于从授权许可文件中获取授权信息及授权信息对应的第二哈希值。

比较子模块133,用于比较第一哈希值和第二哈希值是否相同;

第一确定子模块134,用于当第一哈希值与第二哈希值相同时,确定授权许可文件未被篡改;

第二确定子模块135,用于当第一哈希值与第二哈希值不同时,确定授权许可文件被篡改。

第二验证模块140,用于当确定授权许可文件未被篡改后,根据授权信息验证目标Web应用程序的运行信息是否与授权信息匹配。

运行信息包括运行目标Web应用程序的计算机设备的唯一标识,以及,当前时间。

在本发明一种可能的实现方式中,先判断待验证主机是否是授权主机,如果是被授权主机,进一步判断是否在授权期限内。如图9所示,第二验证模块140可以包括:第一获取子模块141、第一判断子模块142、第二判断子模块143、第三确定子模块144和第四确定子模块145。

第一获取子模块141,用于获取待验证主机的第二唯一标识。

第一判断子模块142,用于判断第二唯一标识与第一唯一标识是否相同。

第二判断子模块143,用于当第二唯一标识与第一唯一标识相同时,判断当前时间是否在授权期限内;

第三确定子模块144,用于当当前时间在授权期限内时,确定目标Web应用程序的运行信息与授权信息匹配;

第四确定子模块145,用于当第二唯一标识与第一唯一标识不相同,或者,当前时间超出授权期限时,确定目标Web应用程序的运行信息与授权信息不匹配。

程序退出模块150,用于当目标Web应用程序的运行信息与授权信息不匹配时,退出目标Web应用程序。

如果确定待验证主机运行目标Web应用程序的运行信息与授权信息不匹配(即不符合授权条件),则退出目标Web应用程序。

如果待验证主机运行目标Web应用程序的运行信息与授权信息匹配,则确定符合授权条件,正常运行目标Web应用程序。

本实施例提供的Web应用程序授权装置,在目标Web应用程序中存储有公钥,该公钥由非对称加密算法生成。当运行目标Web应用程序时,由第二获取模块获取授权许可文件,该授权许可文件包含第一数字签名和授权信息。第一验证模块利用公钥及第一数字签名验证授权许可文件是否被篡改,如果授权许可文件未被篡改,由第二验证模块利用授权信息验证目标Web应用程序的运行信息是否符合授权条件,如果不符合授权条件,则退出该目标Web应用程序。该装置利用非对称加密算法生成的私钥对授权许可文件进行数字签名,非对称加密算法得到的公钥/私钥具有唯一性,因此,数字签名不可能被篡改,从而保证验证授权许可文件是否被篡改的标准的唯一性。因此,利用该装置实现的Web应用程序的授权许可功能的安全性更高。

请参见图10,示出了本发明实施例另一种Web应用程序授权装置的框图,该装置在图7所示实施例的基础上还包括:数字签名模块210和第三验证模块220。

数字签名模块210,用于对目标Web应用程序进行数字签名,得到第二数字签名;

第三验证模块220,用于当运行目标Web应用程序时,利用第二数字签名签名验证目标Web应用程序是否被篡改;当确定目标Web应用程序未被篡改时,控制第一获取模块获取存储在所述目标Web应用程序中的公钥。

本实施例提供的Web应用程序授权装置,在加载目标Web应用程序时,首先验证目标Web应用程序是否被篡改过,如果未被篡改,则继续根据授权许可文件验证当前运行是否符合授权条件。利用该装置能够有效防止Web应用程序中的公钥被篡改,从而进一步提高了Web应用程序的授权功能安全性。

请参见图11,示出了本发明实施例另一种Web应用程序授权装置的框图,该装置应用于对Web应用程序进行授权管理的主机中,授权管理的主机是Web应用程序开发方的计算机设备。

如图11所示,所述装置包括:第一获取模块310、第二获取模块320、密钥生成模块330、数字签名模块340和授权许可文件生成模块350。

第一获取模块310,用于获取被授权主机的唯一标识。

第二获取模块320,用于获取目标Web应用程序的授权期限。

密钥生成模块330,用于根据非对称加密算法生成公钥和私钥,并将公钥存储到目标Web应用程序中。

数字签名模块340,用于利用私钥对唯一标识及授权期限进行签名,得到第一数字签名。

如图12所示,数字签名模块340,包括:计算子模块341和加密子模块342。

计算子模块341,用于计算唯一标识及授权期限组成的字符串对应的第一哈希值。

加密子模块342,用于利用私钥对第一哈希值进行加密得到第一数字签名。

授权许可文件生成模块350,用于利用第一数字签名、唯一标识及授权期限生成授权许可文件,并将授权许可文件存储到目标Web应用程序中。

被授权主机利用公钥及第一数字签名验证授权许可文件是否被篡改,以及,当确定授权许可文件未被篡改时,使被授权主机利用授权许可文件验证被授权主机运行目标Web应用程序的运行信息是否符合授权许可文件中的授权信息。

本实施例提供的Web应用程序授权装置,根据被授权主机的唯一标识、授权期限及私钥生成授权许可文件的数字签名,利用该数字签名、被授权主机的唯一标识及授权期限生成授权许可文件。当待验证主机运行Web应用程序时,利用数字签名验证授权许可文件是否被篡改,如果没有被篡改,进一步利用授权许可文件中的授权信息验证当前的运行Web应用程序是否符合授权条件,如果不符合则自动退出该Web应用程序。该方法利用非对称加密算法生成的私钥对授权许可文件进行数字签名,非对称加密算法得到的公钥/私钥具有唯一性,因此,数字签名不可能被篡改,从而保证验证授权许可文件是否被篡改的标准的唯一性。因此,利用该方法实现的Web应用程序的授权许可功能的安全性更高。

所述Web应用程序授权装置包括处理器和存储器,上述第一获取模块110、第二获取模块120、第一验证模块130、第二验证模块140和程序退出模块150等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高Web应用程序授权的安全性。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本实施例提供的Web应用程序授权装置,在目标Web应用程序中存储有公钥,该公钥由非对称加密算法生成。当运行目标Web应用程序时,由第二获取模块获取授权许可文件,该授权许可文件包含第一数字签名和授权信息。第一验证模块利用公钥及第一数字签名验证授权许可文件是否被篡改,如果授权许可文件未被篡改,由第二验证模块利用授权信息验证目标Web应用程序的运行信息是否符合授权条件,如果不符合授权条件,则退出该目标Web应用程序。该装置利用非对称加密算法生成的私钥对授权许可文件进行数字签名,非对称加密算法得到的公钥/私钥具有唯一性,因此,数字签名不可能被篡改,从而保证验证授权许可文件是否被篡改的标准的唯一性。因此,利用该装置实现的Web应用程序的授权许可功能的安全性更高。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:

当运行目标Web应用程序时,获取存储在所述目标Web应用程序中的公钥,所述公钥根据非对称加密算法生成;

获取授权许可文件,所述授权许可文件包括第一数字签名及授权信息,所述第一数字签名利用与所述公钥对应的私钥对所述授权信息进行签名得到;

利用所述公钥及所述第一数字签名验证所述授权许可文件是否被篡改;

当确定所述授权许可文件未被篡改后,根据所述授权信息验证所述目标Web应用程序的运行信息是否与所述授权信息匹配;

当所述目标Web应用程序的运行信息与所述授权信息不匹配时,退出所述目标Web应用程序。

本申请还提供了另一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:

获取被授权主机的唯一标识,以及获取所述目标Web应用程序的授权期限;

根据非对称加密算法生成公钥和私钥,并将所述公钥存储到所述目标Web应用程序中;

利用所述私钥对所述唯一标识及所述授权期限进行签名,得到所述第一数字签名;

利用所述第一数字签名、所述唯一标识及所述授权期限生成授权许可文件,并将所述授权许可文件部署到所述被授权主机中,以使所述被授权主机利用所述公钥及所述第一数字签名验证所述授权许可文件是否被篡改,以及,当确定所述授权许可文件未被篡改时,使所述被授权主机利用所述授权许可文件验证所述被授权主机运行所述目标Web应用程序的运行信息是否符合所述授权许可文件中的授权信息。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1