一种基于rsa公钥密码的离线电力交易信息系统授权方法

文档序号:7775419阅读:141来源:国知局
一种基于rsa公钥密码的离线电力交易信息系统授权方法
【专利摘要】本发明属于电力信息安全领域,涉及一种基于RSA公钥密码的离线电力交易信息系统授权方法用于远程离线授权。该方法首先由客户端向服务器申请远程授权码,服务端自动生成复杂度较高的授权码提供给客户,客户选择其中一个授权码进行保存,将该授权码用客户的私钥加密并将所有的授权码用服务器的公钥加密提交给服务器;服务器对客户端提交的授权码进行验证,验证成功后保存所有的授权码,并提示客户端授权码申请成功。客户成功拿到授权码之后就可以对核心问题进行远程授权了,授权的过程也非常简单。本发明中采取RSA公钥方法对授权码进行加密传输,因此该发明的安全性基于RSA公钥体系,可以达到电力信息系统的安全性要求。
【专利说明】—种基于RSA公钥密码的离线电力交易信息系统授权方法
[0001]
【技术领域】
[0002]本发明属于电力信息安全领域,涉及一种基于RSA公钥密码的离线电力交易信息系统授权方法用于远程离线授权。
[0003]【背景技术】
[0004]目前电力交易机构建立了自己的数据信息管理系统,其中涉及到一些比较敏感的资料和数据,或者某些命令的授权,需要主管领导的授权才能继续,这些授权都是基于计算机软件系统的。有些系统设计的较为灵活,可在任意的终端进行授权,有的则更为严格,必须在指定的终端才能进行授权。
[0005]如果遇到主管领导外出不在位的情况,无法在终端进行授权,那么遇到紧急情况就会延误造成不必要的损失。这样就需要一种解决方案来解决远程离线授权。
[0006]大部分的终端登录都是使用密码、密钥盘、指纹来进行登录的,根据保密规定的要求,密钥盘要随身携带,不允许他人代替登录,以防出现意外操作或者恶意操作,所以一旦授权人外出不能在有效的时间内进行授权,则必须使用远程离线授权。
[0007]从技术的角度来讲,必须找到一种能够唯一确定个人身份的东西,并且能够远程传递,只能采用 授权码。授权码只能使用一次,方便输入、并且不包含个人的任何信息,可通过电话、短信、即时通讯等进行传输,输入一次即作废。长度不能太短,要确保随机产生的授权码永不重复。可使用纯数字或者字母数字相结合的方式,为了避免口述过程中出现错误,可去掉字母中的J或者G,去掉O和0,去掉I和I,这样在打印或者读的时候不容易产生混淆。
[0008]授权码在使用之前,必须经过双重的签名:先经过授权人的签名,服务器认证后自己对其签名,授权时对其进行认证,通过的则代替授权人进行授权。
[0009]传统的授权方法比如口令授权、硬件授权、生物特征(指纹)授权等都无法解决远程授权的问题。比如口令授权,虽然能够进行远程授权,但是口令往往存在口令复杂度较低,容易受攻击,因此安全隐患较大,不对核心决策进行授权;硬件授权和生物特征收取又由于其自身的局限性不具备远程提供并授权的能力。
[0010]

【发明内容】

[0011]本发明要解决的技术问题是:
1、授权手段要易于操作和实现,并且能够与现有技术结合,不能因为引入新的授权方法而大肆修改原有系统。
[0012]2、授权手段必须足够安全,不能轻易被攻击。[0013]为解决上述问题,本发明提出一套远程授权的方法,即基于RSA的公钥密码的离线电力交易信息系统授权方法。该方法首先由客户端向服务器申请远程授权码,服务端自动生成复杂度较高的授权码提供给客户,客户选择其中一个授权码进行保存,将该授权码用客户的私钥加密并将所有的授权码用服务器的公钥加密提交给服务器;服务器对客户端提交的授权码进行验证,验证成功后保存所有的授权码,并提示客户端授权码申请成功。客户成功拿到授权码之后就可以对核心问题进行远程授权了,授权的过程也非常简单。客户要对远程问题进行授权时,首先将授权码提供给服务器端,服务器收到授权码后从服务调出以前保存的授权码,用调出的授权码对客户提供的授权码进行验证,验证通过后告知客户授权成功。本发明中采取RSA公钥方法对授权码进行加密传输,因此该发明的安全性基于RSA公钥体系,至少在未来20年内该方法都具有较强的安全级别,因此可以达到电力信息系统的安全性要求。
[0014]如图3所示,本发明分为两个过程:
过程1:授权码的申请;
步骤1:客户端向服务器端申请授权码,服务器根据用户的申请生成一组有大小写字母、数字及标点符号构成的授权码。
[0015]步骤2:客户端选择一个授权码用自己的私钥对其加密,并将所有的授权码用服务器的私钥进行加密,将加密后的授权码提交给服务器。
[0016]步骤21:生成公钥(如图1所示)。随机生成两个不同的且大小相近的大素数P和q ;计算n=pq,将η公开;计算;然后随机选择整数e, 1<?<φ ,使
得gcdCe?禮=1,将e公开;计算满足《I sHinod#的唯一整数d, I<rf<决;公钥为(n, e),私钥为d。
[0017]步骤22:客户用自己的私钥对选`择的授权码,用服务器端的公钥对所有的授权码加密(如图2所示)。我们以用服务器端公钥对授权码加密来讲述公钥加密过程。获得服务器端的可信公钥(n,e);并把消息表示成区间[0,η-1]内的整数m;计算,将密文c发送给服务器。用私钥对选定的授权码加密的过程与上述过程类似不再描述。
[0018]步骤3:服务器收到客户端发送的加密后的授权码,对授权码解密并进行验证,验证成功后存入授权码数据库,并通知客户端授权码申请成功。
[0019]步骤31:验证授权码。服务器端收到客户端发送过来的加密授权码后,首先用客户端的公钥和自己的私钥将加密文件解密,得到用户选定的授权码和授权码组,服务器将用户的授权码和授权码组一一比对,如果比对成功则申请授权码成功,如果比对失败则通知用户重新申请授权码。
[0020]过程2:使用授权码进行授权
步骤1:客户端将授权码提交给服务器。服务器收到授权码后,先从数据库中搜索该客户的所有授权码。如果未找到授权码则授权失败,如果找到授权码进入步骤2。
[0021]步骤2:服务器对客户提供的授权码进行验证。验证未通过则授权失败,验证通过首先从数据库中将客户的授权码删除,并通知客户端授权成功。本步骤同过程I的步骤31类似,将数据库中存放的授权码取出,解密出授权码组;用客户提供的授权码与授权码组一一比对如果比对成功则授权通过,如果比对失败则提示用户重新输入授权码;用户三次输入错误的授权码,则取消客户的授权资格,并将客户进行锁定,只有通过客户的一次成功登录才能将客户解锁。
[0022]本发明的有益效果在于:
1、授权码能够有效对抗数据库入侵。
[0023]数据库服务器被入侵:
(O伪造授权码:侵入者手动添加远程授权码到服务器,但是因为不知道授权人的私钥,因此无法对授权码进行签名,在输入授权码后,服务器对其签名进行验证,无法通过,其安全性和RSA密码的安全性是一致的。
[0024](2)盗窃破坏授权码:侵入者能够随意修改已经签名的授权码,使其失效,还可以盗取已经签名的授权码,所以授权码的健壮性是和数据库的安全性一致的。
[0025]2、授权码能够有效应对客户端暴力攻击。
[0026]被授权用户已经登录到客户服务器,也可能是用户密码被盗,但是无法登录数据库服务器,无法进行破坏。这时如果其能够在三次之内猜出授权码,则伪造授权成功。
[0027]如果授权码的长度达到32字节,即使只采用数字,其被猜出来的可能性仅为10~32分之三,因为最多允许猜测三次。如果采用字母和符号的话,可达到95~32分之三,约等于10~63分之三。
[0028]为了增加外部安全性,进行远程授权时,还可以增加两位已登录的用户作为监控者,这两位监控者应该由服务器随机指定。监控者应立即到需要授权的那台终端进行授权,以便核实需要授权的用户是否合法。
[0029]3、可有使用多种方式保存授权码。
[0030]( I)背诵:
(2)明文打印:打印授权码明文随身携带,最有可能被盗窃。
[0031](3)密文打印:使用替换、移位、逆序、数学运算后打印保存,规则可由授权人自行规定。
[0032](4)电子设备保存:需要的时候需要输入密码才能显示,这些电子设备可以使用生物特征密码进行登录。
[0033]4、授权码能够有效应对在传输中被窃的风险。
[0034]使用时,可以使用任意手段进行传输,为了确保授权码即使在传输过程中被窃听也不会造成损失,被授权用户必须在进入授权码输入状态,再远程获取授权码,传输过程中要一个一个的发送,便于输入。服务器方也必须保证授权人的远程授权状态必须全局唯一,不能有两个远程授权同时进行。
[0035]综上所述,想要实现非法远程授权,必须要同时盗取三个用户的登录密码,并盗取一个有效的授权码,并在终端登录,方能进行授权,且另外两个用户必须是服务器随机指定的监控用户才可以;如果要破坏远程授权,只需要入侵数据库服务器即可。
[0036]
【专利附图】

【附图说明】
[0037]图1是RSA算法密钥对产生过程。
[0038]图2是利用RSA的数字签名过程。[0039]图3是利用授权码授权访问流程。
[0040]
【具体实施方式】
[0041]以电力交易中确认交易为例:
某发电企业在电力交易申报获批后要由发电企业负责人A进行确认,而此时负责人A因特殊情况不能亲自确认,而发电企业交易员B没有确认交易的权限,而此时确认交易时间急迫,如果不能及时确认交易,有可能导致发电企业无法完成此次交易,必须等到下次交易的进行,这样会对发电企业带来较大的损失。这时只能依靠负责人A对交易员B进行远程授权,以完成此次交易。
[0042]申请授权的是交易员B,B在登录电力交易管理系统后,提出确认交易的申请,系统根据确认交易权限要求A进行授权,但是发现A没有登录,询问是否进行远程授权,确定后,等待A的远程授权码。此时客户服务器确保此时只有B的终端在进行A的远程授权,这样即使授权码在传输过程中被窃听,也无法在别的终端进行远程授权。
[0043]同时客户服务器临时从B所在的区域抽出两名在线的登录者作为监控者,到B所在的终端进行监控授权。
[0044]B在获取A的远程授权码后,输入通过验证后,系统要求两名监控者输入其授权密码(登录密码)或者插入密钥盘进行监控授权,通过后,本次授权通过,客户服务器将当前使用过的授权码移入历史授权码表,远程授权结束。
[0045]同时客户服务器分别给需要确认的交易申请发送命令,确认此次交易。
[0046]说明:
1、远程授权码的核心是RSA算法,但是光靠算法是不能保证远程授权的安全的,需要整个软件系统(客户端、服务器、数据库)本身是安全的,并且依靠协议的限制,来进一步的确保授权的可控性及安全性。如果不能确保数据库服务器的安全,那么所有的安全的基础都会不存在。
[0047]2、软件系统不能完全代替人,除了远程授权之外,如果远程授权码被破坏掉,那么还应该有别的办法进行授权,不能完全依赖软件系统。比如上例中,授权码被破坏,则C可以临时更改装备调动的权限,让B直接授权即可,但是这个权限还需要其他的限制,不能由C单独进行授权,还需要与其同级的监控才可以。通过相互的监控、相互的牵制才能达到权力的平衡和稳定。
【权利要求】
1.一种基于RSA公钥密码的离线电力交易信息系统授权方法,其特征在于,所述方法包括授权码的申请及使用授权码进行授权两个过程,具体如下: 过程I授权码的申请: 步骤1:客户端向服务器端申请授权码,服务器根据用户的申请生成一组有大小写字母、数字及标点符号构成的授权码; 步骤2:客户端选择一个授权码用自己的私钥对其加密,并将所有的授权码用服务器的私钥进行加密,将加密后的授权码提交给服务器; 步骤3:服务器收到客户端发送的加密后的授权码,对授权码解密并进行验证,验证成功后存入授权码数据库,并通知客户端授权码申请成功; 过程2使用授权码进行授权: 步骤4:客户端将授权码提交给服务器;服务器收到授权码后,先从数据库中搜索该客户的所有授权码;如果未找到授权码则授权失败,如果找到授权码进入步骤5 ; 步骤5:服务器对客户提供的授权码进行验证;验证未通过则授权失败,验证通过首先从数据库中将客户的授权码删除,并通知客户端授权成功。
2.根据权利要求1所述的方法,其特征在于,所述步骤2具体方法如下: 步骤21:生成公钥;随机生成两个不同的且大小相近的大素数P和q;计算n=pq,将η公开;计算^ =;然后随机选择整数e, 1<β<#,使得paife鈞=1,将e公开;计算满足erf釣的唯一整数d,l<tf<爹;公钥为(n,e),私钥为d ; 步骤22:客户用自己的私钥对选择的授权码,用服务器端的公钥对所有的授权码加密;我们以用服务器端公钥对授权码加密来讲述公钥加密过程;获得服务器端的可信公钥(n, e);并把消息表示成区间[0,η-1]内的整数m;计算,将密文c发送给服务器;用私钥对选定的授权码加密的过程与上述过程相同。
3.根据权利要求1所述的方法,其特征在于,所述步骤3具体方法如下: 验证授权码;服务器端收到客户端发送过来的加密授权码后,首先用客户端的公钥和自己的私钥将加密文件解密,得到用户选定的授权码和授权码组,服务器将用户的授权码和授权码组一一比对,如果比对成功则申请授权码成功,如果比对失败则通知用户重新申请授权码。
4.根据权利要求1所述`的方法,其特征在于,所述步骤5具体方法如下: 将数据库中存放的授权码取出,解密出授权码组;用客户提供的授权码与授权码组一一比对如果比对成功则授权通过,如果比对失败则提示用户重新输入授权码;用户三次输入错误的授权码,则取消客户的授权资格,并将客户进行锁定,只有通过客户的一次成功登录才能将客户解锁。
【文档编号】H04L9/30GK103780600SQ201310535751
【公开日】2014年5月7日 申请日期:2013年11月1日 优先权日:2013年11月1日
【发明者】王文, 马超, 郭琳, 张洪涛, 谭翔, 薛佳兴, 代勇, 丁鹏, 刘大为, 袁晓鹏 申请人:国家电网公司, 国网电力科学研究院, 国网重庆市电力公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1