基于口令卡提高身份认证安全性的方法
技术领域
本发明涉及信息安全领域,特别涉及一种基于口令卡提高身份认证安全性的方法。
背景技术
随着计算机技术的发展,信息安全越来越受到人们的关注,近年来出现的信息安全设备是一种带有处理器和存储器的小型硬件装置,可以通过计算机的数据通讯接口与计算机相连,一般通过USB(Universal Serial Bus,通用串行总线)接口与计算机相连,通常被称为USB KEY或USB Token(身份认证设备),信息安全设备具有抗攻击的物理特性,安全性很高,因此被广泛应用在身份识别、网上银行和VPN(Virtual Privae Network,虚拟专用网络)等领域,并且可以对信息安全设备内存储的数据进行加/解密处理,所以还可以将信息安全设备用于软件版权保护领域;另外也可以将一些重要信息,比如口令、电子证书、电子签名和电子图章等,存储到信息安全设备中,用以保证安全性或者防止遗忘。目前,较高端的信息安全设备是可编程的,即可以在信息安全设备中运行预先存入其中的代码。
动态口令技术是一种动态生成随机口令的技术,即每一个口令只使用一次的技术,所以每次使用的口令都是变化的。动态口令是利用口令生成算法生成的,口令生成算法可以是DES、SHA、MD5和RSA等。其中口令生成算法可以按照时间或事件的动态变化来实现动态口令的生成,即动态口令是通过随机因子(即生成要素)和另外一个或几个因子经过口令生成算法计算得来的,其中生成要素可以采用时间生成要素,也可以采用事件生成要素。
口令矩阵是通过口令生成算法生成的一组口令,用矩阵方式将口令排列成行数为X、列数为Y的口令矩阵,例如:X、Y都为5,表示该口令矩阵大小为5行5列,共25个口令组成。信息安全设备通过给出矩阵坐标值(矩阵行列号)来确定一个口令矩阵位置,进而确定每次使用的口令。口令卡是标记有口令矩阵的口令卡,标记的具体方法可以是激光刻字生成、喷码方式喷写、丝网印刷或打印标签并粘贴等等,每张口令卡都有各自不同的卡序列号,且通常都保存有多个口令。口令卡上每个口令只能使用一次,实现一次一密的效果,是安全有效的人员认证和登入控管工具。
信息安全设备一般采用PIN(Personal Identification Number,个人身份识别码)验证用户是否为该信息安全设备合法持有者。PIN码一般分为User PIN和SO PIN两种,User PIN是用户使用的PIN码,SO PIN是管理员使用的PIN码,用于管理信息安全设备,拥有更高的权限,比如可以解锁,可以初始化信息安全设备等。
目前信息安全设备广泛采用的身份认证方式为静态PIN码认证方式,在进行身份认证时将信息安全设备与计算机相连,用户在计算机中输入PIN码,信息安全设备从计算机中获取到用户输入的PIN码,并将用户输入的PIN码与其内预先存储在信息安全设备内的PIN码进行比较,校验该PIN码的正确性,只有当用户输入的PIN码正确时,才说明该用户为信息安全设备的合法持有者,允许该用户使用信息安全设备;否则,禁止用户使用信息安全设备。PIN码可以由生产商或用户自己预先设置好,也可以由用户定期或不定期的修改。
一般信息安全设备连续验证的次数是由生产商预先设置好的,用来防止被人穷举破解,比如,生产商在信息安全设备出厂前可以预先设置连续验证的最大次数为3次,则如果用户连续输入3次PIN码都是错误的情况下,信息安全设备将被锁定。当信息安全设备被锁定后,用户需要拿着信息安全设备到专门的柜台那里去做解锁,比如,用户的信息安全设备是用于银行系统的,那么,当信息安全设备被锁定后,用户就需要拿着信息安全设备到银行去解锁。
上述现有技术在对信息安全设备进行用户身份认证时,每次都采用相同的PIN,虽然用户可以修改PIN,但是通常不会在每次身份认证后都会修改PIN,因此存在着安全隐患,如果PIN被黑客截获,则黑客就可能使用该PIN窃取智能密钥装置内存储的证书等敏感信息,进行非法交易,给合法用户带来损失。并且现有技术中的解锁方法需要用户到专门的柜台去办理,比较麻烦和耗时,而且如果用户有急用的话会给用户造成很多不便,甚至会给用户造成经济上的损失。
发明内容
为了提高信息安全设备身份认证的安全性,本发明提供了一种基于口令卡提高身份认证安全性的方法。所述技术方案如下:
一种基于口令卡提高身份认证安全性的方法,所述方法包括:
信息安全设备接收用户输入的第一口令卡的序列号,所述信息安全设备内预存有自身的坐标范围和所述第一口令卡的坐标范围,且所述信息安全设备自身的坐标范围比所述第一口令卡的坐标范围大;
所述信息安全设备根据自身的坐标范围,利用口令生成算法计算所述序列号生成多个口令;所述多个口令包含所述第一口令卡上的全部口令,且所述多个口令的数量大于所述第一口令卡上的口令矩阵中的口令数量,将所述多个口令中除所述第一口令卡上的口令外的所有口令作为校验码;
所述信息安全设备保存所述序列号和校验码,完成与所述第一口令卡的绑定;
当所述信息安全设备接收到所述用户的身份认证申请后,根据所述第一口令卡的坐标范围提供第一坐标值给所述用户,并接收所述用户输入的在所述第一口令卡上与所述第一坐标值对应的口令;
所述信息安全设备根据所述第一坐标值、口令生成算法和序列号计算出相应的第一口令,比对所述计算出的第一口令与所述用户输入的口令是否一致,如果一致,则所述用户身份认证成功;否则,所述用户身份认证失败。
所述信息安全设备接收用户输入的第一口令卡的序列号,具体包括:
所述信息安全设备在预存的所述第一口令卡的坐标范围内随机选取第二坐标值,并将所述第二坐标值提供给所述用户;
所述信息安全设备接收所述用户输入的所述第一口令卡的序列号和在所述第一口令卡上与所述第二坐标值对应的口令,并根据所述口令生成算法、序列号和第二坐标值计算出相应的第二口令;
所述信息安全设备比对所述计算出的第二口令与所述用户输入的与所述第二坐标值对应的口令是否一致,如果一致,则执行所述信息安全设备利用口令生成算法计算所述序列号生成多个口令的步骤;否则,返回失败信息。
所述信息安全设备保存所述序列号和校验码之前,还包括:
所述信息安全设备在预存的自身的坐标范围内随机选取第三坐标值,并将所述第三坐标值提供给所述用户,所述第三坐标值不在所述第一口令卡的坐标范围内;
服务端接收所述用户输入的所述第一口令卡的序列号和第三坐标值,用与所述信息安全设备采用的相同的口令生成算法、所述序列号和第三坐标值计算出相应的验证码,并将所述验证码返回给所述信息安全设备;
所述信息安全设备在所述校验码中选取与所述第三坐标值对应的第三口令,比对所述选取的第三口令与所述服务端返回的验证码是否一致,如果一致,则执行保存所述序列号和校验码的步骤;否则,返回失败信息。
所述方法还包括:
当所述信息安全设备接收到所述用户发来的第二口令卡的绑定申请后,在所述自身的坐标范围内选取第四坐标值并提供给所述用户,所述第四坐标值不在所述第一口令卡的坐标范围内;
服务端接收所述用户提供的所述第四坐标值和所述第一口令卡的序列号,利用与所述信息安全设备采用的相同的口令生成算法,所述第四坐标值和序列号计算出相应的验证码,将所述验证码返回给所述信息安全设备;
所述信息安全设备在所述校验码中选取与所述第四坐标值对应的第四口令,比对所述选取的第四口令与所述服务端返回的验证码是否一致,如果一致,则接收所述用户输入的所述第二口令卡的信息,并按照与所述第一口令卡和信息安全设备相同的绑定方法绑定所述第二口令卡和信息安全设备;否则所述用户的绑定申请失败。
所述接收用户输入的第二口令卡的信息,具体包括:
所述信息安全设备接收用户输入的第二口令卡的序列号、所述第二口令卡的坐标范围内的第五坐标值及其对应的口令;
所述信息安全设备根据所述口令生成算法、所述第二口令卡的序列号和第五坐标值计算出相应的第五口令,比对所述计算出的第五口令与所述用户输入的与所述第五坐标值对应的口令是否一致,如果一致,则执行绑定所述第二口令卡的步骤;否则,所述用户的绑定申请失败。
本发明提供的技术方案带来的有益效果是:
通过将口令卡和信息安全设备进行绑定,并根据该口令卡中的口令进行身份认证,提高了身份认证的安全性,实现了动态认证,每次身份认证时都使用不同的口令,达到一次一密的效果。与现有技术中每次都采用相同的PIN验证,以及需要到专门的柜台进行绑定或解锁相比,可以避免如果PIN被黑客截获,信息安全设备内存储的证书等敏感信息被黑客窃取或进行非法交易等问题,增加了破解难度,提高了安全性,而且也不存在不同步问题。
附图说明
图1是本发明实施例提供的基于口令卡提高身份认证安全性的方法流程图;
图2是本发明实施例提供的再次绑定口令卡的流程图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,本发明实施例提供了一种基于口令卡提高身份认证安全性的方法,该方法具体包括:
步骤101:信息安全设备接收用户输入的第一口令卡的序列号。
信息安全设备内预存有自身的坐标范围和第一口令卡的坐标范围,且信息安全设备自身的坐标范围比第一口令卡的坐标范围大。
步骤102:信息安全设备根据自身的坐标范围,利用口令生成算法计算收到的第一口令卡的序列号生成多个口令,该多个口令包含第一口令卡上的全部口令,且该多个口令的数量大于第一口令卡上的口令矩阵中的口令数量,将该多个口令中除第一口令卡上的口令外的所有口令作为校验码。
优选地,上述口令生成算法为HOTP算法,具体为将坐标值与口令卡的序列号拼接,再利用HOTP算法生成相应的口令。本步骤中为:将信息安全设备自身坐标范围中的各个坐标值分别与第一口令卡的序列号拼接,利用HOTP算法生成各个口令,然后从中选取第一口令卡坐标范围外的口令作为校验码。
步骤103:信息安全设备保存收到的第一口令卡的序列号和上述校验码,完成与第一口令卡的绑定。
步骤104:当信息安全设备接收到用户的身份认证申请后,从第一口令卡的坐标范围内选取第一坐标值并提供给用户。
步骤105:信息安全设备接收用户输入的在第一口令卡上与第一坐标值对应的口令,该口令为用户输入的用于身份认证的口令。
其中,用户购买的第一口令卡上通常有多个口令,如30个,且该多个口令通常都按矩阵的形式排列,每个口令都对应一个坐标值,例如,信息安全设备提供用户的第一坐标值为(2,3),则用户在第一口令卡上刮开口令矩阵中第2行第3列的口令,得到User PIN1,并将该User PIN1输入到信息安全设备内。
步骤106:信息安全设备根据口令生成算法计算第一口令卡的序列号和第一坐标值生成第一口令。
同步骤102,本步骤中的口令生成算法具体为:将第一口令卡的序列号和第一坐标值拼接,再通过HOTP算法生成第一口令。
步骤107:信息安全设备比对生成的第一口令与用户输入的用于身份认证的口令是否一致,如果一致,则执行步骤108;否则执行步骤109。
步骤108:该用户身份认证成功,允许该用户使用和操作信息安全设备,流程结束;
步骤109:该用户身份认证失败,禁止该用户使用和操作信息安全设备,流程结束。
进一步地,步骤102中信息安全设备计算生成多个口令之前,还可以包括:
信息安全设备在预存的第一口令卡的坐标范围内随机选取第二坐标值,并提供给用户,接收用户输入的在第一口令卡上与第二坐标值对应的口令;信息安全设备利用上述口令生成算法计算第一口令卡的序列号和第二坐标值生成第二口令,比对用户输入的与第二坐标值对应的口令和生成的第二口令,如果比对结果一致,则执行计算生成多个口令的步骤;否则,返回失败信息,流程结束。
进一步地,步骤103中信息安全设备保存收到的第一口令卡的序列号和上述校验码之前,还可以包括:
信息安全设备在预存的自身的坐标范围内随机选取第三坐标值,并将第三坐标值提供给用户,该第三坐标值不在第一口令卡的坐标范围内;服务端接收用户输入的第一口令卡的序列号和第三坐标值,用与信息安全设备采用的相同的口令生成算法、序列号和第三坐标值计算出相应的验证码,并将验证码返回给信息安全设备;信息安全设备在上述校验码中选取与第三坐标值对应的第三口令,比对第三口令与服务端返回的验证码是否一致,如果一致,则执行保存序列号和校验码的步骤;否则,返回失败信息,流程结束。
当用户绑定成功的第一口令卡上的所有口令均使用过后,或者当用户丢失第一口令卡后,用户还可以用其它口令卡进行重新绑定,即进一步地,参见图2,本实施例提供的方法还包括:
步骤201:信息安全设备接收到用户发来的第二口令卡的绑定申请,在自身的坐标范围内选取第四坐标值并提供给用户,该第四坐标值不在已绑定的第一口令卡上的口令矩阵的坐标值范围内。
其中,第二口令卡为用户购买的另一个口令卡。
步骤202:服务端接收用户提供的第四坐标值和已绑定的第一口令卡的序列号,利用与信息安全设备采用的相同的口令生成算法、第四坐标值和序列号生成验证码,将该验证码返回给信息安全设备。
步骤203:信息安全设备接收服务端返回的验证码,并在保存的上述校验码中选取与第四坐标值对应的第四口令。
步骤204:信息安全设备比对第四口令与接收到的服务端返回的验证码是否一致,如果一致,则执行步骤205;否则,用户的绑定申请失败,流程结束。
步骤205:接收用户输入的第二口令卡的信息,并按照与第一口令卡和信息安全设备相同的绑定方法绑定第二口令卡和信息安全设备,如果信息安全设备与第二口令卡绑定成功,信息安全设备保存第二口令卡的序列号和根据该序列号生成的多个校验码,则信息安全设备可以删除已保存的第一口令卡的序列号和相应的校验码。
进一步地,步骤205中接收用户输入的第二口令卡的信息,可以具体包括:
信息安全设备接收用户输入的第二口令卡的序列号、第二口令卡的坐标范围内的第五坐标值及其对应的口令;信息安全设备根据上述口令生成算法、第二口令卡的序列号和第五坐标值计算出第五口令,比对第五口令与用户输入的与第五坐标值对应的口令是否一致,如果一致,则执行绑定第二口令卡的步骤;否则,用户的绑定申请失败,流程结束。
本发明提供的所有实施例中,对信息安全设备与第一口令卡进行初次绑定的过程还可以由服务端或生产商完成,用户在获得信息安全设备的同时也获得与该信息安全设备绑定的口令卡。
为了进一步提高身份认证的安全性,服务端和客户端在进行信息交换时可以采用双信道方式,即服务端对客户端与客户端对服务端针对同一事件的通信方式不同,例如,客户端通过电话提供认证信息、信息安全设备给出的矩阵坐标值和已使用过的User PIN口令卡的卡序列号,而服务端通过邮寄、电子邮件或短信等方式将其验证码返回给客户端。
本发明实施例通过将口令卡和信息安全设备进行绑定,并根据该口令卡中的口令进行身份认证,提高了身份认证的安全性,实现了动态认证,每次身份认证时都使用不同的口令,达到一次一密的效果。与现有技术中每次都采用相同的PIN验证,以及需要到专门的柜台进行绑定或解锁相比,可以避免如果PIN被黑客截获,信息安全设备内存储的证书等敏感信息被黑客窃取或进行非法交易等问题,增加了破解难度,提高了安全性,而且也不存在不同步问题。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。