随机密码生成方法、装置以及身份验证方法与流程

文档序号:19182710发布日期:2019-11-20 01:10阅读:343来源:国知局

本发明涉及网络及通信领域,具体的说,涉及了一种随机密码生成方法、装置以及身份验证方法。



背景技术:

随着网络和移动通信的发展,网络交流、移动支付和个人电子银行的使用越来越普及,通过网络和手机进行交流、购物、支付已经成了人们重要的的生活方式。在网络交流、购物和移动支付给人们生活带来便利的同时,人们的网络身份确认、社交账号、银行账号的保护成了人们日常生活中重要事件。当前对电子身份确认是通过设置一定长度的静态密码,通过对密码的比对再通过动态验证码验证进行的,静态密码简单但容易被破译,为了提高密码保护的有效性,需要再通过动态验证码验证比较麻烦,即使这样也经常会被一些不法分子利用一些黑客软件和把当事人的密码信息盗走,出现身份被篡改、银行存款被盗转的情况,给人们使用网络带来风险。若把静态密码设置的过于复杂,会不便于使用者记忆,在使用中输入密码也很繁琐。即使把静态密码设置很复杂也很难避免被破译。

为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。



技术实现要素:

本发明的目的是针对现有技术的不足,从而提供了一种随机密码生成方法、装置以及身份验证方法。

为了实现上述目的,本发明所采用的技术方案是:一种随机密码生成方法,包括:

截取随机获取的二进制数字取用串的j*n位数字作为二进制数q,j为大于零的整数,n为随机获取的数字;

将二进制数q与前一次生成的随机密码或数字1相加生成本次随机密码。

基于上述,所述二进制数字取用串的获取步骤如下:

随机获取一段图像文件和/或音频、视频文件;

将所述图像文件、音频文件和/或视频文件转换为二进制数字序列;

顺次截取所述二进制数字序列中的一定位数组成所述二进制数字取用串。

基于上述,截取所述二进制数字序列中的一定位数作为所述二进制数字取用串这一步骤前还包括:

遍历所述二进制数字序列,判断所述二进制数字序列中是否有n个以上连续排列的相同数字“1”和/或m个以上连续排列的相同数字“0”,其中,若有,则将n个及以上连续排列的相同数字“1”用一个数字“1”代替和/或将m个以上连续排列的相同数字“0”用一个数字“0”代替,得到去多重排列后的二进制数字序列,其中n≥4,m≥4。

基于上述,第一次截取时,从所述二进制数字取用串的第一位开始向后截取j*n1位数字作为二进制数q;第二次截取时,从所述二进制数字取用串的第j*n1+x位开始向后截取j*n2位数字作为二进制数q;第i次截取时,从所述二进制数字取用串的第j*(n1+n2+...ni-1)+(i-1)*x位开始向后截取j*ni位数字作为二进制数q;其中,i为大于1的整数,x为预先设定的整数,n1为第一次截取时获得的数字n,n2为第二次截取时获得的数字n,ni-1为第i-1次截取时获得的数字n,ni为第i次截取时获得的数字n。

基于上述,第一次截取时,从所述二进制数字取用串的第一位开始向后截取j*n1位数字作为二进制数q;

第2次截取时,从所述二进制数字取用串的第j*n1+x位开始向后截取j*n2位数字作为二进制数q;

第i次截取时,计算二进制数字取用串的剩余位数y,,并判断剩余位数y是否大于等于x+j*ni,若y大于等于x+j*ni,则从剩余的y位二进制数字的第x位开始向后截取j*ni位数字作为二进制数q;

若y小于x+j*ni,继续判断剩余位数y是否大于x,若大于x,则从剩余的y位二进制数的第x位开始向后截取到最后一位,得到u位二进制数,并从二进制数字取用串的第一位向后截取j*ni-u位,将截取的j*ni-u位二进制数字的第一位连接到u位二进制数的最后一位后面,生成j*ni位的二进制数q,且第i+1次截取时,从二进制数字取用串的第j*ni-u+x位次开始向后截取;

否则从二进制数字取用串的第x-y+1位向后截取j*ni位二进制数字作为二进制数q;第i+1次截取时,从二进制数字取用串的第x-y+j*ni+x位开始向后截取j*ni+1,其中,ni+1为第i+1次截取时获得的随机数字n;

其中,i为大于2的整数,x为预先设定的整数,n1为第一次截取时获得的随机数字n,n2为第一次截取前获得的随机数字n,ni-1为第i-1次截取前获得的随机数字n,ni为第i次截取前获得的随机数字n。

基于上述,第1次生成随机密码时,将二进制数q与数字1相加;所第2次生成随机密码时,将二进制数q与第一次生成的随机密码相加;第i次生成随机密码时,将二进制数q与第i-1次生成的随机密码相加,以此类推.

本发明还提供一种随机密码生成装置,该装置包括:

密码生成模块,截取随机获取的二进制数字取用串的j*n位数字作为二进制数q,将二进制数q与前一次生成的随机密码或数字1相加生成本次随机密码,j为大于零的整数,n为随机获取的数字;

存储模块,用于存储随机密码或数字1。

本发明还提供一种身份验证方法,该方法包括以下步骤:

步骤1,a方在b方注册,注册信息包括a方随机获取二进制数字取用串,前述的随机密码生成方法以及静态密码;

步骤2,a方输入静态密码,根据与静态密码的输入相关的时间获得随机数数字n,并根据所述随机密码生成方法生成随机密码sa;

步骤3,a方向b方发送验证请求,所述验证请求包括静态密码、与静态密码的输入相关的时间以及所述随机密码sa;

步骤4,b方验证所述静态密码与注册的静态密码是否一致,若一致,则继续执行下一步,否则向a方返回身份验证失败信息;

步骤5,b方根据与静态密码的输入相关的时间获得数字n,,并根据所述随机密码生成方法生成随机密码sb;

步骤6,b方将随机密码sb与a方发送的随机密码sa进行比对,若随机密码sb=随机密码sa,则随机密码验证成功,向a方返回身份验证成功消息;否则向a方返回身份验证失败信息。

基于上述,步骤3和步骤4之间还包括步骤s:判断所述验证请求内的与静态密码的输入相关的时间与实际接收到所述验证请求的时间的时间间隔是否大于预设时间阈值,若小于,则所述验证请求的时效性验证成功,继续执行步骤4;否则,所述验证请求的时效性验证失败,向a方返回身份验证失败信息。

本发明还提供一种身份验证方法,该方法包括以下步骤:

步骤1,b方向a方发送授权信息,所述授权信息包括静态密码、随机获取的二进制数字取用串以及前述的随机密码生成方法;

步骤2,b方向a方发送包含随机获取的数字n的验证指令;

步骤3,a方接收验证指令后,根据所述随机密码生成方法生成随机密码sa;

步骤4,b方验证所述静态密码与注册的静态密码是否一致,若一致,则继续执行下一步,否则向a方返回身份验证失败信息;

步骤5,b方根据所述随机密码生成方法生成随机密码sb;

步骤6,b方将随机密码sb与a方发送的随机密码sa进行比对,若随机密码sb=随机密码sa,则随机密码验证成功,向a方返回身份验证成功消息;否则向a方返回身份验证失败信息。

本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说,

(1)由于密码生成方法中使用的二进制数字取用串和随机数字n均是随机获取的,这就使得生成的随机密码的长度也是随机的,多重随机使得生成的密码具有难以破译性,安全性高;且由于密码生成的过程中还包含前一次生成的随机密码,进一步提高了密码的安全性;

(2)利用n截取二进制数字取用串时是间隔一定长度的截取的,不连续截取的好处是保护二进制数字取用串不容易被破解,进一步保证了二进制数字取用串的安全性;

(3)身份验证方法中,由于验证方使用的二进制数字取用串和随机数字n均是随机获取的,这就使得生成的随机密码的长度也是随机的,且前一次生成的随机密码也参与了随机密码的生成过程,多重随机使得随机密码具有难以破译性,安全性高;通过验证a方发送的随机密码是否等于安全性能高且难以破译的随机密码来验证a方身份,大大提高了a方身份验证的正确性。

(4)双重身份验证方法中,由于第二重随机密码的生成和比对都是由a、b双方所使用的的数字设备完成,对a方使用者来说与平时使用静态密码确认身份的体验是一样的,没有增加额外的操作;并且即使静态密码被第三方破解,如果不是在a方所使用的数字设备上操作,也无法通过b方对a方的身份进一步确认,即通不过第二重随机密码的限制。

具体实施方式

下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。

实施例1

本发明提供一种随机密码生成方法,包括:

截取随机获取的二进制数字取用串的j*n位数字作为二进制数q,j为大于零的整数,n为随机获取的数字;具体的,随机选择一个时间作为随机时间y,将所述随机时间y的年数数字的后两位、月数数字、日数数字、时数数字、分钟数数字、秒数数字相加所得的和作为所述随机数字n;

将二进制数q与前一次生成的随机密码或数字1相加生成本次随机密码。

其中,第1次生成随机密码时,将二进制数q与数字1相加;第2次生成随机密码时,将二进制数q与第一次生成的随机密码相加;第i次生成随机密码时,将二进制数q与第i-1次生成的随机密码相加。

由于该密码生成方法中使用的二进制数字取用串和随机数字n均是随机获取的,这就使得生成的随机密码的长度也是随机的,多重随机使得生成的密码具有难以破译性,安全性高;且由于密码生成的过程中还包含前一次生成的随机密码,进一步提高了密码的安全性。

实施例2

本发明提供一种随机密码生成方法,包括:

随机获取一段图像文件、音频文件和/或视频文件,例如随机拍一张照片或者随机录制一段声音或者随机拍摄一段视频;

将所述图像文件、音频文件和/或视频文件转换为二进制数字序列;

顺次截取所述二进制数字序列中的一定位数组成所述二进制数字取用串,通过上述步骤得到的所述二进制数字取用串具有随机性;

随机选择一个时间作为随机时间y,将所述随机时间y的年数数字的后两位、月数数字、日数数字、时数数字、分钟数数字、秒数数字相加所得的和作为数字n;

截取随机获取的二进制数字取用串的j*n位数字作为二进制数q,j为大于零的整数;

将二进制数q与前一次生成的随机密码或数字1相加生成本次随机密码。

由于该密码生成方法中使用的二进制数字取用串是根据随机获取一段图像文件、音频文件和/或视频文件得到的,且随机数字n也是根据随机选择的一个时间得到的,这就使得生成的随机密码的长度也是随机的,多重随机使得生成的密码具有不可破译性,安全性高;且由于密码生成的过程中还包含前一次生成的随机密码,进一步提高了密码的安全性。

实施例3

本实施例与实施例2的区别之处在于:

将所述图像文件、音频文件和/或视频文件转换为二进制数字序列后,

遍历所述二进制数字序列,判断所述二进制数字序列中是否有n个以上连续排列的相同数字“1”和/或m个以上连续排列的相同数字“0”,其中,若有,则将n个以上连续排列的相同数字“1”用一个数字“1”代替和/或将m个以上连续排列的相同数字“0”用一个数字“0”代替,得到去多重后的二进制数字序列,其中n≧4,m≧4;所述去重后的二进制数字序列具有不可重复性;

顺次截取所述二进制数字序列中的一定位数组成所述二进制数字取用串。

具体的,n与m可以相同,也可以不同。

由于该密码生成方法中通过将连续排列的相同数字用其中一个数字代替,去除了所述二进制数字序列中大于n或大于m个连续相同的数字,使得所述二进制数字取用串具有离散度更大并具有不可重复生成性,因而提高了所述二进制数字取用串的随机性,进而进一步提高了密码的安全性。

实施例4

本实施例与实施例3的区别之处在于:

截取随机获取的二进制数字取用串的j*n位数字作为二进制数q,j为大于零的整数,n为随机获取的数字;其中,第一次截取时,从所述二进制数字取用串的第一位开始向后截取j*n1位数字作为二进制数q;第二次截取时,从所述二进制数字取用串的nn1+x位开始向后截取j*n2位数字作为二进制数q;第三次截取时从所述二进制数字取用串的nn1+x+nn2+x位开始向后截取j*n3位数字作为二进制数q;第i次截取时,从所述二进制数字取用串的第j*(n1+n2+...ni-1)+(i-1)*x位开始向后截取j*ni位数字作为二进制数q;其中,i为大于1的整数,x为预先设定的可正可负、可大可小的整数,n1为第一次截取时获得的数字n,n2为第二次截取时获得的数字n,ni-1为第i-1次截取时获得的数字n,ni为第i次截取时获得的数字n。

本实施例利用n截取二进制数字取用串时是间隔一定长度的截取的,这样不连续截取的好处是保护二进制数字取用串不容易被破解,进一步保证了二进制数字取用串的安全性。

实施例5

本实施例与实施例4的区别之处在于:第一次截取时,从所述二进制数字取用串的第一位开始向后截取j*n1位数字作为二进制数q;

第2次截取时,从所述二进制数字取用串的第j*n1+x位开始向后截取j*n2位数字作为二进制数q;

第i次截取时,计算二进制数字取用串的剩余位数y,,并判断剩余位数y是否大于等于x+j*ni,若y大于等于x+j*ni,则从剩余的y位二进制数字的第x位开始向后截取j*ni位数字作为二进制数q;

若y小于x+j*ni,继续判断剩余位数y是否大于x,若大于x,则从剩余的y位二进制数的第x位开始向后截取到最后一位,得到u位二进制数,并从二进制数字取用串的第一位向后截取j*ni-u位,将截取的j*ni-u位二进制数字的第一位连接到u位二进制数的最后一位后面,生成j*ni位的二进制数q,且第i+1次截取时,从二进制数字取用串的第j*ni-u+x位次开始向后截取;

否则从二进制数字取用串的第x-y+1位向后截取j*ni位二进制数字作为二进制数q;第i+1次截取时,从二进制数字取用串的第x-y+j*ni+x位开始向后截取j*ni+1,其中,ni+1为第i+1次截取时获得的随机数字n;

其中,i为大于2的整数,x为预先设定的整数,n1为第一次截取时获得的随机数字n,n2为第一次截取前获得的随机数字n,ni-1为第i-1次截取前获得的随机数字n,ni为第i次截取前获得的随机数字n。

本实施例中所述二进制数字取用串相当于一个首尾连接的二进制数字环,每次截取数据时都是相隔一定位数的数字截取二进制数字环的一段数字,循环往复,截取次数越多,越难以找出截取规律,保密性越强。

实施例6

本发明还提供一种随机密码生成装置,该装置包括:

密码生成模块,截取随机获取的二进制数字取用串的j*n位数字作为二进制数q,将二进制数q与前一次生成的随机密码或数字1相加生成本次随机密码;

存储模块,用于存储随机密码或数字1。

具体的,所述密码生成模块包括:

二进制数字取用串获取模块,用于随机获取并存储二进制数字取用串;

数字n获取模块,用于随机获取数字n;

二进制数生成模块,用于截取所述二进制数字取用串的j*n位数字作为二进制数q,j为大于零的整数;

加法运算模块,用于将二进制数q与前一次生成的随机密码或数字1相加,得到随机密码。

进一步的,所述二进制数字取用串获取模块还包括:

图像文件、音频文件和/或视频文件获取模块,用于随机获取一段图像文件、音频文件和/或视频文件,例如随机拍一张照片或者随机录制一段声音或者随机拍摄一段视频;

转换模块,用于将所述图像文件、音频文件和/或视频文件转换为二进制数字序列;

去多重数字“1”模块,用于遍历所述二进制数字序列,除去n个以上连续排列的相同数字“1”并用一个数字“1”代替,n>4;

去多重数字“0”模块,用于遍历所述二进制数字序列,除去m个以上连续排列的相同数字“0”并用一个数字“0”代替;

截取模块,用于顺次截取所述二进制数字序列中的一定位数组成所述二进制数字取用串。

更进一步的,所述数字n获取模块包括:

随机时间获取模块,用于随机获取一个时间作为随机时间y;

计算模块,用于将随机时间y的年数数字的后两位、月数数字、日数数字、时数数字、分钟数数字、秒数数字相加,所得的和即为数字n。

由于该密码生成方法中使用的二进制数字取用串是根据随机获取一段图像文件、音频文件和/或视频文件得到的,且随机数字n也是根据随机选择的一个时间得到的,这就使得生成的随机密码的长度也是随机的,密码生成的过程中还包含前一次生成的随机密码,多重随机使得生成的密码具有不可破译性,安全性高。

所述二进制数字取用串生成过程中,采用将连续排列的相同数字用其中一个数字代替的方法,去除了所述二进制数字序列中大于n或大于m个连续相同的数字,使得所述二进制数字取用串的离散性更大并且具有不可重复生成性,因而进一步提高了所述二进制数字取用串的随机性,进一步提高了所述随机密码的安全性。

利用n截取二进制数字取用串时是间隔一定长度的截取的,这样不连续截取的好处是保护二进制数字取用串不容易被破解,进一步保证了二进制数字取用串的安全性,更进一步提高了所述随机密码的安全性。

实施例7

本发明还提供一种身份验证方法,该方法包括以下步骤:

步骤1,a方在b方注册,注册信息包括a方随机获取二进制数字取用串、随机密码生成方法以及静态密码;

其中,静态密码是用户在a方设备上输入并上传给b方的固定的静态密码,用于a方身份的初步确认,优选的,静态密码可以是由6位数字或与字母组成的密码。

随机获取的二进制数字取用串的获取步骤为:随机获取一段图像文件、音频文件和/或视频文件,例如随机拍一张照片或者随机录制一段声音或者随机拍摄一段视频;

将所述图像文件、音频文件和/或视频文件转换为二进制数字序列后,

遍历所述二进制数字序列,判断所述二进制数字序列中是否有n个以上连续排列的相同数字“1”和/或m个以上连续排列的相同数字“0”,其中,若有,则将n个以上连续排列的相同数字“1”用一个数字“1”代替和/或将m个以上连续排列的相同数字“0”用一个数字“0”代替,替换结果是变换后文件中没有n个以上连续排列的相同数字“1”及m个以上连续排列的相同数字“0”出现,即得到去多重后的二进制数字序列,其中n≥4,m≥4;

顺次截取所述二进制数字序列中的一定位数组成所述二进制数字取用串。

上述步骤中,图像文件、音频文件和/或视频文件的获取是随机的,并且通过去除图像文件、音频文件和/或视频文件转换得到的二进制数字序列中的连续排列的相同数字,使得最终得到所述二进制数字取用串具有不可重复性和随机性,提高了获取的随机密码sb的安全性,确保了a方身份验证的正确性。

步骤2,a方输入静态密码,根据与静态密码的输入相关的时间获得数字n,根据所述随机密码生成方法生成随机密码sa;

具体的,截取所述二进制数字取用串的j*n位数字作为二进制数q,将二进制数q与前一次生成的随机密码或数字1相加生成本次随机密码sa,j为大于零的整数。

所述与静态密码的输入相关的时间可以是用户开始在a方输入静态密码的时间,也可以是用户在a方输入静态密码后按下确认键的时间,还可以为用户在a方输入静态密码且按下确认键后的某一时间,具体用××××年××月××日××时××分××秒表示。

将××××年××月××日××时××分××秒的年数数字后两位、月数数字、日数数字、时数数字、分钟数数字、秒数数字相加所得的和作为另一个随机数n。例如:时间为2019年07月12日23时15分45秒,和数n=19(年数后两位)+7+12+23+15+45=121。不同时间获得的数字n也是不同的,具有随机性。

利用随机数n=121从步骤1得到的所述二进制数字取用串的第一位向后截取n*n位(n取2),n*n=2*121=242,即从步骤1得到的所述二进制数字取用串的第一位向后截取242位的二进制数q,将这个二进制数q与a、b双方使用过的前一次生成的随机密码r或数字1相加得到一个二进制的和数sa,sa=q+r,该二进制的和数sa即为随机密码sa;优选的,第1次生成随机密码时,将二进制数q与数字1相加;第2次生成随机密码时,将二进制数q与第一次生成的随机密码相加;第i次生成随机密码时,将二进制数q与第i-1次生成的随机密码相加。

步骤3,a方向b方发送验证请求,所述验证请求包括静态密码、与静态密码的输入相关的时间以及所述随机密码sa。

步骤4,b方验证所述静态密码与注册的静态密码是否一致,若一致,则继续执行下一步,否则向a方返回身份验证失败信息。

步骤5,b方根据与静态密码的输入相关的时间获得数字n,并根据所述随机密码生成方法生成随机密码sb;这里随机密码sb的生成过程与步骤2中随机密码sa的生成过程一致,这里不再赘述。

步骤6,b方将随机密码sb与a方发送的随机密码sa进行比对,若随机密码sb=随机密码sa,则随机密码验证成功,向a方返回身份验证成功消息;否则向a方返回身份验证失败信息。

需要注意的是:若a方向b方第v次发送的验证请求超时或者由于其它原因导致失效,需要第v+1、v+2、v+n次向b方发送验证请求时,只要第v次生成的随机密码sa没有实际使用,从所述二进制数字取用串上截取数字的起点仍按第v次截取的起点截取,以便a方和b方截取的起点位置相同。

本实施例适合a方使用者需要在b方注册的场景,例如移动支付场景,a方为支付方移动设备,b方为第三方支付平台,a方使用者使用b方需要先在b方注册;还可以是社交平台登录这一场景,其中b方为社交平台,a方是b方社交平台成员移动设备,a方使用者成为b方的成员必须在b方注册。b方接收注册信息后将注册信息保存在b方特定的储存区域,这个区域不允许外部访问,从而保证二进制数字取用串的安全性。

由于验证方和生成方生成随机密码sb的过程中用到的二进制数字取用串和随机数字n均是随机获取的,这就导致生成的随机密码sb的长度也是随机的,并且上一次的随机密码也参与了随机密码sb的生成过程,这种多重随机使得随机密码sb具有难以破译性且不可重复生成性,因此如果a方发送的随机密码sa与b方自己生成的随机密码sb相同,即可以验证a方是具有合法身份的,且大大提高了a方身份验证的正确性;

通过静态密码和随机密码的双重验证进一步确保了a方身份的正确性;并且即使静态密码被第三方破解,如果不是在a方这个设备上操作,也无法通过b方对a方使用者的身份进一步确认,即通不过第二层随机密码的验证;并且第二层随机密码的生成和比对都是由a、b双方这两个数字设备完成的,对a方使用者来说与平时使用静态密码确认身份的体验是一样的,只需要在a方上输入一次静态密码,没有增加额外的操作。

实施例8

本实施例与实施例7的区别之处在于:步骤3和步骤4之间还包括步骤s:判断所述验证请求内的与静态密码的输入相关的时间与实际接收到所述验证请求的时间的时间间隔是否大于预设时间阈值,若小于,则所述验证请求的时效性验证成功,继续执行步骤4;否则,所述验证请求的时效性验证失败,向a方返回身份验证失败信息。

由于a方向b方发送的验证请求从静态密码输入确认的起始时刻开始到生成随机密码sa需要一定的时间,a方从发送验证请求到b方接收到验证请求也需要一定的时间,考虑到a方发送b方接收的通信时差以及验证信息的安全性,需要验证a、b双方通信的时效性,这里a、b双方通过标准授时,使用同一授时时钟。

具体的,如果b方接收到的a方发送的验证请求中所包含的时间信息与b方接收到a方发送的验证请求的时间延迟在允许的延迟时间之内,则认为a方发送的验证请求通过了时效性验证,是合法的信息,否则需要请求a方发送新的验证请求。具体的,延迟时间的长短由系统和a方、b三方根据该地区的移动信号情况和综合因素确定。

实施例9

本发明还提供一种身份验证方法,该方法包括以下步骤:

步骤1,b方向a方发送授权信息,所述授权信息包括静态密码、随机获取的二进制数字取用串以及前述的随机密码生成方法;

步骤2,b方向a方发送包含随机获取的数字n的验证指令;

其中,b方在向a方发送验证指令前,先随机选取一个时间,这个时间信息格式为:××××年××月××日××时××分××秒;将××××年××月××日××时××分××秒的年数数字后两位、月数数字、日数数字、时数数字、分钟数数字、秒数数字相加所得的和作为另一个随机数n,例如:时间为2019年07月12日23时15分45秒,和数n=19(年数后两位)+7+12+23+15+45=121;

步骤3,a方接收验证指令后,根据所述随机密码生成方法生成随机密码sa,并随同所述静态密码一起返回给b方;具体的,截取所述二进制数字取用串的j*n位数字作为二进制数q,将二进制数q与前一次生成的随机密码或数字1相加生成本次随机密码sa,j为大于零的整数;

步骤4,b方验证所述静态密码与注册的静态密码是否一致,若一致,则继续执行下一步,否则向a方返回身份验证失败信息;

步骤5,b方根据所述随机密码生成方法生成随机密码sb,这里随机密码sb的生成过程与步骤2中随机密码sa的生成过程一直,这里不再赘述;

步骤6,b方将随机密码sb与a方发送的随机密码sa进行比对,若随机密码sb=随机密码sa,则随机密码验证成功,向a方返回身份验证成功消息;否则向a方返回身份验证失败信息。

本实施例适合智能卡/银行卡加密和识别领域,其中,b方为发卡方平台,a方为智能卡;b方需要先对a方进行授权,授权信息包括静态密码和随机获取的二进制数字取用串,b方把把办卡人基本信息和授权信息输入到a方中,并对授权信息的存储器的读取功能进行物理阻断,阻断后存入卡中的二进制数字取用串和静态密码无法再被其他设备读出,因此无法解密这个数字母版。

具体的,静态密码由办卡人向b方输入,其可以为6位数字或与字母组成的密码;二进制数字取用串的获取过程为:

接收办卡人随机获取的一段图像文件、音频文件和/或视频文件,例如随机拍一张照片或者随机录制一段声音或者随机拍摄一段视频;

将所述图像文件、音频文件和/或视频文件转换为二进制数字序列后,

遍历所述二进制数字序列,判断所述二进制数字序列中是否有n个以上连续排列的相同数字“1”和/或m个以上连续排列的相同数字“0”,其中,若有,则将n个以上连续排列的相同数字“1”用一个数字“1”代替和/或将m个以上连续排列的相同数字“0”用一个数字“0”代替,替换结果是变换后文件中没有n个以上连续排列的相同数字“1”及m个以上连续排列的相同数字“0”出现,即得到去多重后的二进制数字序列,其中n≥4,m≥4;

顺次截取所述二进制数字序列中的一定位数组成所述二进制数字取用串,保存在智能平台中。

由于验证方和生成方生成随机密码sb的过程中用到的二进制数字取用串和随机数字n均是随机获取的,这就导致生成的随机密码sb的长度也是随机的,并且上一次的随机密码也参与了随机密码sb的生成过程,这种多重随机使得随机密码sb具有难以破译性且不可重复生成性,因此如果a方发送的随机密码sa与b方自己生成的随机密码sb相同,即可以验证a方是具有合法身份的,且大大提高了a方身份验证的正确性;

通过静态密码和随机密码的双重验证进一步确保了a方身份的正确性;并且即使静态密码被第三方破解,如果不是在a方这个设备上操作,也无法通过b方对a方使用者的身份进一步确认,即通不过第二层随机密码的验证;并且第二层随机密码的生成和比对都是由a、b双方这两个数字设备完成的,对a方使用者来说与平时使用静态密码确认身份的体验是一样的,只需要在a方上输入一次静态密码,没有增加额外的操作。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

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