著录项信息
专利名称 | 基于Jar文件的授权方法及应用服务器 |
申请号 | CN201110279982.9 | 申请日期 | 2011-09-20 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-12-12 | 公开/公告号 | CN102819695A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/51 | IPC分类号 | G;0;6;F;2;1;/;5;1;;;H;0;4;L;9;/;3;2查看分类表>
|
申请人 | 金蝶软件(中国)有限公司 | 申请人地址 | 广东省深圳市南山区深南大道市高新技术工业村W1-B4
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 金蝶软件(中国)有限公司 | 当前权利人 | 金蝶软件(中国)有限公司 |
发明人 | 申思;王存平 |
代理机构 | 深圳市世纪恒程知识产权代理事务所 | 代理人 | 胡海国 |
摘要
本发明涉及一种基于Jar文件的授权方法及应用服务器,该方法包括:通过非对称加密算法得到需要进行授权权限控制的模块所需要的加密密钥和解密密钥;在模块所在Jar文件中添加模块的信息标识符;使用加密密钥将需要加密的信息加密成密文发送给被授权方;当授权方打开该模块的某一功能时,使用该模块对应的解密密钥验证密文,并根据验证结果确定某一功能是否被授权。本发明通过对不同模块进行独立授权,以保证授权的独立性和安全性。
1.一种基于Jar文件的授权方法,其特征在于,包括:
通过非对称加密算法得到需要进行授权权限控制的模块所需要的加密密钥和解密密钥;
在所述模块所在Jar文件中添加所述模块的信息标识符,所述信息标识符为是否加密的标识符;
使用所述加密密钥将需要加密的信息加密成密文发送给被授权方,该信息包括:某一功能的功能界面名、使用期限;
当所述被授权方打开该模块的某一功能时,使用该模块对应的解密密钥验证所述密文,并根据所述验证结果确定所述某一功能是否被授权。
2.如权利要求1所述的方法,其特征在于,所述使用该模块对应的解密密钥验证所述密文,并根据所述验证结果确定所述某一功能是否被授权;具体包括:
从所述模块所在的Jar文件中读取出该模块的信息标识符;
根据所述信息标识符获取该模块对应的解密密钥;
使用所述解密密钥解析所述密文,并根据所述解析结果得到所述某一功能的验证信息;
根据所述验证信息确定所述某一功能是否被授权。
3.如权利要求1所述的方法,其特征在于,在所述模块所在Jar文件中添加所述模块的信息标识符,之后,进一步包括:
将模块及对应的解密密钥存放在应用服务器的固定存储介质上。
4.如权利要求1或3所述的方法,其特征在于,使用所述加密密钥将需要加密的信息加密成密文发送给被授权方,之后,进一步包括:
接受所述被授权方导入的所述密文,并将所述密文存放在应用服务器的固定存储介质上。
5.一种应用服务器,其特征在于,包括:
密钥生成单元,用于通过非对称加密算法得到需要进行授权权限控制的模块所需要的加密密钥和解密密钥;
模块信息处理单元,用于在所述模块所在Jar文件中添加所述模块的信息标识符,信息标识符为是否加密的标识符;
密文发送单元,用于使用所述加密密钥将需要加密的信息加密成密文发送给被授权方,该信息包括:某一功能的功能界面名、使用期限;
授权解密单元,用于当所述被授权方打开该模块的某一功能时,使用该模块对应的解密密钥验证所述密文,并根据所述验证结果确定所述某一功能是否被授权。
6.如权利要求5所述的应用服务器,其特征在于,所述授权解密单元,还包括:
信息读取子单元,用于从所述模块所在的Jar文件中读取出该模块的信息标识符;
信息对应子单元,用于根据所述信息标识符获取该模块对应的解密密钥;
验证信息子单元,用于使用所述解密密钥解析所述密文,并根据所述解析结果得到所述某一功能的验证信息;
授权确定子单元,用于根据所述验证信息确定所述某一功能是否被授权。
7.如权利要求5所述的应用服务器,其特征在于,还包括存储单元,用于将模块及对应的解密密钥存放在应用服务器的固定存储介质上。
8.如权利要求7所述的应用服务器,其特征在于,所述存储单元,还用于接受所述被授权方导入的所述密文,并将所述密文存放在应用服务器的固定存储介质上。
基于Jar文件的授权方法及应用服务器\n技术领域\n[0001] 本发明涉及计算机技术领域,具体是基于Jar(Java Archive,可以撰写跨平台应用软件的面向对象的程序设计语言的归档文件)文件的授权方法及应用服务器。\n背景技术\n[0002] 在软件产品发布及应用中,为保护公司合法利益,常需要对软件产品进行加密及授权,然而,当软件企业不断扩大,分公司、事业部等形式的产生,导致了下属公司需要独立对自行开发的部分模块独立授权的情况出现。另外、随着公司业务的扩大,所涉及行业的增多,往往需要不同的权限管理人员来管理不同的模块。以往的解决方案为向总公司申请统一的权限加密控制,并且加密方式相同在如上需求情况下是不合理的,主要不足如下:\n[0003] (1)无法保证各公司授权的独立性。向总公司申请权限授权控制,下属公司失去了独立授权的能力,授权能力依然掌握在总公司手中。\n[0004] (2)授权方式的安全性不足。由于加密方式与总公司加密方式相同,则导致总公司授权机制泄密的情况下,下属公司授权机制同样会泄露。\n[0005] (3)无法保证各业务模块间授权的独立性,授权权限管理难度大。由于总部授权方式的唯一性,授予某一模块权限的方式与授予其他模块授权的方式完全相同,导致管理某一模块授权权利的管理人员有权利对不属于其管理的模块进行授权。这在管理上存在着一定的缺失。\n发明内容\n[0006] 本发明的主要目的是提供一种通过对不同模块进行独立授权的基于Jar文件的授权方法及应用服务器,以保证授权的独立性和安全性。\n[0007] 本发明解决其技术问题所采用的技术方案是:\n[0008] 一种基于Jar文件的授权方法,其包括:\n[0009] 通过非对称加密算法得到需要进行授权权限控制的模块所需要的加密密钥和解密密钥;\n[0010] 在模块所在Jar文件中添加模块的信息标识符;\n[0011] 使用加密密钥将需要加密的信息加密成密文发送给被授权方;\n[0012] 当授权方打开该模块的某一功能时,使用该模块对应的解密密钥验证密文,并根据验证结果确定某一功能是否被授权。\n[0013] 优选地,使用该模块对应的解密密钥验证密文,并根据验证结果确定某一功能是否被授权;具体包括:\n[0014] 从模块所在的Jar文件中读取出该模块的信息标识符;\n[0015] 根据信息标识符获取该模块对应的解密密钥;\n[0016] 使用解密密钥解析密文,并根据解析结果得到某一功能的验证信息;\n[0017] 根据验证信息确定某一功能是否被授权。\n[0018] 优选地,信息标识符为是否加密的标识符。\n[0019] 优选地,在模块所在Jar文件中添加模块的信息标识符,之后,进一步包括:\n[0020] 将模块及对应的解密密钥存放在应用服务器的固定存储介质上。\n[0021] 优选地,使用加密密钥将需要加密的信息加密成密文发送给被授权方,之后,进一步包括:\n[0022] 接受被授权方导入的密文,并将密文存放在应用服务器的固定存储介质上。\n[0023] 本发明还提供一种应用服务器,其包括:\n[0024] 密钥生成单元,用于通过非对称加密算法得到需要进行授权权限控制的模块所需要的加密密钥和解密密钥;\n[0025] 模块信息处理单元,用于在模块所在Jar文件中添加模块的信息标识符;\n[0026] 密文发送单元,用于使用加密密钥将需要加密的信息加密成密文发送给被授权方;\n[0027] 授权解密单元,用于当授权方打开该模块的某一功能时,使用该模块对应的解密密钥验证密文,并根据验证结果确定某一功能是否被授权。\n[0028] 优选地,授权解密单元,还包括:\n[0029] 信息读取子单元,用于从模块所在的Jar文件中读取出该模块的信息标识符;\n[0030] 信息对应子单元,用于根据信息标识符获取该模块对应的解密密钥;\n[0031] 验证信息子单元,用于使用解密密钥解析密文,并根据解析结果得到某一功能的验证信息;\n[0032] 授权确定子单元,用于根据验证信息确定某一功能是否被授权。\n[0033] 优选地,信息标识符为是否加密的标识符。\n[0034] 优选地,的应用服务器还包括存储单元,用于将模块及对应的解密密钥存放在应用服务器的固定存储介质上。\n[0035] 优选地,存储单元,还用于接受被授权方导入的密文,并将密文存放在应用服务器的固定存储介质上。\n[0036] 实施本发明的技术方案,具有以下有益效果;本发明提供的基于Jar文件的授权方法,因为每个模块都可以制作成独立的Jar文件,保证了各个模块之间的独立性,使各个模块之间互不冲突。由于验证信息(如须校验的功能界面名、有效期限等信息)以密文形式保存用以防止使用方以非法途径自行生成校验信息内容;采用非对称密钥加密信息方式处理:每个模块的授权方生成独立的密钥对,授权方保留加密密钥,验证端保留解密密钥,保证了授权的独立性和安全性。\n附图说明\n[0037] 图1为本发明实施例提供的方法流程图;\n[0038] 图2为图1中的步骤S140的具体流程图;\n[0039] 图3为本发明实施例提供的应用服务器的结构示意图;\n[0040] 图4为图3的授权解密单元的结构示意图;\n[0041] 图5为本发明实施例提供的另一应用服务器的结构示意图。\n[0042] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。\n具体实施方式\n[0043] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0044] 本发明实施例提供一种基于Jar文件的授权方法,如图1所示,该方法包括步骤:\n[0045] S110、应用服务器通过非对称加密算法得到需要进行授权权限控制的模块所需要的加密密钥和解密密钥;\n[0046] 在本步骤中,应用服务器生成该模块的密钥对,该密钥对包括加密密钥和相对应的解密密钥。该模块是需要进行授权以及进行权限控制的模块。通过生成该密钥对后,该模块具有了解密密钥和加密密钥,而该解密密钥和加密密钥则对应该模块的信息。该模块的信息包括该模块的名称、属性等基本信息。\n[0047] S120、应用服务器在模块所在Jar文件中添加模块的信息标识符;在本实施例中,信息标识符为是否加密的标识符。以便于在后续过程中通过该模块是否具有加密标识符来进行解密或者不用解密处理。\n[0048] 在其他的实施例中,进一步的,本步骤S120之后,还包括:将模块及对应的解密密钥存放在应用服务器的固定存储介质上。该固定存储介质包括:数据库、服务器端磁盘等。\n[0049] S130、应用服务器使用加密密钥将需要加密的信息加密成密文发送给被授权方;\n[0050] 使用上述加密密钥和验证信息,将需加密的信息(该信息包括:某一功能的功能界面名、使用期限等)加密成密文,发送给被授权方。该密文带有验证信息。\n[0051] 在进一步的实施例中,在该步骤S130之后,还包括:接受被授权方导入的密文,并将密文存放在应用服务器的固定存储介质上。即:被授权方将密文导入该应用服务器的系统内,将该密文存储于应用服务器的固定存储介质上(如数据库、服务器端磁盘等)。优选地,通过数据库进行存储,可以提高验证信息读取效率以及规避多服务器集群情况下验证信息读取困难现象。\n[0052] S140、应用服务器当授权方打开该模块的某一功能时,使用该模块对应的解密密钥验证密文,并根据验证结果确定某一功能是否被授权。在其他的实施例中,更为具体的,如图2所示,该步骤S140具体包括:\n[0053] S141、从模块所在的Jar文件中读取出该模块的信息标识符;\n[0054] S142、根据信息标识符获取该模块对应的解密密钥;本步骤S142中,从应用服务器的固定存储介质上读取该解密密钥。\n[0055] S143、使用解密密钥解析密文,并根据解析结果得到某一功能的验证信息;在本步骤S143中,如果通过该解密密钥解析该密文,正确,则再解析出该密文的验证信息。\n[0056] S144、根据验证信息确定某一功能是否被授权。\n[0057] 分析上述步骤S143得到的验证信息便可得出该某一功能是否被授权,如果授权则可以正常使用,如果没有授权或者授权过期,则提示被授权方。\n[0058] 通过本发明实施例提供的方法,因为每个模块都可以制作成独立的Jar文件,保证了各个模块之间的独立性,使各个模块之间互不冲突。由于验证信息(如须校验的功能界面名、有效期限等信息)以密文形式保存用以防止使用方以非法途径自行生成校验信息内容;采用非对称密钥加密信息方式处理:每个模块的授权方生成独立的密钥对,授权方保留加密密钥,验证端保留解密密钥,保证了授权的独立性和安全性。\n[0059] 本发明实施例还提供一种应用服务器,如图3所示,该应用服务器包括:\n[0060] 密钥生成单元210,用于通过非对称加密算法得到需要进行授权权限控制的模块所需要的加密密钥和解密密钥;\n[0061] 模块信息处理单元220,用于在模块所在Jar文件中添加模块的信息标识符;其中,优选地,信息标识符为是否加密的标识符。\n[0062] 密文发送单元230,用于使用加密密钥将需要加密的信息加密成密文发送给被授权方;\n[0063] 授权解密单元240,用于当授权方打开该模块的某一功能时,使用该模块对应的解密密钥验证密文,并根据验证结果确定某一功能是否被授权。在其他的实施例中,更为具体的,授权解密单元240,如图4所示,还包括:\n[0064] 信息读取子单元241,用于从模块所在的Jar文件中读取出该模块的信息标识符;\n[0065] 信息对应子单元242,用于根据信息标识符获取该模块对应的解密密钥;\n[0066] 验证信息子单元243,用于使用解密密钥解析密文,并根据解析结果得到某一功能的验证信息;\n[0067] 授权确定子单元244,用于根据验证信息确定某一功能是否被授权。\n[0068] 在其他的实施例中,进一步的,如图5所示,的应用服务器还包括存储单元250,用于将模块及对应的解密密钥存放在应用服务器的固定存储介质上。以及,存储单元250,还用于接受被授权方导入的密文,并将密文存放在应用服务器的固定存储介质上。\n[0069] 通过本发明实施例提供的应用服务器,基于Jar文件,因为每个模块都可以制作成独立的Jar文件,保证了各个模块之间的独立性,使各个模块之间互不冲突。由于验证信息(如须校验的功能界面名、有效期限等信息)以密文形式保存用以防止使用方以非法途径自行生成校验信息内容;采用非对称密钥加密信息方式处理:每个模块的授权方生成独立的密钥对,授权方保留加密密钥,验证端保留解密密钥,保证了授权的独立性和安全性。\n[0070] 以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2003-12-03
|
2003-02-26
| | |
2
| | 暂无 |
2009-12-21
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |