动态电子密码系统的制作方法

文档序号:6612561阅读:253来源:国知局
专利名称:动态电子密码系统的制作方法
技术领域
本发明为利用电子计算机和信息编码技术实现的电子密码系统。
自1984年以来的十几年时间里,在计算机安全领域里的一个主要发展方向就是动态密码安全系统。通过动态密码系统寻求他们合法身份认证的计算机用户并不知道系统的访问密码值,他们可以记住一部分所要求的密码,但剩下的部分只有从软件密码产生装置获得。该装置每被使用一次就可产生并显示一个不同密码。但是,从1999年4月26日在美国出版的《网络世界》杂志所披露出的消息来看,进入实用化的阶段也才刚刚开始。
最近几年,混沌系统开始被应用于保密通信领域,其中尤其是混沌序列密码方法得到了大量的研究。混沌序列是一种非线性序列,其结构复杂,难以分析和预测,可以提供具有良好随机性、相关性和复杂性的拟随机序列,这些都是很有吸引力的特性,使其有可能成为一种可实际被选用的流密码体制。混沌方法不仅产生的密码序列表现出许多优良的密码学性能,它还能极大地简化传统序列密码的设计过程,因此混沌密码学方法已被列入现代密码学的重要研究前沿。尽管已有许多混沌加密方案被提出,如CN 1116341A名为“不可复制的软件‘混沌’保密卡”的发明专利,它由保密卡中的可控混沌电路产生混沌信号,再将该信号映射为密码信号,通过I/O电路送至计算机,从而实现对软件的加密,该保密卡与主机之间依靠I/O口进行通信,不适合于网络保密。再如CN 1116346A名为“不可复制的电子混沌指纹保密方法”的发明专利,亦需要在主机与子系统之间进行通信,不适合于网络保密。而且在上述方法中,每位用户所使用的密码是不变的,但混沌密码学方法还未完全成熟。因此,要想将混沌方法真正用于密码系统,必须采用更实用的混沌技术。
本发明的目的是提供一个动态电子密码系统,采用两个或两个以上的变参数、互异混沌子系统的相互作用来产生混沌序列,再将该序列经过不可逆的可变复合映射,实时产生系统的动态密码。在主机端系统与用户卡之间按每使用一次或每隔一个预定的时间分别产生一个新的电子密码,该动态电子密码有不可预测性,以达到反监测的高度保密性。
本发明的动态电子密码系统,包括主机端和用户端,主机端由计算机系统构成,包括网络数据库、数据库管理系统和密码产生器;用户端由单独的用户卡构成,包括输入键盘、振荡电路、显示器和实现存贮器、比较器、密码产生器电路的现场可编程门阵列(FPGA)芯片,其特征在于(1)主机端的密码产生器和用户卡FPGA芯片的密码产生器具有完全相同的密码产生方式,它们都包括M套混沌子系统,各混沌子系统的参数由其他混沌子系统的叠代值决定、并各自进行独立的混沌映射,所产生的M个叠代值经过复合映射产生主机端系统密码Pn′和用户端系统密码Pn,N≥2,(2)在主机端为每个用户设立唯一的注册号和注册密码,并随机产生(1)所述密码产生方式中各混沌子系统的初始叠代值x01,……,x0m和混沌系统1的初始参数μ01,所述初始叠代值和初始参数分别送入主机端和用户卡的密码产生器的存贮器,(3)随用户卡向用户提供用户卡密码,用户卡FPGA芯片的比较器对FPGA芯片存贮器中的用户卡密码和用户卡键盘输入信息进行比较,结果一致则启动FPGA芯片的密码产生器,产生当前用户卡系统密码Pn并显示,(4)通过主机端输入装置输入用户注册号,当检测到其存在于主机端网络数据库中时,启动密码产生器,产生当前主机端系统密码Pn′。
上述动态电子密码系统,其进一步的特征可以是(1)主机端网络数据库针对每个用户设立身份证号、注册号、注册密码以及当前系统密码Pn′,(2)主机端密码产生器包括密码存贮器,存贮与每个用户注册号对应的各混沌子系统的当前迭代值xn-11…,xn-1m,第一个混沌子系统的当前参数μn-11,(3)主机端数据库管理系统包括建立新用户进程、自动更新密码进程和用户访问进程,其中A、建立新用户进程产生注册号、注册密码、所述各混沌子系统的初始叠代值和混沌子系统的初始参数,并存入网络数据库,
B、自动更新密码进程由用户输入有效用户注册号启动,根据网络数据库中的该注册号检索到其相应的密码存贮器中各混沌子系统的当前迭代值xn-11…,xn-1m和混沌子系统1的当前参数μn-11,启动密码产生器,形成各混沌子系统的迭代值和新的系统密码、将密码存贮器和网络数据库中相应数据更新,C、用户访问进程由用户请求启动,根据用户输入的注册号查询主机端网络数据库,获得与该注册号相应的当前系统密码Pn′,并据此核对用户输入的系统密码Pn,以决定是否允许该用户进入。
为进一步增中上述动态电子密码系统的功能,主机端网络数据库中可以为每位用户增设用户卡密码输入错误记录Ck和系统密码输入错误记录flag;主机端数据库管理系统中包括删除用户进程和加/解锁进程,删除用户进程和加/解锁进程均由操作员启动,分别对网络数据库中的记录项进行删除和加/解锁操作。
前述各种动态电子密码系统,一种方便的实现方式可以是(1)主机端和用户卡的密码产生器各包括两套混沌子系统,密码产生器启动后,混沌子系统1根据其当前迭代值xn-11和当前参数μn-11进行叠代运算,得到新的叠代值xn1,(2)取叠代值xn1小数点后若干位,如10位,并取整得omn1,将omn1与用户卡密码输入错误记录Ck相加得密码值mn1,(3)取omn1后若干位,如3位,查表取得混沌子系统2的参数μn2,混沌子系统2根据其当前叠代值xn-12和μn2进行叠代运算,得到新的叠代值xn2,(4)取xn2小数点后若干位,如10位,并取整得到密码值mn2,取mn2后若干位,如3位,查表取得混沌子系统1的参数μn1,(5)用mn1和mn2做复合映射mn(i)=mn1(mn2(i)),得到复合密码mn,式中i=0,1,…,系组成mn的第i位数的数位,(6)取mn的若干位数字,如第2位开始的6位,作为系统密码,(7)将叠代值xn1、xn2、参数μn1和Ck值存入密码存贮器。
上述各种动态电子密码系统,主机端的密码产生器既可以由软件实现,也可以采用FPGA系统实现。
本发明的动态电子密码系统采用了多个变参数、互异混沌子系统的相互作用产生混沌序列,再经过复合映射产生系统的动态密码,具有极高的不可预测性;主机端和用户端的密码产生器具有完全相同的密码产生方式,主机端和用户端只有初始化时进行通信,极大地提高了系统的保密性,用户卡硬件系统体积小,重量轻,便于携带、价格低廉、使用方便,可广泛应用于银行、证券、保险、网络通讯和电子锁等商业领域和信息交换领域。


图1为实现本发明的主机端网络数据库和数据库管理系统框图。
图2为本发明用户卡硬件框图。
图3为本发明的一种密码产生器密码产生算法框图。
表1为可变复合映射的一个例子。
本发明的主机端可以由软件实现,包括输入接口、密码产生器、密码认证、输出接口、网络数据库和数据库管理系统等部分。主机端主要运用ASP技术制作网页、PWS软件建立Web服务器、VC++开发密码产生器和数据库管理系统。
图1中数据库管理系统包括自动更新密码进程1、建立新用户进程2、删除用户进程3、加/解锁进程4和用户访问进程5等部分。其中,自动更新密码进程由用户有效访问请求(或主机定时器)启动;建立新用户进程、删除用户进程和加/解锁进程由主机操作员启动;用户访问进程由用户请求启动;如果用户选择使用一次,密码修改一次的方式,则可以省去定时器;网络数据库6包括如下记录项身份证号、注册号、注册密码、Ck(用户在用户卡上连续三次错误输入用户卡密码的记录)、flag(用户在主机系统输入端连续三次错误输入主机系统密码的记录,并且当flag≥3时主机系统锁定)和当前系统密码等数据项。
主机端的密码产生器存储有如下两部分信息1.与每一用户对应的信息注册号、互异混沌系统的当前初值xn1,xn2(或称为主密码),混沌系统1的当前参数μn1(浮点型);2.所有注册用户所共享的信息与混沌系统1、2相对应的混沌系统参数表
,(浮点型)。
图2所示的用户端(用户卡)由硬件实现,包括输入接口7(如触摸键盘等)、振荡电路8、FPGA芯片9和输出接口10(如液晶显示器等)。用户端密码及认证、密码产生器、存储器等电路部分全部由XILINX公司的FPGA芯片XC4052XL-PG411C,实现FPGA的开发采用带有LogiCORE DSP库的Foundation标准系统,输入接口采用珠海天亿计算机设备厂MS系列的按键,输出接口采有EPSON电子有限公司点阵式液晶显示模块ECM-A0861(128×32)。
用户卡内的密码产生器除存储有上述主机端系统密码产生器存储的信息之外,还存储有如下信息1.在用户卡上连续输入错误的用户卡密码的次数f;2.与主机端系统中的数据库相对应的信息Ck;3.用户卡密码。
主机端系统与用户卡的核心部分,即密码产生器,采用相同的算法,其算法框图(以下称为密码产生算法)如图3所示。
密码产生算法步骤如下1.从存储器中读取两个混沌子系统的叠代值xn-11、xn-12和混沌子系统1的参数μn-11;2.对混沌子系统1进行叠代运算,得xn1;3.取叠代值xn1小数点后10位,并取整得omn1;4.将omn1与参数值Ck相加得mn1,同时取omn1后3位,查表取得混沌子系统2的参数μn2;5.对混沌子系统2进行叠代运算,得xn2;6.取叠代值xn2小数点后10位,并取整得mn2;7.用两混沌子系统取整后的值mn1和mn2做复合映射mn(i)=mn1(mn2(i)),i=0,1,…9(表1给出了一个实例),得到mn(10位);8.有mn2后3位查表取得系统1的参数值μn1;9.取mn第2位开始的6位,作为系统密码;10.将两混沌系统的迭代值xn1、xn2及混沌系统1的参数μn1和Ck值存入存储器。
表1给出复合映射的一个例子,这里mn1=8437249510,mn2=2348544900,记i为10位数的第i位,i=0,1,…,9,则
=1 =2故mn=3721422088。
系统运行步骤如下1.用户通过用户卡上的键盘输入用户卡密码。若认证通过,用户卡将显示系统当前密码Pn;否则,要求重新输入用户端密码,如果连续三次输入错误密码,用户卡会被“锁定”并退出系统。此后,当被锁定用户卡的用户通过其用户注册号和注册密码向主机端系统管理员提出“解锁”请求,并被确认为合法用户后,用户卡即可被自动“解锁”。
2.用户通过主机端系统的用户输入装置(包括远程输入装置)输入用户的注册号(例如键盘输入、磁卡输入或电话输入等方式)。当输入注册号为已注册的有效注册号时,主机端系统的输出终端将提示用户输入系统密码;否则,要求重新输入注册号,如果连续三次输入无效账号,则会退出系统。
3.主机端系统的密码产生器根据注册号检索到的相应信息xn1、xn2(混沌函数的当前迭代值)和μn1(混沌函数1的当前参数)产生系统当前密码Pn′,并将其存入网络数据库中的相应存储单元。
4.用户在主机端系统的用户输入装置上,输入显示在用户卡上的系统当前密码Pn。
5.主机端系统接收到密码Pn后,将其与密码Pn′进行比较,如果Pn=Pn′,则容许当前访问用户进入主机系统;否则,则要求重新输入密码Pn,如果连续三次输入与Pn′不一致的密码,则在主机端系统中锁定该注册号,并退出系统。与第1条相同,被锁定账户的只有通过用户注册号和注册密码向主机端系统管理人员请求“解锁”,并被确认为合法用户后,该账号才可解锁。
6.用户通过用户卡上的键盘连续输入“1、1、1”并确认,用户卡被告知此次操作有效,保留在用户卡内已修改的内部状态信息,成功退出;若不成功,则连续输入“0、0、0”并确认。此时,用户卡被告知此次操作无效,保留在用户卡内未修改的内部状态信息。
权利要求
1.一种动态电子密码系统,包括主机端和用户端,主机端由计算机系统构成,包括网络数据库、数据库管理系统和密码产生器;用户端由单独的用户卡构成,包括输入键盘、振荡电路、显示器和实现存贮器、比较器、密码产生器电路的现场可编程门阵列(FPGA)芯片,其特征在于(1)主机端的密码产生器和用户卡FPGA芯片的密码产生器具有完全相同的密码产生方式,它们都包括M套混沌子系统,各混沌子系统的参数由其他混沌子系统的叠代值决定、并各自进行独立的混沌映射,所产生的M个叠代值经过复合映射产生主机端系统密码Pn′和用户端系统密码Pn,M≥2,(2)在主机端为每个用户设立唯一的注册号和注册密码,并随机产生(1)所述密码产生方式中各混沌子系统的初始叠代值x01,……,x0m和混沌系统1的初始参数μ01,所述初始叠代值和初始参数分别送入主机端和用户卡的密码产生器的存贮器,(3)随用户卡向用户提供用户卡密码,用户卡FPGA芯片的比较器对FPGA芯片存贮器中的用户卡密码和用户卡键盘输入信息进行比较,结果一致则启动FPGA芯片的密码产生器,产生当前用户卡系统密码Pn并显示,(4)通过主机端输入装置输入用户注册号,当检测到其存在于主机端网络数据库中时,启动密码产生器,产生当前主机端系统密码Pn′。
2.如权利要求1所述的动态电子密码系统,其特征在于(1)主机端网络数据库针对每个用户设立身份证号、注册号、注册密码以及当前系统密码Pn′,(2)主机端密码产生器包括密码存贮器,存贮与每个用户注册号对应的各混沌子系统的当前迭代值xn-11…,xn-1m,混沌子系统1的当前参数μn-11,(3)主机端数据库管理系统包括建立新用户进程、自动更新密码进程和用户访问进程,其中A、建立新用户进程产生注册号、注册密码、所述各混沌子系统的初始叠代值和混沌子系统1的初始参数,并存入网络数据库,B、自动更新密码进程由用户输入有效用户注册号启动,根据网络数据库中的该注册号检索到其相应的密码存贮器中各混沌子系统的当前迭代值xn-11…,xn-1m和混沌子系统1的当前参数μn-11,启动密码产生器,形成各混沌子系统的迭代值和新的系统密码、将密码存贮器和网络数据库中相应数据更新,C、用户访问进程由用户请求启动,根据用户输入的注册号查询主机端网络数据库,获得与该注册号相应的当前系统密码Pn′,并据此核对用户输入的系统密码Pn,以决定是否允许该用户进入。
3.如权利要求1或2所述的动态电子密码系统,其特征在于主机端网络数据库中为每位用户增设用户卡密码输入错误记录Ck和系统密码输入错误记录flag;主机端数据库管理系统中包括删除用户进程和加/解锁进程,删除用户进程和加/解锁进程均由操作员启动,分别对网络数据库中的记录项进行删除和加/解锁操作。
4.如权利要求3所述的动态电子密码系统,其特征在于(1)主机端和用户卡的密码产生器各包括两套混沌子系统,密码产生器启动后,混沌子系统1根据其当前迭代值xn-11和当前参数μn-11进行叠代运算,得到新的叠代值xn1,(2)取叠代值xn1小数点后若干位,如10位,并取整得omn1,将omn1与用户卡密码输入错误记录Ck相加得密码值mn1,(3)取omn1后若干位,如3位,查表取得混沌子系统2的参数μn2,混沌子系统2根据其当前叠代值xn-12和μn2进行叠代运算,得到新的叠代值xn2,(4)取xn2小数点后若干位,如10位,并取整得到密码值mn2,取mn2后若干位,如3位,查表取得混沌子系统1的参数μn1,(5)用mn1和mn2做复合映射mn(i)=mn1(mn2(i)),得到复合密码mn,式中i=0,1,…,系组成mn的第i位数的数位,(6)取mn的若干位数字,如第2位开始的6位,作为系统密码,(7)将叠代值xn1、xn2、参数μn1和Ck值存入密码存贮器。
5.如权利要求1或2所述的动态电子密码系统,其特征在于主机端的密码产生器由FPGA芯片实现。
6.如权利3所述的动态电子密码系统,其特征在于主机端的密码产生器由FPGA芯片实现。
7.如权利要求4所述的动态电子密码系统,其特征在于主机端的密码产生器由FPGA芯片实现。
全文摘要
动态电子密码系统,主机端计算机系统包括网络数据库、数据库管理系统和密码产生器,用户端由用户卡构成;两者的密码产生器具有完全相同的密码产生方式,都采用多个变参数、互异混沌系统相互作用产生混沌序列,再经过复合映射产生相同的动态系统密码。本系统具有极高的不可预测性、极大提高了系统保密性,用户卡体积小、使用方便,可广泛用于银行、证券、电子商务、电子门锁和网络通讯等商业领域。
文档编号G06F17/00GK1254889SQ00114328
公开日2000年5月31日 申请日期2000年1月13日 优先权日2000年1月13日
发明者胡汉平, 吴晓刚, 王祖喜 申请人:华中理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1