基于口令卡提高身份认证安全性的方法

文档序号:7695521阅读:90来源:国知局

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