专利名称:基于网络隐私保护的动态密码锁的制作方法
技术领域:
该发明所属通讯、计算机技术领域。
背景技术:
目前网络上主要流行的是静态密码或者基于硬件的动态密码。静态密码技术容易被破解,而基于硬件的动态密码技术,依赖外部设备或第三方认证,则大大降低便捷度,同时成本较高。
发明内容
为了克服现有动态密码技术的不足,提出了基于挑战-应答的动态密码锁身份认证机制,解决了由第三方在通信、携带、外部安全等方面所带来的不便,完全利用客户端和服务器两方即可达到动态认证、防止用户隐私泄露的目的。该发明解决其技术问题所采用的技术方案是以一定的算法为基础。注册时,用户任选一个算法规则并记忆,来取代以往的静态密码直接注册,登录时,用户利用注册的算法规则和服务器所提供的验证码(随机数)进行简单运算,并将运算结果作为本次密码输入, 达到动态、安全身份认证的目的。技术方案所依据的科学原理基于隐私保护的动态密码锁机制是变动的密码,其变动来源于产生密码的运算因子是变化的。动态密码的产生因子一般都采用双运算因子 (Two Factors)其一,为用户的私有密码(规则)。它代表用户身份的识别码,是固定不变的。其二,为变动因子。正是变动因子的不断变化,才产生了不断变化的动态密码。本发明的有益效果是,在保证隐私安全的前提下,无需外带任何附加设备便可实现密码动态化,防止用户隐私泄露。
下面结合附图和实例对本发明进一步说明。图1是基于网络隐私保护的动态密码锁结构图。图2是注册选择算法实例图。图1中,由客户端和服务器构成。其中,客户端包括登录和注册;服务器端包括随机数机制、信息解密、登录计算、注册要求、用户算法库、用户管理库和加密规则库等。图2中,包括两个算法(运算规则、移位规则)、用户名等信息。
具体实施例方式在图1中,用户注册,具体步骤如下(1)用户在客户端请求访问(注册)服务器。服务器保证处于开启状态,随时保持监听,等待用户的连接。(2)服务器返回注册页面。
(3)用户填写注册信息、加密,并发送到服务器。用户在客户端填写注册信息,包括常规信息(用户名等)和特殊信息——“选择算法”。为了防止注册时用户名和注册算法二者完全暴露于屏幕,从而导致屏幕记录的密码盗窃手段,本程序将用户名的输入设计为“*”型隐式,并以两次输入来降低用户名的人为错误。选择算法(如运算规则、移位规则),如运算规则中,设定某一位或几位加5,则在登录时对随机数(验证码)R相应位加5,取模即为密码。若不想使用以上规则作为登录时的密码运算方法,则运算规则选择“+0”;移位规则,可选择无移位。重新上传自己的个性化算法,并选择。客户端将注册信息加密后发送给服务器。(4)返回注册反馈。服务器收到信息后解密,然后按照用户名存入后台数据库中。数据库自动检测注册用户名是否有重复。若重复则显示注册不成功,然后返回注册页面重新填写信息。若不重复,则显示注册成功,确认后跳转到登录页面。在图1中,用户登录,主要输入用户名和密码。密码由验证码和用户注册时选择的算法规则动态生成。具体步骤如下(1)用户在客户端请求访问(登录)服务器。服务器保证处于开启状态,随时保持监听,等待用户的连接。(2)服务器返回登录页面。同时,服务器返回给客户端一个随机数(验证码)R,并且暂时保存此随机数(验证码)R。(3)用户填写登录信息、自动加密,并发送到服务器。用户输入完用户名后,需根据随机数(验证码)R与自己记忆中的算法规则f(x), 得出相对应的密码d,并输入,如运算规则中,设定某一位加5,则在登录时对随机数(验证码)R相应位加5,取模即为密码。客户端为保证传输安全对密码进行不可逆的MD5运算加密,变为M(X)连同用户名传给服务器。(4)返回登录反馈。服务器收到信息后根据用户名在数据库中找到该用户相应的算法并且利用该算法对随机数(验证码)R,进行运算得出f ’ (x),然后对f ’ (x)也进行MD5运算得出Μ,(χ)。 服务器通过对比Μ(χ)和Μ’ (χ)判定是否允许该用户登录,并返回登录反馈。在图2中,现包括两个算法(运算规则、移位规则)、用户名等信息。假设系统密码为6位。算法1,运算规则主要包括+、_、X、八例如,加法运算规则,用户可选择在任意位上做加法运算,即在随机数(验证码)R基础上,进行相应位的加法运算,相应位运算结果大于9 (十进制数)时,取模。同理用户可选择在任意位上做减法、乘法和除法等运算,相应位运算结果大于9或小于0 (十进制数)时,取模,如图2所示。算法描述/*根据用户的运算规则计算,返回1密码正确;返回0密码错误*/int Algorithm 1(User, Password, R) {/*R为系统产生的随机数(验证码)*/
(1)将6位随机数R拆分为6个1位数;// (这里假设6位密码)(2)根据用户her从用户管理库中找到用户注册时的参数(包括运算规则、运算参数);(3)根据(2)中的参数,对每位数依次运算,大于9或小于0时,取模运算;(4)将6个数重组为一个6位数R’ ;(5)R’与I^assword比较,若相同则返回1,否则返回0。}算法2,移位规则可以选择向左移X位、向右移X位、倒序等操作。若向左移X位, 右侧是循环补齐,或用0或其它数字补齐,用户可选择。如图2所示。算法描述/*根据用户选择的移位规则计算,返回1密码正确;返回0密码错误*/int Algorithm2(User, Password, R) {/*R为系统产生的随机数(验证码)*/(1)将6位随机数拆分为6个1位数;// (这里假设6位密码)(2)根据用户her从用户管理库中找到用户注册时的参数(包括运算规则、运算参数);(3)根据⑵中的参数,进行移位;(4)将6个数重组为一个6位数R’ ;(5)R’与I^assword比较,若相同则返回1,否则返回0。}
权利要求
1.一种基于网络隐私保护的动态密码锁,是基于挑战-应答方式的动态密码身份认证机制,其特征是注册时,用户选择一个算法规则来取代以往的静态密码直接注册;登录时,用户利用注册的算法规则和服务器所提供的验证码(随机数)进行运算,并将运算结果作为本次密码输入。
2.根据权利要求1所述的基于网络隐私保护的动态密码锁,其特征是注册时,用户任选一个算法规则来取代以往的静态密码直接注册,算法规则由用户自由选择,并记忆。
3.根据权利要求1所述的基于网络隐私保护的动态密码锁,其特征是登录时,用户利用注册的算法规则和服务器所提供的验证码(随机数)进行运算,并将运算结果作为本次密码输入,可达到动态、安全身份认证的目的。
全文摘要
基于网络隐私保护的动态密码锁是基于挑战/应答方式的动态密码身份认证机制。以一定的算法为基础,注册时,用户任选一个算法规则并牢记,来取代以往的静态密码直接注册,登录时,用户利用注册的算法规则和服务器所提供的验证码(随机数)进行简单运算,并将运算结果作为本次密码输入,达到动态、安全身份认证的目的。其特点是在保证隐私安全的前提下,无需第三方或外带任何附加设备便可实现密码动态化,防止用户的隐私泄露。实验证明该技术安全可靠、使用简便,应用成本极低。可广泛用于银行、社保、自动柜员机、个人信用查询等需要网络服务器登录的网络系统。该发明所属通讯、计算机技术领域。
文档编号H04L9/32GK102316120SQ20111031394
公开日2012年1月11日 申请日期2011年10月17日 优先权日2011年10月17日
发明者康海燕, 陈宇航 申请人:北京信息科技大学