[go: up one dir, main page]

CN1768502A - 相互认证方法和装置 - Google Patents

相互认证方法和装置 Download PDF

Info

Publication number
CN1768502A
CN1768502A CN03814223.6A CN03814223A CN1768502A CN 1768502 A CN1768502 A CN 1768502A CN 03814223 A CN03814223 A CN 03814223A CN 1768502 A CN1768502 A CN 1768502A
Authority
CN
China
Prior art keywords
mentioned
disposable
random number
client
server
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
Application number
CN03814223.6A
Other languages
English (en)
Inventor
今本健二
大河克好
桥本努
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KYUSHU ILO CO Ltd
Secured Communications Inc
Original Assignee
KYUSHU ILO CO Ltd
Secured Communications Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KYUSHU ILO CO Ltd, Secured Communications Inc filed Critical KYUSHU ILO CO Ltd
Publication of CN1768502A publication Critical patent/CN1768502A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供能够安全并且简便地进行相互认证的相互认证方法。在相互认证过程中,在客户端和服务器中存储作为初始值的隐蔽密钥K0。客户端生成随机数R计算密码数据C和认证数据A,发送到服务器。服务器从客户端接收认证数据A和密码数据C并且生成随机数R,计算并回信密码数据S、认证数据Q,并将隐蔽密钥K0更新为新的隐蔽密钥K1。客户端从服务器接收认证数据B和密码数据S并且生成随机数R,计算密码数据C2、认证数据A2并回信到服务器,并将隐蔽密钥K0更新为新的隐蔽密钥K1。客户端和服务器检查正当性是否成立。进而,是在上述认证中,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,生成该一次性ID的方法。在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将可变共有密钥作为参数的单向函数的函数值。

Description

相互认证方法和装置
技术领域
本发明涉及与网络连接的计算机系统等装置的相互认证方法和装置以及所使用的一次性ID的生成方法、认证方法、认证系统、服务器、客户端和程序。
特别地,本发明涉及至少对第1认证装置和第2认证装置之间的关系认证其正当性的相互认证方法和装置以及适用于多个装置间或应用程序间的认证的一次性ID的生成方法、使用了上述一次性ID的认证方法、认证系统、服务器、客户端和程序。
背景技术
在网络上,某用户为了证明自己的身分,必须进行认证。认证是指通过任意的协议,证明者向验证者证明自己的身分,在电子商务等领域中是必需的技术。例如,在用户希望向服务器证明身分时,用户与证明者对应,服务器与验证者对应。另外,相反,在服务器希望向用户证明身分的情况下,服务器与证明者对应,用户与验证者对应。在一对一的装置之间,有其立场反转的情况,因此需要相互认证。
相互认证并不限于用户和服务器之间,作为在任意的计算机之间证明身分的方法,正在被广泛利用。最近,已知使用了公开密钥密码的方法,证明者具有公开密钥和保密密钥,证明者通过任意的协议向验证者表示具有与公开密钥对应的保密密钥,来证明身分。
但是,在现有的相互认证方法中,由于用于认证的密钥是单一的,所以如果一次知道了密钥,则有第三者冒充用户进行认证的情况。另外,用户必须注意密钥的保管,无法简便地使用。
例如,在因特网那样的非同步型网络中,有多个计算机同时通信,证明者与多个验证者同时执行协议的情况。在WWW(World WideWeb)中,在HTTP(超文本传输协议:WWW服务器和WWW游览器或Web浏览器等在文件等的信息交换中使用的协议)的服务器、作为连接目标的客户端之间,要求进行许多验证。
另外,在上述那样的相互认证技术中,现在在经由网络在计算机之间(例如客户端和服务器之间)进行通信时,为了排除不正当的访问等,在提供服务等之前进行认证。在该认证中,一般双方预先共有第三者无法知道的秘密信息(例如ID、密码、随机数或将这些信息作为参数的函数值等),根据该秘密信息相互认证各自的正当性。
另一方面,在IETF(Internet Engineering Task Force)正式发表的RFC(Request For Comments)中,作为在因特网中进行IP分组的加密和认证的安全协议,规定了IPsec(Security Architecture forInternet Protocol)。在该IPsec中,标准地采用自动生成并交换密码、认证的参数的IKE(Internet Key Exchange)那样的自动密钥交换的协议(例如参照特开2002-374238号公报(第0002~0009段落))。
近年来,提案出了以下这样被称为P-SIGMA的密钥交换、认证方式:实现了在向该IKE方式导入一次性ID并使用了已知共有密钥的IKE方式中成为问题的保护ID信息、防止DoS(Denial of Serviceattack)攻击、远程访问等。
在该P-SIGMA中,例如通过图1所示那样的步骤进行密钥交换和认证。
首先,客户端向服务器发送SA(Security Association)的提出、随机数Rc、DH(Diffie-Hellman)公开值gx、OID(一次性ID)。另外,在SA的提出中,包含与密码算法、认证方式、用于密钥交换的参数等有关的提出。
接着,服务器从接收到的OID识别客户端,在无法识别的情况下,拒绝通信。在能够识别的情况下,向客户端发送承认了的SA、随机数Rs、DH公开值gy、HASHs、用会话密钥e加密了的IDs(服务器ID)。另外,会话密钥e是将已知共有密钥、随机数Rs、随机数Rc和DH共通密钥gxy作为参数的附加了密钥的散列(hash)函数的函数值,HASHs是将已知共有密钥、随机数Rs、随机数Rc、DH公开值gx、gy和IDs作为参数的伪随机数函数的函数值。
接着,客户端验证接收到的HASHs,并根据该HASHs确认服务器的正当性。如果HASHs正确,则向服务器发送HASHc、用会话密钥e加密了的IDc(客户端ID)。在此,HASHc是将已知共有密钥、随机数Rs、随机数Rc、DH公开值gx、gy、IDc作为参数的伪随机数函数的函数值。
接着,服务器验证接收到的HASHc,根据该HASHc确认客户端的正当性。如果HASHc正确,则结束该协议。
在该P-SIGMA中,如下这样定义OID(一次性ID)。
OID1=prf(K,1)
OID2=prf(K,2)
……
OIDn=prf(K,n)         ……公式(1)
在该定义式中,OIDn是在确立第n个SA时使用的一次性ID,prf是伪随机数函数,K是已知共有密钥或根据已知共有密钥生成的值。
因此,如果根据上述P-SIGMA,则能够得到以下效果:通过导入OID,第三者无法确定发送者和接收者,而如果是正当的发送者和接收者,则能够掌握作为识别信息的OID,同时由于在客户端和服务器之间每次进行通信时(即每次进行SA的生成或更新时)都变更OID,所以第三者无法预测下次的OID。
但是,在上述P-SIGMA中,如果一次知道了已知共有密钥,则能够预测所有的OID,其结果是具有以下问题:无法保证OID将来的安全性(即PFS:Perfect Forward Security)。
以上,作为具体例子,说明了被称为P-SIGMA的密钥交换、认证方式,但一般在使用一次性ID进行多个装置间或应用程序之间的认证的认证方式中,根据特定的秘密信息生成所有的一次性ID,也具有上述同样的问题。
发明内容
本发明就是考虑了上述现有技术的各种问题而提出的,其第一个目的在于得到能够安全并且简便地进行相互认证的相互认证方法和装置。
本发明的第二个目的在于:提供一种难以窃听而安全性优越的一次性ID的生成方法、使用了上述一次性ID的认证方法、认证系统、服务器、客户端和程序。
为了达到上述目的,本发明是一种认证经由通信线路连接的第1认证装置和第2认证装置的相互关系的相互认证方法,其特征在于包含:将在上述第1认证装置和第2认证装置之间预先相互进行的认证的每次认证时使用前次认证的存储数据更新了的更新结果作为履历数据,在上述第1认证装置和第2认证装置各自中共通地存储用来确定上述第1认证装置的存储数据、用来确定第2认证装置的存储数据的存储步骤。上述第1认证装置包含:使用存储的履历数据新生成存储数据,并且使用上述履历数据对新的存储数据进行加密并发送到第2认证装置的第1发送步骤;根据来自上述第2认证装置的存储数据和上述发送的新存储数据,更新上述履历数据的第1更新步骤。上述第2认证装置包含:使用来自上述第1认证装置的存储数据和存储的履历数据新生成存储数据,并且使用上述履历数据对生成的新存储数据进行加密并发送到第1认证装置的第2发送步骤;根据来自上述第1认证装置的存储数据和上述发送的新存储数据,更新上述履历数据的第2更新步骤。所以,在上述第1认证装置和第2认证装置的至少一方装置中,在根据履历数据验证了存储数据的正当性时,验证为第1认证装置和第2认证装置的相互关系是正当的。
本发明还实现用来实施上述相互认证方法的相互认证装置。该相互认证装置由经由通信线路连接的第1认证装置和第2认证装置构成,并认证上述第1认证装置和第2认证装置之间的相互关系,其特征在于包括:设置在上述第1认证装置中,存储用来确定该第1认证装置的存储数据的第1存储器;设置在上述第2认证装置中,存储用来确定该第2认证装置的存储数据的第2存储器;在上述第1认证装置和第2认证装置之间预先相互进行的认证的每次认证时,存储前次认证的存储数据的认证数据存储装置;将使用上述认证数据更新了的更新结果作为履历数据,共通地存储在上述第1认证装置和第2认证装置各自中的履历数据存储装置;设置在上述第1认证装置和第2认证装置中的认证用数据发送侧的认证装置中,使用上述履历数据新生成存储数据的存储数据生成装置;使用上述履历数据对生成的新存储数据进行加密,并发送到认证用数据接收侧的认证装置的第1发送装置;设置在认证用数据接收侧的认证装置中,使用来自上述认证用数据发送侧的认证装置的存储数据和存储的履历数据,新生成存储数据的存储数据生成装置;使用上述履历数据对生成的新存储数据进行加密,并回送到上述认证用数据发送侧的认证装置的第2发送装置;设置在认证用数据发送侧的认证装置中,根据从上述认证用数据接收侧的认证装置回送的存储数据和上述发送了的新存储数据,更新上述履历数据的第1更新装置;设置在认证用数据接收侧的认证装置中,根据来自上述认证用数据发送侧的认证装置的存储数据和上述回送的新存储数据,更新上述履历数据的第2更新装置,其中在上述第1认证装置和第2认证装置的至少一方中具备:在根据上述履历数据验证了存储数据的正当性时,验证为第1认证装置和第2认证装置的相互关系是正当的验证装置。
该相互认证装置也可以具有:计算用来使用上述履历数据对上述生成的新存储数据进行加密的认证用数据的计算装置。另外,该相互认证装置还可以具有:在通过上述计算装置生成认证用数据时,生成加密用的数据的随机数发生装置。
另外,在本发明中,作为履历数据,共通地将用来确定第1认证装置的存储数据、用来确定第2认证装置的存储数据存储到上述第1认证装置和第2认证装置各自中。该履历数据是在第1认证装置和第2认证装置之间预先相互进行的认证的每次认证时使用前次认证的存储数据更新了的更新结果。第1认证装置使用存储的履历数据生成新存储数据,并且使用存储的履历数据对新存储数据进行加密,并发送到第2认证装置。由第2认证装置接收该数据,第2认证装置使用来自第1认证装置的存储数据和存储的履历数据生成新存储数据,并且使用履历数据对新的存储数据进行加密,并发送到第1认证装置。这时,第1认证装置根据来自第2认证装置的存储数据和发送了的新存储数据,更新履历数据。另外,第2认证装置根据来自第1认证装置的存储数据和发送了的新存储数据,更新履历数据。该发送步骤之后,在第1认证装置和第2认证装置的至少一方装置中,在根据履历数据验证了存储数据的正当性时,验证为第1认证装置和第2认证装置的相互关系是正当的。即,在第1认证装置和第2认证装置的一方认证装置中,接收来自另一方认证装置的包含履历的数据,能够对照存储的履历数据。然后,在发送时,发送根据存储的履历数据新生成的不同的履历数据的数据,因此不进行同一数据的收发。因此,能够提高保密性。
更详细地说,其特征在于:将上述履历数据作为履历数据K,作为该履历数据K存储的用来确定上述第1认证装置的存储数据是密码数据C和认证数据R,用来确定上述第2认证装置的存储数据是密码数据S和认证数据Q。
其特征在于:上述第1发送步骤使用所存储的履历数据K的密码数据S和认证数据R,新生成密码数据C,并且针对所存储的履历数据K的认证数据R进行新生成,使用上述履历数据K对生成的新认证数据R进行加密而求出认证数据A,向上述第2认证装置发送上述认证数据A和新的密码数据C,上述第1更新步骤从上述第2认证装置接收数据,根据上述发送了的新的密码数据C、接收到的新生成的密码数据S、接收到的新生成的认证数据Q、上述发送了的新的认证数据R,更新上述履历数据K,上述第2发送步骤从上述第1认证装置接收数据,使用接收到的新的密码数据C和所存储的履历数据K的认证数据Q,新生成密码数据S,并且针对所存储的履历数据K的认证数据Q进行新生成,使用存储了生成的新认证数据Q的履历数据K进行加密而求出认证数据B,向第1认证装置发送上述认证数据B和新的密码数据S,上述第2更新步骤根据接收到的新的密码数据C、新生成的密码数据S、新生成的认证数据Q、接收到的新的认证数据R,更新上述履历数据K,在上述第1认证装置和第2认证装置的至少一方装置中,在根据履历数据K而秘码数据的正当性成立时,验证为第1认证装置和第2认证装置的相互关系是正当的。
其特征在于:上述存储步骤作为履历数据存储上述第1发送步骤、第1更新步骤、第2发送步骤、第2更新步骤中的认证的更新结果。
其特征在于:上述认证数据R和认证数据Q的至少一方是通过随机数产生装置产生的随机数、数据容量、时间数据的至少一个。
其特征在于:在上述第1认证装置的第1发送步骤中,作为密码数据C生成基于上述密码数据S和认证数据R的预先确定了的函数的运算结果的值,在上述第2认证装置的第2发送步骤中,作为密码数据S生成基于上述密码数据C和上述认证数据Q的预先确定了的函数的运算结果的值。
其特征在于:在上述第1认证装置的第1发送步骤中,作为认证数据A求出基于上述生成了的新的认证数据R和上述履历数据K的预先确定了的函数的运算结果的值,在上述第2认证装置的第2发送步骤中,作为认证数据B求出基于上述生成了的新的认证数据Q和上述履历数据K的预先确定了的函数的运算结果的值。
其特征在于:上述第1认证装置的验证步骤在基于上述履历数据K中的所存储的认证数据Q和前次发送前所生成的密码数据C的预先确定了的函数的运算结果的值与接收到的密码数据S一致时,验证为上述相互关系是正当的。
其特征在于:上述第2认证装置的验证步骤在基于上述履历数据K中的所存储的密码数据S和认证数据R的预先确定了的函数的运算结果的值与接收到的密码数据C一致时,验证为上述相互关系是正当的。
其特征在于:上述存储步骤将执行多个上述第1发送步骤、第2发送步骤、第1更新步骤和第2更新步骤的结果所得到的数据作为履历数据K存储。
如以上说明所明确的,根据本发明,在第1认证装置和第2认证装置之间进行相互认证时,在第1认证装置和第2认证装置各自中共通地存储履历数据,同时更新履历数据,因此能够安全并且简便地进行相互认证,例如具有以下效果:能够从在客户端计算机和服务器计算机之间传递的信息,不泄漏客户端计算机的密钥地确实地进行认证。
本发明还提供一种在上述相互认证方法和装置中使用的一次性ID的生成方法。是以下的方法:将在多个装置间或应用程序间的认证中只限使用一次的识别信息作为一次性ID,生成该一次性ID,其特征在于:在进行上述认证的装置或应用程序的各自中,生成在上述认证所必需的每个规定通信单位中都变化的可变共有密钥,同时求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID。
在此,单向函数是指从参数求出结果(函数值)简单,但从结果求出参数困难的函数,在该单向函数中包含例如散列(Hash)函数、伪随机数函数等。
作为规定的通信单位,例如可以将在IPsec中从确立SA到该SA无效为止之间在客户端、服务器之间进行的一连串通信设置为规定的通信单位,也可以将在装置之间或应用程序之间进行的一次数据发送接收设置为规定的通信单位。
可变共有密钥对于上述每个通信单位都变化,并且如果是在进行认证的装置之间或应用程序之间共有的而第三者无法知道的秘密信息,则可以是任意的密钥。
认证是指在一方装置(或一方应用程序)访问另一方装置(或另一方应用程序)时,另一方装置确认一方装置的正当性,识别信息是指在上述认证中至少从一方装置向另一方装置发送并用于该另一方装置识别一方装置的信息(ID)。
另外,在上述认证中,包含一方装置进行另一方装置的认证的单向认证和在双方装置中进行相互认证的相互认证。作为在上述认证中使用一次性ID的方法,例如可以列举以下的方法:在双方装置中生成一次性ID,同时一方装置向另一方装置发送一次性ID,另一方装置对从一方装置接收到的一次性ID和自己生成的一次性ID进行比较、对照,识别或认证一方装置。
本发明是一种将在多个装置之间或应用程序之间的认证中只限使用一次的识别信息作为一次性ID,生成该一次性ID的方法,其特征在于:在进行上述认证的装置或应用程序的各自中,生成对于上述认证所必需的每个规定通信单位都变化的可变共有密钥,同时求出将该可变共有密钥和与通信顺序或次数有关的信息作为参数的单向函数的函数值,从该函数值生成上述一次性ID。
本发明是一种将在多个装置之间或应用程序之间的认证中只限使用一次的识别信息作为一次性ID,生成该一次性ID的方法,其特征在于:在进行上述认证的装置或应用程序的各自中,在上述认证所必需的规定通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID。
本发明还是在将在一方装置和另一方装置之间的认证中只限一次使用的识别信息作为一次性ID,在双方装置中生成该一次性ID,同时一方装置向另一方装置发送一次性ID,另一方装置通过对从一方装置接收到的一次性ID和自己生成的一次性ID进行比较和对照,识别或认证另一方装置的情况下,一方装置和另一方装置生成一次性ID的方法,其特征在于:一方装置和另一方装置生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥作为参数的单向函数的函数值,并从该函数值生成上述一次性ID。
本发明还是在将在一方装置和另一方装置之间的认证中只限一次使用的识别信息作为一次性ID,在双方装置中生成该一次性ID,同时一方装置向另一方装置发送一次性ID,另一方装置通过对从一方装置接收到的一次性ID和自己生成的一次性ID进行比较和对照,识别或认证另一方装置的情况下,一方装置和另一方装置生成一次性ID的方法,其特征在于:一方装置和另一方装置生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥和与通信顺序或次数有关的信息作为参数的单向函数的函数值,并从该函数值生成上述一次性ID。
本发明还是在将在一方装置和另一方装置之间的认证中只限一次使用的识别信息作为一次性ID,在双方装置中生成该一次性ID,同时一方装置向另一方装置发送一次性ID,另一方装置通过对从一方装置接收到的一次性ID和自己生成的一次性ID进行比较和对照,识别或认证另一方装置的情况下,一方装置和另一方装置生成一次性ID的方法,其特征在于:一方装置和另一方装置在上述认证所必需的每个规定的通信单位中生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,并从该函数值生成上述一次性ID。
本发明还是生成每个通信单位都变化的可变共有密钥,并且求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID(SIGNALn),进行相互通信的第1装置和第2装置之间的认证的认证方法,其特征在于包括:上述第1装置使用在与上述第2装置之间预先共有了的可变共有密钥生成上述一次性ID,同时向上述第2装置发送至少将该生成了的一次性ID、在该第1装置中预先设置了的ID作为参数的单向函数Fc的函数值、预先存储在该第1装置中的Diffie-Hellman公开值的一方的步骤;上述第2装置通过计算求出上述一次性ID和上述单向函数Fc的函数值,对该计算结果、从上述第1装置接收到的一次性ID和单向函数Fc的函数值进行对照,判断上述第1装置的正当性的步骤;上述第2装置在判断出上述第1装置是正当的情况下,向上述第1装置发送至少将预先存储在该第2装置中的ID作为参数的单向函数Fs的函数值、预先存储在该第2装置中的Diffie-Hellman公开值的另一方的步骤;上述第1装置通过计算求出上述单向函数Fs的函数值,对该计算结果、从上述第2装置接收到的单向函数Fs的函数值进行对照,判断上述第2装置的正当性的步骤。
本发明的特征还在于:在上述认证方法中,作为上述单向函数Fc,使用将规定的共有密钥、上述Diffie-Hellman公开值的一方、预先设置在上述第1装置中的ID、上述一次性ID作为参数的伪随机数函数,同时作为上述单向函数Fs,使用将上述规定的共有密钥、上述Diffie-Hellman公开值的一方、上述Diffie-Hellman公开值的另一方、预先设置在上述第2装置中的ID、上述一次性ID作为参数的伪随机数函数。
本发明还是生成可变共有密钥,并且求出将可变共有密钥和与通信顺序有关的信息作为参数的单向函数的函数值,从该函数生成一次性ID,使用该一次性ID进行第1装置和第2装置之间的认证的认证方法,其特征在于包括:上述第1装置作为第1一次性ID(SIGNALn, j)生成将在与上述第2装置之间预先共有了的第1可变共有密钥、与该第1装置的通信顺序有关的信息作为参数的单向函数的函数值,同时使用上述第1可变共有密钥,对预先设置在上述第1装置中的ID、预先设置在上述第2装置中的ID、预先存储在该第1装置中的Diffie-Hellman公开值的一方和上述第1一次性ID进行加密,向上述第2装置发送该加密数据和上述第1一次性ID的步骤;上述第2装置通过计算求出上述第1一次性ID,通过对该计算结果、从上述第1装置接收到的上述第1一次性ID进行对照,识别上述第1装置的步骤;上述第2装置在识别出上述第1装置的情况下,使用上述第1可变共有密钥解码上述加密数据,根据包含在该解码了的数据中的预先设置在上述第1装置中的ID、预先设置在该第2装置中的ID和上述第1一次性ID,判断上述第1装置的正当性的步骤;上述第2装置在判断出上述第1装置是正当的情况下,作为第2一次性ID(SIGNAL’n,1)生成将上述第1可变共有密钥和与该第2装置的通信顺序有关的信息作为参数的单向函数的函数值,同时作为第2可变共有密钥根据从上述第1装置接收到的Diffie-Hellman公开值的一方和预先存储在该第2装置中的Diffie-Hellman公开值的另一方生成Diffie-Hellman共通密钥,向上述第1装置发送将该第2可变共有密钥、预先设置在上述第1装置中的ID、预先设置在该第2装置中的ID和上述第2一次性ID作为参数的单向函数h的函数值、上述Diffie-Hellman公开值的另一方、上述第2一次性ID的步骤;上述第1装置通过计算求出上述第2一次性ID,通过对该计算结果、从上述第2装置接收到的上述第2一次性ID进行对照,识别上述第2装置的步骤;上述第1装置在识别出上述第2装置的情况下,作为上述第2可变共有密钥根据从上述第2装置接收到的上述Diffie-Hellman公开值的另一方、预先存储在该第1装置中的上述Diffie-Hellman公开值的一方生成Diffie-Hellman共通密钥,同时使用该第2可变共有密钥,通过计算求出上述单向函数h的函数值,通过对该计算结果、从上述第2装置接收到的单向函数h的函数值进行对照,判断上述第2装置的正当性的步骤。
本发明的特征还在于:在上述认证方法中,作为生成上述第2一次性ID的单向函数,使用与生成上述第1一次性ID的单向函数不同的单向函数。
本发明还是在装置间或应用程序间生成规定的可变共有密钥,在规定的通信单位内生成随机数,并且求出将该随机数和上述可变共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,进行第1装置和第2装置之间的认证(相互认证)的认证方法,其特征在于包括:上述第1装置生成第1随机数,同时作为第1一次性ID(SIGNALc1)求出将在与上述第2装置之间预先共有了的第1共有密钥作为参数的单向函数的函数值,向上述第2装置发送该第1一次性ID和上述第1随机数的步骤;上述第2装置生成第2随机数,同时作为第2一次性ID(SIGNALs1)求出将上述第1随机数和上述第1共有密钥作为参数的单向函数的函数值,向上述第1装置发送该第2一次性ID和上述第2随机数的步骤;上述第1装置根据上述第1随机数和上述第1共有密钥,通过计算求出上述第2一次性ID,通过对该计算结果、从上述第2装置接收到的上述第2一次性ID进行比较,判断上述第2装置的正当性的步骤;上述第1装置根据上述第1随机数和上述第2随机数生成第2共有密钥,同时作为第3一次性ID(SIGNALc2)求出将该第2共有密钥、上述第1随机数和上述第2随机数作为参数的单向函数的函数值,向上述第2装置发送该第3一次性ID的步骤;上述第2装置根据上述第1随机数和上述第2随机数生成上述第2共有密钥,同时根据该第2共有密钥、上述第1随机数和上述第2随机数通过计算求出上述第3一次性ID,通过对该计算结果、从上述第1装置接收到的上述第3一次性ID进行比较,判断上述第1装置的正当性的步骤。
本发明还是在装置间或应用程序间生成规定的可变共有密钥,在规定的通信单位内生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,进行第1装置和第2装置之间的认证(相互认证)的认证方法,其特征在于包括:上述第1装置生成第1随机数,同时作为第1一次性ID(SIGNALc1)求出将在与上述第2装置之间预先共有了的共有密钥作为参数的单向函数的函数值,向上述第2装置发送该第1一次性ID和上述第1随机数的步骤;上述第2装置生成第2随机数,同时作为第2一次性ID(SIGNALs1)求出将上述第1随机数和上述共有密钥作为参数的单向函数的函数值,向上述第1装置发送该第2一次性ID和上述第2随机数的步骤;上述第1装置根据上述第1随机数和上述共有密钥,通过计算求出上述第2一次性ID,通过对该计算结果、从上述第2装置接收到的上述第2一次性ID进行比较,判断上述第2装置的正当性的步骤;上述第1装置作为第3一次性ID(SIGNALc2)求出将上述第1随机数、上述第2随机数和上述共有密钥作为参数的单向函数的函数值,向上述第2装置发送该第3一次性ID的步骤;上述第2装置根据上述第1随机数、上述第2随机数和上述共有密钥通过计算求出上述第3一次性ID,通过对该计算结果、从上述第1装置接收到的上述第3一次性ID进行比较,判断上述第1装置的正当性的步骤。
本发明的特征还在于:在上述认证方法中,在用在上述第1装置和上述第2装置之间预先共有了的共有密钥对上述第1随机数和上述第2随机数进行了加密的状态下进行发送。
本发明的特征还在于:在上述认证方法中,在上述第2装置向上述第1装置发送上述第2一次性ID和上述第2随机数的步骤中,上述第2装置将在与上述第1装置之间预先共有了的随机数作为初始随机数,进行将该初始随机数和上述第1随机数作为参数的规定的计算,向上述第1装置发送该计算结果,另一方面上述第1装置作为上述第2装置的正当性的判断材料,与上述第2一次性ID一起使用从上述第2装置接收到的上述计算结果。
本发明的特征还在于:在上述认证方法中,在上述第1装置向上述第2装置发送上述第3一次性ID的步骤中,上述第1装置进行将上述第1随机数和上述第2随机数作为参数的规定的计算,向上述第2装置发送该计算结果,另一方面上述第2装置作为上述第1装置的正当性的判断材料,与上述第3一次性ID一起使用从上述第1装置接收到的上述计算结果。
本发明还是在装置间或应用程序间生成规定的可变共有密钥,在规定的通信单位内生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,进行第1装置和第2装置之间的认证的认证方法,其特征在于包括:上述第1装置生成第1随机数,同时作为第1一次性ID(SIGNALci)求出将在与上述第2装置之间预先共有了的共有密钥、第1存储随机数和第2存储随机数作为参数的单向函数的函数值,向上述第2装置发送用上述共有密钥对预先设置在该第1装置中的ID、预先设置在上述第2装置中的ID和上述第1随机数进行了加密了的第1加密数据、上述第1一次性ID的步骤;上述第2装置通过计算求出上述第1一次性ID,通过对该计算结果、从上述第1装置接收到的上述第1一次性ID进行对照,识别上述第1装置的步骤;上述第2装置在识别出上述第1装置的情况下,使用上述共有密钥对上述第1加密数据进行解密,根据包含在该解密了的数据中的预先设置在上述第1装置中的ID和预先设置在该第2装置中的ID,判断上述第1装置的正当性的步骤;上述第2装置在判断出上述第1装置是正当的情况下,生成第2随机数,同时作为第2一次性ID(SIGNALsi)求出将上述第1随机数、第2存储随机数和上述共有密钥作为参数的单向函数的函数值,向上述第1装置发送用上述共有密钥对预先设置在上述第1装置中的ID、预先设置在该第2装置中的ID和上述第2随机数进行了加密的第2加密数据、上述第2一次性ID的步骤;上述第2装置将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数的步骤;上述第1装置通过计算求出上述第2一次性ID,通过对该计算结果、从上述第2装置接收到的上述第2一次性ID进行对照,识别上述第2装置的步骤;上述第1装置在识别出上述第2装置的情况下,使用上述共有密钥对上述第2加密数据进行解密,根据包含在该解密了的数据中的预先设置在上述第2装置中的ID和预先设置在该第1装置中的ID,判断上述第2装置的正当性的步骤;上述第1装置将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数的步骤。
本发明的特征还在于:在上述认证方法中,在将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数后,通过根据这些第1存储随机数和第2存储随机数生成上述共有密钥,来使该共有密钥变化。
本发明还是生成在每个通信单位中变化的可变共有密钥,并且求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID(SIGNALn)在与客户端之间进行认证的服务器,其特征在于包括:从上述客户端接收至少将预先设置在上述客户端中的客户端ID作为参数的单向函数Fc的函数值、预先存储在上述客户端中的Diffie-Hellman公开值的一方、上述一次性ID的接收装置;通过计算求出上述单向函数的函数值Fc和上述一次性ID,通过对该计算结果、从上述客户端接收到的上述一次性ID和上述单向函数Fc的函数值进行比较,判断上述客户端的正当性的判断装置;在上述判断装置判断出上述客户端是正当的情况下,向上述客户端发送至少将预先设置在该服务器中的服务器ID作为参数的单向函数Fs的函数值、预先存储在该服务器中的Diffie-Hellman公开值的另一方的发送装置。
本发明还是生成每个通信单位都变化的可变共有密钥,并且求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID(SIGNALn)在与服务器之间进行认证的客户端,其特征在于包括:使用在与上述服务器之间预先共有了的可变共有密钥生成上述一次性ID,同时通过计算求出至少将预先设置在该客户端中的客户端ID作为参数的单向函数Fc的函数值,向上述服务器发送这些一次性ID和单向函数Fc的函数值、预先存储在该客户端中的Diffie-Hellman公开值的一方的发送装置;从上述服务器接收至少将预先设置在上述服务器中的服务器ID作为参数的单向函数Fs的函数值、预先存储在上述服务器中的Diffie-Hellman公开值的另一方的接收装置;通过计算求出上述单向函数Fs的函数值,通过对该计算结果、从上述服务器接收到的上述单向函数Fs的函数值进行比较,判断上述服务器的正当性的判断装置。
本发明的特征还在于:作为认证系统,具备上述服务器、上述客户端。
本发明还是在生成每个通信单位都变化的可变共有密钥,并且求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,根据该一次性ID(SIGNALn)在与客户端之间进行认证的服务器中执行的程序,其特征在于使上述服务器执行以下处理:从上述客户端接收至少将预先设置在上述客户端中的客户端ID作为参数的单向函数Fc的函数值、预先存储在上述客户端中的Diffie-Hellman公开值的一方、上述一次性ID的处理;通过计算求出上述单向函数的函数值Fc和上述一次性ID,通过对该计算结果、从上述客户端接收到的上述一次性ID和上述单向函数Fc的函数值进行比较,判断上述客户端的正当性的处理;在判断出上述客户端是正当的情况下,向上述客户端发送至少将预先设置在上述服务器中的服务器ID作为参数的单向函数Fs的函数值、预先存储在上述服务器中的Diffie-Hellman公开值的另一方的处理。
本发明还是在生成每个通信单位都变化的可变共有密钥,并且求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,根据该一次性ID(SIGNALn)在与服务器之间进行认证的客户端中执行的程序,其特征在于使上述客户端执行以下处理:使用在与上述服务器之间预先共有了的可变共有密钥生成上述一次性ID,同时通过计算求出至少将预先设置在上述客户端中的客户端ID作为参数的单向函数Fc的函数值,向上述服务器发送这些一次性ID和单向函数Fc的函数值、预先存储在上述客户端中的Diffie-Hellman公开值的一方的处理;从上述服务器接收至少将预先设置在上述服务器中的服务器ID作为参数的单向函数Fs的函数值、预先存储在上述服务器中的Diffie-Hellman公开值的另一方的处理;通过计算求出上述单向函数Fs的函数值,通过对该计算结果、从上述服务器接收到的上述单向函数Fs的函数值进行比较,判断上述服务器的正当性的处理。
本发明还是生成可变共有密钥,并且求出将可变共有密钥和与通信顺有关的信息作为参数的单向函数的函数值,从该函数生成一次性ID,使用该一次性ID在与客户端之间进行认证的服务器,其特征在于包括:将在与上述客户端之间预先共有了的第1可变共有密钥、与上述客户端的通信顺序有关的信息作为参数的单向函数的函数值作为第1一次性ID(SIGNALn,j),并从上述客户端接收用上述第1共有密钥对该第1一次性ID、预先设置在上述客户端中的客户端ID、预先设置在该服务器中的服务器ID、预先存储在上述客户端中的Diffie-Hellman公开值的一方进行了加密的加密数据、上述第1一次性ID的接收装置;通过计算求出上述第1一次性ID,通过对该计算结果、从上述客户端接收到的上述第1一次性ID进行对照,识别上述客户端,在识别出上述客户端的情况下,使用上述第1可变共有密钥对上述加密数据进行解密,根据包含在该解密数据中的上述客户端ID、上述服务器ID和上述第1一次性ID,判断上述客户端的正当性的判断装置;在上述判断装置判断出上述客户端是正当的情况下,作为第2一次性ID(SIGNAL’n,1)生成将上述第1可变共有密钥和与该服务器的通信顺序有关的信息作为参数的单向函数的函数值,同时作为第2可变共有密钥根据从上述客户端接收到的Diffie-Hellman公开值的一方、预先存储在该服务器中的Diffie-Hellman公开值的另一方生成Diffie-Hellman共通密钥,向上述客户端发送将该第2可变共有密钥、上述客户端ID、上述服务器ID和上述第2一次性ID作为参数的单向函数h的函数值、上述Diffie-Hellman公开值的另一方、上述第2一次性ID的发送装置。
本发明还是生成在每个通信单位中变化的可变共有密钥,并且求出将该可变共有密钥作为参数的单向函数的函数值,从该函数生成一次性ID,使用该一次性ID在与服务器之间进行认证的客户端,其特征在于包括:作为第1一次性ID(SIGNALn,j)生成将在与上述服务器之间预先共有了的第1可变共有密钥、与该客户端的通信顺序有关的信息作为参数的单向函数的函数值,同时使用上述第1可变共有密钥,对预先设置在该客户端中的客户端ID、预先设置在上述服务器中的服务器ID、预先存储在该客户端中的Diffie-Hellman公开值的一方和上述第1一次性ID进行加密,向上述服务器发送该加密数据和上述第1一次性ID的发送装置;将上述第1可变共有密钥和与上述服务器的通信顺序有关的信息作为参数的单向函数的函数值作为第2一次性ID(SIGNAL’n,1),从上述服务器接收将上述第2一次性ID、上述第2可变共有密钥、上述客户端ID和上述服务器ID作为参数的单向函数h的函数值、预先存储在上述服务器中的Diffie-Hellman公开值的另一方、上述第2一次性ID的接收装置;通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行对照,识别上述服务器,在识别出上述服务器的情况下,作为上述第2可变共有密钥根据从上述服务器接收到的上述Diffie-Hellman公开值的另一方、预先存储在该客户端中的上述Diffie-Hellman公开值的一方生成Diffie-Hellman共通密钥,同时使用该第2可变共有密钥,通过计算求出上述单向函数h的函数值,通过对该计算结果、从上述服务器接收到的单向函数h的函数值进行对照,判断上述服务器的正当性的判断装置。
本发明的特征还在于:由上述服务器、上述客户端构成认证系统。
本发明还是在装置间或应用程序间生成规定的可变共有密钥,在规定的通信单位内生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,在与客户端之间进行相互认证的服务器,其特征在于包括:将在与上述客户端之间预先共有了的第1共有密钥作为参数的单向函数的函数值作为第1一次性ID(SIGNALc1),从上述客户端接收该第1一次性ID和在上述客户端中生成的第1随机数的第1接收装置;生成第2随机数,同时作为第2一次性ID(SIGNALs1)求出将上述第1随机数和上述第1共有密钥作为参数的单向函数的函数值,向上述客户端发送该第2一次性ID和上述第2随机数的发送装置;将上述第1随机数、上述第2随机数和第2共有密钥作为参数的单向函数的函数值作为第3一次性ID(SIGNALc2),从上述客户端接收该第3一次性ID的第2接收装置;根据上述第1随机数和上述第2随机数生成上述第2共有密钥,同时根据该第2共有密钥、上述第1随机数和上述第2随机数通过计算求出上述第3一次性ID,通过对该计算结果、从上述客户端接收到的上述第3一次性ID进行比较,判断上述客户端的正当性的判断装置。
本发明还是在装置间或应用程序间生成规定的可变共有密钥,在规定的通信单位内生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,在与服务器之间进行相互认证的客户端,其特征在于包括:生成第1随机数,同时作为第1一次性ID(SIGNALc1)求出将在与上述服务器之间预先共有了的第1共有密钥作为参数的单向函数的函数值,向上述服务器发送该第1一次性ID和上述第1随机数的第1发送装置;将上述第1随机数、上述第1共有密钥作为参数的单向函数的函数值作为第2一次性ID(SIGNALs1),从上述服务器接收该第2一次性ID、在上述服务器中生成的第2随机数的接收装置;根据上述第1随机数和上述第1共有密钥,通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行比较,判断上述服务器的正当性的判断装置;在上述判断装置判断出上述服务器是正当的情况下,根据上述第1随机数和上述第2随机数生成第2共有密钥,同时作为第3一次性ID(SIGNALc2)求出将该第2共有密钥、上述第1随机数和上述第2随机数作为参数的单向函数的函数值,向上述服务器发送该第3一次性ID的第2发送装置。
本发明的特征还在于:作为认证系统具有上述服务器、上述客户端。
本发明还是权利要求29所述的发明,是在装置间或应用程序间生成规定的可变共有密钥,在规定的通信单位内生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,在与客户端之间进行相互认证的服务器,其特征在于包括:将在与上述客户端之间预先共有了的共有密钥作为参数的单向函数的函数值作为第1一次性ID(SIGNALc1),从上述客户端接收该第1一次性ID和在上述客户端中生成的第1随机数的第1接收装置;生成第2随机数,同时作为第2一次性ID(SIGNALs1)求出将上述第1随机数和上述共有密钥作为参数的单向函数的函数值,向上述客户端发送该第2一次性ID和上述第2随机数的发送装置;将上述共有密钥、上述第1随机数和上述第2随机数作为参数的单向函数的函数值作为第3一次性ID(SIGNALc2),从上述客户端接收该第3一次性ID的第2接收装置;根据上述第1随机数和上述第2随机数和上述共有密钥通过计算生成上述第3一次性ID,通过对该计算结果、从上述客户端接收到的上述第3一次性ID进行比较,判断上述客户端的正当性的判断装置。
本发明还是在装置间或应用程序间生成规定的可变共有密钥,在规定的通信单位内生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,在与服务器之间进行相互认证的客户端,其特征在于包括:生成第1随机数,同时作为第1一次性ID(SIGNALc1)求出将在与上述服务器之间预先共有了的共有密钥作为参数的单向函数的函数值,向上述服务器发送该第1一次性ID和上述第1随机数的第1发送装置;将上述第1随机数、上述共有密钥作为参数的单向函数的函数值作为第2一次性ID(SIGNALs1),从上述服务器接收该第2一次性ID、在上述服务器中生成的第2随机数的接收装置;根据上述第1随机数和上述共有密钥,通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行比较,判断上述服务器的正当性的判断装置;在通过上述判断装置判断出上述服务器是正当的情况下,作为第3一次性ID(SIGNALc2)求出将上述第1随机数、上述第2随机数和上述共有密钥作为参数的单向函数的函数值,向上述服务器发送该第3一次性ID的第2发送装置。
本发明的特征还在于:作为认证系统具有上述服务器、上述客户端。
本发明还是在装置间或应用程序间生成规定的可变共有密钥,在规定的通信单位内生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,在与客户端之间进行相互认证的服务器,其特征在于包括:将在与上述客户端之间预先共有了的共有密钥、第1存储随机数和第2存储随机数作为参数的单向函数的函数值作为第1一次性ID(SIGNALci),从上述客户端接收该第1一次性ID,同时从上述客户端接收用上述共有密钥对在上述客户端中生成的第1随机数、预先设置在上述客户端中的客户端ID和预先设置在该服务器中服务器ID进行了加密的第1加密数据的接收装置;通过计算求出上述第1一次性ID,通过对该计算结果、从上述客户端接收到的上述第1一次性ID进行对照,识别上述客户端,在识别出上述客户端的情况下,使用上述共有密钥对上述第1加密数据进行解密,根据包含在该解密了的数据中的上述客户端ID和上述服务器ID,判断上述客户端的正当性的判断装置;在通过上述判断装置判断出上述客户端是正当的情况下,生成第2随机数,同时作为第2一次性ID(SIGNALsi)求出将上述第1随机数、上述第2存储随机数和上述共有密钥作为参数的单向函数的函数值,向上述客户端发送用上述共有密钥对上述客户端ID、上述服务器ID和上述第2随机数进行了加密的第2加密数据、上述第2一次性ID的发送装置;将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数的置换装置。
本发明还是在装置间或应用程序间生成规定的可变共有密钥,在规定的通信单位内生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,在与服务器之间进行相互认证的客户端,其特征在于包括:生成第1随机数,同时作为第1一次性ID(SIGNALci)求出将在与上述服务器之间预先共有了的共有密钥、第1存储随机数和第2存储随机数作为参数的单向函数的函数值,向上述服务器发送用上述共有密钥对预先设置在该客户端中的客户端ID、预先设置在上述服务器中的服务器ID和上述第1随机数进行了加密的第1加密数据、上述第1一次性ID的发送装置;将上述第1随机数、上述第2存储随机数和上述共有密钥作为参数的单向函数的函数值作为第2一次性ID(SIGNALsi),从上述服务器接收该第2一次性ID,同时从上述服务器接收用上述共有密钥对在上述服务器中生成的第2随机数、上述客户端ID和上述服务器ID进行了加密的第2加密数据的接收装置;通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行对照,识别上述服务器,在识别出上述服务器的情况下,使用上述共有密钥对上述第2加密数据进行解密,根据包含在该解密了的数据中的上述服务器ID和上述客户端ID,判断上述服务器的正当性的判断装置;将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数的置换装置。
本发明的特征还在于:作为认证系统具有上述服务器、上述客户端。
本发明的特征还在于:在上述认证系统中,上述服务器和上述客户端在将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数后,通过根据这些第1存储随机数和第2存储随机数生成上述共有密钥,来使该共有密钥变化。
根据本发明的生成在每个通信单位中变化的可变共有密钥,并且求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID(SIGNALn),在相互进行通信的第1装置和第2装置之间进行认证的认证方法,求出将可变共有密钥作为参数的单向函数的函数值,从该函数值生成一次性密钥,因此,例如即使可变共有密钥泄漏给第三者,但由于在每个规定的通信单位中可变共有密钥变化,所以也无法预测使用泄漏了的可变共有密钥生成的一次性ID以外的一次性ID。即,能够生成难以窃听并且安全性优越的一次性ID,能够实现一次性ID将来的安全性(PFS)。
根据本发明的生成可变共有密钥,并且求出将可变共有密钥和与通信顺序或次数有关的信息作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,在第1装置和第2装置之间进行认证,因此例如即使可变共有密钥泄漏给第三者,但由于在每个规定的通信单位中可变共有密钥变化,同时在每个通信中与通信顺序或次数有关信息都变化,所以事实上预测使用泄漏了的可变共有密钥生成的一次性ID以外的一次性ID是不可能的,另外,预测使用泄漏了的可变共有密钥生成的一次性ID自身也是非常困难的。即,能够生成难以窃听并且安全性优越的一次性ID,能够实现一次性ID将来的安全性(PFS)。
另外,本发明在装置之间或应用程序之间生成规定的可变共有密钥,在规定的通信单位中生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该一次性ID,在第1装置和第2装置之间进行认证(相互认证),因此例如即使共有密钥泄漏给第三者,但由于随机数而在每个规定的通信单位中单向函数的函数值变化,所以无法知道在规定的通信单位内生成的随机数,无法预测一次性ID。即,能够生成难以窃听并且安全性优越的一次性ID,能够实现一次性ID将来的安全性(PFS)。
由于本发明还使用通过上述各种一次性ID的生成方法生成的一次性ID,进行装置间(客户端、服务器之间)的认证,所以第三者无法确定发送者、接收者,并且如果是正当的发送者、接收者,则作为识别信息能够掌握一次性ID。
所以,能够强化对DoS攻击和假冒等的耐性,即使在开放的网络环境下,也能够谋求ID信息的保护,提高通信的安全性。另外,能够进行远程访问,提高方便性。
在本发明中,还作为在判断第1装置的正当性中使用的单向函数Fc,使用将规定的共有密钥、Diffie-Hellman公开值的一方、预先设置在第1装置中的ID、一次性ID作为参数的伪随机数函数,同时作为在判断第2装置的正当性中使用的单向函数Fs,使用将规定的共有密钥、Diffie-Hellman公开值的一方、Diffie-Hellman公开值的另一方、预先设置在第2装置中的ID、一次性ID作为参数的伪随机数函数,因此能够将在现有的密钥交换、认证方式中必需3次的通信次数降低为2次,能够实现迅速并且安全的认证和密钥交换。
本发明还生成在每个通信单位中变化的可变共有密钥,并且求出将该可变共有密钥作为参数的单向函数的函数值,从该函数生成一次性密钥,或者生成可变共有密钥,并且求出将可变共有密钥和与通信顺序有关的信息作为参数的单向函数的函数值,从该函数值生成一次性ID,在装置间或应用程序间生成规定的可变共有密钥,或者在规定的通信单位内生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数生成一次性ID,使用通过上述各种一次性ID的生成方法生成的一次性ID,在装置间(客户端、服务器之间)进行认证,因此能够生成难以窃听并且安全性优越的一次性ID,得到能够实现一次性ID将来的安全性(PFS)的效果。
本发明还生成每个通信单位都变化的可变共有密钥,并且求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,或者生成可变共有密钥,并且求出将可变共有密钥和与通信顺序有关的信息作为参数的单向函数的函数值,从该函数值生成一次性ID,在装置间或应用程序间生成规定的可变共有密钥,或者在规定的通信单位内生成随机数,并且求出将该随机数和上述共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用通过上述各种一次性ID的生成方法生成的一次性ID,在装置间(客户端、服务器之间)进行认证,因此能够得到以下效果:第三者无法确定发送者、接收者,并且如果是正当的发送者、接收者,则作为识别信息能够掌握一次性ID。
因此,能够强化对DoS攻击和假冒等的耐性,即使在开放的网络环境下,也能够谋求ID信息的保护,提高通信的安全性。另外,能够进行远程访问,提高方便性。
通过参照附图说明的以下的实施例能够进一步明确本发明的目的和优点。
附图说明
图1是说明被称为P-SIGMA的现有的认证方法的图。
图2是展示本发明的实施例的客户端计算机和服务器计算机的概要结构的框图。
图3是展示本发明的实施例的相互认证中的概念处理的流程图。
图4是展示本发明的实施例的相互认证中的详细处理的图。
图5是展示本发明的认证系统的一个实施例的概要结构图。
图6是展示图1的服务器的概要结构的框图。
图7是展示图1的客户端的概要结构的框图。
图8是说明本发明的认证方法的实施例1的图。
图9是说明本发明的认证方法的实施例2的图。
图10是说明本发明的认证方法的实施例3的图。
图11是说明本发明的认证方法的实施例4的图。
图12是说明本发明的认证方法的实施例5的图。
图13是说明本发明的认证方法的实施例6的图。
图14是说明被称为OSPA的现有的认证方法的图。
图15是说明本发明的认证方法的实施例7的图。
图16是说明图15的变形例子的图。
具体实施方式
(实施例1)
以下参照附图详细说明本发明的实施例的一个例子。图2是展示本发明的实施例1的客户端计算机和服务器计算机的概要结构和本发明能够适用的网络系统的概要结构的框图。本实施例在网络中在服务器计算机和客户端计算机之间进行相互认证的情况下适用了本发明。
在图2中,网络系统构成为:至少包含CPU的一个或多个客户端计算机10、至少包含CPU的一个或多个服务器计算机40分别经由调制解调器、路由器、TA(终端适配器)等与网络(例如因特网)32连接。这些计算机经由网络32能够通过相互通信传递信息。
另外,如图2所示,将客户端计算机10和服务器计算机40的各自作为一个计算机进行说明,但这些客户端计算机10、服务器计算机40也可以是多台。
另外,在客户端计算机10相当于本发明的第1认证装置时,则服务器计算机40相当于第2认证装置,在服务器计算机40相当于本发明的第1认证装置时,则客户端计算机10相当于第2认证装置。另外,网络32相当于本发明的通信线路。
在本实施例中,说明作为网络适用了因特网的情况。在该情况下,至少一个计算机可以作为WWW服务器发挥功能,另外,其他的计算机可以作为WWW客户端发挥功能。
详细地说,各客户端计算机10安装了WWW浏览器,通过启动该WWW浏览器,能够经由网络32任意地访问服务器计算机40。这时,访问位置(由访问目标的服务器计算机40的位置和服务器计算机40内的信息的位置构成的数据)通过URL(通用资源定位符)指定。
服务器计算机40在从客户端计算机10有了访问请求的情况下,经由网络32向访问方的客户端计算机10发送位于通过URL指定的位置的数据。这时,数据一般依照HTTP被转送。
另外,对于客户端计算机10的识别使用IP(因特网协议)地址。另外,对于操作客户端计算机10的用户的识别可以使用用户自身的输入或预定的代码等用户ID。
为了通过该计算机进行指令输入,在上述计算机中设置了各种键盘、鼠标等输入装置,为了显示计算机的处理结果等设置了显示器。另外,由于计算机具有通用并且一般的硬件结构,所以省略详细的说明。
客户端计算机10具备用来输入系统参数等的输入装置12,输入装置12与产生与输入对应的随机数R的随机数产生器14和存储器16连接。随机数产生器14与基于存储器16和随机数R求出认证用数据A的认证用数据计算器18连接。认证用数据计算器18为了经由网络32与服务器计算机40通信,而连接到与网络32连接的通信接口(以下称为通信I/F)30。
通信I/F30与验证器20连接。该验证器20还与存储器16和认证用数据计算器18连接。另外,验证器20还与以下装置连接:在与服务器计算机40之间进行了认证时,显示通过认证判断出了相互关系是正当的OK装置22;显示通过认证判断出了相互关系是不正当的NG装置24。
服务器计算机40具备用来输入系统参数等的输入装置42,输入装置42与产生与输入对应的随机数Q的随机数产生器44和存储器46连接。随机数产生器44与基于存储器46和随机数R求出认证用数据B的认证用数据计算器48连接。认证用数据计算器48为了经由网络32与客户端计算机10通信,而与通信I/F60连接。
通信I/F60与验证器50连接。该验证器50还与存储器46和认证用数据计算器48连接。另外,验证器50还与以下装置连接:在与客户端计算机10之间进行了认证时,显示通过认证判断出了相互关系是正当的OK装置52;显示通过认证判断出了相互关系是不正当的NG装置54。
【概念处理】
接着,说明本实施例的网络系统的相互认证的概念处理。在本实施例中,通过数字数据的交换执行计算机间的相互认证。在图3中作为流程图展示了相互认证的处理过程。
在步骤100,客户端计算机10和服务器计算机40通过预定的步骤,在双方中存储共通的初始值(隐蔽密钥K0)。
预定的步骤是指设置在执行客户端计算机10和服务器计算机40间的相互认证时的初始值的步骤。例如,使客户端计算机10和服务器计算机40作为初始值保存共通的数据,因此向客户端计算机10和服务器计算机40双方提供由客户端计算机10和服务器计算机40的任意一方或第三方计算机确定的初始值。通过电子邮件等电子化数据发送初始值、或将印刷了初始值的印刷物发送到客户端计算机10和服务器计算机40双方并通过客户端计算机10和服务器计算机40各自进行输入,来执行该提供。
在本实施例中,作为该初始值,为了在客户端计算机10和服务器计算机40双方中维持共通的状态,而将在客户端计算机10和服务器计算机40之间进行的数据收发的履历作为初始值,在以后的客户端计算机10和服务器计算机40之间进行的每次数据收发时更新初始值。
即,上述初始值可以是在客户端计算机10和服务器计算机40双方中共通的值,也可以是如上所述通过提供任意的值而在双方中保存,但为了在客户端计算机10和服务器计算机40双方中维持共通的状态,理想的是基于任意的算法得到的客户端计算机10和服务器计算机40间的数据收发的结果。在本实施例中,任意的算法可以是在发送侧和接收侧双方共通地保存发送侧和接收侧双方的数据的步骤,使用在后面详细说明的相互认证的结果的数据。
另外,在客户端计算机10和服务器计算机40双方中存储的数据的形式(例如格式)并不只限于一样。即,在客户端计算机10和服务器计算机40双方中存储的数据可以是其数据的最终值为相同,而数据本身并不限于相同。例如,可以通过不同的形式进行存储。如果这样,则即使在泄漏了一方的数据的情况下,也可以维持另一方的数据。
首先,在步骤110,客户端计算机10发送认证数据。该认证数据是从客户端计算机10向服务器计算机40请求相互认证的最初的数据,作为隐蔽密钥使用所存储的初始值,在客户端计算机10内存储所生成的数据,同时基于隐蔽密钥进行加密发送。
接着,在步骤120,在服务器计算机40中,接收从客户端计算机10发送的认证数据,作为隐蔽密钥使用所存储的初始值,在该时刻在服务器计算机40内存储所生成的数据,同时发送基于隐蔽密钥进行了加密的认证数据。另外,认证数据包含从客户端计算机10接收到的认证数据所包含的一部分数据。
由此,可以作为表示从服务器计算机40发送的认证数据是对从客户端计算机10发出的请求的应答的数据而发送。在发送了该认证数据后,对接收到的认证数据进行分析,同时使用在服务器计算机40内生成的各个数据生成新的隐蔽密钥,并且通过新的隐蔽密钥更新所存储的隐蔽密钥。
接着,在步骤S130,在客户端计算机10中,接收从服务器计算机40发送来的认证数据,作为隐蔽密钥使用所存储的初始值,在该时刻在客户端计算机10内存储生成的数据,同时发送基于隐蔽密钥加密了的认证数据。另外,认证数据包含从服务器计算机40接收到的认证数据所包含的一部分数据。
由此,可以作为表示从客户端计算机10发送的认证数据是对从服务器计算机40发送的数据的应答的数据而发送。在发送了该认证数据后,分析接收到的认证数据,同时使用在客户端计算机10内生成的各个数据生成新的隐蔽密钥,并且通过新的隐蔽密钥更新所存储的隐蔽密钥。
因此,在步骤130的处理结束了的时刻,在客户端计算机10和服务器计算机40的双方中,能够更新初始值(隐蔽密钥)并作为共通的值(隐蔽密钥)维持。
在接着的步骤140,判断客户端计算机10和服务器计算机40双方的处理是否完成了预定的规定次数。该判断基准次数预先被设置为至少一次的次数,在本实施例中,在客户端计算机10和服务器计算机40双方中保持共通的次数的值。另外,判断基准次数也可以在客户端计算机10和服务器计算机40各自中保持不同的次数的值。在该情况下,在客户端计算机10和服务器计算机40各自中认证的基准变得不同,但如果认证是正当的,则可以只在判断基准次数少的计算机侧通过请求多次的数据收发来达成。通过参照该次数,在客户端计算机10中进行步骤140的更新处理,在服务器计算机40中到步骤120的更新处理所保存的次数结束为止否定。在将判断基准次数设置为一次的情况下,在步骤140中不进行否定,原样地前进到步骤150。
因此,在步骤140中进行了肯定判断的时刻,在客户端计算机10和服务器计算机40双方中,一起更新值(隐蔽密钥),在双方中维持共通的值(隐蔽密钥)。即,在每次信息收发时在客户端计算机10和服务器计算机40双方中保存的隐蔽密钥都被更新为新的,能够始终维持为最新的隐蔽密钥。
在步骤150,客户端计算机10和服务器计算机40双方中,执行认证处理而结束本处理。
上述认证处理使用所存储的最新的隐蔽密钥,判断发送的认证数据是否是正当的数据。可以在客户端计算机10和服务器计算机40双方中共通地执行该认证处理。如果该认证处理结束了,则在客户端计算机10和服务器计算机40双方中相互认证结束。
【详细处理】
接着,详细说明在上述概念处理中说明了的相互认证。
(包含隐蔽密钥的数据的结构)
在本实施例中,由于隐蔽密钥在每次信息收发时都更新为最新的数据,所以作为履历数据K发挥功能。在以下的说明中,作为该履历数据K发挥功能的数据标记为与隐蔽密钥K相同。
包含在上述概念处理中作为认证数据使用的初始值的隐蔽密钥K由用来确定客户端计算机10的密码数据C和认证数据R、用来确定服务器计算机40的密码数据S和认证数据Q构成。在以下的说明中,向隐蔽密钥K、密码数据C、认证数据R、密码数据S和认证数据Q附加从初始值“0”开始增加的下标,表示更新状态,但在一般说明它们的情况下则只使用删除了下标的符号进行说明。
在本实施例中,作为初始值,存储在后面详细说明的在客户端计算机10和服务器计算机40双方中进行的数据收发的结果,还包含了履历数据。
隐蔽密钥K使用基于密码数据C、认证数据R、密码数据S和认证数据Q的各个的函数g(C,S,Q,R)的计算结果。作为一个例子,函数g是单纯和或附加系数的多项式、乘法、积分以及散列函数。
另外,用来生成客户端计算机10侧的初始值C0、R0的最初的值对于密码数据C和认证数据R可以使用由用户设置的值,也可以自动地生成。理想的是认证数据R在每次信息收发时其内容无规则地变动,因此在本实施例中,作为认证数据R使用由随机数产生器14产生的随机数。但是,本发明并不只限于对于认证数据R使用随机数的情况。例如,可以使用现在年月日、日期时间、时刻等时间数据、存储在计算机内的任意文件的容量或修改时间、信息收发时的容量等。
同样,用来生成服务器计算机40侧的初始值S0、Q0的最初的值对于密码数据S和认证数据Q可以使用管理服务器计算机40的操作者设置的值,也可以自动的生成。与上述一样,理想的是认证数据Q在每次信息收发时其内容都无规则地变动,因此在本实施例中,作为认证数据Q使用通过随机数产生器44产生的随机数。但是,本发明并不只限于对于认证数据q使用随机数的情况。例如,可以使用现在年月日、日期时间、时刻等时间数据、存储在计算机内的任意文件的容量或修改时间、信息收发时的容量等。
另外,向另一方发送客户端计算机10侧的认证数据R和服务器计算机40侧的认证数据Q,但对于该发送数据为了使第三者难以确定,所以必须保密。所以,在本实施例中,用隐蔽密钥K对从客户端计算机10向服务器计算机40发送的认证数据R和从服务器计算机40向客户端计算机10发送的认证数据Q进行隐蔽。
即,在从客户端计算机10向服务器计算机40发送的情况下,通过预定的函数v(R,K)生成认证数据A并发送。作为一个例子,函数v是单纯和或附加系数的多项式、乘法、积分以及散列函数。同样,在从服务器计算机40向客户端计算机10发送的情况下,也通过预定的函数w(Q,K)生成认证数据B并发送。作为一个例子,函数w是单纯和或附加系数的多项式、乘法、积分以及散列函数。接着,展示函数v、w的一个例子。
Am=v(R,K)=Rm+Km-1
Bm=w(R,K)=Qm+Km-1
其中,m是大于等于1的自然数。
另外,向另一方发送客户端计算机10侧的密码数据C和服务器计算机40侧的密码数据S,但如以下说明的那样,在每次信息收发时更新密码数据。即,从客户端计算机10向服务器计算机40发送的密码数据C在发送时通过预定的函数y(S,R)生成新的密码数据C并发送。作为一个例子,函数y是单纯和或附加系数的多项式、乘法、积分以及散列函数。同样,在从服务器计算机40向客户端计算机10发送的情况下,通过预定的函数z(C,Q)生成密码数据S并发送。作为一个例子,函数z是单纯和或附加系数的多项式、乘法、积分以及散列函数。接着,展示函数y、z的一个例子。
Cm=y(S,R)=Sm-1+Rm-1
Bm=w(C,Q)=Cm-1+Qm-1
其中,m是大于等于1的自然数。
另外,在密码数据的发送中,为了使第三者难以确定,所以也可以保密。例如,可以用隐蔽密钥K对从客户端计算机10向服务器计算机40发送的密码数据C和从服务器计算机40向客户端计算机10发送的密码数据S进行隐蔽。即,可以是将隐蔽密钥K追加为参数的函数。
(详细处理)
图4是展示本发明的实施例1的相互认证中详细处理的图。以下,参照图4说明本实施例的详细处理。
步骤P0:在客户端计算机10和服务器计算机40各自中存储初始值的隐蔽密钥K0。该处理相当于图3的步骤100、图4的处理Pc0和Ps0。
步骤P1:在客户端计算机10中生成随机数R,计算密码数据C和认证数据A,并发送到服务器计算机40。该处理相当于图3的步骤110、图4的处理Pc1。
即,在客户端计算机10中,通过随机数产生器14生成随机数R1。生成的随机数R1、存储在存储器16中的隐蔽密钥K0和构成隐蔽密钥K0的C0、S0、Q0、R0被输入到认证用数据计算器18。然后,认证用数据计算器18使用该随机数R1、存储在存储器16中的隐蔽密钥K0和构成隐蔽密钥K0的S0、认证数据R0,通过上述函数y、v求出新的密码数据C1和新的认证数据A1。该求出的新的密码数据C1和认证数据A1存储在存储器16中,同时被输出到通信I/F30,并经由网络32发送到服务器计算机40。该发送数据相当于图4的数据Dc1。
步骤P2:服务器计算机40从客户端计算机10接收认证数据A和密码数据C,同时生成随机数Q并计算密码数据S、认证数据Q,发送到客户端计算机10。与此同时,将存储的隐蔽密钥K0更新为新的隐蔽密钥K1。该处理相当于图3的步骤120、图4的处理Ps1。
即,在服务器计算机40中,经由通信I/F60向验证器50输入来自客户端计算机10的密码数据C1和认证数据A1。这时,在服务器计算机40中,在随机数产生器44中生成随机数Q1。生成的随机数Q1、存储在存储器46中的隐蔽密钥K0和构成隐蔽密钥K0的C0、S0、Q0、R0被输入到认证用数据计算器48。另外,验证器50向认证用数据计算器48输出来自客户端计算机10的密码数据C1和认证数据A1
认证用数据计算器48使用该随机数Q1、接收到的密码数据C1、存储的隐蔽密钥K0和构成隐蔽密钥K0的认证数据Q0,通过上述函数z、w求出新的密码数据S1和新的认证数据B1。该求出的新的密码数据S1和认证数据B1输出到通信I/F60,并经由网络32发送到客户端计算机10。该发送数据相当于图4的数据Ds1。
这时,在服务器计算机40中,构成作为初始值的隐蔽密钥K0的各数据是新的数据。即,密码数据C是从客户端计算机10接收到的密码数据C1,密码数据S是通过认证用数据计算器48计算出的密码数据S1,认证数据Q是通过随机数产生器44产生的随机数Q1,认证数据R是从客户端计算机10接收到的认证数据A通过逆计算,即通过减去隐蔽密钥K0得到的随机数R1
所以,作为新的数据更新这些密码数据C1、密码数据S1、认证数据Q1、认证数据R1,同时作为新的隐蔽密钥K0进行更新。由此,在服务器计算机40中,作为隐蔽密钥K的履历可以自动更新为最新的数据。
步骤P3:客户端计算机10从服务器计算机40接收认证数据B和密码数据S,同时生成随机数R并计算密码数据C2、认证数据A2,发送到服务器计算机40。与此同时,将存储的隐蔽密钥K0更新为新的隐蔽密钥K1。该处理相当于图3的步骤130、图4的处理Pc2。
即,在客户端计算机10中,经由通信I/F30向验证器20输入来自服务器计算机40的密码数据S1和认证数据B1。这时,在客户端计算机10中,在随机数产生器14中生成随机数R2。生成的随机数R2、存储在存储器46中的隐蔽密钥K0和构成隐蔽密钥K0的C0、S0、Q0、R0被输入到认证用数据计算器18。另外,验证器20向认证用数据计算器18输出来自服务器计算机40的密码数据S1和认证数据B1
这时,在客户端计算机10中,构成作为初始值存储在存储器16中的隐蔽密钥K0的各数据是新的数据(构成新的隐蔽密钥K1的数据)。即,密码数据C是从服务器计算机40接收到的密码数据S1经过逆计算,即减去构成隐蔽密钥K0的存储在存储器16中的认证数据Q0得到的密码数据C1,或者与存储在存储器16中的前次发送的密码数据C1对应。密码数据S是从服务器计算机40接收到的密码数据S1,认证数据Q是从服务器计算机40接收到的认证数据B1经过逆计算,即减去隐蔽密钥K0得到的认证数据Q1,认证数据R是前次生成的随机数R1
所以,作为新的数据更新这些密码数据C1、密码数据S1、认证数据Q1、认证数据R1,同时作为新的隐蔽密钥K1进行更新。由此,在客户端计算机10中,可以将与服务器计算机40相同的隐蔽密钥K自动更新为最新的数据。另外,认证用数据计算器18使用生成的随机数R2、更新了的隐蔽密钥K1的认证数据R1、接收到的密码数据S1和新的隐蔽密钥K1,通过上述函数y、v求出新的密码数据C2和新的认证数据A2。该求出的新的密码数据C2和认证数据A2存储在存储器16中,同时被输出到通信I/F30,经由网络32发送到服务器计算机40。该发送数据相当于图4的数据Dc2。
步骤P4:只执行规定次数m的上述步骤P2和P3的处理。另外,在本实施例中,规定的次数m包含至少一次的数据收发。因此,包含不进行循环的次数(m=1)。即,在客户端计算机10和服务器计算机40之间进行数据收发时,由于利用已经在双方进行了的数据收发的履历数据,所以即使在一次的数据收发中,在该收发时包含客户端计算机10和服务器计算机40之间的履历地进行数据收发,因此不仅是单纯的数据收发,也是履历数据的收发,因此是有效的。如果循环进行多次上述步骤P2和P3的处理,则能够提高数据正当性判断的精度。
即,对于循环进行上述处理,通过多次执行循环次数即执行次数,隐蔽密钥K的值由于更新而变动,而能够抑制第三者掌握该变动。通过这样进行多次,依照到现在为止的履历将客户端计算机10和服务器计算机40中共通保存的隐蔽密钥K更新为最新的状态,因此难以导出隐蔽密钥K。
执行规定次数m的步骤P2和步骤P3的处理,结果在客户端计算机10和服务器计算机40各自中,保存构成隐蔽密钥Km和构成隐蔽密钥Km的Cm、Sm、Qm、Rm的值。另外,在m=1时,保存一次数据收发的值。
另外,对于循环执行处理,图3的步骤140的判断的处理执行、图4的从处理Pc2到Psm和Pcm的处理相当于循环执行从处理Pc1到Ps1和Pc2。
步骤P5:在上述处理结束后,在客户端计算机10和服务器计算机40各自中,检查接收到的数据的正当性是否成立,如果成立则作为相互认证成功许诺两者的关系,在不成立时作为相互认证不成功否定两者的关系。该处理相当于图3的步骤150、图4的处理Psm+1和Pcm +1
在执行一次后进行认证的情况下,从客户端计算机10进行第一次的数据发送,但这时客户端计算机10向服务器计算机40发送根据包含客户端计算机10和服务器计算机40的履历的作为初始值存储的隐蔽密钥K0生成的认证数据A1和密码数据C1。该处理相当于在图4的处理Pc1后发送数据Dc1
在服务器计算机40中,经由通信I/F60向验证器50输入来自客户端计算机10的密码数据C1和认证数据A1,在认证器50中对密码数据C1验证正当性。由于接收到的密码数据C1是根据前次的履历数据生成的,所以在服务器计算机40中使用构成更新为最新状态而存储的隐蔽密钥K0(在此为初始值)的密码数据S0和认证数据R0,判断上述函数y的计算结果与接收到的数据是否一致,在一致的情况下,认为是正当的,在不一致的情况下否定正当性。在认为是正当时,在通过OK装置52报告正当性后继续进行处理,在否定时,在通过NG装置54报告了不正当后结束处理。
在认为是正当的并继续进行处理时,与上述步骤P2一样,在随机数产生器44中生成随机数Q1,在认证用数据计算器48中生成密码数据S1、认证数据B1,向客户端计算机10发送,同时将隐蔽密钥更新为隐蔽密钥K1
该认证处理相当于图4的处理PSm+1的处理。在该情况下,不循环执行,因此相当于m=0的处理。即,在每次从客户端计算机10向服务器计算机40发送数据时,在服务器计算机40侧能够使用从客户端计算机10接收到的包含履历的数据进行认证。
另一方面,在客户端计算机10中,经由通信I/F30向验证器20输入来自服务器计算机40的密码数据S1和认证数据B1。在客户端计算机10中,针对密码数据S1在验证器20中验证正当性。由于接收到的密码数据S1同样是根据前次的履历数据在服务器计算机40中生成的,所以在客户端计算机10中使用构成更新为最新状态而存储的隐蔽密钥K0(在此为初始值)的密码数据C0和认证数据Q0,判断上述函数z的计算结果与接收到的数据是否一致,在一致的情况下,认为是正当的,在不一致的情况下否定正当性。在认为是正当时,在通过OK装置22报告正当性后继续进行处理,在否定时,在通过NG装置24报告了不正当后结束处理。
在认为是正当的并继续进行处理时,转移到在客户端计算机10和服务器计算机40之间应该执行的处理。另外,在客户端计算机10中,为了维持与服务器计算机40的履历数据K的相同,而与上述步骤P3一样,将隐蔽密钥更新为隐蔽密钥K1
该认证处理相当于图4的处理Pcm+1的处理。在该情况下,不循环执行,因此相当于m=0的处理。即,在每次从服务器计算机40向客户端计算机10发送数据时,在客户端计算机10侧能够使用从服务器计算机40接收到的包含履历的数据进行认证。
另外,在每次从客户端计算机10向服务器计算机40发送数据时,或者每次从服务器计算机40向客户端计算机10发送数据时,将包含在接收侧进行认证的处理作为会话,也可以多次执行包含该认证的会话。
下面,说明循环执行多次后进行认证的情况。在该情况下,从客户端计算机10进行第m次的数据发送,客户端计算机10根据通过循环m次而更新的隐蔽密钥Km,向服务器计算机40发送认证数据Am +1、认证数据Cm+1。该处理相当于在图4的处理Pcm后发送数据Dcm +1
首先,在服务器计算机40中,经由通信I/F60向验证器50输入来自客户端计算机10的密码数据Cm+1和认证数据Am+1。在服务器计算机40中,针对密码数据Cm+1在验证器50中验证正当性。由于接收到的密码数据Cm+1是根据前次的履历数据生成的,所以在服务器计算机40中使用构成更新为最新状态而存储的隐蔽密钥Km的密码数据Sm和认证数据Rm,判断上述函数y的计算结果与接收到的数据是否一致,在一致的情况下,认为是正当的,在不一致的情况下否定正当性。在认为是正当时,在通过OK装置52报告正当性后继续进行处理,在否定时,在通过NG装置54报告了不正当后结束处理。
在认为是正当的并继续进行处理时,与上述步骤P2一样,在随机数产生器44中生成随机数Qm+1,在认证用数据计算器48中生成密码数据Sm+1、认证数据Bm+1,向客户端计算机10发送,同时将隐蔽密钥更新为隐蔽密钥Km+1。该认证处理相当于图4的处理Psm+1的处理。
另一方面,在客户端计算机10中,经由通信I/F30向验证器20输入来自服务器计算机40的密码数据Sm+1和认证数据Bm+1。在客户端计算机10中,针对密码数据Sm+1在验证器20中验证正当性。由于接收到的密码数据Sm+1与密码数据C同样是根据前次的履历数据在服务器计算机40中生成的,所以在客户端计算机10中使用构成更新为最新状态而存储的隐蔽密钥Km的密码数据Cm和认证数据Qm,判断上述函数z的计算结果与接收到的数据是否一致,在一致的情况下,认为是正当的,在不一致的情况下否定正当性。在认为是正当时,在通过OK装置22报告正当性后继续进行处理,在否定时,在通过NG装置24报告了不正当后结束处理。
在认为是正当的并继续进行处理时,转移到在客户端计算机10和服务器计算机40之间应该执行的处理。另外,在客户端计算机10中,为了维持与服务器计算机40的履历数据K的相同,而与上述步骤P3一样,将隐蔽密钥更新为隐蔽密钥Km+1。该认证处理相当于图4的处理Pcm+1的处理。
这样,在本实施例中,在进行客户端计算机10和服务器计算机40之间的相互认证时,双方具有共通的隐蔽密钥K,在每次信息收发时更新该隐蔽密钥K。因此,即使分析信息收发时的数据,也难以确定认证用的数据,能够提高保密性,能够确实地进行相互认证。
在上述中,以客户端计算机10和服务器计算机40之间为例进行了说明,但在因特网等非同步网络中,在服务器计算机40中必须对客户端计算机10进行认证。在该情况下,也可以对每个客户端计算机10的用户分离地进行处理。
上述处理可以作为客户端计算机10和服务器计算机40的处理程序以能够执行的形式存储在作为记录介质的可移动盘中。在该情况下,可以将能够插拔的可移动盘单元(FDU)与各装置连接,从可移动盘中经由FDU执行记录的处理程序。另外,也可以将处理程序以能够访问的形式存储(安装)在计算机内的RAM或其他存储区域(例如硬盘装置)中来执行。另外,也可以预先存储在ROM中。另外,作为记录介质有CD-ROM、MD、MO、DVD等盘和DAT等磁带,在使用它们时,作为对应的装置可以使用CD-ROM装置、MD装置、MO装置、DVD装置、DAT装置等。
如以上说明那样,根据本发明的实施例1,在第1认证装置和第2认证装置之间进行相互认证时,在第1认证装置和第2认证装置各自中共通地存储履历数据,同时更新履历数据,因此能够安全并且简便地进行相互认证,例如可以得到以下效果:能够不从在客户端计算机和服务器计算机之间发送接收的信息中泄漏客户端计算机的密钥地,确实地进行认证。
(实施例2)
图5是展示本发明的认证系统的实施例2的概要结构图。该认证系统大致由经由公共线路网或因特网等网络40相互连接的服务器(第2装置)10和客户端(第1装置)20构成。在该实施例中,提供各种服务的多个服务器A、B、C……与服务器10连接,该服务器10作为决定能否访问服务器A、B、C……的认证服务器发挥功能。
服务器10如图6所示,由CPU11、RAM12、存储装置13、输入装置14、显示装置15和通信装置16等构成,各部分通过总线17连接。
CPU(中央处理单元)11将存储在存储装置13的存储区域中的各种处理程序、从输入装置14或通信装置16输入的各种指令或与指令对应的各种数据等存储到RAM12中,并与这些输入指令和各种数据对应地依照存储在RAM12中的各种处理程序执行各种处理,并将该处理结果暂时存储到RAM12中,同时输出到显示装置15等。
该CPU11构成该服务器10中的接收装置和判断装置,在从客户端20接收将客户端ID作为参数的单向函数(单向函数Fc)的函数值的HASHc、一次性ID(SIGNAL)、DH公开值gx(Diffie-Hellman公开值的一方)的情况下(即从客户端20接收访问请求的情况),使用从客户端20接收到的接收数据和存储在存储装置13中的存储数据,通过计算求出一次性ID和HASHc,通过对该计算结果、从客户端20接收到的一次性ID和HASHc进行比较,执行判断客户端20的正当性的处理。
另外,CPU11构成该服务器10中的发送装置,执行以下的处理:在判断出客户端20是正当的情况下,使用上述接收数据和上述存储数据,通过计算求出将服务器ID作为参数的单向函数(单向函数Fs)的函数值的HASHs,并向客户端20发送该HASHs、存储在存储装置13中的DH公开值gx(Diffie-Hellman公开值的另一方)。
另外,上述一次性ID(SIGNAL)是在服务器、客户端之间的认证中只限使用一次的识别信息,在生成该一次性ID的情况下,从存储装置13读入在每个规定的通信单位中变化的加密密钥K(可变共有密钥),并求出将该加密密钥K作为参数的散列(Hash)函数(单向函数)的函数值,从该函数值生成上述一次性ID。
RAM(随机访问存储器)12具备:暂时存储在与客户端20之间发送接收的数据等与认证有关的各种数据的存储区域、CPU11的工作区域等。
存储装置13具有存储程序和数据等的存储介质13a,该存储介质13a由磁、光学的存储介质或半导体存储器构成。该存储介质13a固定设置在存储装置13中,或者可拆卸地进行安装,具备:存储由CPU11执行的各种处理程序和控制数据等的存储区域;存储与认证有关的各种数据(例如从客户端20或ID发行管理服务器30(后述)取得的数据、在认证处理过程中生成的数据等)的存储区域等。另外,存储在该存储介质13a中的程序和数据等可以是从其他服务器等经由网络40接收其一部分或全部并存储的结构。该存储介质13a处于在开始认证处理前的阶段预先存储了服务器ID、DH公开值gy、在与客户端20之间共有了的随机数R等的状态。
输入装置14由键盘或指向(pointing)设备等构成,向CPU11输出输入指令信号。
显示装置15由CRT(阴极射线管)和LCD(液晶显示器)等构成,显示从CPU11输入的显示数据。通信装置16由调制解调器或路由器、桥装置等构成,经由网络40向CPU11输出从客户端20等接收到的数据,同时经由网络40向客户端20输出从CPU11接收到的数据。
另一方面,客户端20如图7所示,由CPU21、RAM22、存储装置23、输入装置24、显示装置25和通信装置26等构成,各部分通过总线27连接。具体地说,作为客户端20例如可以列举个人计算机、PDA(个人数字助理)等便携信息终端、可以利用因特网连接服务的便携电话等。另外,该客户端20的各构成要素与上述服务器10的各构成要素大致相同,因此以下只说明不同点。
即,客户端20的CPU21构成该客户端20中的发送装置,执行以下的处理:根据来自输入装置24的指令输入等,生成一次性ID(SIGNAL),同时求出将客户端ID作为参数的单向函数(单向函数Fc)的函数值的HASHc,向服务器10发送这些一次性ID和HASHc、存储在存储装置23中的DH公开值gx(Diffie-Hellman公开值的一方)。
另外,CPU21构成该客户端20中的接收装置和判断装置,在从服务器10接收到将服务器ID作为参数的单向函数(单向函数Fs)的函数值的HASHs、DH公开值gy(Diffie-Hellman公开值的另一方)的情况下(即由服务器10判断出客户端20是正当的情况),使用从服务器10接收到的接收数据和存储在存储装置23中的存储数据,通过计算求出HASHs,通过对该计算结果、从服务器10接收到的HASHs进行比较,执行判断服务器10的正当性的处理。
存储装置23具有存储程序和数据等的存储介质23a,该存储介质23a具备:存储由CPU21执行的各种处理程序和控制数据等的存储区域;存储与认证有关的各种数据(例如从服务器10或ID发行管理服务器30(后述)取得的数据、在认证处理过程中生成的数据等)的存储区域等。该存储介质23a处于在开始认证处理前的阶段预先存储了客户端ID、DH公开值gx、在与服务器10之间共有了的随机数R等的状态。
ID发行管理服务器30是用来发行、管理在客户端、服务器之间共有的秘密信息(例如在生成一次性ID的初始值中使用的随机数R等)、客户端ID、服务器ID等的服务器。该ID发行管理服务器30具有在使利用客户端20的用户的ID(例如积分卡No、住宅基金网络ID、职员No、学生No、特定会员No等)与上述秘密信息和密码等对应的状态下进行存储的数据库。另外,ID发行管理服务器30在一定周期下更新上述数据库内的秘密信息,并通过在线(online)(例如电子邮件等)或离线(offline)(例如邮送等),将该更新了的秘密信息发送到客户端20和服务器10的双方。另外,也可以基于来自客户端20或服务器10的发行委托进行上述秘密信息的发行。
下面,根据图8,说明由上述结构的认证系统进行的认证方法的实施例2。该方法将本发明的一次性ID(SIGNAL)适用于在RFC2409中规定了的IKE方式。
首先,在步骤S1,执行以下处理:在基于IKE生成SA时,由作为发起者的客户端20生成一次性ID(SIGNAL),同时通过计算求出HASHc,与SA提案一起向作为应答者的服务器10发送这些一次性ID和HASHc、存储在存储装置23中的DH公开值gx
在此,作为一次性ID的SIGNAL例如使用散列函数,如下这样生成。
SIGNAL1=R
SIGNAL2=hash(K1)
SIGNAL3=hash(K2)
……
SIGNALn=hash(Kn-1)
                             ……公式(2)
在上述SIGNAL的定义式中,hash是散列函数,R是从ID发行管理服务器30向服务器10和客户端20双方发行并在两者间共有了的随机数,Ki是在第i个会话中生成的服务器、客户端共有的加密密钥(可变共有密钥)。另外,上述会话表示在确立了SA后到该SA无效为止的通信单位。
即,根据上述SIGNAL的定义式,求出将在前次会话中生成的上述加密密钥K作为参数的散列函数的函数值,并将该函数值作为本次会话的SIGNAL。另外,在最初的会话中,将在服务器、客户端之间预先共有了的随机数R作为SIGNAL的初始值使用。另外,上述加密密钥Ki例如通过下式(3)求出。
Ki=prf(共有密钥,gxy,SIGNALi)    ……公式(3)
在该公式(3)中,gxy是DH共通密钥,共有密钥是服务器、客户端之间的任意的共有密钥。
另一方面,HASHc如下式(4)所示,作为将共有密钥、DH公开值gx、IDc(客户端ID)和SIGNAL作为参数的伪随机数函数(具有密钥的散列函数)的函数值求出。
HASHc=prf(共有密钥,gx,IDc,SIGNAL)  ……公式(4)
接着,在步骤S2,执行以下的处理:服务器10通过计算求出SIGNAL和HASHc,通过对这些计算结果、从客户端20接收到的SIGNAL和HASHc进行比较,判断客户端20的正当性。
在上述判断的结果是接收数据和计算结果一致,判断出客户端20是正当的情况下,通过计算求出HASHs,与承诺的SA一起向客户端20发送该HASHs、存储在存储装置13中的DH公开值gy(步骤S3)。
另一方面,在接收数据和计算结果不一致,判断出客户端20不正当的情况下,拒绝来自客户端20的访问,结束该认证处理。
在此,HASHs如下式(5)所示,作为将共有密钥、DH公开值gx、gy、IDs(服务器ID)和SIGNAL作为参数的伪随机数函数(具有密钥的散列函数)的函数值求出。
HASHs=prf(共有密钥,gx,gy,IDs,SIGNAL)……公式(5)
另外,在该步骤S3中,同时进行以下处理:根据存储在存储装置13中的DH公开值gy、从客户端20接收到的DH公开值gx生成DH共通密钥gxy,并将DH共通密钥gxy存储在存储装置13中。
接着,在步骤S4,执行以下处理:客户端20通过计算求出HASHs,通过对该计算结果、从服务器10接收到的HASHs进行比较,判断服务器10的正当性。
在上述判断的结果是接收数据和计算结果一致,判断出服务器10是正当的情况下,根据存储在存储装置23中的DH公开值gx、从服务器10接收到的DH公开值gy生成DH共通密钥gxy,在存储在存储装置23中后,结束该认证处理,转移到下一个数据传送处理。另一方面,在接收数据和计算结果不一致,判断出服务器10不正当的情况下,中止对服务器10的访问,结束该认证处理。
如上所述,根据该实施例2,作为一次性ID(SIGNAL)使用将在每次会话中变化的加密密钥K(可变共有密钥)作为参数的散列函数的函数值,因此例如即使加密密钥K被泄漏给第三者,由于在每次会话中加密密钥K都变化,所以使用泄漏的加密密钥K无法预测生成的一次性ID以外的一次性ID。即,能够生成难以窃听并且安全性优越的一次性ID,能够实现一次性ID的将来的安全性(PFS)。
另外,使用上述一次性ID(SIGNAL)进行客户端、服务器之间的认证,因此第三者无法确定发送者、接收者,另一方面如果是正当的发送者、接收者,则作为识别信息能够掌握一次性ID。因此,能够强化对DoS攻击和假冒的耐性,即使在开放的网络环境下,也能够谋求ID信息的保护,提高通信的安全性。另外,能够进行远程访问,提高方便性。
另外,在该实施例中,作为在判断客户端20的正当性过程中使用的单向函数Fc,使用将共有密钥、DH公开值gx、IDc(客户端ID)和SIGNAL作为参数的伪随机数函数,同时作为在判断服务器10的正当过程中使用的单向函数Fs,使用将共有密钥、DH公开值gx、gy、IDs(服务器ID)和SIGNAL作为参数的伪随机数函数,因此能够将在现有的密钥交换认证方式中需要3次的通信次数降低为2次,能够实现迅速并且安全的认证和密钥交换。
(实施例3)
在上述实施例2中,求出将在前次会话中生成的加密密钥(可变共有密钥)作为参数的散列函数的函数值,将该函数值作为本次会话的一次性ID(SIGNAL),但在本实施例3中,求出将在前次会话中生成的共有密钥、该会话中的通信顺序作为参数的散列函数的函数值,将该函数值作为本次会话的各通信时的一次性ID。本实施例3的特有部分以外与实施例2一样。在本实施例3中,向与实施例2相同的部分付与相同的符号,并省略其说明。
图9是说明本发明的认证方法的实施例3的图。在本实施例3中,首先,在步骤P1,客户端20生成SIGNALn,1(第1一次性ID),同时用共有密钥Kn-1(第1可变共有密钥)对IDc(客户端ID)、IDs(服务器ID)、DH公开值gxn和SIGNALn,1进行加密,向服务器10发送该加密数据和SIGNALn,1
在此,SIGNAL在设第i个会话中的客户端20的第j个通信中利用的SIGNAL为SIGNALi,j,设第i个会话中的服务器10的第j个通信中利用的SIGNAL为SIGNAL’i,j的情况下,如下这样生成。
SIGNAL1,j=hash(R,j)          i=1
SIGNALi,j=hash(Ki-1,j)       i≥2
SIGNAL’1,j=hash’(R,j)      i=1
SIGNAL’i,j=hash’(Ki-1,j)   i≥2
                                公式(6)
在上述SIGNAL的定义式(6)中,hash和hash’是相互不同的散列函数,R是从ID发行管理服务器30向服务器10和客户端20双方发行并且在两者间共有了的随机数,Ki是在第i个会话中共有了的DH共通密钥gxiyi(共有密钥)。
即,根据上述SIGNAL的定义式(6),求出将在前次会话中生成的共有密钥Ki-1和本次会话中的通信顺序j作为参数的散列函数的函数值,将该函数值作为在本次会话的第j个通信中使用的SIGNAL。其中,在最初的会话(i=1)中,求出将在服务器、客户端间共有了的随机数R和该会话中的通信顺序j作为参数的散列函数的函数值,将该函数值作为在最初的会话的第j个通信中使用的SIGNAL。
接着,在步骤P2,服务器10通过计算求出SIGNALn,1,通过对该计算结果、从客户端20接收到的SIGNALn,1进行对照,识别客户端20,在无法识别的情况下,拒绝通信。在能够识别的情况下,使用共有密钥Ki-1对加密数据进行解密,根据包含在该解密了的数据中的IDc、IDs和SIGNALn,1,判断客户端20的正当性。
在上述判断结果是接收数据与预先存储在服务器10中的存储数据一致,判断出客户端20是正当的情况下,依照上述SIGNAL的定义式生成SIGNAL’n,1(第2一次性ID),同时作为共有密钥Kn(第2可变共有密钥)根据从客户端20接收到的DH公开值gxn和预先存储在该服务器10中的DH公开值gyn生成DH共通密钥gxnxy,向客户端20发送将该共有密钥Kn、IDc、IDs和SIGNAL’n,1作为参数的散列函数h的函数值、DH公开值gyn、SIGNAL’n,1(步骤P3)。
另一方面,在接收数据和存储数据不一致,判断出客户端20不正当的情况下,拒绝从客户端20的访问,结束该认证处理。
接着,在步骤P4,客户端20通过计算求出SIGNAL’n,1,通过对该计算结果、从服务器10接收到的SIGNAL’n,1进行对照,识别服务器10,在无法识别的情况下,拒绝通信。在能够识别的情况下,作为共有密钥Kn根据从服务器10接收到的DH公开值gyn和预先存储在该客户端20中的DH公开值gxn生成DH共通密钥gxnxy,同时使用该共有密钥Kn,通过计算求出散列函数h的函数值,通过对该计算结果、从服务器10接收到的散列函数h的函数值进行对照,判断服务器10的正当性。
在上述判断的结果是接收数据和计算结果一致,判断出服务器10是正当的情况下,结束该认证处理,转移到下一个数据传送处理。另一方面,在接收数据和计算结果不一致,判断出服务器10不正当的情况下,中止对服务器10的访问,结束该认证处理。
另外,在服务器10侧需要确认客户端20共有了共有密钥Ki的情况下,在该步骤P4中客户端20判断了服务器10的正当性后,也可以向服务器10发送将共有密钥Kn、IDc、IDs作为参数的散列函数h的函数值。
如上所述,根据该实施例3,求出将在前次的会话中生成的共有密钥Ki-1(可变共有密钥)和本次会话中的通信顺序j作为参数的散列函数的函数值,将该函数值作为只在该会话的第j个通信中有效的一次性ID(SIGNAL)使用,因此例如即使在第n个会话中生成的共有密钥Kn泄漏给第三者,由于共有密钥Kn在每次会话中都变化,所以也无法预测使用泄漏的共有密钥Kn生成的一次性ID(SIGNALn+1, j、SIGNAL’n+1,j)以外的一次性ID。即,能够生成难以窃听并且安全性优越的一次性ID,能够实现一次性ID的将来的安全性(PFS)。
另外,由于使用上述一次性ID(SIGNAL)进行客户端、服务器之间的认证,所以与上述实施例2同样,能够防止因大量的计算要求、响应要求等产生的计算量和对存储器的DoS攻击,即使在开放的网络环境下,也能够谋求ID信息的保护,提高通信的安全性。
另外,作为防止DoS攻击的方法之一,一般已知使用了cookie(随机数)的方法。根据该方法,通过组合IP地址和只有cookie生成者知道的秘密,能够防止来自同一IP地址的DoS攻击。与此相对,在本实施例的SIGNAL的情况下,只知道DH共通密钥,无法预测下次有效的SIGNAL。所以,通过在每次的通信中利用SIGNAL,能够得到与cookie同样的效果。进而,在cookie的情况下不允许在会话中变更IP地址,但可以改变SIGNAL。另外,在使用了cookie的情况下,无法防止伪造IP地址的DoS攻击,但在一次性ID的情况下,由于与IP地址无关,所以能够防止这样的攻击。
另外,在本实施例中,例如考虑了客户端20发送协议最初的信息(步骤P1),服务器10与之对应地进行DH密钥交换的计算(步骤P2),发送第2个信息(步骤P3)的情况。如果服务器10的信息在中途消失,或者被攻击者获取,客户端20无法接收到的情况下,客户端20必须再一次发送最初的信息。这时,服务器10无法判断是客户端20重新进行了通信,还是攻击者读取了最初的信息进行了重复攻击。所以,客户端20在再次重新发送最初的信息的情况下,发送与在最初的查询时发送的信息相同的内容的信息,服务器10也原样地发送以前回信了的信息的复制。由此,能够避免无用的DH密钥交换的计算,能够防止重复攻击的DoS攻击。
另外,在本实施例中,求出将在前次会话中生成的共有密钥(DH共通密钥)Ki-1和本次会话中的通信顺序j作为参数的散列函数的函数值,并将该函数值作为只在该会话的第j个通信中有效的一次性ID(SIGNAL)生成,但例如也可以如下这样地生成SIGNAL。
SSj=h1(Ki-1)
SIGNALi,j=hash(SSi,j)
SIGNAL’i,j=hash’(SSi,j)           ……公式(7)
在上述SIGNAL的定义式(7)中,SSi是将在第(i-1)个会话中共有了的DH共通密钥Ki-1作为参数的散列函数的函数值。
另外,在该情况下,将在第i个会话中使用的认证用密钥作为AKi,将加密密钥作为SKi,例如可以如以下公式那样求出这些密钥,
AKi=h2(Ki-1)    SKi=h3(Ki-1)
其中,h1、h2、h3是没有冲突的单向散列函数。
这样,在根据SSi生成认证用密钥和加密密钥的情况下,在上述步骤P1中,在客户端20对IDc、IDs、DH公开值gxn和SIGNALn,1进行加密并向服务器10发送时,使用认证用密钥AKn。另外,在步骤P3中,在服务器10向客户端20发送的散列函数h中,使用将加密密钥SKn、IDc、IDs和SIGNAL’n,1作为参数的散列函数。
通过这样,即使假设攻击者能够知道SSi、AKi、SKi中的任意一个的值,也无法计算其他的值。所以,攻击者为了在第i个会话中假冒正规的用户进行密钥交换,就必须知道AKi、SIGNAL、正规用户的ID信息(IDs、IDc),为了进行加密通信,还要知道SKi、SIGNAL、正规用户的ID信息、通信次数的信息。
另外,使用认证密钥AKi(h2(Ki-1))对第n个会话中的客户端20的DH公开值gxn进行加密。所以,不知道AKi的攻击者无法知道gxn。因此,在本方式中生成、共有的Diffie-Hellman共通密钥是计算量少并且信息安全的。
(实施例4)
在上述实施例2和实施例3中,与认证同时进行Diffie-Hellman密钥交换,但在本实施例4中,省略Diffie-Hellman密钥交换。本实施例4的特有部分以外与实施例2一样。在本实施例4中,向与实施例2相同的部分付与同一符号,并省略说明。
图10是说明本发明的认证方法的实施例4的图。在本实施例4中,首先,客户端20生成随机数Rc(第1随机数),同时将在与服务器10之间预先共有了的共有密钥K1(第1共有密钥)和随机数R0(初始随机数)作为参数的伪随机数prf(K1,R0)的函数值作为SIGNALc1(第1一次性ID)求出(步骤S11),向服务器10发送该SIGNALc1、用共有密钥K1加密了的随机数Rc(步骤S12)。
接着,执行以下处理:服务器10生成随机数Rs(第2随机数),同时将用共有密钥K1解码了的随机数Rc和共有密钥K1作为参数的伪随机数prf(K1,Rc)的函数值作为SIGNALs1(第2一次性ID)求出(步骤S13),向客户端20发送该SIGNALs1、用共有密钥K1加密了的随机数Rs、随机数R0+Rc(将随机数R0、Rc作为参数的规定的计算结果,例如两者的异或等)(步骤S14)。
接着,执行以下的处理:客户端20根据随机数Rc和共有密钥K1通过计算求出SIGNALs1,通过对该计算结果和从服务器10接收到的SIGNALs1进行比较,识别服务器10,同时通过对随机数R0+Rc的接收数据和计算结果进行比较,判断服务器10的正当性(步骤S15)。
在上述判断的结果是各个接收数据和计算结果是一致的,判断出服务器10是正当的情况下,客户端20根据随机数Rc和随机数Rs生成共有密钥K2(第2共有密钥),同时作为SIGNALc2(第3一次性ID)求出将该共有密钥K2、随机数Rs和随机数Rc作为参数的伪随机数函数prf(K2,Rs,Rc)的函数值,向服务器10发送该SIGNALc2、随机数Rc+Rs(将随机数Rc、Rs作为参数的规定的计算结果)(步骤S16)。另一方面,在接收数据和计算结果不一致,判断出服务器10不正当的情况下,中止对服务器10的访问,结束该认证处理。
服务器10如果从客户端20接收到SIGNALc2,则根据随机数Rc和随机数Rs生成共有密钥K2,同时根据共有密钥K2、随机数Rs和随机数Rc通过计算求出SIGNALc2,通过对该计算结果和从客户端20接收到的SIGNALc2进行比较,识别客户端20,同时通过对随机数Rc+Rs的接收数据和计算结果进行比较,判断客户端20的正当性(步骤S17)。
在上述判断结果是各个接收数据和计算结果一致,判断出客户端20是正当的情况下,结束该认证处理,转移到下一个数据传送处理。
另一方面,在接收数据和计算结果不一致,判断出客户端20是不正当的情况下,拒绝从客户端20的访问,结束该认证处理。
如上所述,根据本实施例4,作为一次性ID使用将在相互认证过程中生成的随机数、在相互认证过程中变化的共有密钥K作为参数的伪随机数函数prf的函数值,因此与上述实施例2一样,能够提高一次性ID的安全性,能够实现迅速并且安全的相互认证。
(实施例5)
在上述实施例4中,在相互认证的过程中使得用于一次性ID(SIGNAL)的生成的共有密钥变化,但在本实施例5中,使上述共有密钥固定。
即,在本实施例5中,如图11所示,首先,客户端20生成随机数Rc(第1随机数),同时作为SIGNALc1(第1一次性ID)求出将在与服务器10之间预先共有了的共有密钥K和随机数R0(初始随机数)作为参数的伪随机数函数prf(K,R0)的函数值(步骤S21),向服务器发送该SIGNALc1、用共有密钥K加密了的随机数Rc(步骤S22)。
接着,服务器10生成随机数Rs(第2随机数),同时作为SIGNALs1(第2一次性ID)求出将用共有密钥K加密了的随机数Rc和共有密钥K作为参数的伪随机数函数prf(K,Rc)的函数值(步骤S23),向客户端20发送该SIGNALs1、用共有密钥K加密了的随机数Rs、随机数R0+Rc(将随机数R0、Rc作为参数的规定的计算结果)(步骤S24)。
接着,客户端20根据随机数Rc和共有密钥K通过计算求出SIGNALs1,通过对该计算结果和从服务器10接收到的SIGNALs1进行比较,识别服务器10,同时通过对随机数R0+Rc的接收数据和计算结果进行比较,判断服务器10的正当性(步骤S25)。
在上述判断结果是各个接收数据和计算结果一致,判断出服务器10是正当的情况下,客户端20作为SIGNALc2(第3一次性ID)求出将随机数Rc、随机数Rs和共有密钥K作为参数的伪随机数函数prf(K,Rs,Rc)的函数值,向服务器10发送该SIGNALc2、随机数Rc+Rs(将随机数Rc、Rs作为参数的规定的计算结果)(步骤S26)。
另一方面,如果接收数据和计算结果不一致,判断出服务器10不正当的情况下,中止对服务器10的访问,结束该认证处理。
服务器10如果从客户端20接收到SIGNALc2,则根据随机数Rc、随机数Rs和共有密钥K通过计算求出SIGNALc2,通过对该计算结果和从客户端20接收到的SIGNALc2进行比较,识别客户端20,同时通过对随机数Rc+Rs的接收数据和计算结果进行比较,判断客户端20的正当性(步骤S27)。
在上述判断结果是各个接收数据和计算结果一致,判断出客户端20是正当的情况下,结束该认证处理,转移到下一个数据传送处理。
另一方面,在接收数据和计算结果不一致,判断出客户端20是不正当的情况下,拒绝从客户端20的访问,结束该认证处理。
如上所述,根据本实施例5,将在相互认证过程中生成的随机数和共有密钥K作为参数的伪随机数函数prf的函数值作为一次性ID使用,因此例如即使共有密钥K泄漏给了第三者,但由于在相互认证的过程中通过随机数伪随机数函数prf的函数值依次变化,所以也不知道在相互认证的过程中生成的随机数,无法预测一次性ID。因此,与上述实施例2~4一样,能够提高一次性ID的安全性,能够实现迅速并且安全的相互认证。
(实施例6)
图12是说明本发明的认证方法的实施例6的图。在该实施例6中,首先,客户端20生成随机数Rci(第1随机数),同时作为SIGNALci(第1一次性ID)求出将在与服务器10之间预先共有了的共有密钥Ki、随机数Rci-1(第1存储随机数)和随机数Rsi-1(第2存储随机数)作为参数的伪随机数函数prf(Ki,Rci-1,Rsi-1)的函数值(步骤S31)。
另外,Rci是在第i个会话中由客户端20生成的随机数,Rsi是在第i个会话中由服务器10生成的随机数,Ki是在第i个会话中使用的可变共有密钥。另外,在前次(第i-1个)会话中生成的随机数Rci -1、Rsi-1被存储在服务器10和客户端20的各存储装置13、23的存储区域中,根据这些Rci-1、Rsi-1,生成共有密钥Ki
然后,客户端20在生成SIGNALc1后,向服务器10发送用共有密钥Ki对IDc(客户端ID)、IDs(服务器ID)和随机数Rci进行了加密的加密数据Eki(IDc、IDs、Rci)、SIGNALc1(步骤S32)。
服务器10如果从客户端20接收到SIGNALc1,则根据共有密钥Ki、随机数Rci-1和随机数Rsi-1通过计算求出SIGNALc1,通过对该计算结果和从客户端20接收到的SIGNALc1进行比较,识别客户端20,在无法识别的情况下,拒绝通信。在能够识别的情况下,使用共有密钥Ki对加密数据Eki(IDc,IDs,Rci)进行解密,根据包含在该解密了的数据中的IDc和IDs,判断客户端20的正当性。
在上述判断的结果是接收数据和预先存储在服务器10中的存储数据一致,判断出客户端20是正当的情况下,生成随机数Rsi(第2随机数),同时作为SIGNALs1求出将随机数Rci、随机数Rsi-1和共有密钥Ki作为参数的伪随机数函数prf(Ki,Rci,Rsi-1)的函数值。然后,在存储了随机数Rci-1、Rsi-1的存储区域中分别存储Rci、Rsi,同时根据这些随机数Rci、Rsi生成共有密钥Ki+1并存储(步骤S33)。
接着,服务器10向客户端20发送用共有密钥Ki对IDc、IDs和随机数Rsi进行了加密的加密数据Eki(IDs,IDc,Rsi)、SIGNALs1(步骤S34)。
另一方面,在接收数据和存储数据不一致,判断出客户端20不正当的情况下,拒绝从客户端20的访问,结束该认证处理。
客户端20如果从服务器10接收到SIGNALs1,则根据共有密钥Ki、随机数Rci和Rsi-1通过计算求出SIGNALs1,通过对该计算结果和从客户端20接收到的SIGNALs1进行比较,识别服务器10,在无法识别的情况下,拒绝通信。另一方面,在能够识别的情况下,使用共有密钥Ki,对加密数据Eki(IDs,IDc,Rsi)进行解密,根据包含在该解密了的数据中的IDc和IDs,判断服务器10的正当性。在识别出服务器10的情况下,不只能够确定通信对方,还能够确认服务器10接收到了随机数Rci
然后,在上述判断结果是接收数据和预先存储在客户端20中的存储数据一致,判断出服务器10是正当的情况下,在存储了随机数Rci-1 、Rsi-1的存储区域中分别存储Rci、Rsi,根据这些随机数Rci、Rsi生成、存储共有密钥Ki+1后(步骤S35),结束该认证处理,转移到下一个数据传送处理。另一方面,在接收数据和存储数据不一致,判断出服务器10是不正当的情况下,拒绝来自服务器10的访问,结束该认证处理。
如上所述,根据该实施例6,在能够得到与上述实施例4一样的作用、效果的基础上,通过向通信对方发送用共有密钥Ki对IDc、IDs和随机数Rsi进行了加密的加密数据Eki(IDs,IDc,Rsi),由此例如即使在由攻击者改写了加密数据的情况下,由于包含在加密数据中的ID信息(IDs,IDc)没有被正确解密,所以接收到该数据的服务器10或客户端20也能够容易地检测出发送来的加密数据是错误的,能够不接受随机数而废弃。另外,即使在SIGNALc1的值与其他多个客户端重复的情况下,通过参照包含在加密数据中的ID信息(IDs、IDc),也能够容易地确定通信对方。
进而,根据该实施例6,通过确认通信对方是否正确地对服务器、客户端的ID信息(IDs、IDc)进行了加密,来判断通信对方的正当性,因此能够将在上述实施例4中需要进行3次的通信次数降低为2次,能够进行更有效率的认证。
(实施例7)
图13是说明本发明的认证方法的实施例7的图。在本实施例7中,首先,客户端20生成随机数Rci(第1随机数),同时作为SIGNALc1(第1一次性ID)求出将在与服务器10之间预先共有了的固定共有密钥K、随机数Rci-1(第1存储随机数)和随机数Rsi-1(第2存储随机数)作为参数的伪随机数函数prf(K,Rci-1,Rsi-1)的函数值(步骤S41)。
另外,Rci是在第i个会话中由客户端20生成的随机数,Rsi是在第i个会话中由服务器10生成的随机数。另外,在前次(第i-1次)会话中生成随机数Rci-1、Rsi-1存储在服务器10和客户端20的各存储装置13、23的存储区域中。
然后,客户端20在生成SIGNALc1后,向服务器10发送用共有密钥K对IDc(客户端ID)、IDs(服务器ID)和随机数Rci进行了加密的加密数据Ek(IDc,IDs,Rci)、SIGNALc1(步骤S42)。
服务器10如果从客户端20接收到SIGNALc1,则根据共有密钥K、随机数Rci-1和随机数Rsi-1通过计算求出SIGNALc1,通过对该计算结果和从客户端20接收到的SIGNALc1进行比较,识别客户端20,在无法识别的情况下,拒绝通信。在能够识别的情况下,使用共有密钥K对加密数据Ek(IDc,IDs,Rci)进行解密,根据包含在该解码了的数据中的IDc、IDs,判断客户端20的正当性。
在上述判断结果是接收数据和预先存储在服务器10中的存储数据一致,判断出客户端20是正当的情况下,生成随机数Rsi(第2随机数),同时作为SIGNALs1(第2一次性ID)求出将随机数Rci、随机数Rsi-1和共有密钥K作为参数的伪随机数函数prf(K、Rci,Rsi-1)的函数值。然后,在存储了随机数Rci-1、Rsi-1的存储区域中分别存储Rci、Rsi(步骤S43)。
接着,服务器10向客户端20发送用共有密钥K对IDc、IDs和随机数Rsi进行了加密的数据Ek(IDs、IDc、Rsi)、SIGNALs1(步骤S44)。
另一方面,在接收数据和存储数据不一致,判断出客户端20是不正当的情况下,拒绝从客户端20的访问,结束该认证处理。
客户端20如果从服务器10接收到SIGNALs1,则根据共有密钥K、随机数Rci和随机数Rsi-1通过计算求出SIGNALs1,通过对该计算结果和从客户端20接收到的SIGNALs1进行比较,识别服务器10,在无法识别的情况下,拒绝通信。另一方面,在能够识别的情况下,使用共有密钥K,对加密数据Ek(IDs,IDc,Rsi)进行解密,根据包含在该解密了的数据中的IDc和IDs,判断服务器10的正当性。在识别出服务器10的情况下,不只能够确定通信对方,还能够确认服务器10接收到了随机数Rci
然后,在上述判断结果是接收数据和预先存储在客户端20中的存储数据一致,判断出服务器10是正当的情况下,在存储了随机数Rci-1、Rsi-1的存储区域中分别存储Rci、Rsi,根据这些随机数Rci、Rsi生成、存储共有密钥K后(步骤S45),结束该认证处理,转移到下一个数据传送处理。另一方面,在接收数据和存储数据不一致,判断出服务器10是不正当的情况下,拒绝来自服务器10的访问,结束该认证处理。
如上所述,根据该实施例7,在能够得到与上述实施例5一样的作用、效果的基础上,即使在例如由攻击者改写了加密数据的情况下,接收到该数据的服务器10或客户端20也能够容易地检测出发送来的加密数据是错误的,能够不接受随机数而废弃。另外,即使在SIGNALc1的值与其他多个客户端重复的情况下,通过参照包含在加密数据中的ID信息(IDs、IDc),也能够容易地确定通信对方。进而,根据本实施例7,能够将在上述实施例4中需要进行3次的通信次数降低为2次,能够进行更有效率的认证。
(实施例8)
在本实施例8中,说明使用了一次性ID的重复攻击的防止方法。重复攻击是指攻击者(第三者)窃听在过去正当的通信者进行发送时有效的通信信息,并进行再利用的攻击。
首先,根据图4说明利用了被称为OSPA(Optimal StrongPassword Authentication)的密码的认证方式(Chun-Li Lin,Hung-Min SUN,TzoneLih HWANG,Attacks and Solutions on Strong-Password Authentication,IEICE TRANS.COMMUN.,Vol.E84-B.No.9,September 2001.)。
在该认证之前,在客户端20中预先存储保存散列函数h和密码P,在服务器10中预先存储保存散列函数h、会话次数n、IDc(客户端ID)和验证用信息h2(P@n)。验证用信息h2(P@n)是用来验证客户端20的正当性的信息,并且是使用密码P和通信次数n的异或通过散列函数h生成的信息。另外,h2(P@n)表示进行2次散列函数h的计算,即h(h(P@n)),该公式中的@表示异或。
在该认证方式中,首先客户端20向服务器10发送IDc(步骤S51)。
服务器10如果从客户端20接收到IDc,则通过对该接收到的IDc和预先存储的IDc进行比较,识别客户端20,在无法识别的情况下,拒绝通信。在能够识别的情况下,向服务器10发送会话次数n(步骤S52)。
客户端20如果从服务器10接收到会话次数n,则使用该接收到的会话次数n、预先存储的散列函数h和密码P,生成第1~第3认证用信息C1、C2、C3(步骤S53),并向服务器10发送这些C1、C2、C3(步骤S54)。在此,C1=h(P@n)@h2(P@n),C2=h2(P@(n+1))@h(P@n),C3=h3(P@(n+1))。
服务器10如果从客户端20接收到C1、C2、C3,则首先确认接收到的C1≠C2。这是因为由于有可能产生以下的问题:在计算C1=h(P@n)@h2(P@n),C2=h(P@n)@h2(P@n),C3=h3(P@n)并发送的情况下,服务器10认证客户端20,作为下一个验证用信息,并不存储h2(P@(n+1)),而是存储h2(P@n),所以要防止产生这样的问题。
接着,服务器10通过计算从C1、C2求出h(P@n)、h2(P@(n+1))。即,通过求出接收到的C1与预先存储的验证用信息h2(P@n)的异或来导出h(P@n),通过求出该h(P@n)和接收到的C2的异或来导出h2(P@(n+1))。
接着,使用预先存储的散列函数h,从求出的h(P@n)计算h(h(P@n)),验证该h(h(P@n))是否与预先存储的验证用信息h2(P@n)一致。同时从求出的h2(P@(n+1))使用上述散列函数h计算h(h2(P@(n+1))),并验证该h(h2(P@(n+1)))是否与接收到的C3一致(步骤S55)。
在这些验证结果是都一致,判断出客户端20是正当的情况下,将验证用信息从h2(P@n)更新为h2(P@(n+1)),在将会话次数从n更新为n+1后,许诺从客户端20的访问,结束该认证处理。
另一方面,在上述认证结果是至少任意一个不一致,判断出客户端20不正当的情况下,拒绝从客户端20的访问,结束该认证处理。
通过上述认证方式,能够进行对窃听者的安全的认证,同时具有以下优点:能够在每次会话时将验证用信息从h2(P@n)更新为h2(P@(n+1))。
但是,在上述认证方式中,具有无法防止将一次使用过的认证信息C1、C2、C3再次使用而进行的重复攻击的问题。
所以,本发明者等作为解决这样的问题的认证方式,开发出了以下的认证方式。
图15是说明本发明的认证方法的实施例8的图。如该图15所示,在客户端20中预先存储保存散列函数h和密码P,在服务器10中预先存储保存散列函数h、会话次数n、IDc和验证用信息h2(P@n)的情况下,首先客户端20向服务器10发送IDc(步骤S61)。
服务器10如果从客户端20接收到IDc,则通过对该接收到的IDc和预先存储的IDc进行比较,来识别客户端20,在无法识别的情况下,拒绝通信。在能够识别的情况下,向服务器10发送会话次数n(步骤S62)。
客户端20如果从服务器10接收到会话次数n,则使用该接收到的会话次数n、预先存储的散列函数h和密码P,生成第1~第3认证用信息C1、C2、C3、SIGNALn(步骤S63),并将这些C1、C2、C3、SIGNALn发送到服务器10(步骤S64)。在此,C1=h(P@n)@h2(P@n),C2=h2(P@(n+1))@h(P@n),C3=h3(P@(n+1)),SIGNALn=h(h2(P@n),n)。即。作为在第n个会话中使用的一次性ID的SIGNALn成为将验证用信息h2(P@n)和会话次数n作为参数的散列函数h的函数值。
服务器10如果从客户端20接收到C1、C2、C3、SIGNALn,则首先根据预先存储的验证用信息h2(P@n)和会话次数n通过计算求出SIGNALn,通过对该计算结果和从客户端20接收到的SIGNALn进行比较,识别客户端20,在无法识别的情况下,拒绝通信。在能够识别的情况下,在确认了接收到的C1≠C2后,从C1和C2通过计算求出h(P@n)、h2(P@(n+1))。
接着,服务器10使用预先存储的散列函数h,从求出的h(P@n)计算h(h(P@n)),并验证该h(h(P@n))是否与预先存储的验证用信息h2(P@n)一致。同时,从求出的h2(P@(n+1)),使用上述散列函数h计算h(h2(P@(n+1))),并验证该h(h2(P@(n+1)))是否与接收到的C3一致(步骤S65)。
在这些验证结果是都一致,判断出客户端20是正当的情况下,将验证用信息从h2(P@n)更新为h2(P@(n+1)),在将会话次数从n更新为n+1后,许诺从客户端20的访问,结束该认证处理。
另一方面,在上述认证结果是至少任意一个不一致,判断出客户端20是不正当的情况下,拒绝从客户端20的访问,结束该认证处理。
根据上述认证方式,由于攻击者不会知道作为验证用信息的h2(P@n),所以攻击者无法预测下一个会话的SIGNAL。并且,由于在其他会话中无法使用SIGNAL,所以能够有效地防止攻击者的重复攻击。
另外,如图16所示,在散列函数h和密码P以外,还预先在客户端20中存储保存会话次数n的情况下,能够省略上述的步骤S61、62的处理。所以,在该情况下,在谋求对ID信息(IDc)的窃听的保护的同时,还能够有效地防止攻击者的重复攻击。
另外,在以上各实施例中,在多个装置间的验证中使用一次性ID,但也可以在一个装置内的多个应用程序之间的认证中使用一次性ID。
另外,在上述各实施例中,示例了在客户端服务器系统中适用本发明的认证方法的情况,但并不限于此,例如,也可以在P2P(Peer to Peer)系统中适用本发明的认证方法。
另外,也可以在用户的每次访问时利用本发明的认证方法,在该情况下,可以催促用户输入密码,将密码或从密码生成的值以及一次性ID作为认证用数据。
如以上说明的那样,根据本发明,能够生成难以窃听并且安全性优越的一次性ID,能够实现一次性ID的将来的安全性(PFS)。
另外,使用通过本发明的一次性ID的生成方法生成的一次性ID,在装置间(客户端、服务器间)进行认证,因此第三者无法确定发送者、接收者,另一方面,如果是正当的发送者、接收者,则能够作为识别信息掌握一次性ID。
因此,能够强化对DoS攻击和假冒等的耐性,即使在开放的网络环境下,也能够谋求ID信息的保护,提高通信的安全性。另外,能够进行远程访问,能够提高方便性。
另外,根据本发明,能够将在现有的密钥交换、认证方式中需要进行3次的通信次数降低为2次,能够实现迅速并且安全的认证和密钥交换。
根据附图所示的理想的实施例对本发明进行了说明,但本技术领域的技术人员当然可以不脱离本发明的思想地容易地得到各种变形和改变。本发明也包含这样的变形例子。

Claims (50)

1.一种相互认证方法,认证经由通信线路连接的第1认证装置和第2认证装置的相互关系,其特征在于包括:
将在上述第1认证装置和第2认证装置之间预先相互进行的认证的每次认证时使用前次认证的存储数据更新了用来确定上述第1认证装置的存储数据、用来确定第2认证装置的存储数据的更新结果作为履历数据,在上述第1认证装置和第2认证装置各自中共通地存储的存储步骤,其中
上述第1认证装置包含:使用存储的履历数据新生成存储数据,并且使用上述履历数据对生成的新的存储数据进行加密并发送到第2认证装置的第1发送步骤;根据来自上述第2认证装置的存储数据和上述发送的新存储数据,更新上述履历数据的第1更新步骤,
上述第2认证装置包含:使用来自上述第1认证装置的存储数据和存储的履历数据新生成存储数据,并且使用上述履历数据对生成的新存储数据进行加密并发送到第1认证装置的第2发送步骤;根据来自上述第1认证装置的存储数据和上述发送的新存储数据,更新上述履历数据的第2更新步骤,
在上述第1认证装置和第2认证装置的至少一方装置中,在根据履历数据而存储数据的正当性成立时,验证为第1认证装置和第2认证装置的相互关系是正当的。
2.根据权利要求1所述的相互认证方法,其特征在于:
将上述履历数据作为履历数据K,作为该履历数据K存储的用来确定上述第1认证装置的存储数据是密码数据C和认证数据R,用来确定上述第2认证装置的存储数据是密码数据S和认证数据Q。
3.根据权利要求2所述的相互认证方法,其特征在于:
上述第1发送步骤使用所存储的履历数据K的密码数据S和认证数据R,新生成密码数据C,并且针对所存储的履历数据K的认证数据R进行新生成,使用上述履历数据K对生成的新认证数据R进行加密而求出认证数据A,向上述第2认证装置发送上述认证数据A和新的密码数据C,
上述第1更新步骤从上述第2认证装置接收数据,根据上述发送了的新的密码数据C、接收到的新生成的密码数据S、接收到的新生成的认证数据Q、上述发送了的新的认证数据R,更新上述履历数据K,
上述第2发送步骤从上述第1认证装置接收数据,使用接收到的新的密码数据C和所存储的履历数据K的认证数据Q,新生成密码数据S,并且针对所存储的履历数据K的认证数据Q进行新生成,使用存储了生成的新认证数据Q的履历数据K进行加密而求出认证数据B,向第1认证装置发送上述认证数据B和新的密码数据S,
上述第2更新步骤根据接收到的新的密码数据C、新生成的密码数据S、新生成的认证数据Q、接收到的新的认证数据R,更新上述履历数据K,
在上述第1认证装置和第2认证装置的至少一方装置中,在根据履历数据K而密码数据的正当性成立时,验证为第1认证装置和第2认证装置的相互关系是正当的。
4.根据权利要求1所述的相互认证方法,其特征在于:
在上述存储步骤中,作为履历数据存储上述第1发送步骤、第1更新步骤、第2发送步骤、第2更新步骤中的认证的更新结果。
5.根据权利要求2所述的相互认证方法,其特征在于:
上述认证数据R和认证数据Q的至少一方是通过随机数产生装置产生的随机数、数据容量、时间数据的至少一个。
6.根据权利要求2所述的相互认证方法,其特征在于:
在上述第1认证装置的第1发送步骤中,作为密码数据C生成基于上述密码数据S和认证数据R的预先确定了的函数的运算结果的值,在上述第2认证装置的第2发送步骤中,作为密码数据S生成基于上述密码数据C和上述认证数据Q的预先确定了的函数的运算结果的值。
7.根据权利要求2所述的相互认证方法,其特征在于:
在上述第1认证装置的第1发送步骤中,作为认证数据A求出基于上述生成了的新的认证数据R和上述履历数据K的预先确定了的函数的运算结果的值,在上述第2认证装置的第2发送步骤中,作为认证数据B求出基于上述生成了的新的认证数据Q和上述履历数据K的预先确定了的函数的运算结果的值。
8.根据权利要求2所述的相互认证方法,其特征在于:
上述第1认证装置的验证步骤在基于上述履历数据K中的所存储的认证数据Q和前次发送前所生成的密码数据C的预先确定了的函数的运算结果的值与接收到的密码数据S一致时,验证为上述相互关系是正当的。
9.根据权利要求2所述的相互认证方法,其特征在于:
上述第2认证装置的验证步骤在基于上述履历数据K中的所存储的密码数据S和认证数据R的预先确定了的函数的运算结果的值与接收到的密码数据C一致时,验证为上述相互关系是正当的。
10.根据权利要求2所述的相互认证方法,其特征在于:
上述存储步骤将执行多个上述第1发送步骤、第2发送步骤、第1更新步骤和第2更新步骤的结果所得到的数据作为履历数据K存储。
11.一种相互认证装置,由经由通信线路连接的第1认证装置和第2认证装置构成,并认证上述第1认证装置和第2认证装置之间的相互关系,其特征在于包括:
设置在上述第1认证装置中,存储用来确定该第1认证装置的存储数据的第1存储器;
设置在上述第2认证装置中,存储用来确定该第2认证装置的存储数据的第2存储器;
在上述第1认证装置和第2认证装置之间预先相互进行的认证的每次认证时,存储前次认证的存储数据的认证数据存储装置;
将使用上述认证数据更新了的更新结果作为履历数据,共通地存储在上述第1认证装置和第2认证装置各自中的履历数据存储装置;
设置在上述第1认证装置或第2认证装置中的认证用数据发送侧的认证装置中,使用上述履历数据新生成存储数据的存储数据生成装置;
使用上述履历数据对生成的新存储数据进行加密,并发送到认证用数据接收侧的认证装置的第1发送装置;
设置在认证用数据接收侧的认证装置中,使用来自上述认证用数据发送侧的认证装置的存储数据和存储的履历数据,新生成存储数据的存储数据生成装置;
使用上述履历数据对生成的新存储数据进行加密,并回送到上述认证用数据发送侧的认证装置的第2发送装置;
设置在认证用数据发送侧的认证装置中,根据从上述认证用数据接收侧的认证装置回送的存储数据和上述发送了的新存储数据,更新上述履历数据的第1更新装置;
设置在认证用数据接收侧的认证装置中,根据来自上述认证用数据发送侧的认证装置的存储数据和上述回送的新存储数据,更新上述履历数据的第2更新装置,其中
在上述第1认证装置和第2认证装置的至少一方中具备:在根据上述履历数据而存储数据的正当性成立时,验证为第1认证装置和第2认证装置的相互关系是正当的验证装置。
12.根据权利要求11所述的相互认证装置,其特征在于还包括:
计算用来使用上述履历数据对生成的新存储数据进行加密的认证用数据的计算装置。
13.根据权利要求12所述的相互认证装置,其特征在于还包括:
在通过上述计算装置生成认证用数据时,生成加密用的数据的随机数产生装置。
14.一种一次性ID的生成方法,在多个进行相互认证的装置间或应用程序间的认证中,将只限使用一次的识别信息作为一次性ID,生成该一次性ID,其特征在于:
在进行上述认证的装置或应用程序的各自中,生成在上述认证所必需的每个规定通信单位中都变化的可变共有密钥,同时求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID。
15.一种一次性ID的生成方法,在多个装置间或应用程序间的认证中,将只限使用一次的识别信息作为一次性ID,生成该一次性ID,其特征在于:
在进行上述认证的装置或应用程序的各自中,生成在上述认证所必需的每个规定通信单位中都变化的可变共有密钥,同时求出将该可变共有密钥和与通信顺序或次数有关的信息作为参数的单向函数的函数值,从该函数值生成上述一次性ID。
16.一种一次性ID的生成方法,在多个装置间或应用程序间的认证中,将只限使用一次的识别信息作为一次性ID,生成该一次性ID,其特征在于:
在进行上述认证的装置或应用程序的各自中,在上述认证所必需的每个规定通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID。
17.一种一次性ID的生成方法,是在一方装置和另一方装置之间的认证中将只限使用一次的识别信息作为一次性ID,在双方装置中生成该一次性ID,同时一方装置向另一方装置发送一次性ID,另一方装置通过对从一方装置接收到的一次性ID和自己生成的一次性ID进行比较和对照,识别或认证另一方装置的情况下,一方装置和另一方装置生成一次性ID的方法,其特征在于:
一方装置和另一方装置生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥作为参数的单向函数的函数值,并从该函数值生成上述一次性ID。
18.一种一次性ID的生成方法,是在一方装置和另一方装置之间的认证中将只限使用一次的识别信息作为一次性ID,在双方装置中生成该一次性ID,同时一方装置向另一方装置发送一次性ID,另一方装置通过对从一方装置接收到的一次性ID和自己生成的一次性ID进行比较和对照,识别或认证另一方装置的情况下,一方装置和另一方装置生成一次性ID的方法,其特征在于:
一方装置和另一方装置生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥和与通信顺序或次数有关的信息作为参数的单向函数的函数值,并从该函数值生成上述一次性ID。
19.一种一次性ID的生成方法,是在一方装置和另一方装置之间的认证中将只限使用一次的识别信息作为一次性ID,在双方装置中生成该一次性ID,同时一方装置向另一方装置发送一次性ID,另一方装置通过对从一方装置接收到的一次性ID和自己生成的一次性ID进行比较和对照,识别或认证另一方装置的情况下,一方装置和另一方装置生成一次性ID的方法,其特征在于:
一方装置和另一方装置在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,并从该函数值生成上述一次性ID。
20.一种认证方法,在装置间或应用程序间的认证中,将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中都变化的可变共有密钥,同时求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成一次性ID,使用该生成的一次性ID,进行第1装置和第2装置之间的认证,其特征在于包括:
上述第1装置使用在与上述第2装置之间预先共有了的可变共有密钥生成上述一次性ID,同时向上述第2装置发送至少将该生成了的一次性ID、在该第1装置中预先设置了的ID作为参数的单向函数Fc的函数值、预先存储在该第1装置中的Diffie-Hellman公开值的一方的步骤;
上述第2装置通过计算求出上述一次性ID和上述单向函数Fc的函数值,对该计算结果、从上述第1装置接收到的一次性ID和单向函数Fc的函数值进行对照,判断上述第1装置的正当性的步骤;
上述第2装置在判断出上述第1装置是正当的情况下,向上述第1装置发送至少将预先设置在该第2装置中的ID作为参数的单向函数Fs的函数值、预先存储在该第2装置中的Diffie-Hellman公开值的另一方的步骤;
上述第1装置通过计算求出上述单向函数Fs的函数值,对该计算结果、从上述第2装置接收到的单向函数Fs的函数值进行对照,判断上述第2装置的正当性的步骤。
21.根据权利要求20所述的认证方法,其特征在于:
作为上述单向函数Fc,使用将规定的共有密钥、上述Diffie-Hellman公开值的一方、预先设置在上述第1装置中的ID、上述一次性ID作为参数的伪随机数函数,
同时作为上述单向函数Fs,使用将上述规定的共有密钥、上述Diffie-Hellman公开值的一方、上述Diffie-Hellman公开值的另一方、预先设置在上述第2装置中的ID、上述一次性ID作为参数的伪随机数函数。
22.一种认证方法,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥和与通信顺序或次数有关的信息作为参数的单向函数的函数值,从该函数生成一次性ID,使用该一次性ID进行第1装置和第2装置之间的认证,其特征在于包括:
上述第1装置作为第1一次性ID生成将在与上述第2装置之间预先共有了的第1可变共有密钥、与该第1装置的通信顺序有关的信息作为参数的单向函数的函数值,同时使用上述第1可变共有密钥,对预先设置在该第1装置中的ID、预先设置在上述第2装置中的ID、预先存储在该第1装置中的Diffie-Hellman公开值的一方和上述第1一次性ID进行加密,向上述第2装置发送该加密数据和上述第1一次性ID的步骤;
上述第2装置通过计算求出上述第1一次性ID,通过对该计算结果、从上述第1装置接收到的上述第1一次性ID进行对照,识别上述第1装置的步骤;
上述第2装置在识别出上述第1装置的情况下,使用上述第1可变共有密钥解密上述加密数据,根据包含在该解密了的数据中的预先设置在上述第1装置中的ID、预先设置在该第2装置中的ID和上述第1一次性ID,判断上述第1装置的正当性的步骤;
上述第2装置在判断出上述第1装置是正当的情况下,作为第2一次性ID生成将上述第1可变共有密钥和与该第2装置的通信顺序有关的信息作为参数的单向函数的函数值,同时作为第2可变共有密钥根据从上述第1装置接收到的Diffie-Hellman公开值的一方和预先存储在该第2装置中的Diffie-Hellman公开值的另一方生成Diffie-Hellman共通密钥,向上述第1装置发送将该第2可变共有密钥、预先设置在上述第1装置中的ID、预先设置在该第2装置中的ID和上述第2一次性ID作为参数的单向函数h的函数值、上述Diffie-Hellman公开值的另一方、上述第2一次性ID的步骤;
上述第1装置通过计算求出上述第2一次性ID,通过对该计算结果、从上述第2装置接收到的上述第2一次性ID进行对照,识别上述第2装置的步骤;
上述第1装置在识别出上述第2装置的情况下,作为上述第2可变共有密钥根据从上述第2装置接收到的上述Diffie-Hellman公开值的另一方、预先存储在该第1装置中的上述Diffie-Hellman公开值的一方生成Diffie-Hellman共通密钥,同时使用该第2可变共有密钥,通过计算求出上述单向函数h的函数值,通过对该计算结果、从上述第2装置接收到的单向函数h的函数值进行对照,判断上述第2装置的正当性的步骤。
23.根据权利要求22所述的认证方法,其特征在于:
作为生成上述第2一次性ID的单向函数,使用与生成上述第1一次性ID的单向函数不同的单向函数。
24.一种认证方法,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数生成上述一次性ID,使用该生成的一次性ID进行第1装置和第2装置之间的认证,其特征在于包括:
上述第1装置生成第1随机数,同时作为第1一次性ID求出将在与上述第2装置之间预先共有了的第1共有密钥作为参数的单向函数的函数值,向上述第2装置发送该第1一次性ID和上述第1随机数的步骤;
上述第2装置生成第2随机数,同时作为第2一次性ID求出将上述第1随机数和上述第1共有密钥作为参数的单向函数的函数值,向上述第1装置发送该第2一次性ID和上述第2随机数的步骤;
上述第1装置根据上述第1随机数和上述第1共有密钥,通过计算求出上述第2一次性ID,通过对该计算结果、从上述第2装置接收到的上述第2一次性ID进行比较,判断上述第2装置的正当性的步骤;
上述第1装置根据上述第1随机数和上述第2随机数生成第2共有密钥,同时作为第3一次性ID求出将该第2共有密钥、上述第1随机数和上述第2随机数作为参数的单向函数的函数值,向上述第2装置发送该第3一次性ID的步骤;
上述第2装置根据上述第1随机数和上述第2随机数生成上述第2共有密钥,同时根据该第2共有密钥、上述第1随机数和上述第2随机数通过计算求出上述第3一次性ID,通过对该计算结果、从上述第1装置接收到的上述第3一次性ID进行比较,判断上述第1装置的正当性的步骤。
25.一种认证方法,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共用密钥作为参数的单向函数的函数值,从该函数生成上述一次性ID,使用该生成的一次性ID进行第1装置和第2装置之间的认证,其特征在于包括:
上述第1装置生成第1随机数,同时作为第1一次性ID求出将在与上述第2装置之间预先共有了的共有密钥作为参数的单向函数的函数值,向上述第2装置发送该第1一次性ID和上述第1随机数的步骤;
上述第2装置生成第2随机数,同时作为第2一次性ID求出将上述第1随机数和上述共有密钥作为参数的单向函数的函数值,向上述第1装置发送该第2一次性ID和上述第2随机数的步骤;
上述第1装置根据上述第1随机数和上述共有密钥,通过计算求出上述第2一次性ID,通过对该计算结果、从上述第2装置接收到的上述第2一次性ID进行比较,判断上述第2装置的正当性的步骤;
上述第1装置作为第3一次性ID求出将上述第1随机数、上述第2随机数和上述共有密钥作为参数的单向函数的函数值,向上述第2装置发送该第3一次性ID的步骤;
上述第2装置根据上述第1随机数、上述第2随机数和上述共有密钥通过计算求出上述第3一次性ID,通过对该计算结果、从上述第1装置接收到的上述第3一次性ID进行比较,判断上述第1装置的正当性的步骤。
26.根据权利要求24所述的认证方法,其特征在于:
在用在上述第1装置和上述第2装置之间预先共有了的共有密钥对上述第1随机数和上述第2随机数进行了加密的状态下进行发送。
27.根据权利要求所述的认证方法,其特征在于:
在用在上述第1装置和上述第2装置之间预先共有了的共有密钥对上述第1随机数和上述第2随机数进行了加密的状态下进行发送。
28.根据权利要求24~26中的任意一个所述的认证方法,其特征在于:
在上述第2装置向上述第1装置发送上述第2一次性ID和上述第2随机数的步骤中,上述第2装置将在与上述第1装置之间预先共有了的随机数作为初始随机数,进行将该初始随机数和上述第1随机数作为参数的规定的计算,向上述第1装置发送该计算结果,另一方面上述第1装置作为上述第2装置的正当性的判断材料,与上述第2一次性ID一起使用从上述第2装置接收到的上述计算结果。
29.根据权利要求24所述的认证方法,其特征在于:
在上述第1装置向上述第2装置发送上述第3一次性ID的步骤中,上述第1装置进行将上述第1随机数和上述第2随机数作为参数的规定的计算,向上述第2装置发送该计算结果,另一方面上述第2装置作为上述第1装置的正当性的判断材料,与上述第3一次性ID一起使用从上述第1装置接收到的上述计算结果。
30.根据权利要求25所述的认证方法,其特征在于:
在上述第1装置向上述第2装置发送上述第3一次性ID的步骤中,上述第1装置进行将上述第1随机数和上述第2随机数作为参数的规定的计算,向上述第2装置发送该计算结果,另一方面上述第2装置作为上述第1装置的正当性的判断材料,与上述第3一次性ID一起使用从上述第1装置接收到的上述计算结果。
31.一种认证方法,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数生成上述一次性ID,使用该生成的一次性ID进行第1装置和第2装置之间的认证,其特征在于包括:
上述第1装置生成第1随机数,同时作为第1一次性ID求出将在与上述第2装置之间预先共有了的共有密钥、第1存储随机数和第2存储随机数作为参数的单向函数的函数值,向上述第2装置发送用上述共有密钥对预先设置在该第1装置中的ID、预先设置在上述第2装置中的ID和上述第1随机数进行了加密了的第1加密数据、上述第1一次性ID的步骤;
上述第2装置通过计算求出上述第1一次性ID,通过对该计算结果、从上述第1装置接收到的上述第1一次性ID进行对照,识别上述第1装置的步骤;
上述第2装置在识别出上述第1装置的情况下,使用上述共有密钥对上述第1加密数据进行解密,根据包含在该解密了的数据中的预先设置在上述第1装置中的ID和预先设置在该第2装置中的ID,判断上述第1装置的正当性的步骤;
上述第2装置在判断出上述第1装置是正当的情况下,生成第2随机数,同时作为第2一次性ID求出将上述第1随机数、上述第2存储随机数和上述共有密钥作为参数的单向函数的函数值,向上述第1装置发送用上述共有密钥对预先设置在上述第1装置中的ID、预先设置在该第2装置中的ID和上述第2随机数进行了加密的第2加密数据、上述第2一次性ID的步骤;
上述第2装置将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数的步骤;
上述第1装置通过计算求出上述第2一次性ID,通过对该计算结果、从上述第2装置接收到的上述第2一次性ID进行对照,识别上述第2装置的步骤;
上述第1装置在识别出上述第2装置的情况下,使用上述共有密钥对上述第2加密数据进行解密,根据包含在该解密了的数据中的预先设置在上述第2装置中的ID和预先设置在该第1装置中的ID,判断上述第2装置的正当性的步骤;
上述第1装置将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数的步骤。
32.根据权利要求31所述的认证方法,其特征在于:
在将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数后,通过根据这些第1存储随机数和第2存储随机数生成上述共有密钥,来使该共有密钥变化。
33.一种服务器,在装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间进行认证,其特征在于包括:
从上述客户端接收至少将预先设置在上述客户端中的客户端ID作为参数的单向函数Fc的函数值、预先存储在上述客户端中的Diffie-Hellman公开值的一方、上述一次性ID的接收装置;
通过计算求出上述单向函数的函数值Fc和上述一次性ID,通过对该计算结果、从上述客户端接收到的上述一次性ID和上述单向函数Fc的函数值进行比较,判断上述客户端的正当性的判断装置;
在上述判断装置判断出上述客户端是正当的情况下,向上述客户端发送至少将预先设置在该服务器中的服务器ID作为参数的单向函数Fs的函数值、预先存储在该服务器中的Diffie-Hellman公开值的另一方的发送装置。
34.一种客户端,在装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与服务器之间进行认证,其特征在于包括:
使用在与上述服务器之间预先共有了的可变共有密钥生成上述一次性ID,同时通过计算求出至少将预先设置在该客户端中的客户端ID作为参数的单向函数Fc的函数值,向上述服务器发送这些一次性ID和单向函数Fc的函数值、预先存储在该客户端中的Diffie-Hellman公开值的一方的发送装置;
从上述服务器接收至少将预先设置在上述服务器中的服务器ID作为参数的单向函数Fs的函数值、预先存储在上述服务器中的Diffie-Hellman公开值的另一方的接收装置;
通过计算求出上述单向函数Fs的函数值,通过对该计算结果、从上述服务器接收到的上述单向函数Fs的函数值进行比较,判断上述服务器的正当性的判断装置。
35.一种认证系统,由服务器和客户端构成,上述服务器和客户端在装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间进行认证,其特征在于:
上述服务器具备:
从上述客户端接收至少将预先设置在上述客户端中的客户端ID作为参数的单向函数Fc的函数值、预先存储在上述客户端中的Diffie-Hellman公开值的一方、上述一次性ID的接收装置;
通过计算求出上述单向函数的函数值Fc和上述一次性ID,通过对该计算结果、从上述客户端接收到的上述一次性ID和上述单向函数Fc的函数值进行比较,判断上述客户端的正当性的判断装置;
在上述判断装置判断出上述客户端是正当的情况下,向上述客户端发送至少将预先设置在该服务器中的服务器ID作为参数的单向函数Fs的函数值、预先存储在该服务器中的Diffie-Hellman公开值的另一方的发送装置,
上述客户端具备:
使用在与上述服务器之间预先共有了的可变共有密钥生成上述一次性ID,同时通过计算求出至少将预先设置在该客户端中的客户端ID作为参数的单向函数Fc的函数值,向上述服务器发送这些一次性ID和单向函数Fc的函数值、预先存储在该客户端中的Diffie-Hellman公开值的一方的发送装置;
从上述服务器接收至少将预先设置在上述服务器中的服务器ID作为参数的单向函数Fs的函数值、预先存储在上述服务器中的Diffie-Hellman公开值的另一方的接收装置;
通过计算求出上述单向函数Fs的函数值,通过对该计算结果、从上述服务器接收到的上述单向函数Fs的函数值进行比较,判断上述服务器的正当性的判断装置。
36.一种程序,是在装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间进行认证的服务器中执行的程序,其特征在于:
使上述服务器执行以下的处理:
从上述客户端接收至少将预先设置在上述客户端中的客户端ID作为参数的单向函数Fc的函数值、预先存储在上述客户端中的Diffie-Hellman公开值的一方、上述一次性ID的处理;
通过计算求出上述单向函数的函数值Fc和上述一次性ID,通过对该计算结果、从上述客户端接收到的上述一次性ID和上述单向函数Fc的函数值进行比较,判断上述客户端的正当性的处理;
在判断出上述客户端是正当的情况下,向上述客户端发送至少将预先设置在上述服务器中的服务器ID作为参数的单向函数Fs的函数值、预先存储在上述服务器中的Diffie-Hellman公开值的另一方的处理。
37.一种程序,是在装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与服务器之间进行认证的客户端中执行的程序,其特征在于:
使上述客户端执行以下的处理:
使用在与上述服务器之间预先共有了的可变共有密钥生成上述一次性ID,同时通过计算求出至少将预先设置在上述客户端中的客户端ID作为参数的单向函数Fc的函数值,向上述服务器发送这些一次性ID和单向函数Fc的函数值、预先存储在上述客户端中的Diffie-Hellman公开值的一方的处理;
从上述服务器接收至少将预先设置在上述服务器中的服务器ID作为参数的单向函数Fs的函数值、预先存储在上述服务器中的Diffie-Hellman公开值的另一方的处理;
通过计算求出上述单向函数Fs的函数值,通过对该计算结果、从上述服务器接收到的上述单向函数Fs的函数值进行比较,判断上述服务器的正当性的处理。
38.一种服务器,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥和与通信顺序或次数有关的信息作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间进行认证,其特征在于包括:
将在与上述客户端之间预先共有了的第1可变共有密钥、与上述客户端的通信顺序有关的信息作为参数的单向函数的函数值作为第1一次性ID,并从上述客户端接收用上述第1可变共有密钥对该第1一次性ID、预先设置在上述客户端中的客户端ID、预先设置在该服务器中的服务器ID、预先存储在上述客户端中的Diffie-Hellman公开值的一方进行了加密的加密数据、上述第1一次性ID的接收装置;
通过计算求出上述第1一次性ID,通过对该计算结果、从上述客户端接收到的上述第1一次性ID进行对照,识别上述客户端,在识别出上述客户端的情况下,使用上述第1可变共有密钥对上述加密数据进行解密,根据包含在该解密了的数据中的上述客户端ID、上述服务器ID和上述第1一次性ID,判断上述客户端的正当性的判断装置;
在上述判断装置判断出上述客户端是正当的情况下,作为第2一次性ID生成将上述第1可变共有密钥和与该服务器的通信顺序有关的信息作为参数的单向函数的函数值,同时作为第2可变共有密钥根据从上述客户端接收到的Diffie-Hellman公开值的一方、预先存储在该服务器中的Diffie-Hellman公开值的另一方生成Diffie-Hellman共通密钥,向上述客户端发送将该第2可变共有密钥、上述客户端ID、上述服务器ID和上述第2一次性ID作为参数的单向函数h的函数值、上述Diffie-Hellman公开值的另一方、上述第2一次性ID的发送装置。
39.一种客户端,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥和与通信顺序或次数有关的信息作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与服务器之间进行认证,其特征在于包括:
作为第1一次性ID生成将在与上述服务器之间预先共有了的第1可变共有密钥、与该客户端的通信顺序有关的信息作为参数的单向函数的函数值,同时使用上述第1可变共有密钥,对预先设置在该客户端中的客户端ID、预先设置在上述服务器中的服务器ID、预先存储在该客户端中的Diffie-Hellman公开值的一方和上述第1一次性ID进行加密,向上述服务器发送该加密数据和上述第1一次性ID的发送装置;
将上述第1可变共有密钥和与上述服务器的通信顺序有关的信息作为参数的单向函数的函数值作为第2一次性ID,将Diffie-Hellman共通密钥作为第2可变共有密钥,从上述服务器接收将上述第2一次性ID、上述第2可变共有密钥、上述客户端ID和上述服务器ID作为参数的单向函数h的函数值、预先存储在上述服务器中的Diffie-Hellman公开值的另一方、上述第2一次性ID的接收装置;
通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行对照,识别上述服务器,在识别出上述服务器的情况下,作为上述第2可变共有密钥根据从上述服务器接收到的上述Diffie-Hellman公开值的另一方、预先存储在该客户端中的上述Diffie-Hellman公开值的一方生成Diffie-Hellman共通密钥,同时使用该第2可变共有密钥,通过计算求出上述单向函数h的函数值,通过对该计算结果、从上述服务器接收到的单向函数h的函数值进行对照,判断上述服务器的正当性的判断装置。
40.一种认证系统,由服务器和客户端构成,上述服务器和客户端在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,生成在上述认证所必需的每个规定的通信单位中变化的可变共有密钥,同时求出将该可变共有密钥和与通信顺序或次数有关的信息作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间进行认证,其特征在于:
上述服务器具备:
将在与上述客户端之间预先共有了的第1可变共有密钥、与上述客户端的通信顺序有关的信息作为参数的单向函数的函数值作为第1一次性ID,并从上述客户端接收用上述第1可变共有密钥对该第1一次性ID、预先设置在上述客户端中的客户端ID、预先设置在该服务器中的服务器ID、预先存储在上述客户端中的Diffie-Hellman公开值的一方进行了加密的加密数据、上述第1一次性ID的接收装置;
通过计算求出上述第1一次性ID,通过对该计算结果、从上述客户端接收到的上述第1一次性ID进行对照,识别上述客户端,在识别出上述客户端的情况下,使用上述第1可变共有密钥对上述加密数据进行解密,根据包含在该解密了的数据中的上述客户端ID、上述服务器ID和上述第1一次性ID,判断上述客户端的正当性的判断装置;
在上述判断装置判断出上述客户端是正当的情况下,作为第2一次性ID生成将上述第1可变共有密钥和与该服务器的通信顺序有关的信息作为参数的单向函数的函数值,同时作为第2可变共有密钥根据从上述客户端接收到的Diffie-Hellman公开值的一方、预先存储在该服务器中的Diffie-Hellman公开值的另一方生成Diffie-Hellman共通密钥,向上述客户端发送将该第2可变共有密钥、上述客户端ID、上述服务器ID和上述第2一次性ID作为参数的单向函数h的函数值、上述Diffie-Hellman公开值的另一方、上述第2一次性ID的发送装置,
上述客户端具备:
作为第1一次性ID生成将在与上述服务器之间预先共有了的第1可变共有密钥、与该客户端的通信顺序有关的信息作为参数的单向函数的函数值,同时使用上述第1可变共有密钥,对预先设置在该客户端中的客户端ID、预先设置在上述服务器中的服务器ID、预先存储在该客户端中的Diffie-Hellman公开值的一方和上述第1一次性ID进行加密,向上述服务器发送该加密数据和上述第1一次性ID的发送装置;
将上述第1可变共有密钥和与上述服务器的通信顺序有关的信息作为参数的单向函数的函数值作为第2一次性ID,将Diffie-Hellman共通密钥作为第2可变共有密钥,从上述服务器接收将上述第2一次性ID、上述第2可变共有密钥、上述客户端ID和上述服务器ID作为参数的单向函数h的函数值、预先存储在上述服务器中的Diffie-Hellman公开值的另一方、上述第2一次性ID的接收装置;
通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行对照,识别上述服务器,在识别出上述服务器的情况下,作为上述第2可变共有密钥根据从上述服务器接收到的上述Diffie-Hellman公开值的另一方、预先存储在该客户端中的上述Diffie-Hellman公开值的一方生成Diffie-Hellman共通密钥,同时使用该第2可变共有密钥,通过计算求出上述单向函数h的函数值,通过对该计算结果、从上述服务器接收到的单向函数h的函数值进行对照,判断上述服务器的正当性的判断装置。
41.一种服务器,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间进行认证,其特征在于包括:
将在与上述客户端之间预先共有了的第1共有密钥作为参数的单向函数的函数值作为第1一次性ID,从上述客户端接收该第1一次性ID和在上述客户端中生成的第1随机数的第1接收装置;
生成第2随机数,同时作为第2一次性ID求出将上述第1随机数和上述第1共有密钥作为参数的单向函数的函数值,向上述客户端发送该第2一次性ID和上述第2随机数的发送装置;
将上述第1随机数、上述第2随机数和第2共有密钥作为参数的单向函数的函数值作为第3一次性ID,从上述客户端接收该第3一次性ID的第2接收装置;
根据上述第1随机数和上述第2随机数生成上述第2共有密钥,同时根据该第2共有密钥、上述第1随机数和上述第2随机数通过计算求出上述第3一次性ID,通过对该计算结果、从上述客户端接收到的上述第3一次性ID进行比较,判断上述客户端的正当性的判断装置。
42.一种客户端,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与服务器之间进行认证,其特征在于包括:
生成第1随机数,同时作为第1一次性ID求出将在与上述服务器之间预先共有了的第1共有密钥作为参数的单向函数的函数值,向上述服务器发送该第1一次性ID和上述第1随机数的第1发送装置;
将上述第1随机数、上述第1共有密钥作为参数的单向函数的函数值作为第2一次性ID,从上述服务器接收该第2一次性ID、在上述服务器中生成的第2随机数的接收装置;
根据上述第1随机数和上述第1共有密钥,通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行比较,判断上述服务器的正当性的判断装置;
在通过上述判断装置判断出上述服务器是正当的情况下,根据上述第1随机数和上述第2随机数生成第2共有密钥,同时作为第3一次性ID求出将该第2共有密钥、上述第1随机数和上述第2随机数作为参数的单向函数的函数值,向上述服务器发送该第3一次性ID的第2发送装置。
43.一种认证系统,由服务器和客户端构成,上述服务器和客户端在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间相互进行认证,其特征在于:
上述服务器具备:
将在与上述客户端之间预先共有了的第1共有密钥作为参数的单向函数的函数值作为第1一次性ID,从上述客户端接收该第1一次性ID和在上述客户端中生成的第1随机数的第1接收装置;
生成第2随机数,同时作为第2一次性ID求出将上述第1随机数和上述第1共有密钥作为参数的单向函数的函数值,向上述客户端发送该第2一次性ID和上述第2随机数的发送装置;
将上述第1随机数、上述第2随机数和第2共有密钥作为参数的单向函数的函数值作为第3一次性ID,从上述客户端接收该第3一次性ID的第2接收装置;
根据上述第1随机数和上述第2随机数生成上述第2共有密钥,同时根据该第2共有密钥、上述第1随机数和上述第2随机数通过计算求出上述第3一次性ID,通过对该计算结果、从上述客户端接收到的上述第3一次性ID进行比较,判断上述客户端的正当性的判断装置,
上述客户端具备:
生成第1随机数,同时作为第1一次性ID求出将在与上述服务器之间预先共有了的第1共有密钥作为参数的单向函数的函数值,向上述服务器发送该第1一次性ID和上述第1随机数的第1发送装置;
将上述第1随机数、上述第1共有密钥作为参数的单向函数的函数值作为第2一次性ID,从上述服务器接收该第2一次性ID、在上述服务器中生成的第2随机数的接收装置;
根据上述第1随机数和上述第1共有密钥,通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行比较,判断上述服务器的正当性的判断装置;
在通过上述判断装置判断出上述服务器是正当的情况下,根据上述第1随机数和上述第2随机数生成第2共有密钥,同时作为第3一次性ID求出将该第2共有密钥、上述第1随机数和上述第2随机数作为参数的单向函数的函数值,向上述服务器发送该第3一次性ID的第2发送装置。
44.一种服务器,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间进行认证,其特征在于包括:
将在与上述客户端之间预先共有了的共有密钥作为参数的单向函数的函数值作为第1一次性ID,从上述客户端接收该第1一次性ID和在上述客户端中生成的第1随机数的第1接收装置;
生成第2随机数,同时作为第2一次性ID求出将上述第1随机数和上述共有密钥作为参数的单向函数的函数值,向上述客户端发送该第2一次性ID和上述第2随机数的发送装置;
将上述共有密钥、上述第1随机数和上述第2随机数作为参数的单向函数的函数值作为第3一次性ID,从上述客户端接收该第3一次性ID的第2接收装置;
根据上述第1随机数、上述第2随机数和上述共有密钥通过计算求出上述第3一次性ID,通过对该计算结果、从上述客户端接收到的上述第3一次性ID进行比较,判断上述客户端的正当性的判断装置。
45.一种客户端,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与服务器之间进行认证,其特征在于包括:
生成第1随机数,同时作为第1一次性ID求出将在与上述服务器之间预先共有了的共有密钥作为参数的单向函数的函数值,向上述服务器发送该第1一次性ID和上述第1随机数的第1发送装置;
将上述第1随机数、上述共有密钥作为参数的单向函数的函数值作为第2一次性ID,从上述服务器接收该第2一次性ID、在上述服务器中生成的第2随机数的接收装置;
根据上述第1随机数和上述共有密钥,通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行比较,判断上述服务器的正当性的判断装置;
在通过上述判断装置判断出上述服务器是正当的情况下,作为第3一次性ID求出将上述第1随机数、上述第2随机数和上述共有密钥作为参数的单向函数的函数值,向上述服务器发送该第3一次性ID的第2发送装置。
46.一种认证系统,由服务器和客户端构成,上述服务器和客户端在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间相互进行认证,其特征在于:
上述服务器具备:
将在与上述客户端之间预先共有了的共有密钥作为参数的单向函数的函数值作为第1一次性ID,从上述客户端接收该第1一次性ID和在上述客户端中生成的第1随机数的第1接收装置;
生成第2随机数,同时作为第2一次性ID求出将上述第1随机数和上述共有密钥作为参数的单向函数的函数值,向上述客户端发送该第2一次性ID和上述第2随机数的发送装置;
将上述共有密钥、上述第1随机数和上述第2随机数作为参数的单向函数的函数值作为第3一次性ID,从上述客户端接收该第3一次性ID的第2接收装置;
根据上述第1随机数、上述第2随机数和上述共有密钥通过计算求出上述第3一次性ID,通过对该计算结果、从上述客户端接收到的上述第3一次性ID进行比较,判断上述客户端的正当性的判断装置,
上述客户端具备:
生成第1随机数,同时作为第1一次性ID求出将在与上述服务器之间预先共有了的共有密钥作为参数的单向函数的函数值,向上述服务器发送该第1一次性ID和上述第1随机数的第1发送装置;
将上述第1随机数、上述共有密钥作为参数的单向函数的函数值作为第2一次性ID,从上述服务器接收该第2一次性ID、在上述服务器中生成的第2随机数的接收装置;
根据上述第1随机数和上述共有密钥,通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行比较,判断上述服务器的正当性的判断装置;
在通过上述判断装置判断出上述服务器是正当的情况下,作为第3一次性ID求出将上述第1随机数、上述第2随机数和上述共有密钥作为参数的单向函数的函数值,向上述服务器发送该第3一次性ID的第2发送装置。
47.一种服务器,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间相互进行认证,其特征在于包括:
将在与上述客户端之间预先共有了的共有密钥、第1存储随机数和第2存储随机数作为参数的单向函数的函数值作为第1一次性ID,从上述客户端接收该第1一次性ID,同时从上述客户端接收用上述共有密钥对在上述客户端中生成的第1随机数、预先设置在上述客户端中的客户端ID和预先设置在该服务器中服务器ID进行了加密的第1加密数据的接收装置;
通过计算求出上述第1一次性ID,通过对该计算结果、从上述客户端接收到的上述第1一次性ID进行对照,识别上述客户端,在识别出上述客户端的情况下,使用上述共有密钥对上述第1加密数据进行解密,根据包含在该解密了的数据中的上述客户端ID和上述服务器ID,判断上述客户端的正当性的判断装置;
在通过上述判断装置判断出上述客户端是正当的情况下,生成第2随机数,同时作为第2一次性ID求出将上述第1随机数、上述第2存储随机数和上述共有密钥作为参数的单向函数的函数值,向上述客户端发送用上述共有密钥对上述客户端ID、上述服务器ID和上述第2随机数进行了加密的第2加密数据、上述第2一次性ID的发送装置;
将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数的置换装置。
48.一种客户端,在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与服务器之间相互进行认证,其特征在于包括:
生成第1随机数,同时作为第1一次性ID求出将在与上述服务器之间预先共有了的共有密钥、第1存储随机数和第2存储随机数作为参数的单向函数的函数值,向上述服务器发送用上述共有密钥对预先设置在该客户端中的客户端ID、预先设置在上述服务器中的服务器ID和上述第1随机数进行了加密的第1加密数据、上述第1一次性ID的发送装置;
将上述第1随机数、上述第2存储随机数和上述共有密钥作为参数的单向函数的函数值作为第2一次性ID,从上述服务器接收该第2一次性ID,同时从上述服务器接收用上述共有密钥对在上述服务器中生成的第2随机数、上述客户端ID和上述服务器ID进行了加密的第2加密数据的接收装置;
通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行对照,识别上述服务器,在识别出上述服务器的情况下,使用上述共有密钥对上述第2加密数据进行解密,根据包含在该解密了的数据中的上述服务器ID和上述客户端ID,判断上述服务器的正当性的判断装置;
将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数的置换装置。
49.一种认证系统,由服务器和客户端构成,上述服务器和客户端在多个装置间或应用程序间的认证中将只限使用一次的识别信息作为一次性ID,在进行上述认证的装置或应用程序各自中,在上述认证所必需的规定的通信单位内生成随机数,同时求出将该随机数和规定的共有密钥作为参数的单向函数的函数值,从该函数值生成上述一次性ID,使用该生成的一次性ID在与客户端之间相互进行认证,其特征在于:
上述服务器具备:
将在与上述客户端之间预先共有了的共有密钥、第1存储随机数和第2存储随机数作为参数的单向函数的函数值作为第1一次性ID,从上述客户端接收该第1一次性ID,同时从上述客户端接收用上述共有密钥对在上述客户端中生成的第1随机数、预先设置在上述客户端中的客户端ID和预先设置在该服务器中服务器ID进行了加密的第1加密数据的接收装置;
通过计算求出上述第1一次性ID,通过对该计算结果、从上述客户端接收到的上述第1一次性ID进行对照,识别上述客户端,在识别出上述客户端的情况下,使用上述共有密钥对上述第1加密数据进行解密,根据包含在该解密了的数据中的上述客户端ID和上述服务器ID,判断上述客户端的正当性的判断装置;
在通过上述判断装置判断出上述客户端是正当的情况下,生成第2随机数,同时作为第2一次性ID求出将上述第1随机数、上述第2存储随机数和上述共有密钥作为参数的单向函数的函数值,向上述客户端发送用上述共有密钥对上述客户端ID、上述服务器ID和上述第2随机数进行了加密的第2加密数据、上述第2一次性ID的发送装置;
将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数的置换装置,
上述客户端具备:
生成第1随机数,同时作为第1一次性ID求出将在与上述服务器之间预先共有了的共有密钥、第1存储随机数和第2存储随机数作为参数的单向函数的函数值,向上述服务器发送用上述共有密钥对预先设置在该客户端中的客户端ID、预先设置在上述服务器中的服务器ID和上述第1随机数进行了加密的第1加密数据、上述第1一次性ID的发送装置;
将上述第1随机数、上述第2存储随机数和上述共有密钥作为参数的单向函数的函数值作为第2一次性ID,从上述服务器接收该第2一次性ID,同时从上述服务器接收用上述共有密钥对在上述服务器中生成的第2随机数、上述客户端ID和上述服务器ID进行了加密的第2加密数据的接收装置;
通过计算求出上述第2一次性ID,通过对该计算结果、从上述服务器接收到的上述第2一次性ID进行对照,识别上述服务器,在识别出上述服务器的情况下,使用上述共有密钥对上述第2加密数据进行解密,根据包含在该解密了的数据中的上述服务器ID和上述客户端ID,判断上述服务器的正当性的判断装置;
将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数的置换装置。
50.根据权利要求49所述的认证系统,其特征在于:
上述服务器和上述客户端在将上述第1存储随机数置换为上述第1随机数,将上述第2存储随机数置换为上述第2随机数后,通过根据这些第1存储随机数和第2存储随机数生成上述共有密钥,来使该共有密钥变化。
CN03814223.6A 2002-06-19 2003-06-19 相互认证方法和装置 Pending CN1768502A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP178947/2002 2002-06-19
JP2002178947A JP2004023662A (ja) 2002-06-19 2002-06-19 相互認証方法
JP69375/2003 2003-03-14

Publications (1)

Publication Number Publication Date
CN1768502A true CN1768502A (zh) 2006-05-03

Family

ID=31176521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03814223.6A Pending CN1768502A (zh) 2002-06-19 2003-06-19 相互认证方法和装置

Country Status (2)

Country Link
JP (1) JP2004023662A (zh)
CN (1) CN1768502A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101056166B (zh) * 2007-05-28 2010-04-21 北京飞天诚信科技有限公司 一种提高数据传输安全性的方法
CN101110831B (zh) * 2007-08-24 2010-12-01 中兴通讯股份有限公司 一种数字密钥保护方法
CN101217532B (zh) * 2007-12-28 2011-05-18 深圳市融创天下科技发展有限公司 一种防止网络攻击的数据传输方法及系统
CN102195983A (zh) * 2011-05-12 2011-09-21 深圳Tcl新技术有限公司 网络终端加密认证方法及服务器
CN102232275A (zh) * 2008-12-05 2011-11-02 松下电工株式会社 密钥发布系统
CN102724040A (zh) * 2011-03-02 2012-10-10 西门子公司 检测设备构件违背真实性的方法、控制装置和系统
CN101631017B (zh) * 2008-07-14 2012-11-28 索尼株式会社 信息处理设备以及信息处理系统
CN103237245A (zh) * 2013-05-13 2013-08-07 无锡北斗星通信息科技有限公司 识别机顶盒身份的车载dvb条件接收系统
CN104954123A (zh) * 2014-03-28 2015-09-30 中国银联股份有限公司 智能pos终端主密钥更新系统及更新方法
CN105162596A (zh) * 2008-03-11 2015-12-16 威斯科数据安全国际有限公司 在服务器凭证验证时生成一次性口令和签名的强认证令牌
CN103051628B (zh) * 2012-12-21 2016-05-11 微梦创科网络科技(中国)有限公司 基于服务器获取认证令牌的方法及系统
CN106506157A (zh) * 2016-12-22 2017-03-15 天泽信息产业股份有限公司 在物联网终端和云数据平台之间鉴权的方法
CN107148629A (zh) * 2015-10-02 2017-09-08 株式会社派普斯 一次性认证系统
CN109255207A (zh) * 2017-07-14 2019-01-22 中国电力科学研究院 一种应用程序认证系统及认证方法
CN110762007A (zh) * 2019-10-31 2020-02-07 上海斯可络压缩机有限公司 一种变频螺杆压缩机控制器自动识别系统
CN111064572A (zh) * 2019-12-24 2020-04-24 珠海荣邦智能科技有限公司 数据通讯方法及装置
CN111182010A (zh) * 2018-11-09 2020-05-19 杭州海康威视数字技术股份有限公司 一种本地服务提供方法及装置
CN114553412A (zh) * 2022-02-28 2022-05-27 百果园技术(新加坡)有限公司 一种数据传输方法、装置、设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100969196B1 (ko) 2007-10-05 2010-07-09 인하대학교 산학협력단 웹 환경에서의 안전한 사용자 세션 관리 방법 및 이를수행하는 프로그램이 기록된 기록매체
JP2010165231A (ja) * 2009-01-16 2010-07-29 Panasonic Corp サーバ認証方法及びクライアント端末

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101056166B (zh) * 2007-05-28 2010-04-21 北京飞天诚信科技有限公司 一种提高数据传输安全性的方法
CN101110831B (zh) * 2007-08-24 2010-12-01 中兴通讯股份有限公司 一种数字密钥保护方法
CN101217532B (zh) * 2007-12-28 2011-05-18 深圳市融创天下科技发展有限公司 一种防止网络攻击的数据传输方法及系统
CN105162596A (zh) * 2008-03-11 2015-12-16 威斯科数据安全国际有限公司 在服务器凭证验证时生成一次性口令和签名的强认证令牌
CN105162596B (zh) * 2008-03-11 2018-11-13 万思伴国际有限公司 用于生成在与服务器交互中使用的安全值并传送给用户的设备
CN101631017B (zh) * 2008-07-14 2012-11-28 索尼株式会社 信息处理设备以及信息处理系统
CN102232275A (zh) * 2008-12-05 2011-11-02 松下电工株式会社 密钥发布系统
CN102232275B (zh) * 2008-12-05 2014-03-12 松下电器产业株式会社 密钥发布系统
CN102724040A (zh) * 2011-03-02 2012-10-10 西门子公司 检测设备构件违背真实性的方法、控制装置和系统
CN102195983A (zh) * 2011-05-12 2011-09-21 深圳Tcl新技术有限公司 网络终端加密认证方法及服务器
CN102195983B (zh) * 2011-05-12 2015-08-19 深圳Tcl新技术有限公司 网络终端加密认证方法及服务器
CN103051628B (zh) * 2012-12-21 2016-05-11 微梦创科网络科技(中国)有限公司 基于服务器获取认证令牌的方法及系统
CN103237245A (zh) * 2013-05-13 2013-08-07 无锡北斗星通信息科技有限公司 识别机顶盒身份的车载dvb条件接收系统
CN104954123A (zh) * 2014-03-28 2015-09-30 中国银联股份有限公司 智能pos终端主密钥更新系统及更新方法
CN107148629A (zh) * 2015-10-02 2017-09-08 株式会社派普斯 一次性认证系统
CN107148629B (zh) * 2015-10-02 2018-07-27 株式会社派普斯 一次性认证系统
CN106506157B (zh) * 2016-12-22 2019-05-03 天泽信息产业股份有限公司 在物联网终端和云数据平台之间鉴权的方法
CN106506157A (zh) * 2016-12-22 2017-03-15 天泽信息产业股份有限公司 在物联网终端和云数据平台之间鉴权的方法
CN109255207B (zh) * 2017-07-14 2022-07-01 中国电力科学研究院有限公司 一种应用程序认证系统及认证方法
CN109255207A (zh) * 2017-07-14 2019-01-22 中国电力科学研究院 一种应用程序认证系统及认证方法
CN111182010A (zh) * 2018-11-09 2020-05-19 杭州海康威视数字技术股份有限公司 一种本地服务提供方法及装置
CN111182010B (zh) * 2018-11-09 2023-04-07 杭州海康威视数字技术股份有限公司 一种本地服务提供方法及装置
CN110762007A (zh) * 2019-10-31 2020-02-07 上海斯可络压缩机有限公司 一种变频螺杆压缩机控制器自动识别系统
CN110762007B (zh) * 2019-10-31 2021-05-25 上海斯可络压缩机有限公司 一种变频螺杆压缩机控制器自动识别系统
CN111064572A (zh) * 2019-12-24 2020-04-24 珠海荣邦智能科技有限公司 数据通讯方法及装置
CN111064572B (zh) * 2019-12-24 2024-02-02 珠海荣邦智能科技有限公司 数据通讯方法及装置
CN114553412A (zh) * 2022-02-28 2022-05-27 百果园技术(新加坡)有限公司 一种数据传输方法、装置、设备及存储介质
CN114553412B (zh) * 2022-02-28 2024-02-23 百果园技术(新加坡)有限公司 一种数据传输方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2004023662A (ja) 2004-01-22

Similar Documents

Publication Publication Date Title
CN1768502A (zh) 相互认证方法和装置
CN1249972C (zh) 使用多个服务器的远程密码验证的系统和方法
CN1941699A (zh) 密码方法、主机系统、可信平台模块和计算机安排
CN1272929C (zh) 加密/解密方法和使用多仿射密钥系统的验证方法及装置
CN1268105C (zh) 用于通信网络的通信系统及通信方法
CN100338907C (zh) 信息处理系统和方法、信息处理设备和方法
CN1238989C (zh) 数据发布
CN1871810A (zh) 认证系统和远隔分散保存系统
CN1855805A (zh) Sip消息的加密方法和加密通信系统
CN1266876C (zh) 数据通信系统、加密装置及解密装置
CN1496628A (zh) 内容分配系统
CN1504028A (zh) 利用瞬时模数的密码验证
CN1248365A (zh) 高速灵活的加密系统的方法及设备
CN1969501A (zh) 安全地产生共享密钥的系统和方法
CN100350775C (zh) 信息分发系统及其方法、终端、服务器、及终端连接方法
CN1460225A (zh) 数据处理系统、存储设备、数据处理装置、及数据处理方法、以及程序
CN1833403A (zh) 通信系统、通信装置、通信方法及用于实现这些的通信程序
CN101076807A (zh) 一次性密码
CN101056263A (zh) 数据通信方法和系统
CN1476195A (zh) 终端装置、通信方法及通信系统
CN1832395A (zh) 用于签发证书的格式不可知的系统和方法
CN1518268A (zh) 公用密钥交换方法及通信设备
CN1300402A (zh) 信息处理设备、信息处理方法和提供介质
CN1701559A (zh) 会话控制服务器、通信装置、通信系统与通信方法及其程序与记录介质
CN1729460A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20060503