CN1753361A - 一种鉴权方法 - Google Patents
一种鉴权方法 Download PDFInfo
- Publication number
- CN1753361A CN1753361A CN 200410078038 CN200410078038A CN1753361A CN 1753361 A CN1753361 A CN 1753361A CN 200410078038 CN200410078038 CN 200410078038 CN 200410078038 A CN200410078038 A CN 200410078038A CN 1753361 A CN1753361 A CN 1753361A
- Authority
- CN
- China
- Prior art keywords
- authentication
- person
- authenticator
- authentication number
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种鉴权方法,至少包括:鉴权者和被鉴权者分别保存一对对称密钥中的一个;被鉴权者产生一个鉴权数,根据鉴权数和自己保存的密钥得到一个计算结果,然后将该鉴权数和计算结果发送给鉴权者;鉴权者根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥是否一致来判断对被鉴权者的鉴权是否成功。本发明可以有效降低鉴权者实现的成本,并且实现方式简单可靠。
Description
技术领域
本发明涉及信息安全技术,具体涉及一种鉴权方法。
背景技术
随着信息交往的增加,对于信息交往的安全性也越来越重视。为此,旨在验证信息交往的某一方的身份是否合法的鉴权技术应运而生。
在目前的鉴权方法中,首先由鉴权者和被鉴权者分别保存一对对称密钥中的一个,在进行鉴权时,鉴权者产生一个鉴权数,然后将该鉴权数发送给被鉴权者。此后,鉴权者和被鉴权者分别使用各自保存的密钥和该鉴权数进行联合计算,得到一个计算结果,然后被鉴权者将该计算结果发送到鉴权者,由鉴权者对两个计算结果进行比较。如果两个计算结果一致或者匹配,则鉴权通过,也就是认为被鉴权者身份合法;否则鉴权不通过,也就是认为被鉴权者身份不合法。
在目前的这种鉴权方法中,出于安全性的考虑,需要鉴权数具有很高的随机性,以防止鉴权数等信息被非法用户截获后,用以推断出被鉴权者保存的密钥,从而伪造被鉴权者对鉴权者进行欺骗,因此使鉴权者的鉴权操作不再可靠。
而在目前实际的鉴权操作中,例如在移动通信系统中,有网络对移动终端或用户卡进行鉴权和移动终端或用户卡对网络进行鉴权两种方式,对于前者,作为鉴权者的网络设备产生随机数很高的鉴权数是很容易的事情,但是对于后者,在移动终端或者用户卡对网络进行鉴权的过程中,如果让作为鉴权者的移动终端或者用户卡来产生一个随机性很高的鉴权数,将会增加移动终端或用户卡的设计复杂度,这与尽量减少移动终端或用户卡的设计复杂度以及提高业务功能集成度的设计思路相违背,同时也会增加移动终端或用户卡的成本。例如,对于用户卡来说,由于用户卡本身一般是由一个芯片来实现,这样,如果要该芯片再支持一个随机数发生器,就会增加该芯片的复杂度,相应地,也会增加用户卡的成本。
发明内容
有鉴于此,本发明的主要目的是提供一种鉴权方法,使鉴权者不需要产生很高随机性的鉴权数即可实现可靠的鉴权操作,从而降低鉴权者实现的成本。
本发明的上述目的是通过如下的技术方案予以实现的:
一种鉴权方法,至少包括:
a.鉴权者和被鉴权者分别保存一对对称密钥中的一个;
b.被鉴权者产生一个鉴权数,根据鉴权数和自己保存的密钥得到一个计算结果,然后将该鉴权数和计算结果发送给鉴权者;
c.鉴权者根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥是否一致来判断对被鉴权者的鉴权是否成功。
在上述方法中,在步骤b和步骤c之间进一步包括:鉴权者判断接收自被鉴权者的鉴权数是否合法,如果合法执行步骤c,否则直接判定鉴权失败,结束本流程。
较佳地,该方法进一步包括鉴权者设置一个参考数的步骤、设置参考数和鉴权数信息之间关系的步骤以及在鉴权成功时用当前鉴权数信息替换参考数的步骤,所述鉴权者判断接收自被鉴权者的鉴权数是否合法是判断当前接收的鉴权数信息和参考数之间是否满足设置的关系。其中鉴权数信息是鉴权数本身或者从鉴权数提取的可控数。
在鉴权数信息是可控数的情况下,步骤b中被鉴权者产生一个鉴权数包括:
产生一个可控数和一个随机数;
对可控数和随机数进行联合计算得到一个鉴权数;
在鉴权者判断鉴权数是否合法之前进一步包括从鉴权数中提取出可控数。
这里的联合计算可以是将可控数的位按照预定规则插入到随机数的位中。
鉴权数信息和参考数之间的关系可以是参考数小于鉴权数信息、或参考数大于鉴权数信息、或鉴权数信息与参考数的差值在一个预定范围内。
在上述方法中,步骤b之前进一步包括鉴权者将自己保存的参考数发送给被鉴权者,步骤b中被鉴权者产生一个鉴权数是根据接收自鉴权者的参考数产生一个鉴权数。
在上述方法中,步骤c中鉴权者根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥是否一致来判断对被鉴权者的鉴权是否成功包括:
鉴权者根据接收自被鉴权者的鉴权数和自己保存的密钥得到一个计算结果,然后根据两个计算结果是否一致来判断对被鉴权者的鉴权是否成功。
较佳地,步骤b之前进一步包括鉴权者产生一个鉴权数并将该鉴权数发送给被鉴权者的步骤,步骤b中根据鉴权数和自己保存的密钥得到一个计算结果是对鉴权者产生的鉴权数、被鉴权者产生的鉴权数和被鉴权者保存的密钥进行联合计算得到一个计算结果;步骤c中鉴权者根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥是否一致来判断对被鉴权者的鉴权是否成功是:根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥和自己产生的鉴权数是否一致来判断对被鉴权者的鉴权是否成功。
这里根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥和自己产生的鉴权数是否一致来判断对被鉴权者的鉴权是否成功可以包括:
鉴权者根据接收自被鉴权者的鉴权数、自己产生的鉴权数和自己保存的密钥得到一个计算结果,然后根据两个计算结果是否一致来判断对被鉴权者的鉴权是否成功。
这里鉴权者产生的鉴权数是按照递增序列或递减序列产生的,或是一个随机数。
在上述方法中,鉴权者可以是移动终端中的安全芯片,此时鉴权者的密钥保存在该安全芯片上,并且鉴权者根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥是否一致来判断对被鉴权者的鉴权是否成功的操作是由所述安全芯片进行的。这里安全芯片和被鉴权者之间的消息交互通过移动终端程序转发。
从本发明的技术方案可以看出,在进行鉴权操作时,由被鉴权者产生随机性很高的鉴权数,来代替现有技术中由鉴权者产生随机性很高的鉴权数,这样鉴权者可以不产生随机数,或者只需要产生随机性不高的随机数,从而使鉴权者的硬件芯片不需要包含能产生很高随机性的随机数的随机数生成单元,因此降低了实现难度并降低了鉴权者的硬件成本。而对作为网络设备的被鉴权者来说,由于被鉴权者本身具有产生很高随机性的随机数的能力,因此本发明的应用也不会给被鉴权者的硬件实现增加难度,不会增加被鉴权者的硬件成本。
并且,在由被鉴权者产生鉴权数的情况下,鉴权者在进行鉴权之前,可以先对被鉴权者产生的鉴权数进行判断,以验证被鉴权者产生的鉴权数是否合法。如果合法继续进行鉴权判断,否则不需要进行鉴权判断就可以直接判定被鉴权者没有通过鉴权。预先进行合法性判断可以防止非法用户在截获一次随机数和计算结果之后,每次都使用相同的随机数和计算结果发送给鉴权者,从而欺骗鉴权者的行为。因此,可以有效地提高鉴权操作的安全性和可靠性。
或者,除了由被鉴权者产生一个随机性很高的鉴权数之外,鉴权者也可以产生一个不要求很高随机性的鉴权数,在鉴权操作时对两个鉴权数和密钥进行联合计算。和对一个鉴权数和密钥进行计算相比,由于鉴权者每次都产生了一个变化的随机数,因此,同样可以防止非法用户在截获一次随机数和计算结果之后,每次都使用相同的随机数和计算结果发送给鉴权者,从而欺骗鉴权者的行为。因此,可以有效地提高鉴权操作的安全性和可靠性。
综上,本发明可以有效降低鉴权者实现的成本,并且实现方式简单可靠,而且还可以提高鉴权操作的安全性和可靠性,因此具有广阔的应用前景。
附图说明
图1是根据本发明的方法总体流程图。
图2是根据本发明的第一实施例的方法流程图。
图3是根据本发明的第二实施例的方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
在本发明中,为了减小鉴权者的硬件成本,例如减小作为鉴权者的移动终端的硬件成本,取消了鉴权者的鉴权数产生功能,或者鉴权者只要产生一个随机性不很高的鉴权数即可,而将需要很高随机性的鉴权数的产生交由被鉴权者来进行,从而实现本发明的发明目的。
在如图1所示的本发明总体流程中,在步骤101,预先由鉴权者和被鉴权者分别保存一对对称密钥中的一个。一般被鉴权者保存的密钥是鉴权者保存的密钥的对称密钥。这里的对称密钥可以相同。
在步骤102,在鉴权者需要进行鉴权操作时,首先向被鉴权者发送一个鉴权操作请求消息,以通知被鉴权者开始鉴权操作。
在步骤103,被鉴权者产生一个具有很高随机性的随机数,也就是鉴权数。并利用自己产生的鉴权数和自己保存的密钥进行联合计算,得到一个计算结果。
在步骤104,被鉴权者将鉴权数和得到的计算结果发送给鉴权者。
在步骤105,鉴权者对接收自被鉴权者的鉴权数和自己保存的密钥进行联合计算,得到一个计算结果。
在步骤106,鉴权者比较接收自被鉴权者的计算结果和自己计算得到的计算结果是否一致,如果是,认为鉴权通过,否则认为鉴权不通过。
在上述方法中,鉴权者和被鉴权者所进行的联合计算可以相同,也可以不同。在计算方式不同的情况下,鉴权者需要知道两种计算方式得到的结果所存在的关系,并根据这种关系来判断两个计算结果是否一致。
在上述方法中,步骤102也可以省略,此时直接由被鉴权者发起鉴权过程,也就是由被鉴权者主动产生一个随机数,然后执行后续流程。
在上述方法中,由于鉴权者不再需要产生鉴权数,因此鉴权者不需要其内部的芯片具有能产生很高随机性的随机数的随机数生成单元,从而降低了鉴权者芯片的实现难度,并因此降低了鉴权者硬件的成本。对于作为被鉴权者的网络设备而言,鉴权数由被鉴权者产生也不会增加被鉴权者的硬件实现难度和成本,例如对于移动通信网络来说可能是归属位置寄存器(HLR)或者鉴权中心(AC),它们本身就具有产生很高随机性的随机数的能力和相应的硬件,因此应用本发明并不会增加被鉴权者的负担。结合这两个方面,本发明可以有效地降低鉴权者的成本,而不会增加被鉴权者的成本,从而具有广阔的应用前景。
在上述方法中,被鉴权者在将鉴权数和得到的计算结果发送给鉴权者时,可能会被攻击者截获,这样,攻击者就可以利用这组数据来欺骗鉴权者,例如,攻击者每次都用该组截获的鉴权数和计算结果发送给鉴权者,而鉴权者在步骤106的比较结果也会总一致,从而使得鉴权者对攻击者的鉴权也总能够通过,使得实际的鉴权效果没有任何意义。为了防止攻击者攻击,鉴权者必须判断被鉴权者发送过来的鉴权数和以前鉴权成功时使用的鉴权数相比是否有变化,也就是说,鉴权者要判断鉴权数的合理性和合法性。为此提出了如图2所示的本发明的第一实施例:
在步骤201,预先由鉴权者和被鉴权者分别保存一对对称密钥中的一个。一般被鉴权者保存的密钥是鉴权者保存的密钥的对称密钥。这里的对称密钥可以相同。
在步骤202,在鉴权者需要进行鉴权操作时,首先向被鉴权者发送一个鉴权操作请求消息,以通知被鉴权者开始鉴权操作。
在步骤203,被鉴权者产生一个具有很高随机性的随机数,也就是鉴权数。并利用自己产生的鉴权数和自己保存的密钥进行联合计算,得到一个计算结果。
在步骤204,被鉴权者将鉴权数和得到的计算结果发送给鉴权者。
在步骤205,鉴权者判断接收自被鉴权者的鉴权数的合法性,如果合法,执行步骤206及其后续步骤,否则,直接判定鉴权不通过。
在步骤206,鉴权者对接收自被鉴权者的鉴权数和自己保存的密钥进行联合计算,得到一个计算结果。
在步骤207,鉴权者比较接收自被鉴权者的计算结果和自己计算得到的计算结果是否一致,如果是,认为鉴权通过,否则认为鉴权不通过。
在上述步骤205中鉴权者判断鉴权数的合法性是为了避免攻击者利用截获的被鉴权者产生的随机数和计算得到的结果对鉴权者进行重复性攻击或欺骗。实际当中,对于合法性的判断可以直接是进行重复性判断,也就是判断被鉴权者发送来的鉴权数和以前发送的鉴权数是否重复。一种简单的判断方式是,保存最后一次鉴权成功时的鉴权数作为参考数,在下次鉴权时,鉴权者判断新的鉴权数是否和上次鉴权成功时保存的参考数不同,如果不同,认为鉴权数合法;否则就认为所产生的鉴权数不合法。
特别地,为了防止攻击者利用两个鉴权数轮番攻击鉴权者,鉴权者每次都会发现当前的鉴权数和上次鉴权成功时的鉴权数不同,从而误认为鉴权数合法,可以要求新的鉴权数大于上次鉴权成功时保存的参考数,也即,要求被鉴权者产生的鉴权数满足递增规律,否则,就认为所产生的鉴权数无效。
当然可以理解,鉴权者也可以要求被鉴权者后面产生的鉴权数小于前面产生的鉴权数,也即,要求被鉴权者产生的鉴权数满足递减规律,否则就认为产生的鉴权数不合法。
进一步地,上述鉴权者判断鉴权数的合法性可以是要求被鉴权者产生的鉴权数是一个可控随机数。
具体地说,可以在被鉴权者设置一个可控随机数发生器,可控随机数发生器包括一个可控数产生器和一个随机数产生器。可控数产生器能够产生一个可控数序列,可控数序列中相邻的两个数满足预设的关系,比如是前一个数大于或小于后一个数,或后一个数与前一个数的差满足一定规律,比如,这个差是恒定的值,或差值是一个比如1到100的区域内的数,或者差值本身是一个等差数列等等。可控数序列的一个典型例子是自然数序列,该序列中每一个数与其前一个数的差值都为恒定的1。
被鉴权者利用可控随机数发生器产生鉴权数时,首先通过可控数产生器产生一个可控数N,通过随机数产生器产生一个随机数R;然后通过可控数N和随机数R联合计算得到一个新的随机数Rand。
这里的联合计算是将可控数的每一位按照一定规则插入到随机数中。具体地说,可控数可以是一个2字节16位长的二进制数,随机数也可以是一个2字节16位长的二进制数,将可控数的二进制流中的每一位按照一定规律插入到随机数的二进制流中形成一个四字节32位长的二进制流,这样得到的32位二进制流即为4字节的可控随机数。其可控制表现在,从一个可控随机数中根据插入规律捡出的二进制流为一个2字节的可控数;其随机性表现为,从一个可控随机数中根据插入规律捡出可控数后,得到的二进制流是一个2字节的随机数。
在被鉴权者产生可控随机数作为鉴权数的情况下,鉴权者判断鉴权数是否合法可以直接判断鉴权数是否是一个可控随机数即可。例如,鉴权者接收到被鉴权者发送的鉴权数和计算结果后,根据上述插入规律从随机数中捡出一个2字节的二进制流,并判断将该2字节的二进制流对应的数值是否是一个可控数,也即和上一次鉴权成功时鉴权者自己保存的可控数,也就是参考数进行比较,判断该数值和自己保存的参考数是否满足该可控数序列预先设定的规律或关系,例如是否是递增的,差值是否在0到100之内等等。如果满足所述规律,则判断该数值为可控数,相应地,该鉴权数为可控随机数,也即鉴权数合法;否则,判断该鉴权数不合法。鉴权者在每次鉴权成功时将捡出的可控数保存起来作为参考数,以便于下一次鉴权时作为比较参数时使用。鉴权者在初次鉴权时,保存的参考数可以为空值,比如为0。
上述插入规律的一个典型例子是将可控数的每一个bit位均匀插入到随机数的二进制流中;鉴权者从可控随机数中捡出可控数时,可以是隔一个bit位捡出一个bit位,并根据捡出的bit位组成一个16位长的二进制数值。
上述通过可控数N和随机数R得到一个新的随机数Rand的联合计算如果是简单地将可控数N的二进制流并接到随机数R的二进制流的高位,则如果该可控数序列是一个递增序列,该可控随机数就是一个递增随机数。这时可控随机数发生器就是一个递增随机数发生器,其中的可控数产生器就是一个递增数产生器,它用于产生例如自然数序列的递增序列。
此时被鉴权者利用可控随机数发生器产生鉴权数时,首先通过递增数产生器产生一个递增数N,通过随机数产生器产生一个随机数R;然后通过递增数N和随机数R联合计算得到一个新的随机数Rand。
上述联合计算可以是将N与R并接在一起得到Rand。这样,当R是定长的随机数时,通过这样并接得到的Rand是递增的,且由于R的随机性保证了Rand的随机性。比如,R是一个两字节的随机数,N是一个两字节的自然数,将N作为高位字,将R作为低位字进行并接,得到一个四字节的Rand,这样,在保证Rand按照N递增的同时,使得Rand按照R具有随机性。
具体地说,递增数产生器可以产生一个两字节的自然数序列,随机数产生器可以产生一个两字节的随机数。在第1轮中,递增数产生器产生N1=1,随机数产生器产生R1;在第2轮中,递增数产生器产生N2=2,随机数产生器产生R2;依此类推,在第n轮中,递增数产生器产生Nn=n,随机数产生器产生Rn。将N与R并接的计算是:N乘以2的16次方加上R;或者,是将N扩展为四字节,并左移16位,而后将R写入扩展后的N的低位的两个字节上。这样,每一轮得到的Rand为四个字节,且高位字比上一轮的高位字大,进而,合并得到的整个随机数比上一轮得到的随机数大,从而保证每一轮得到的随机数都比上一轮得到的随机数大。
实际当中,如果将上述递增随机数发生器的递增数产生器更改为递减数产生器,并同样按照上述将N与R进行并接计算得到Rand,将得到一个递减随机数发生器。
由于被鉴权者会因为某种原因导致设备重新启动,进而导致随机数发生器重新启动,这时,重新产生的随机数可能满足不了上述所说的递增或递减规律,因此被鉴权者需要知道最后一次鉴权成功时的鉴权数,这样鉴权者可以将自己保存的最后一次鉴权成功的鉴权数发送给被鉴权者。也即,在被鉴权者将新的随机数和计算结果发送给鉴权者之前,鉴权者将自己保存的最后一次鉴权成功的鉴权数发送给被鉴权者,被鉴权者据此产生本次鉴权需要使用的随机数。
实际当中,可以是在步骤202中,鉴权者将上次鉴权成功时自己保存的鉴权数发送给被鉴权者,被鉴权者根据该鉴权数产生一个新的鉴权数。这里,鉴权者仍然需要对鉴权数的合法性进行判断。初次鉴权时,鉴权者保存的参考数为空值,比如为0。
对于通过判断被鉴权者产生的鉴权数是否是一个可控随机数来判断鉴权数是否合法的情况,鉴权者在每次鉴权成功时,保存的是从鉴权数中捡出的可控数作为参考数,这时,在步骤202中,鉴权者将上次鉴权成功时自己保存的参考数发送给被鉴权者,被鉴权者根据该参考数产生一个新的可控随机数作为鉴权数。初次鉴权时,鉴权者保存的参考数为空值,比如为0。
当然,可以理解,如果鉴权数是一个可控随机数时,鉴权者只需要在每次鉴权成功时保存该可控随机数对应的可控数,并在上述步骤202中,将该可控数发送给被鉴权者即可,被鉴权者根据该可控数可以产生一个新的可控随机数,以作为鉴权数。
在本发明中,将和参考数进行比较的鉴权数或从鉴权数中提取的可控数统称为鉴权数信息。
下面再通过移动终端的安全芯片对网络侧的验证设备如HLR进行鉴权为例说明此实施例的操作。
首先,安全芯片和HLR中分别保存一对对称密钥中的一个。在包含安全芯片的移动终端需要对移动通信网络进行鉴权时,由移动终端程序向网络侧的HLR发送一个鉴权请求,HLR在接收到此请求后产生一个随机数,并对该随机数和自己保存的对应该移动终端的密钥进行联合计算得到一个计算结果,然后将随机数和计算结果发送给移动终端。
移动终端程序在接收到来自HLR的随机数和计算结果后,将随机数和计算结果发送到安全芯片。安全芯片根据自己保存的参考数,也即上一次鉴权成功时的随机数或从该随机数中捡出的可控数判断接收的随机数是否合法,具体的判断方法前面已经有详细说明这里不再赘述。如果合法,安全芯片根据接收的随机数和自己保存的密钥进行联合计算,然后比较自己计算得到的计算结果和接收自HLR的计算结果是否一致,如果一致,则鉴权成功,否则鉴权失败。而如果安全芯片判断接收自HLR的随机数不合法,则直接判定鉴权失败。初次鉴权时,安全芯片保存的参考数为空值,比如为0。
实际当中,也可以是由鉴权者产生第一鉴权数,由作为被鉴权者的验证设备产生第二鉴权数,所述的联合计算也可以是根据第一鉴权数、第二鉴权数和密钥进行的联合计算。这时,第一计算结果和第二计算结果是第一鉴权数、第二鉴权数和密钥的函数。鉴权者产生的第一鉴权数不需要非常高的随机性,从而可以在降低鉴权者硬件成本的情况下进一步提高鉴权操作的安全性和可靠性。为此提出了如图3所示的第二实施例。
在步骤301,预先由鉴权者和被鉴权者分别保存一对对称密钥中的一个。一般被鉴权者保存的密钥是鉴权者保存的密钥的对称密钥。这里的对称密钥可以相同。
在步骤302,在鉴权者需要进行鉴权操作时,首先产生一个鉴权数,下文中称为第一鉴权数,然后向被鉴权者发送该第一鉴权数。例如可以通过一个鉴权操作请求消息将该第一鉴权数发送给被鉴权者,以通知被鉴权者开始鉴权操作。
在步骤303,被鉴权者产生一个具有很高随机性的随机数,下文中称为第二鉴权数。
在步骤304,被鉴权者利用自己产生的第二鉴权数、接收自鉴权者的第一鉴权数和自己保存的密钥进行联合计算,得到一个计算结果。
在步骤305,被鉴权者将第二鉴权数和得到的计算结果发送给鉴权者,比如通过鉴权操作响应消息将第二鉴权数和得到的计算结果发送给鉴权者。
在步骤306,鉴权者对接收自被鉴权者的第二鉴权数、自己产生的第一鉴权数和自己保存的密钥进行联合计算,得到一个计算结果。
在步骤307,鉴权者比较接收自被鉴权者的计算结果和自己产生的计算结果是否一致,如果是,认为鉴权通过,否则认为鉴权不通过。
本实施例中,鉴权者不需要对被鉴权者产生的第二鉴权数进行合法性判断,当然,也不会要求被鉴权者产生的鉴权数是一个可控随机数。鉴权者和被鉴权者在利用第一鉴权数、第二鉴权数和密钥进行联合计算时,如果第一鉴权数、第二鉴权数和密钥三者中有任意一个不同,第一计算结果和第二计算结果就有可能不同,也就会导致鉴权者对被鉴权者的认证不通过。例如,攻击者即使得到了第二鉴权数和计算结果,在下一次鉴权时向鉴权者发送同样的第二鉴权数和计算结果也不会鉴权成功,因为计算结果与第一鉴权数也相关,而第一鉴权数发生了变化因此,计算结果也会变化。
因此,鉴权者可以很简单地产生第一鉴权数,例如一个自然数序列,从而既可以避免重复性攻击,又不会增加鉴权者产生第一鉴权数时的计算复杂度;而后,根据被鉴权者产生一个随机性较高的鉴权数,以防止攻击者可能利用单一鉴权数的规律性对所述密钥进行攻击。因此鉴权者产生的第一鉴权数可以是一个不要求很高随机性的随机数,也可以是一个递增序列或者一个递减序列。这样鉴权者产生第一鉴权数不要求鉴权者硬件芯片能产生具有很高随机性的随机数,从而降低了鉴权者硬件的成本。同时鉴权者和被鉴权者都是对第一鉴权数、第二鉴权数和密钥进行联合计算,使非法用户很难通过计算结果反推出密钥,从而进一步提高了鉴权操作的可靠性。
下面再通过移动终端的安全芯片对网络侧的HLR进行鉴权为例说明此
实施例的操作。
首先,安全芯片和HLR中分别保存一对对称密钥中的一个。在包含安全芯片的移动终端需要对移动通信网络进行鉴权时,首先由移动终端的安全芯片产生一个随机数,也就是第一鉴权数,然后将该第一鉴权数发送给移动终端程序,移动终端程序向网络侧的验证设备如HLR发送一个鉴权请求,在该鉴权请求中携带此第一鉴权数信息。
HLR在接收到此请求后产生一个随机数,也就是第二鉴权数,并对第一鉴权数、第二鉴权数和自己保存的对应该移动终端的密钥进行联合计算得到一个计算结果,然后将第二鉴权数和计算结果发送给移动终端。
移动终端程序在接收到来自HLR的第二鉴权数和计算结果后,将第二鉴权数和计算结果发送到安全芯片。安全芯片对自己保存的第一鉴权数、接收自HLR的第二鉴权数和自己保存的密钥进行联合计算,然后比较自己计算得到的计算结果和接收自HLR的计算结果是否一致,如果一致,则鉴权成功,否则鉴权失败。
对于本发明,鉴权者可以是用户卡,而被鉴权者是移动终端本身;同样,鉴权者可以是用户卡,而被鉴权者是HLR,用户卡和被鉴权者之间的消息交互通过移动终端程序转发。
可以理解,以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种鉴权方法,至少包括:
a.鉴权者和被鉴权者分别保存一对对称密钥中的一个;
b.被鉴权者产生一个鉴权数,根据鉴权数和自己保存的密钥得到一个计算结果,然后将该鉴权数和计算结果发送给鉴权者;
c.鉴权者根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥是否一致来判断对被鉴权者的鉴权是否成功。
2.根据权利要求1所述的鉴权方法,其特征是,在步骤b和步骤c之间进一步包括:鉴权者判断接收自被鉴权者的鉴权数是否合法,如果合法执行步骤c,否则直接判定鉴权失败,结束本流程。
3.根据权利要求2所述的鉴权方法,其特征是,该方法进一步包括鉴权者设置一个参考数的步骤、设置参考数和鉴权数信息之间关系的步骤以及在鉴权成功时用当前鉴权数信息替换参考数的步骤,所述鉴权者判断接收自被鉴权者的鉴权数是否合法是判断当前接收的鉴权数信息和参考数之间是否满足设置的关系。
4.根据权利要求3所述的鉴权方法,其特征是,所述鉴权数信息是鉴权数本身。
5.根据权利要求3所述的鉴权方法,其特征是,所述鉴权数信息是从鉴权数提取的可控数。
6.根据权利要求5所述的鉴权方法,其特征是,步骤b中被鉴权者产生一个鉴权数包括:
产生一个可控数和一个随机数;
对可控数和随机数进行联合计算得到一个鉴权数;
在鉴权者判断鉴权数是否合法之前进一步包括从鉴权数中提取出可控数。
7.根据权利要求6所述的鉴权方法,其特征是,所述联合计算是将可控数的位按照预定规则插入到随机数的位中。
8.根据权利要求3所述的鉴权方法,其特征是,所述鉴权数信息和参考数之间的关系是参考数小于鉴权数信息、或参考数大于鉴权数信息、或鉴权数信息与参考数的差值在一个预定范围内。
9.根据权利要求3所述的鉴权方法,其特征是,步骤b之前进一步包括鉴权者将自己保存的参考数发送给被鉴权者,步骤b中被鉴权者产生一个鉴权数是根据接收自鉴权者的参考数产生一个鉴权数。
10.根据权利要求1或2所述的鉴权方法,其特征是,所述步骤c中鉴权者根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥是否一致来判断对被鉴权者的鉴权是否成功包括:
鉴权者根据接收自被鉴权者的鉴权数和自己保存的密钥得到一个计算结果,然后根据两个计算结果是否一致来判断对被鉴权者的鉴权是否成功。
11.根据权利要求1所述的鉴权方法,其特征是,步骤b之前进一步包括鉴权者产生一个鉴权数并将该鉴权数发送给被鉴权者的步骤,步骤b中根据鉴权数和自己保存的密钥得到一个计算结果是对鉴权者产生的鉴权数、被鉴权者产生的鉴权数和被鉴权者保存的密钥进行联合计算得到一个计算结果;
步骤c中鉴权者根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥是否一致来判断对被鉴权者的鉴权是否成功是:根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥和自己产生的鉴权数是否一致来判断对被鉴权者的鉴权是否成功。
12.根据权利要求11所述的鉴权方法,其特征是,所述根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥和自己产生的鉴权数是否一致来判断对被鉴权者的鉴权是否成功包括:
鉴权者根据接收自被鉴权者的鉴权数、自己产生的鉴权数和自己保存的密钥得到一个计算结果,然后根据两个计算结果是否一致来判断对被鉴权者的鉴权是否成功。
13.根据权利要求11所述的鉴权方法,其特征是,所述鉴权者产生的鉴权数是按照递增序列或递减序列产生的,或是一个随机数。
14.根据权利要求1所述的鉴权方法,其特征是,所述鉴权者是移动终端中的安全芯片,所述鉴权者的密钥保存在该安全芯片上,并且鉴权者根据接收自被鉴权者的鉴权数和计算结果与自己保存的密钥是否一致来判断对被鉴权者的鉴权是否成功的操作是由所述安全芯片进行的。
15.根据权利要求14所述的鉴权方法,其特征是,所述安全芯片和被鉴权者之间的消息交互通过移动终端程序转发。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 200410078038 CN1753361A (zh) | 2004-09-20 | 2004-09-20 | 一种鉴权方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 200410078038 CN1753361A (zh) | 2004-09-20 | 2004-09-20 | 一种鉴权方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN1753361A true CN1753361A (zh) | 2006-03-29 |
Family
ID=36680055
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 200410078038 Pending CN1753361A (zh) | 2004-09-20 | 2004-09-20 | 一种鉴权方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1753361A (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101572889B (zh) * | 2009-06-11 | 2011-11-30 | 北京握奇数据系统有限公司 | 一种sim卡鉴权的方法及装置 |
| CN106714156A (zh) * | 2015-07-13 | 2017-05-24 | 中兴通讯股份有限公司 | 一种无线接入点和管理平台鉴权的方法和装置 |
| CN110990853A (zh) * | 2019-11-29 | 2020-04-10 | 天津市滨海新区信息技术创新中心 | 动态异构冗余的数据访问保护方法及装置 |
-
2004
- 2004-09-20 CN CN 200410078038 patent/CN1753361A/zh active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101572889B (zh) * | 2009-06-11 | 2011-11-30 | 北京握奇数据系统有限公司 | 一种sim卡鉴权的方法及装置 |
| CN106714156A (zh) * | 2015-07-13 | 2017-05-24 | 中兴通讯股份有限公司 | 一种无线接入点和管理平台鉴权的方法和装置 |
| CN110990853A (zh) * | 2019-11-29 | 2020-04-10 | 天津市滨海新区信息技术创新中心 | 动态异构冗余的数据访问保护方法及装置 |
| CN110990853B (zh) * | 2019-11-29 | 2022-05-06 | 天津市滨海新区信息技术创新中心 | 动态异构冗余的数据访问保护方法及装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101816150B (zh) | 建立认证密钥的方法和安全无线通信 | |
| CN1444835A (zh) | 移动通信网络中的验证 | |
| CN103078741B (zh) | 一种rfid双向认证协议方法 | |
| CN1528102A (zh) | 通信系统的本地认证 | |
| CN102917313B (zh) | 一种适用于无线传感器网络广播认证的方法 | |
| CN101030859A (zh) | 一种分布式网络的认证方法和系统 | |
| JP2003051821A5 (zh) | ||
| EP2250784A1 (en) | Ip address delegation | |
| CN1889432A (zh) | 基于智能卡的口令远程认证方法、智能卡、服务器和系统 | |
| CN1662092A (zh) | 高速分组数据网中接入认证方法以及装置 | |
| CN113055394A (zh) | 一种适用于v2g网络的多服务双因子认证方法及系统 | |
| CN1665181A (zh) | 用于验证的系统和方法 | |
| CN1922816B (zh) | 单向认证 | |
| US20070157023A1 (en) | Method and apparatus for a wireless mobile device with sim challenge modification capability | |
| CN1929381A (zh) | 一种基于网络的软件保护方法 | |
| Li et al. | Two-factor user authentication in multi-server networks | |
| CN1753361A (zh) | 一种鉴权方法 | |
| CN111680531B (zh) | 用于超轻量级rfid认证协议的双向身份认证方法 | |
| CN1852595A (zh) | 一种无线通信终端接入鉴权方法 | |
| CN100346668C (zh) | 一种密钥更新协商方法 | |
| CN1741676A (zh) | 一种用户卡的安全保障方法 | |
| CN1747384A (zh) | 验证密钥设置方法 | |
| Kim et al. | Efficient and secure password authentication schemes for low-power devices | |
| Luo et al. | DIAM: Diversified identity authentication mechanism for 5G multi-service system | |
| CN103079199A (zh) | 一种无线传感网络双向身份认证方法及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C12 | Rejection of a patent application after its publication | ||
| RJ01 | Rejection of invention patent application after publication |