一种在开放环境下的密钥保护方法和系统与流程

文档序号:13688079阅读:1466来源:国知局
一种在开放环境下的密钥保护方法和系统与流程

本发明属于信息安全技术领域,涉及一种在开放环境下的密钥保护方法和系统



背景技术:

近年来,移动互联网的高速发展,产生了移动办公、移动支付等新行业,信息服务和金融服务向互联网化、移动化的方向发展已是大势所趋,这种趋势首先反映在金融系统中,金融机构纷纷通过布局手机银行进行变革与创新。据统计,2016年我国top20的手机银行月均活跃用户规模达12494万,预计全部银行的月均活跃用户约1.5亿,2016年全年手机银行市场超过百万亿规模。

不过,值得注意的是,过去网络战所依赖的关键安全问题还没有彻底解决,加上金融服务向移动端发展,移动端的安全问题更加凸显出来,包括非法接入、支付密码的盗取、键盘录制、非法钓鱼网站、作案软件等,不安全性是手机银行显著存在的问题。因此如何将传统服务创新改造,为移动端的金融服务业务提供安全保障成为当下金融机构迫切需要解决的问题,也是移动金融落地发展和迈向成熟的关键所在。

传统的方案采用基于安全芯片的u盾、sdkey或蓝牙key等实现密钥的安全存储与使用,但随着移动互联网的发展和物联网的高速发展,这种基于硬件的保护方案在实际应用中局限性很大,尤其是在物联网设备中要移植这种传统的安全方案非常困难,成本因素也制约了安全体系的建立与推广。安全体系中去硬件化已是安全行业内的共识,采用虚拟化的密钥设备是今后的必然趋势。然而,虚拟密钥设备如何实现原安全芯片的密钥的安全存储和使用的功能,是制约行业发展的重要因素。

网际空间包括互联网、物联网、事联网,还包括物理网络和虚拟网络。在偌大的空间里,系统配置和密钥分发不能靠人工进行,而是需要在网上自动进行。cpk公钥体制已应用在通信系统、软件系统、防卫系统、办公系统、交易系统中,为了进一步适应网上自动进行的需求,cpk已全部用软件实现,系统可以在网上下载。其具有加密功能和验证功能,如果需要脱密功能和签名功能,则需要网上申请密钥。密钥是安全系统中最关键的因素,密钥一旦泄露,则毫无安全可言。在cpk系统中,密钥是网上发行、存储在内存中的,而网络和内存都是开放环境。因此在开放环境下研究解决首要的传输安全和存储安全关键性的难题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种在开放环境下的密钥保护系统和方法,在开放环境中解决密钥的传输安全和存储安全。在传输和存储中,密钥受多个随机数的保护,密钥和随机数共同运算,构成两个参数(f和g),两个参数又受到临沂参数d的保护,从而实现了从密钥申请、密钥生产、密钥传递、密钥存储和密钥使用等五个环节的有效保护。

为达到上述目的,本发明提供如下技术方案:

.一种在开放环境下的密钥保护系统,包括客户端、密钥中心;所示密钥中心包括密钥的申请与分发过程保护模块、密钥的存储保护模块、密钥的使用保护模块;

所述密钥的申请与分发过程保护模块用于完成:客户端产生一个随机数d,在口令保护下保存d,同时用密钥中心公钥对随机数d加密生成数字信封;将数字信封和用户标识发给密钥中心,密钥中心用自己的私钥打开数字信封得到因子d;密钥中心根据用户标识生产用户私钥;密钥中心产生随机数t保护私钥;因子d和t以及私钥的共同作用下生成参数param1=f和param2=g;密钥中心将参数f和g回传给客户端;

所述密钥的存储保护模块用于完成:用随机数r1对参数f和g进行加密存储,r1由系统密钥r经过str函数变换而产生,不以存储的形式存在;

所述密钥的使用保护模块用于完成:密钥使用在数字签名协议和密钥传递协议中,以参数调用的方法完成协议计算,在协议计算中所用参数为f和g以及随机因子d,无需还原私钥再使用;确保在密钥的使用过程中始终不出现源码形式的私钥数据。

基于上述系统的一种在开放环境下的密钥保护方法,包括以下步骤:

s1:密钥申请;

s2:参数分发;

s3:参数存储;

s4:参数调用。

进一步,所述步骤s1具体为:

验明申请者的真实性,防止冒领;若网上能验明的,则在网上申请,包括邮件地址密钥、电话号码密钥;若网上不能验明的,则到规定柜台申请,包括实名密钥、账号密钥。

进一步,所述步骤s2具体为:

申请者选择一个随机数r,计算:rg=(x,y),x+y=d,其中g是椭圆曲线的基点,(x,y)是坐标,d为随机因子;

申请者将d在自己口令下保护:d’=d#pwd;pwd为用户口令;

申请者计算:rcenter=alfa;alfa是对r用密钥中心公钥的加密,申请者将alfa发送给密钥中心,其中center是密钥分发中心center的公钥;

密钥中心计算:(center)-1alfa=rg=(x,y),x+y=d;其中center为密钥分发中心私钥;

密钥中心在参数d的基础上,计算两个参数param1=f和param2=g保护申请的密钥bob,将两个参数打包成数据data1,中心对数据签名,连同签名码重新打包成data2:

data1={param1||param2}

sigcenter(data1)=(s,c)=sign1

data2={(param1||param2),sign1}

中心将data2发送给申请者;其中sig是签名函数,||是链接符。

进一步,所述步骤s3具体为:

用户检查data1的验证码sign1:

hash(center)={i,j},将数字摘要按5-bit一个分组所产生矩阵坐标序列

σ(ri,j)=center

vercenter(data1,s)=c’

其中,hash是函数,σ是求和,(ri,j)是公钥矩阵,ver是验证函数;

如果c=c’,则继续:用户定义密钥加密密钥r1,通过制乱函数str生成乱数sr密钥r再加密:r1=r⊕sr;参数在r1下加密:er1(param1)=n,er1(param2)=m,e是对称加密函数。

进一步,所述步骤s4具体为:

求密钥r1:r1=r⊕sr;

参数的脱密:dr1(n)=param1=f,dr1(m)=param2=g,其中,d是对称脱密函数;

恢复d=d’#pwd;

密钥脱密计算:decbob(β)=g*d*f-1*β=rg=key,其中,dec是非对称脱密函数,key是对数据加密用的对称密钥,β是用bob的公钥对key的加密,d为随机因子,g和f为参数;

数字签名计算:

选择随机数k,计算:k*g=(x,y),c=xmod2m;其中c是验证码,mod为模运算符,m是验证码c的长度的控制数;

签名计算:s=k-1(h+c*d-1*g-1*f)mod2n=(s,c);n是签名码s的长度。

本发明的有益效果在于:本发明解决在开放环境中的密钥保护,全部用软件实现,不仅节省经费,而且普及度广,有利于实现网络化和自动化。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为密钥申请与分发保护流程;

图2为密钥参数存储保护流程;

图3为密钥参数的调用流程。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

密钥的保护系统涉及了用户端和密钥中心两部分,用户端提出密钥申请、存储密钥因子和使用密钥因子进行相关的密码学运算;密钥中心主要是负责密钥的生产和密钥的分散处理。下面我们按密钥申请与分发、密钥存储和密钥使用三个部分分别介绍密钥的全生命周期是如何进行密钥保护的。

密钥申请与分发过程的保护分为以下几步,如图1所示:(1)用户端产生一个随机数,并计算因子d和用密钥中心公钥对随机数加密生成数字信封;(2)将数字信封和用户标识发给密钥中心,密钥中心用自己的密钥打开数字信封计算得到因子d;(3)密钥中心根据用户标识生产用户密钥,并产生随机数t,用因子d和t对用户密钥进行分散,生成参数f和g;(4)密钥中心将参数f和g回传给用户端。

密钥的存储保护如图2所示,分为以下几步:(1)产生随机数r,采用str变换得到r1;(2)用r1对因子d及参数f和g进行加密分别得到d’、n和m存储;(3)用户口令对随机数r进行加密得到r’。这样可确保即使黑客非法得到d’、n和m的密文也无法还原用户密钥,无法进行与私钥密钥相关的任何操作。

密钥的使用保护如图3所示,分为以下几步:(1)用户录入口令,用口令解密r’得到r;(2)对r采用str变换得到r1;(3)用密钥r1解密d’、n和m分别得到密钥因子d、f和g。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

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