一种认证方法、设备和系统的制作方法

文档序号:7794685阅读:97来源:国知局
专利名称:一种认证方法、设备和系统的制作方法
技术领域
本发明涉及信息安全技术领域,特别涉及一种认证方法、设备和系统。
背景技术
为了保障用户信息的安全性,网银、游戏等系统需要对用户进行认证。目前,通常使用电子口令卡方案对用户进行认证。在电子口令卡方案中,认证系统会给用户一张电子口令卡,电子口令卡是一张索引与密码一一对应的卡片,其中,索引可以是坐标等能够唯一确定卡片上密码的标识,例如,索引可以是行坐标、列坐标。卡片上还有一个序列号,用于和用户账号绑定。当需要认证时,认证系统会随机产生几个索引,用户需要在认证系统中输入卡片上与索引对应的密码。参见图1,图1所示是一张序列号为123456789XXXX,共有8行、10列的电子口令卡。当需要认证时,认证系统会随机生成几个坐标,如2E,5H,3B,用户需要输入与坐标对应的密码,如59,19,43。如果用户输入正确,则认证通过,如果用户输入不正确,则认证不通过。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:电子口令卡上的密码数量有限,用户输入的密码可能被截获,已经使用过的密码就变得不再安全,因此电子口令卡的使用次数有限,如果超过次数继续使用,电子口令卡就不再安全,很难保障用户信息的安全性。

发明内容
为了提高认证的安全性,本发明实施例提供了一种认证方法、设备和系统。所述技术方案如下:一种认证方法,所述方法包括:在被认证设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,所述认证设备产生一组随机数,并将所述随机数发送给所述被认证设备,所述随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,所述随机数还包括:单向函数的序号和/或加密信息的序号;所述认证设备接收所述被认证设备发送的第一回答信息,所述第一回答信息是所述被认证设备采用与所述认证设备相同的方法生成的;所述认证设备根据所述随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据所述随机数携带的电子口令卡上的索引在找到的所述电子口令卡确定对应的密码,根据所述随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将所述结果作为第二回答信息;所述认证设备将自身产生的第二回答信息与从所述被认证设备接收的第一回答信息进行比较,如果一致,则判定所述被认证设备合法,认证通过,如果不一致,则判定所述被认证设备不合法,认证不通过。
一种认证方法,所述方法包括:在被认证设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,所述被认证设备接收所述认证设备产生并发送的一组随机数,所述随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,所述随机数还包括:单向函数的序号和/或加密信息的序号;所述被认证设备根据所述随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据所述随机数携带的电子口令卡上的索引在找到的所述电子口令卡确定对应的密码,根据所述随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将所述结果作为第一回答信息;所述被认证设备发送所述第一回答信息给所述认证设备,使所述认证设备采用与所述被认证设备相同的方法生成第二回答信息,并将自身产生的第二回答信息与从所述被认证设备接收的第一回答信息进行比较,如果一致,则判定所述被认证设备合法,认证通过,如果不一致,则判定所述被认证设备不合法,认证不通过。一种认证设备,所述设备包括:发送模块,用于在被认证设备和所述设备相互确认对方的序列号与自身的序列号匹配的情况下,产生一组随机数,并将所述随机数发送给所述被认证设备,所述随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,所述随机数还包括:单向函数的序号和/或加密信息的序号;接收模块,用于接收所述被认证设备发送的第一回答信息,所述第一回答信息是所述被认证设备采用与所述认证设备相同的方法生成的;生成模块,用于根据所述随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据所述随机数携带的电子口令卡上的索引在找到的所述电子口令卡确定对应的密码,根据所述随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将所述结果作为第二回答信息;比较模块,用于将自身产生的第二回答信息与从所述被认证设备接收的第一回答信息进行比较,如果一致,则判定所述被认证设备合法,认证通过,如果不一致,则判定所述被认证设备不合法,认证不通过。 一种认证设备,所述设备包括:接收模块,用于在所述设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,接收所述认证设备产生并发送的一组随机数,所述随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,所述随机数还包括:单向函数的序号和/或加密信息的序号;生成模块,用于根据所述随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据所述随机数携带的电子口令卡上的索引在找到的所述电子口令卡确定对应的密码,根据所述随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将所述结果作为第一回答信息;
发送模块,用于发送所述第一回答信息给所述认证设备,使所述认证设备采用与所述设备相同的方法生成第二回答信息,并将自身产生的第二回答信息与从所述设备接收的第一回答信息进行比较,如果一致,则判定所述设备合法,认证通过,如果不一致,则判定所述设备不合法,认证不通过。一种认证系统,所述系统包括:被认证设备和认证设备;在被认证设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,所述认证设备,用于产生一组随机数,并将所述随机数发送给所述被认证设备,所述随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,所述随机数还包括:单向函数的序号和/或加密信息的序号;所述被认证设备,用于接收所述随机数,采用与所述认证设备相同的方法生成第一回答信息,并将所述第一回答信息发送给所述认证设备;所述认证设备,还用于接收所述被认证设备发送的第一回答信息,根据所述随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据所述随机数携带的电子口令卡上的索引在找到的所述电子口令卡确定对应的密码,根据所述随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将所述结果作为第二回答信息;将自身产生的第二回答信息与从所述被认证设备接收的第一回答信息进行比较,如果一致,则判定所述被认证设备合法,认证通过,如果不一致,则判定所述被认证设备不合法,认证不通过。本发明实施例提供的技术方案带来的有益效果是:通过被认证设备将电子口令卡的密码使用单向函数或/和加密信息处理后,再发送给认证设备进行认证,由于单向函数通过因变量不易求解自变量的特殊性质,或者由于加密信息对密码的加密处理,即使被认证设备的回答信息被截获,截获者也不能获得密码,从而提高了设备间认证的安全性。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术提供的电子口令卡示意图;图2是本发明实施例1中提供的认证方法流程图;图3是本发明实施例2中提供的认证方法流程图;图4是本发明实施例3中提供的认证方法流程图;图5是本发明实施例4中提供的认证设备结构示意图;图6是本发明实施例5中提供的认证设备结构示意图;图7是本发明实施例6中提供的认证系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。首先,对以下各实施例中的用词和术语进行解释:本发明实施例中提及的电子口令卡是一张索引与密码一一对应的卡片,其中,索引可以是坐标等能够唯一确定卡片上密码的标识,例如,索引可以是行坐标、列坐标。卡片上还有一个序号,用于和用户账号绑定。本发明实施例中提及的单向函数是指:如果一个函数,对于任意一组自变量,有唯一的因变量和该组自变量相对应,并且对于几乎所有的因变量,却无法通过求解此函数得出一组确定的自变量,则这个函数就是单向函数。本发明实施例中提及的和/或,是指二者中的至少一个。例如,A和/或B,包括:A、B、A和B三种情况。本发明实施例中提及的“第一”、“第二”、“第三”、“第四”等序数词,除非根据上下文其确实表达顺序之意,应当理解为仅仅是起区分之用。实施例1参见图2,本实施例提供了一种认证方法,该方法包括:Sll:在被认证设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,认证设备产生一组随机数,并将随机数发送给被认证设备,随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,随机数还包括:单向函数的序号和/或加密信息的序号;其中,加密信息包括密钥和加密算法,相应的,加密信息的序号包括密钥的序号和加密算法的序号。S12:认证设备接收被认证设备发送的第一回答信息,第一回答信息是被认证设备采用与认证设备相同的方法生成的;S13:认证设备根据随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的密码,根据随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将结果作为第二回答信息;S14:认证设备将自身产生的第二回答信息与从被认证设备接收的第一回答信息进行比较,如果一致,则判定被认证设备合法,认证通过,如果不一致,则判定被认证设备不合法,认证不通过。本实施例通过认证设备将单向函数的序号和/或加密信息的序号发送给被认证设备,被认证设备将电子口令卡的密码使用相应的单向函数或/和加密信息处理后,再发送给认证设备进行认证,由于单向函数通过因变量不易求解自变量的特殊性质,或者由于加密信息对密码的加密处理,即使被认证设备的回答信息被截获,截获者也不能获得密码,从而提高了设备间认证的安全性。实施例2参见图3,本实施例提供了一种认证方法,该方法包括:S21:在被认证设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,被认证设备接收认证设备产生并发送的一组随机数,随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,随机数还包括:单向函数的序号和/或加密信息的序号;其中,加密信息包括密钥和加密算法,相应的,加密信息的序号包括密钥的序号和加密算法的序号。S22:被认证设备根据随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的密码,根据随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将结果作为第一回答信息;S23:被认证设备发送第一回答信息给认证设备,使认证设备采用与被认证设备相同的方法生成第二回答信息,并将自身产生的第二回答信息与从被认证设备接收的第一回答信息进行比较,如果一致,则判定被认证设备合法,认证通过,如果不一致,则判定被认证设备不合法,认证不通过。本实施例通过被认证设备接收认证设备发送的单向函数的序号和/或加密信息的序号,将电子口令卡的密码使用相应的单向函数或/和加密信息处理后,再发送给认证设备进行认证,由于单向函数通过因变量不易求解自变量的特殊性质,或者由于加密信息对密码的加密处理,即使被认证设备的回答信息被截获,截获者也不能获得密码,从而提高了设备间认证的安全性。实施例3参见图4,本实施例提供了 一种认证方法,该方法包括:201:被认证设备向认证设备发起认证申请,被认证设备和认证设备相互确认对方的序列号与自身的序列号是否匹配,如果匹配,则执行步骤202或者直接执行步骤203,如果不匹配,则退出认证过程。被认证设备和认证设备相互确认对方的序列号与自身的序列号是否匹配,具体包括:被认证设备将自身的序列号发送给认证设备,认证设备将本设备的序列号与被认证设备的序列号进行匹配,认证设备将自身的序列号发送给被认证设备,被认证设备将本设备的序列号与认证设备的序列号进行匹配。其中,认证申请可以由主认证设备或从认证设备发起。202:被认证设备对认证设备进行认证,如果认证通过,则执行步骤203,如果认证不通过,则退出认证过程。其中,步骤202是可选的,如果执行步骤202,则可以进一步提高认证的安全性。203:认证设备对被认证设备进行认证,如果认证通过,则执行步骤204,如果认证不通过,则退出认证过程。204:认证过程完成。为了实现认证设备对被认证设备进行认证,或者为了实现被认证设备对认证设备进行认证,需要分别在认证设备和被认证设备保存内容相同的至少一组电子口令卡、至少一个单向函数、至少一个加密用的加密信息等数据。其中,加密信息包括密钥和加密算法,相应的,加密信息的序号包括密钥的序号和加密算法的序号。进一步,为了防止在认证设备和被认证设备保存的数据被窃取,认证设备和被认证设备可以分别对自身保存的数据进行加密,本实施例并不限定具体的加密方法,认证设备与被认证设备可以采用相同或不同的加密方法对自身保存的数据进行加密。相对于现有技术中电子口令卡为用户所持有,任何持有人都可以看见电子口令卡上的信息,非法用户通过扫描、照相、抄写等复制手段就可以获得电子口令卡的信息,本发明实施例的电子口令卡保存在设备(认证设备或被认证设备),并且还可以加密保存,非法用户不易获得电子口令卡的信息。进一步,当电子口令卡、单向函数、或者加密信息有多个时,增大了密码被截获破译的难度,提高了认证的安全性。为了进一步提高认证的安全性,可以将电子口令卡分成两组,一组电子口令卡专门用于认证设备对被认证设备进行认证,另一组电子口令卡专门用于被认证设备对认证设备进行认证;同理,单向函数可以分成两组,一组单向函数专门用于认证设备对被认证设备进行认证,另一组单向函数专门用于被认证设备对认证设备进行认证;同理,加密信息可以分成两组,一组加密信息专门用于认证设备对被认证设备进行认证,另一组加密信息专门用于被认证设备对认证设备进行认证。步骤202被认证设备对认证设备进行认证,可以采用以下方法:2021:被认证设备产生一组第二随机数,并将该组第二随机数发送给认证设备;其中,该组第二随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引;该组随机数还包括:单向函数的序号和/或加密信息的序号。其中,加密信息包括密钥和加密算法,相应的,加密信息的序号包括密钥的序号和加密算法的序号。进一步,该组随机数携带的电子口令卡、单向函数、或/和加密信息等信息可以是专门用于被认证设备对认证设备进行认证的。2022:认证设备接收到该组第二随机数之后,根据该组第二随机数携带的信息产生第三回答信息,并将第三回答信息发送给被认证设备;具体的,认证设备根据该组第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,并根据该组随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的第二密码;根据该组随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,并使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,将第二结果作为第三回答信息。其中,使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,具体可以有四种方法。第一种是,使用找到的第二单向函数对确定的第二密码进行计算得到第二结果。第二种是,使用找到的第二加密信息对确定的第二密码进行加密得到第二结果。第三种是,先使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,然后使用找到的第二加密信息对计算得到的第二中间结果进行加密得到第二结果。第四种是,先使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,然后使用找到的第二单向函数对加密得到的第二中间结果进行计算得到第二结果。2023:被认证设备采用与认证设备相同的方法,根据该组第二随机数携带的信息产生第四回答信息,并将自身产生的第四回答信息与从认证设备接收的第三回答信息进行比较,如果一致,则判定认证设备合法,认证通过,如果不一致,则判定认证设备不合法,认证不通过。
其中,被认证设备采用与认证设备相同的方法,根据该组第二随机数携带的信息产生第四回答信息,具体包括:根据该组第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,并根据该组随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的第二密码;根据该组随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,并使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,将第二结果作为第四回答信息。其中,使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,具体可以有四种方法。第一种是,使用找到的第二单向函数对确定的第二密码进行计算得到第二结果。第二种是,使用找到的第二加密信息对确定的第二密码进行加密得到第二结果。第三种是,先使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,然后使用找到的第二加密信息对计算得到的第二中间结果进行加密得到第二结果。第四种是,先使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,然后使用找到的第二单向函数对加密得到的第二中间结果进行计算得到第二结果。
步骤203认证设备对被认证设备进行认证,可以采用以下方法:2031:认证设备产生一组随机数,并将该组随机数发送给被认证设备;其中,该组随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引;该组随机数还包括:单向函数的序号和/或加密信息的序号。其中,加密信息包括密钥和加密算法,相应的,加密信息的序号包括密钥的序号和加密算法的序号。进一步,该组随机数携带的电子口令卡、单向函数、或/和加密信息等信息可以是专门用于认证设备对被认证设备进行认证的。2032:被认证设备接收到该组随机数之后,根据该组随机数携带的信息产生第一回答信息,并将第一回答信息发送给认证设备;具体的,被认证设备根据该组随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,并根据该组随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的密码;根据该组随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行计算得到结果,将结果作为第一回答信息。其中,使用找到的单向函数和加密信息对确定的密码进行处理得到结果,具体可以有四种方法。第一种是,使用找到的单向函数对确定的密码进行计算得到结果。第二种是,使用找到的加密信息对确定的密码进行加密得到结果。第三种是,先使用找到的单向函数对确定的密码进行计算得到中间结果,然后使用找到的加密信息对中间结果进行加密得到结果。第四种是,先使用找到的加密信息对确定的密码进行加密得到中间结果,然后使用找到的单向函数对中间结果进行计算得到结果。2033:认证设备采用与被认证设备相同的方法,根据该组随机数携带的信息产生第二回答信息,并将自身产生的第二回答信息与从被认证设备接收的第一回答信息进行比较,如果一致,则判定被认证设备合法,认证通过,如果不一致,则判定被认证设备不合法,认证不通过。
其中,认证设备采用与被认证设备相同的方法,根据该组随机数携带的信息产生第二回答信息,具体包括:认证设备根据该组随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,并根据该组随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的密码;根据该组随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行计算得到结果,将结果作为第二回答信息。其中,使用找到的单向函数和加密信息对确定的密码进行处理得到结果,具体可以有四种方法。第一种是,使用找到的单向函数对确定的密码进行计算得到结果。第二种是,使用找到的加密信息对确定的密码进行加密得到结果。第三种是,先使用找到的单向函数对确定的密码进行计算得到中间结果,然后使用找到的加密信息对中间结果进行加密得到结果。第四种是,先使用找到的加密信息对确定的密码进行加密得到中间结果,然后使用找到的单向函数对中间结果进行计算得到结果。本实施例提供的认证的方法可以应用于电子锁、门禁系统、电子支付系统、电子设备鉴权等。以电子锁为例,锁具和钥匙分别相当于本实施例中的认证设备和被认证设备。下面简述电子锁的认证过程。301:钥匙向锁具发起认证申请,钥匙和锁具相互确认对方的序列号与自身的序列号是否匹配,如果匹配,则执行步骤302或者直接执行步骤303,如果不匹配,则退出认证过程。钥匙和锁具相互确认对方的序列号与自身的序列号是否匹配,具体包括:钥匙将自身的序列号发送给锁具,锁具将本设备的序列号与钥匙的序列号进行匹配,锁具将自身的序列号发送给钥匙,钥匙将本设备的序列号与锁具的序列号进行匹配。302:钥匙对锁具进行认证,如果认证通过,则执行步骤303,如果认证不通过,则退出认证过程。其中,步骤302是可选的,如果执行步骤302,则可以进一步提高认证的安全性。303:锁具对钥匙进行认证,如果认证通过,则执行步骤304,如果认证不通过,则退出认证过程。304:认证过程完成。为了实现锁具对钥匙进行认证,或者为了实现钥匙对锁具进行认证,需要分别在锁具和钥匙保存内容相同的至少一组电子口令卡、至少一个单向函数、至少一个加密用的加密信息等数据。进一步,为了防止在锁具和钥匙保存的数据被窃取,锁具和钥匙可以分别对自身保存的数据进行加密,本实施例并不限定具体的加密方法,锁具与钥匙可以采用相同或不同的加密方法对自身保存的数据进行加密。进一步,当电子口令卡、单向函数、或者加密信息有多个时,增大了密码被截获破译的难度,提高了认证的安全性。为了进一步提高认证的安全性,可以将电子口令卡分成两组,一组电子口令卡专门用于锁具对钥匙进行认证,另一组电子口令卡专门用于钥匙对锁具进行认证;同理,单向函数可以分成两组,一组单向函数专门用于锁具对钥匙进行认证,另一组单向函数专门用于钥匙对锁具进行认证;同理,加密信息可以分成两组,一组加密信息专门用于锁具对钥匙进行认证,另一组加密信息专门用于钥匙对锁具进行认证。
步骤302钥匙对锁具进行认证,可以采用以下方法:3021:钥匙产生一组第二随机数,并将该组第二随机数发送给锁具;其中,该组第二随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引;该组随机数还包括:单向函数的序号和/或加密信息的序号。其中,加密信息包括密钥和加密算法,相应的,加密信息的序号包括密钥的序号和加密算法的序号。进一步,该组随机数携带的电子口令卡、单向函数、或/和加密信息等信息可以是专门用于钥匙对锁具进行认证的。3022:锁具接收到该组第二随机数之后,根据该组第二随机数携带的信息产生第三回答信息,并将第三回答信息发送给钥匙;具体的,锁具根据该组第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,并根据该组随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的第二密码;根据该组随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,并使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,将第二结果作为第三回答信息。其中,使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,具体可以有四种方法。第一种是,使用找到的第二单向函数对确定的第二密码进行计算得到第二结果。第二种是,使用找到的第二加密信息对确定的第二密码进行加密得到第二结果。第三种是,先使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,然后使用找到的第二加密信息对计算得到的第二中间结果进行加密得到第二结果。第四种是,先使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,然后使用找到的第二单向函数对加密得到的第二中间结果进行计算得到第二结果。3023:钥匙采用与锁具相同的方法,根据该组第二随机数携带的信息产生第四回答信息,并将自身产生的第四回答信息与从锁具接收的第三回答信息进行比较,如果一致,则判定锁具合法,认证通过,如果不一致,则判定锁具不合法,认证不通过。其中,钥匙采用与锁具相同的方法,根据该组第二随机数携带的信息产生第四回答信息,具体包括:根据该组第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,并根据该组随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的第二密码;根据该组随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,并使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,将第二结果作为第四回答信息。其中,使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,具体可以有四种方法。第一种是,使用找到的第二单向函数对确定的第二密码进行计算得到第二结果。第二种是,使用找到的第二加密信息对确定的第二密码进行加密得到第二结果。第三种是,先使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,然后使用找到的第二加密信息对计算得到的第二中间结果进行加密得到第二结果。第四种是,先使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,然后使用找到的第二单向函数对加密得到的第二中间结果进行计算得到第二结果。步骤303锁具对钥匙进行认证,可以采用以下方法:3031:锁具产生一组随机数,并将该组随机数发送给钥匙;其中,该组随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引;该组随机数还包括:单向函数的序号和/或加密信息的序号。其中,加密信息包括密钥和加密算法,相应的,加密信息的序号包括密钥的序号和加密算法的序号。进一步,该组随机数携带的电子口令卡、单向函数、或/和加密信息等信息可以是专门用于锁具对钥匙进行认证的。3032:钥匙接收到该组随机数之后,根据该组随机数携带的信息产生第一回答信息,并将第一回答信息发送给锁具;具体的,钥匙根据该组随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,并根据该组随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的密码;根据该组随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行计算得到结果,将结果作为第一回答信息。其中,使用找到的单向函数和加密信息对确定的密码进行处理得到结果,具体可以有四种方法。第一种是,使用找到的单向函数对确定的密码进行计算得到结果。第二种是,使用找到的加密信息对确定的密码进行加密得到结果。第三种是,先使用找到的单向函数对确定的密码进行计算得到中间结果,然后使用找到的加密信息对中间结果进行加密得到结果。第四种是,先使用找到的加密信息对确定的密码进行加密得到中间结果,然后使用找到的单向函数对中间结果进行计算得到结果。3033:锁具采用与钥匙相同的方法,根据该组随机数携带的信息产生第二回答信息,并将自身产生的第二回答信息与从钥匙接收的第一回答信息进行比较,如果一致,则判定钥匙合法,认证通过,如果不一致,则判定钥匙不合法,认证不通过。其中,锁具采用与钥匙相同的方法,根据该组随机数携带的信息产生第二回答信息,具体包括:锁具根据该组随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,并根据该组随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的密码;根据该组随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行计算得到结果,将结果作为第二回答信息。其中,使用找到的单向函数和加密信息对确定的密码进行处理得到结果,具体可以有四种方法。第一种是,使用找到的单向函数对确定的密码进行计算得到结果。第二种是,使用找到的加密信息对确定的密码进行加密得到结果。第三种是,先使用找到的单向函数对确定的密码进行计算得到中间结果,然后使用找到的加密信息对中间结果进行加密得到结果。第四种是,先使用找到的加密信息对确定的密码进行加密得到中间结果,然后使用找到的单向函数对中间结果进行计算得到结果。本实施例通过认证设备将单向函数的序号和/或加密信息的序号发送给被认证设备,被认证设备将电子口令卡的密码使用相应的单向函数或/和加密信息处理后,再发送给认证设备进行认证,由于单向函数通过因变量不易求解自变量的特殊性质,或者由于加密信息对密码的加密处理,即使被认证设备的回答信息被截获,截获者也不能获得密码,从而提高了设备间认证的安全性。同时,电子口令卡、单向函数、或者加密信息可以有多个时,并且可以加密保存,增大了密码被截获破译的难度,提高了认证的安全性。并且,双向认证可以进一步提高认证的安全性,还可以将电子口令卡、单向函数、或/和加密信息分组,分别用于对被认证设备和对认证设备的认证,这些数据的隔离使用,进一步提高了认证的安全性。实施例4参见图5,本实施例提供了一种认证设备,该设备具体可以是认证设备,该设备包括:发送模块401,用于在被认证设备和设备相互确认对方的序列号与自身的序列号匹配的情况下,产生一组随机数,并将随机数发送给被认证设备,随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,随机数还包括:单向函数的序号和/或加密信息的序号;接收模块402,用于接收被认证设备发送的第一回答信息,第一回答信息是被认证设备采用与认证设备相同的方法生成的;生成模块403,用于根据随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的密码,根据随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将结果作为第二回答信息;比较模块404,用于将自身产生的第二回答信息与从被认证设备接收的第一回答信息进行比较,如果一致,则判定被认证设备合法,认证通过,如果不一致,则判定被认证设备不合法,认证不通过。其中,生成模块403在使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果时,具体用于:使用找到的单向函数对确定的密码进行计算得到结果;或者,使用找到的加密信息对确定的密码进行加密得到结果;或者,使用找到的单向函数对确定的密码进行计算得到中间结果,并使用找到的加密信息对计算得到的中间结果进行加密得到结果;或者,使用找到的加密信息对确定的密码进行加密得到中间结果,并使用找到的单向函数对加密得到的中间结果进行计算得到结果。进一步,被认证设备通过认证之后,设备还包括:认证模块,用于接收被认证设备产生并发送的一组第二随机数;根据第二随机数产生第三回答信息,并将第三回答信息发送给被认证设备,使被认证设备采用与认证设备相同的方法生成第四回答信息,并将自身产生的第四回答信息与从认证设备接收的第三回答信息进行比较,如果一致,则判定认证设备合法,认证通过,如果不一致,则判定认证设备不合法,认证不通过。其中,认证模块在根据第二随机数产生第三回答信息时,具体用于:根据第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,根据第二随机数携带的电子口令卡上的索引在找到的第二电子口令卡确定对应的第二密码;根据第二随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,将第二结果作为第二回答息。其中,认证模块在使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果时,具体用于:使用找到的第二单向函数对确定的第二密码进行计算得到第二结果;或者,使用找到的第二加密信息对确定的第二密码进行加密得到第二结果;或者,使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,并使用找到的第二加密信息对计算得到的第二中间结果进行加密得到第二结果;或者,使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,并使用找到的第二单向函数对加密得到的第二中间结果进行计算得到第二结果。为了实现认证设备对被认证设备进行认证,或者为了实现被认证设备对认证设备进行认证,需要分别在认证设备和被认证设备保存内容相同的至少一组电子口令卡、至少一个单向函数、至少一个加密用的加密信息等数据。其中,加密信息包括密钥和加密算法,相应的,加密信息的序号包括密钥的序号和加密算法的序号。进一步,为了防止在认证设备和被认证设备保存的数据被窃取,认证设备和被认证设备可以分别对自身保存的数据进行加密,本实施例并不限定具体的加密方法,认证设备与被认证设备可以采用相同或不同的加密方法对自身保存的数据进行加密。相对于现有技术中电子口令卡为用户所持有,任何持有人都可以看见电子口令卡上的信息,非法用户通过扫描、照相、抄写等复制手段就可以获得电子口令卡的信息,本发明实施例的电子口令卡保存在设备(认证设备或被认证设备),并且还可以加密保存,非法用户不易获得电子口令卡的信息。进一步,当电子口令卡、单向函数、或者加密信息有多个时,增大了密码被截获破译的难度,提高了认证的安全性。为了进一步提高认证的安全性,可以将电子口令卡分成两组,一组电子口令卡专门用于认证设备对被认证设备进行认证,另一组电子口令卡专门用于被认证设备对认证设备进行认证;同理,单向函数可以分成两组,一组单向函数专门用于认证设备对被认证设备进行认证,另一组单向函数专门用于被认证设备对认证设备进行认证;同理,加密信息可以分成两组,一组加密信息专门用于认证设备对被认证设备进行认证,另一组加密信息专门用于被认证设备对认证设备进行认证。本实施例提供的设备通过将单向函数的序号和/或加密信息的序号发送给被认证设备,被认证设备将电子口令卡的密码使用相应的单向函数或/和加密信息处理后,再发送给该设备进行认证,由于单向函数通过因变量不易求解自变量的特殊性质,或者由于加密信息对密码的加密处理,即使被认证设备的回答信息被截获,截获者也不能获得密码,从而提高了设备间认证的安全性。实施例5参见图6,本实施例提供了一种认证设备,该设备具体可以是被认证设备,该设备包括:接收模块501,用于在设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,接收认证设备产生并发送的一组随机数,随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,随机数还包括:单向函数的序号和/或加密信息的序号;生成模块502,用于根据随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的密码,根据随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将结果作为第一回答信息;发送模块503,用于发送第一回答信息给认证设备,使认证设备采用与设备相同的方法生成第二回答信息,并将自身产生的第二回答信息与从设备接收的第一回答信息进行比较,如果一致,则判定设备合法,认证通过,如果不一致,则判定设备不合法,认证不通过。其中,生成模块502在使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果时,具体用于:使用找到的单向函数对确定的密码进行计算得到结果;或者,使用找到的加密信息对确定的密码进行加密得到结果;或者,使用找到的单向函数对确定的密码进行计算得到中间结果,并使用找到的加密信息对计算得到的中间结果进行加密得到结果;或者,使用找到的加密信息对确定的密码进行加密得到中间结果,并使用找到的单向函数对加密得到的中间结果进行计算得到结果。进一步,设备通过认证之后,设备还包括:认证模块,用于产生一组第二随机数,并将第二随机数发送给认证设备,使认证设备采用与被认证设备相同的方法生成第三回答信息,并将第三回答信息发送给设备;根据第二随机数产生第四回答信息,并将自身产生的第四回答信息与从认证设备接收的第三回答信息进行比较,如果一致,则判定认证设备合法,认证通过,如果不一致,则判定认证设备不合法,认证不通过。其中,认证模块在根据第二随机数产生第四回答信息时,具体用于:根据第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,根据第二随机数携带的电子口令卡上的索引在找到的第二电子口令卡确定对应的第二密码;根据第二随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,将第二结果作为第四回答信息。其中,认证模块在使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果时,具体用于:使用找到的第二单向函数对确定的第二密码进行计算得到第二结果;或者,使用找到的第二加密信息对确定的第二密码进行加密得到第二结果;或者,使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,并使用找到的第二加密信息对计算得到的第二中间结果进行加密得到第二结果;或者,使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,并使用找到的第二单向函数对加密得到的第二中间结果进行计算得到第二结果。为了实现认证设备对被认证设备进行认证,或者为了实现被认证设备对认证设备进行认证,需要分别在认证设备和被认证设备保存内容相同的至少一组电子口令卡、至少一个单向函数、至少一个加密用的加密信息等数据。其中,加密信息包括密钥和加密算法,相应的,加密信息的序号包括密钥的序号和加密算法的序号。进一步,为了防止在认证设备和被认证设备保存的数据被窃取,认证设备和被认证设备可以分别对自身保存的数据进行加密,本实施例并不限定具体的加密方法,认证设备与被认证设备可以采用相同或不同的加密方法对自身保存的数据进行加密。相对于现有技术中电子口令卡为用户所持有,任何持有人都可以看见电子口令卡上的信息,非法用户通过扫描、照相、抄写等复制手段就可以获得电子口令卡的信息,本发明实施例的电子口令卡保存在设备(认证设备或被认证设备),并且还可以加密保存,非法用户不易获得电子口令卡的信息。进一步,当电子口令卡、单向函数、或者加密信息有多个时,增大了密码被截获破译的难度,提高了认证的安全性。为了进一步提高认证的安全性,可以将电子口令卡分成两组,一组电子口令卡专门用于认证设备对被认证设备进行认证,另一组电子口令卡专门用于被认证设备对认证设备进行认证;同理,单向函数可以分成两组,一组单向函数专门用于认证设备对被认证设备进行认证,另一组单向函数专门用于被认证设备对认证设备进行认证;同理,加密信息可以分成两组,一组加密信息专门用于认证设备对被认证设备进行认证,另一组加密信息专门用于被认证设备对认证设备进行认证。本实施例提供的设备,通过接收认证设备发送的单向函数的序号和/或加密信息的序号,将电子口令卡的密码使用相应的单向函数或/和加密信息处理后,再发送给认证设备进行认证,由于单向函数通过因变量不易求解自变量的特殊性质,或者由于加密信息对密码的加密处理,即使被认证设备的回答信息被截获,截获者也不能获得密码,从而提高了设备间认证的安全性。实施例6参见图7,本实施例提供了一种认证系统,该系统包括:被认证设备601和认证设备 602 ;在被认证设备601和认证设备602相互确认对方的序列号与自身的序列号匹配的情况下,认证设备602,用于产生一组随机数,并将随机数发送给被认证设备601,随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,随机数还包括:单向函数的序号和/或加密信息的序号;被认证设备601,用于接收随机数,采用与认证设备602相同的方法生成第一回答信息,并将第一回答信息发送给认证设备602 ;认证设备602,还用于接收被认证设备601发送的第一回答信息,根据随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据随机数携带的电子口令卡上的索引在找到的电子口令卡确定对应的密码,根据随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将结果作为第二回答信息;将自身产生的第二回答信息与从被认证设备601接收的第一回答信息进行比较,如果一致,则判定被认证设备601合法,认证通过,如果不一致,则判定被认证设备601不合法,认证不通过。22、根据权利要求21的系统,其特征在于,认证设备602在使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果时,具体用于:认证设备602使用找到的单向函数对确定的密码进行计算得到结果;或者,认证设备602使用找到的加密信息对确定的密码进行加密得到结果;或者,认证设备602使用找到的单向函数对确定的密码进行计算得到中间结果,并使用找到的加密信息对计算得到的中间结果进行加密得到结果;或者,认证设备602使用找到的加密信息对确定的密码进行加密得到中间结果,并使用找到的单向函数对加密得到的中间结果进行计算得到结果。23、根据权利要求21的系统,其特征在于,被认证设备601通过认证之后,认证设备602,还用于接收被认证设备601产生并发送的一组第二随机数;根据第二随机数产生第三回答信息,并将第三回答信息发送给被认证设备601 ;被认证设备601,用于接收认证设备602发送的第三回答信息,采用与认证设备602相同的方法生成第四回答信息,并将自身产生的第四回答信息与从认证设备602接收的第三回答信息进行比较,如果一致,则判定认证设备602合法,认证通过,如果不一致,则判定认证设备602不合法,认证不通过。24、根据权利要求23的系统,其特征在于,认证设备602在根据第二随机数产生第三回答信息时,具体用于:认证设备602根据第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,根据第二随机数携带的电子口令卡上的索引在找到的第二电子口令卡确定对应的第二密码;认证设备602根据第二随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果,将第二结果作为第三回答信息。25、根据权利要求24的系统,其特征在于,认证设备602在使用找到的第二单向函数和/或第二加密信息对确定的第二密码进行处理得到第二结果时,具体用于:认证设备602使用找到的第二单向函数对确定的第二密码进行计算得到第二结果;或者,认证设备602使用找到的第二加密信息对确定的第二密码进行加密得到第二结果;或者,认证设备602使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,并使用找到的第二加密信息对计算得到的第二中间结果进行加密得到第二结果;或者,认证设备602使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,并使用找到的第二单向函数对加密得到的第二中间结果进行计算得到第二结果。为了实现认证设备对被认证设备进行认证,或者为了实现被认证设备对认证设备进行认证,需要分别在认证设备和被认证设备保存内容相同的至少一组电子口令卡、至少一个单向函数、至少一个加密用的加密信息等数据。其中,加密信息包括密钥和加密算法,相应的,加密信息的序号包括密钥的序号和加密算法的序号。进一步,为了防止在认证设备和被认证设备保存的数据被窃取,认证设备和被认证设备可以分别对自身保存的数据进行加密,本实施例并不限定具体的加密方法,认证设备与被认证设备可以采用相同或不同的加密方法对自身保存的数据进行加密。相对于现有技术中电子口令卡为用户所持有,任何持有人都可以看见电子口令卡上的信息,非法用户通过扫描、照相、抄写等复制手段就可以获得电子口令卡的信息,本发明实施例的电子口令卡保存在设备(认证设备或被认证设备),并且还可以加密保存,非法用户不易获得电子口令卡的信息。进一步,当电子口令卡、单向函数、或者加密信息有多个时,增大了密码被截获破译的难度,提高了认证的安全性。为了进一步提高认证的安全性,可以将电子口令卡分成两组,一组电子口令卡专门用于认证设备对被认证设备进行认证,另一组电子口令卡专门用于被认证设备对认证设备进行认证;同理,单向函数可以分成两组,一组单向函数专门用于认证设备对被认证设备进行认证,另一组单向函数专门用于被认证设备对认证设备进行认证;同理,加密信息可以分成两组,一组加密信息专门用于认证设备对被认证设备进行认证,另一组加密信息专门用于被认证设备对认证设备进行认证。本实施例通过认证设备将单向函数的序号和/或加密信息的序号发送给被认证设备,被认证设备将电子口令卡的密码使用相应的单向函数或/和加密信息处理后,再发送给认证设备进行认证,由于单向函数通过因变量不易求解自变量的特殊性质,或者由于加密信息对密码的加密处理,即使被认证设备的回答信息被截获,截获者也不能获得密码,从而提高了设备间认证的安全性。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种认证方法,其特征在于,所述方法包括: 在被认证设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,所述认证设备产生一组随机数,并将所述随机数发送给所述被认证设备,所述随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,所述随机数还包括:单向函数的序号和/或加密信息的序号; 所述认证设备接收所述被认证设备发送的第一回答信息,所述第一回答信息是所述被认证设备采用与所述认证设备相同的方法生成的; 所述认证设备根据所述随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据所述随机数携带的电子口令卡上的索引在找到的所述电子口令卡确定对应的密码,根据所述随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将所述结果作为第二回答信息; 所述认证设备将自身产生的第二回答信息与从所述被认证设备接收的第一回答信息进行比较,如果一致,则判定所述被认证设备合法,认证通过,如果不一致,则判定所述被认证设备不合法,认证不通过。
2.根据权利要求1所述的方法,其特征在于,所述认证设备使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,具体包括: 所述认证设备使用找到的单向函数对确定的密码进行计算得到所述结果; 或者, 所述认证设备使用找到的加密信息对确定的密码进行加密得到所述结果; 或者, 所述认证设备使用找到的单向函数对确定的密码进行计算得到中间结果,并使用找到的加密信息对计算得到的中间结果进行加密得到所述结果; 或者, 所述认证设备使用找到的加密信息对确定的密码进行加密得到中间结果,并使用找到的单向函数对加密得到的中间结果进行计算得到所述结果。
3.根据权利要求1或2所述的方法,其特征在于,所述被认证设备通过认证之后,所述方法还包括: 所述认证设备接收所述被认证设备产生并发送的一组第二随机数; 所述认证设备根据所述第二随机数产生第三回答信息,并将所述第三回答信息发送给所述被认证设备,使所述被认证设备采用与所述认证设备相同的方法生成第四回答信息,并将自身产生的第四回答信息与从所述认证设备接收的第三回答信息进行比较,如果一致,则判定所述认证设备合法,认证通过,如果不一致,则判定所述认证设备不合法,认证不通过。
4.根据权利要求3所述的方法,其特征在于,所述认证设备根据所述第二随机数产生第三回答信息,具体包括: 所述认证设备根据所述第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,根据所述第二随机数携带的电子口令卡上的索引在找到的所述第二电子口令卡确定对应的第二密码;所述认证设备根据所述第二随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,使用找到的所述第二单向函数和/或第二加密信息对确定的所述第二密码进行处理得到第二结果,将所述第二结果作为第三回答信息。
5.根据权利要求4所述的方法,其特征在于,所述认证设备使用找到的所述第二单向函数和/或第二加密信息对确定的所述第二密码进行处理得到第二结果,具体包括: 所述认证设备使用找到的第二单向函数对确定的第二密码进行计算得到所述第二结果; 或者, 所述认证设备使用找到的第二加密信息对确定的第二密码进行加密得到所述第二结果; 或者, 所述认证设备 使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,并使用找到的第二加密信息对计算得到的第二中间结果进行加密得到所述第二结果;或者, 所述认证设备使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,并使用找到的第二单向函数对加密得到的第二中间结果进行计算得到所述第二结果。
6.一种认证方法,其特征在于,所述方法包括: 在被认证设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,所述被认证设备接收所述认证设备产生并发送的一组随机数,所述随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,所述随机数还包括:单向函数的序号和/或加密信息的序号; 所述被认证设备根据所述随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据所述随机数携带的电子口令卡上的索引在找到的所述电子口令卡确定对应的密码,根据所述随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将所述结果作为第一回答信息; 所述被认证设备发送所述第一回答信息给所述认证设备,使所述认证设备采用与所述被认证设备相同的方法生成第二回答信息,并将自身产生的第二回答信息与从所述被认证设备接收的第一回答信息进行比较,如果一致,则判定所述被认证设备合法,认证通过,如果不一致,则判定所述被认证设备不合法,认证不通过。
7.根据权利要求6所述的方法,其特征在于,所述被认证设备使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,具体包括: 所述被认证设备使用找到的单向函数对确定的密码进行计算得到所述结果; 或者, 所述被认证设备使用找到的加密信息对确定的密码进行加密得到所述结果; 或者, 所述被认证设备使用找到的单向函数对确定的密码进行计算得到中间结果,并使用找到的加密信息对计算得到的中间结果进行加密得到所述结果;或者, 所述被认证设备使用找到的加密信息对确定的密码进行加密得到中间结果,并使用找到的单向函数对加密得到的中间结果进行计算得到所述结果。
8.根据权利要求6或7所述的方法,其特征在于,所述被认证设备通过认证之后,所述方法还包括: 所述被认证设备产生一组第二随机数,并将所述第二随机数发送给所述认证设备,使所述认证设备采用与所述被认证设备相同的方法生成第三回答信息,并将所述第三回答信息发送给所述被认证设备; 所述被认证设备根据所述第二随机数产生第四回答信息,并将自身产生的第四回答信息与从所述认证设备接收的第三回答信息进行比较,如果一致,则判定所述认证设备合法,认证通过,如果不一致,则判定所述认证设备不合法,认证不通过。
9.根据权利要求8所述的方法,其特征在于,所述被认证设备根据所述第二随机数产生第四回答信息,具体包括: 所述被认证设备根据所述第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,根据所述第二随机数携带的电子口令卡上的索引在找到的所述第二电子口令卡确定对应的第二密码; 所述被认证设备根据所述第二随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,使用找到的所述第二单向函数和/或第二加密信息对确定的所述第二密码进行处理得到第二结果,将所述第二结果作为第四回答信息。
10.根据权利要求9所述的方法,其特征在于,所述被认证设备使用找到的所述第二单向函数和/或第二加密信息对确定的所述第二密码进行处理得到第二结果,具体包括: 所述被认证设备使用找到的第二单向函数对确定的第二密码进行计算得到所述第二结果; 或者, 所述被认证设备使用找到的第二加密信息对确定的第二密码进行加密得到所述第二结果; 或者, 所述被认证设备使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,并使用找到的第二加密信息对计算得到的第二中间结果进行加密得到所述第二结果; 或者, 所述被认证设备使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,并使用找到的第二单向函数对加密得到的第二中间结果进行计算得到所述第二结果O
11.一种认证设备,其特征在于,所述设备包括: 发送模块,用于在被认证设备和所述设备相互确认对方的序列号与自身的序列号匹配的情况下,产生一组随机数,并将所述随机数发送给所述被认证设备,所述随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,所述随机数还包括:单向函数的序号和/或加密信息的序号; 接收模块,用于接收所述被认证设备发送的第一回答信息,所述第一回答信息是所述被认证设备采用与所述认证设备相同的方法生成的; 生成模块,用于根据所述随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据所述随机数携带的电子口令卡上的索引在找到的所述电子口令卡确定对应的密码,根据所述随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将所述结果作为第二回答信息; 比较模块,用于将自身产生的第二回答信息与从所述被认证设备接收的第一回答信息进行比较,如果一致,则判定所述被认证设备合法,认证通过,如果不一致,则判定所述被认证设备不合法,认证不通过。
12.根据权利要求11所述的设备,其特征在于,所述生成模块在使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果时,具体用于: 使用找到的单向函数对确定的密码进行计算得到所述结果; 或者, 使用找到的加密信息对确定的密码进行加密得到所述结果; 或者, 使用找到的单向函数对确定的密码进行计算得到中间结果,并使用找到的加密信息对计算得到的中间结果进行加密得到所述结果; 或者, 使用找到的加密信息对确定的密码进行加密得到中间结果,并使用找到的单向函数对加密得到的中间结果进行计算得到所述结果。
13.根据权利要求11或12所述的设备,其特征在于,所述被认证设备通过认证之后,所述设备还包括: 认证模块,用于接收所述被认证设备产生并发送的一组第二随机数;根据所述第二随机数产生第三回答信息,并将所述第三回答信息发送给所述被认证设备,使所述被认证设备采用与所述认证设备相同的方法生成第四回答信息,并将自身产生的第四回答信息与从所述认证设备接收的第三回答信息进行比较,如果一致,则判定所述认证设备合法,认证通过,如果不一致,则判定所述认证设备不合法,认证不通过。
14.根据权利要求13所述的设备,其特征在于,所述认证模块在根据所述第二随机数产生第三回答信息时,具体用于: 根据所述第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,根据所述第二随机数携带的电子口令卡上的索引在找到的所述第二电子口令卡确定对应的第二密码; 根据所述第二随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,使用找到的所述第二单向函数和/或第二加密信息对确定的所述第二密码进行处理得到第二结果,将所述第二结果作为第三回答信息。
15.根据权利要求14所述的设备,其特征在于,所述认证模块在使用找到的所述第二单向函数和/或第二加密信息对确定的所述第二密码进行处理得到第二结果时,具体用于: 使用找到的第二单向函数对确定的第二密码进行计算得到所述第二结果; 或者, 使用找到的第二加密信息对确定的第二密码进行加密得到所述第二结果; 或者, 使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,并使用找到的第二加密信息对计算得到的第二中间结果进行加密得到所述第二结果; 或者, 使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,并使用找到的第二单向函数对加密得到的第二中间结果进行计算得到所述第二结果。
16.一种认证设备,其特征在于,所述设备包括: 接收模块,用于在所述设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,接收所述认证设备产生并发送的一组随机数,所述随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,所述随机数还包括:单向函数的序号和/或加密信息的序号; 生成模块,用于根据所述随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据所述随机数携带的电子口令卡上的索引在找到的所述电子口令卡确定对应的密码,根据所述随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将所述结果作为第一回答信息; 发送模块,用于发送所述第一回答信息给所述认证设备,使所述认证设备采用与所述设备相同的方法生成第二回答信息,并将自身产生的第二回答信息与从所述设备接收的第一回答信息进行比较,如果一致,则判定所述设备合法,认证通过,如果不一致,则判定所述设备不合法,认证不通过。
17.根据权利要求16所述的设备,其特征在于,所述生成模块在使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果时,具体用于: 使用找到的单向函数对确定的密码进行计算得到所述结果; 或者, 使用找到的加密信息对确定的密码进行加密得到所述结果; 或者, 使用找到的单向函数对确定的密码进行计算得到中间结果,并使用找到的加密信息对计算得到的中间结果进行加密得到所述结果; 或者, 使用找到的加密信息对确定的密码进行加密得到中间结果,并使用找到的单向函数对加密得到的中间结果进行计算得到所述结果。
18.根据权利要求16或17所述的设备,其特征在于,所述设备通过认证之后,所述设备还包括: 认证模块,用于产生一组第二随机数,并将所述第二随机数发送给所述认证设备,使所述认证设备采用与所述被认证设备相同的方法生成第三回答信息,并将所述第三回答信息发送给所述设备;根据所述第二随机数产生第四回答信息,并将自身产生的第四回答信息与从所述认证设备接收的第三回答信息进行比较,如果一致,则判定所述认证设备合法,认证通过,如果不一致,则判定所述认证设备不合法,认证不通过。
19.根据权利要求18所述的设备,其特征在于,所述认证模块在根据所述第二随机数产生第四回答信息时,具体用于: 根据所述第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,根据所述第二随机数携带的电子口令卡上的索引在找到的所述第二电子口令卡确定对应的第二密码;根据所述第二随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,使用找到的所述第二单向函数和/或第二加密信息对确定的所述第二密码进行处理得到第二结果,将所述第二结果作为第四回答信息。
20.根据权利要求19所述的设备,其特征在于,所述认证模块在使用找到的所述第二单向函数和/或第二加密信息对确定的所述第二密码进行处理得到第二结果时,具体用于: 使用找到的第二单向函数对确定的第二密码进行计算得到所述第二结果; 或者, 使用找到的第二加密信息对确定的第二密码进行加密得到所述第二结果; 或者, 使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,并使用找到的第二加密信息对计算得到的第二中间结果进行加密得到所述第二结果; 或者, 使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果,并使用找到的第二单向函数对加密得到的第二中间结果进行计算得到所述第二结果。
21.一种认证系统,其特征在于,所述系统包括:被认证设备和认证设备; 在被认证设备和认证设备相互确认对方的序列号与自身的序列号匹配的情况下,所述认证设备,用于产生一组随机数,并将所述随机数发送给所述被认证设备,所述随机数包括:认证所使用的电子口令卡的序号、电子口令卡上的索引,所述随机数还包括:单向函数的序号和/或加密信息的序号; 所述被认证设备,用于接收所述随机数,采用与所述认证设备相同的方法生成第一回答信息,并将所述第一回答信息发送给所述认证设备; 所述认证设备,还用于接收所述被认证设备发送的第一回答信息,根据所述随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的电子口令卡,根据所述随机数携带的电子口令卡上的索引在找到的所述电子口令卡确定对应的密码,根据所述随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的单向函数和/或加密信息,并使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果,将所述结果作为第二回答信息;将自身产生的第二回答信息与从所述被认证设备接收的第一回答信息进行比较,如果一致,则判定所述被认证设备合法,认证通过,如果不一致,则判定所述被认证设备不合法,认证不通过。
22.根据权利要求21所述的系统,其特征在于,所述认证设备在使用找到的单向函数和/或加密信息对确定的密码进行处理得到结果时,具体用于: 所述认证设备使用找到的单向函数对确定的密码进行计算得到所述结果; 或者, 所述认证设备使用找到的加密信息对确定的密码进行加密得到所述结果; 或者, 所述认证设备使用找到的单向函数对确定的密码进行计算得到中间结果,并使用找到的加密信息对计算得到的中间结果进行加密得到所述结果; 或者, 所述认证设备使用找到的加密信息对确定的密码进行加密得到中间结果,并使用找到的单向函数对加密得到的中间结果进行计算得到所述结果。
23.根据权利要求21或22所述的系统,其特征在于,所述被认证设备通过认证之后,所述认证设备,还用于接收所述被认证设备产生并发送的一组第二随机数;根据所述第二随机数产生第三回答信息,并将所述第三回答信息发送给所述被认证设备; 所述被认证设备,用于接收所述认证设备发送的第三回答信息,采用与所述认证设备相同的方法生成第四回答信息,并将自身产生的第四回答信息与从所述认证设备接收的第三回答信息进行比较,如果一致,则判定所述认证设备合法,认证通过,如果不一致,则判定所述认证设备不合法,认证不通过。
24.根据权利要求23所述的系统,其特征在于,所述认证设备在根据所述第二随机数产生第三回答信息时 , 具体用于: 所述认证设备根据所述第二随机数携带的认证所使用的电子口令卡的序号从自身保存的数据中找到相应的第二电子口令卡,根据所述第二随机数携带的电子口令卡上的索引在找到的所述第二电子口令卡确定对应的第二密码; 所述认证设备根据所述第二随机数携带的单向函数的序号和/或加密信息的序号从自身保存的数据中找到相应的第二单向函数和/或第二加密信息,使用找到的所述第二单向函数和/或第二加密信息对确定的所述第二密码进行处理得到第二结果,将所述第二结果作为第三回答信息。
25.根据权利要求24所述的系统,其特征在于,所述认证设备在使用找到的所述第二单向函数和/或第二加密信息对确定的所述第二密码进行处理得到第二结果时,具体用于: 所述认证设备使用找到的第二单向函数对确定的第二密码进行计算得到所述第二结果; 或者, 所述认证设备使用找到的第二加密信息对确定的第二密码进行加密得到所述第二结果; 或者, 所述认证设备使用找到的第二单向函数对确定的第二密码进行计算得到第二中间结果,并使用找到的第二加密信息对计算得到的第二中间结果进行加密得到所述第二结果;或者,所述认证设备使用找到的第二加密信息对确定的第二密码进行加密得到第二中间结果, 并使用找到的第二单向函数对加密得到的第二中间结果进行计算得到所述第二结果。
全文摘要
本发明公开了一种认证方法、设备和系统,属于信息安全领域。本发明通过认证设备将单向函数的序号和/或加密信息的序号发送给被认证设备,被认证设备将电子口令卡的密码使用相应的单向函数或/和加密信息处理后,再发送给认证设备进行认证,由于单向函数通过因变量不易求解自变量的特殊性质,或者由于加密信息对密码的加密处理,即使被认证设备的回答信息被截获,截获者也不能获得密码,从而提高了设备间认证的安全性。
文档编号H04L9/32GK103178955SQ201110437568
公开日2013年6月26日 申请日期2011年12月23日 优先权日2011年12月23日
发明者李伟 申请人:华为终端有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1