公钥证明书发行装置的制作方法

文档序号:7909403阅读:199来源:国知局
专利名称:公钥证明书发行装置的制作方法
技术领域
本发明涉及发行公钥证明书的发行装置。
背景技术
由于IPv6的出现,已经需要考虑以往无需与网络连接的装置与网络连接的情况了。例如,可以直接与因特网连接的面向最终用户的数字照相机。
在与IPv6对应的个人计算机和工作站的情况下,与网络连接的接口通常使用以太网(R),以具有它的IEEE接口(传输媒体访问控制地址)为基础构成IPv6地址。
对于IPv6地址,如后述那样存在连线局部地址、站点局部地址和(可以聚集)全局地址这3种。
它们的详细构成方法等的地址体系,在RFC 2373“IPVersion 6Addresssing Architecture”,RFC 2374“An IPv6 AggregatabaleGlobal Unicast Address Format”,RFC 2375“IPv6 Multicast AddressAssignment”,RFC 2450“Proposed TLA and NLA AssignmentRule”,RFC 2461“Neighbor Discovery for IP Version 6(IPv6)”,RFC 2462“IPv6 Stateless Address Autoconfiguration”等中有记载。
可是,如IEEE接口(传输媒体访问控制地址)那样固定使用与硬件一一对应的信息,被看作与装置或者该装置的用户一一对应的信息,由于是监视使用该地址的通信,所以保密性被侵害的危险性较大。
针对这一问题,在RFC3041“Privay Extensions for StatelessAddress Autoconfiguration in IPv6”等中提出了生成随机的IPv6地址(准确地说是接口ID)的方法。还记述了在所生成的随机地址值已经被使用了的情况下,检测它,并计算/生成另一随机值,确定唯一的随机值的协议(的扩展)。
在装置使用利用上述那样的解决方法生成的随机的IPv6地址的情况下,考虑用IPsec进行加密通信的情形。IPesc是因特网上的2个装置共有其他人不知道的秘密数据,根据该秘密数据进行加密和认证的协议,在通信时需要安全地共用秘密数据和相互的IPv6地址等。秘密数据和相互的IPv6地址等数据被称为SA(安全关联)。
安全地共用SA的协议被称为IKE(因特网密钥交换),在RFC2409“因特网密钥交换(IKE)”中被规定。在此,安全地共用SA的意义是只和希望的对方可靠地共用SA,所以需要确认对方。在IKE中,规定了1)使用预共享键(pre-shared key)的方法,2)使用数字署名的方法,3)采用公钥密码的加密方法,4)采用公钥密码的加密的修订模式的方法这4种认证方法。
可是,考虑实现保护保密性(不给予明确的身份信息)的状况,例如用户进行与购物站点的IPsec通信的情况,如果站在购物站点的立场上考虑,因为要在IPsec通信前与预先不确定的不特定多个通信对方共用预共享键,所以不能使用预共享键的方法。
在其他的方法的情况下,如果可以可靠地得到在使用数据署名或者公钥密码时所需要的信息(在多数情况下是公钥),则可以在不特定多个通信对方之间执行IKE。因此最有希望的是被称为PKI(公钥基础结构)的环境结构,其中起到中心效果的是公钥证明书。
公钥证明书是可以信赖的第三者为了确认实体(通信的主体,计算机和人)和其主体的公钥的对应关系,并保证它,由可以信赖的第三者发行的相对于实体的ID信息等与公钥的组合的数字署名。可以信赖的第三者被称为CA(认证机构),而用于确认CA的数字署名的正当性的公钥,是众所周知的。
但是,在现在运用的公钥证明书中, 因为包含表示其主体(Subject)的ID信息,例如FQDN(完全符合域名),所以这样不能实现安全性保护。
在公钥证明书中还可以考虑未包含其主体的ID信息的方法,被称为匿名公钥证明书。
但是,在匿名公钥证明书中也存在和上述的IEEE接口(传输媒体访问控制地址)同样的问题。即,只要继续使用同一匿名公钥证明书,就可以联接到多个(基于公钥证明书的IPsec等的)通信,则在一次明确了匿名公钥证明书和其主体的对应关系时,就有可能侵害保密性,所以保密保护仍然较弱。
对于上述问题,例如,如果可以在与不同的通信对方通信时使用不同的IPv6以及匿名公钥证明书,则可以实现较强的保密性保护。把它们称为非重复使用IPv6地址以及非重复使用匿名公钥证明书。作为非重复使用的间隔,考虑在每次改变通信对方时使用新的非重复使用IPv6地址,或者在每个信息包时改变等几种。
但是,作为非重复使用IPv6地址,已知有上述的RFC3041“Privacy Extensions for Stateless Address Autoconfiguration inIPv6”,但并不知道向可以进行v6通信的装置(以下,称为IPv6对应装置)高效率可靠地发行非重复使用匿名公钥证明书的方法。
进而,还存在以下问题。在不知道通信对方的ID信息的情况下,只能利用IP地址进行通信对方的识别。但是,例如在以太网(R)的LAN上发送接收的信息包因为可以访问其LAN上的全部节点,所以原本实体A和实体B应该通信的地点,有可能出现和A同样的在LAN上具有恶意的C冒充A的现象。即,为了在A和B之间进行基于非重复使用匿名公钥证明书的IPsec通信,在把A的公钥证明书送到B时,通过把A的公钥证明书偷换为C的证明书,则C就可以冒充A。
针对DNS(域名系统)服务器和路由器的DoS(拒绝服务)攻击,其间如果伪DNS服务器和路由器发出伪信息,则不限于LAN,还可以在更广泛的范围中进行冒充。如果判明通信对方的ID,则可以通过识别它进行对应,但在上述所示那样的匿名性高的状态下,至今还不知道防止这种攻击的方法。

发明内容
本发明的目的在于实现强力的保密性保护。
另外,本发明的另一目的,是防止冒充。
本发明的另一目的是,高效率并且可靠地,即不会出现发行对象错误地迅速发行在证明对象中包含有IPv6地址的非重复使用匿名公钥证明书。
本发明的另一目的是,保密性保护程度高地,可以以低成本实现地,高效率地实现执行时负荷小的非重复使用匿名公钥证明书。
本发明的另一目的是,高效率地实现IPsec通信。
本发明的另一目的是,实现强力的保密性保护,并且在防止冒充的同时进行采用IKE的IPsec通信。
本发明的其它目的,可以从以下的实施例的说明中明确。


图1是实施例1中的匿名公钥证明书发行协议(以太网(R)LAN的情况下)的图。
图2是以太网(R)LAN的模式图。
图3是节点结构图。
图4是以太网(R)的传输媒体访问控制地址的结构图。
图5是接口ID的结构图。
图6是试探性连线局部地址(a tentative link-local address)的结构图。
图7是某个试探性连线局部地址的应答节点多点广播地址的结构图。
图8是说明主机在结束DAD(重复地检测)前的动作的流程图。
图9是说明主机在结束地址自动设定前的动作的流程图。
图10是主机在DHCP下取得地址前的动作流程图。
图11是主机进行地址自动设定,至取得匿名公钥证明书前的动作流程。
图12是主机在DHCP下至取得地址和匿名公钥证明书前的动作流程图。
图13是在实施例2中的匿名公钥证明书发行协议(PPP的情况下)的图。
图14是拨号/ADSL连接模式图。
图15是在实施例2中的匿名公钥证明书发行协议(以太网(R)LAN的情况下)的图。
图16是主机直至取得证明书为止的动作流程图。
具体实施例方式
(实施例1)在本实施例中,说明主机经由以太网(R)的LAN与因特网进行连接的情况。首先说明其状况,其后说明本发明的实施例。
图2是模式化展示适用本发明的连接环境(主机经由以太网(R)的LAN与因特网进行连接的环境)的图。
图2展示了连接在LAN上的主机204、205、206经由缺省网关202访问因特网201的环境。在本实施例中,假设各主机通过连线207连接,具体地说就是以太网(R)。所谓连线,是指与它连接的装置可以经由它进行通信的设备或者介质,连接在IP层的下层。在连线中除了以太网(R)以外,还有PPP连线,X.25,帧中继,ATM网络。
把与连线连接的IPv6对应装置称为节点。
图3展示了节点的内部结构的典型例子。
在节点中有路由器和主机,路由器发送不是发给自己的信息包而主机不发送。由图3可知,节点300是具有网络接口301、302、CPU303、ROM304、RAM305、HD(硬盘)306、电源307、键盘/位置指示装置的接口308、监视器的接口309、总线310等的计算机。
与路由器具有多个接口301、302相反,主机在多数情况下具有一个接口301。网络接口301被连接到连线207上,与被连接到连线207上的其他的节点通信。主机204、205、206通过网络接口301,经由连线207与被连接到连线207上的其他节点通信,或者,还经由网关202与因特网201上的站点通信。在网关(路由器)202中,网络接口302与因特网201连接,网关(路由器)202通过网络接口302,经由因特网进行通信。进而,认证机构209也具有和图3同样的构成。认证机构209经由网络接口301,与因特网201连接。根据节点不同也有不具有HD的。
进而,以下的处理内容(步骤)可以作为装置或者程序被实现。即,在用装置实现的形态下,具有该装置的节点300执行以下的处理内容(步骤)。另外,在作为程序实现的形态中,在ROM303或者HD306中存储有该程序的节点执行以下的处理内容(步骤)。例如,在作为程序实现的情况下,CPU303读入该程序,根据需要一边把RAM305作为用于计算的空间使用,一边经由总线310进行把地址分配给接口301、302的动作。
简单地说明了在本实施例的以太网(R)LAN环境下取得IPv6全局地址的前缀和缺省网关的地址的协议的结构,以下说明适用本发明的具体的实施例。
图8展示了图3的节点在电源接通或者重新启动的情况下所执行的动作的流程图。该动作被称为DAD(重复地址检测)。以下,沿着图8的流程说明处理内容。
在步骤S801中,节点300在电源接通或者重新启动后,首先根据网络接口301的以太网(R)的传输媒体访问控制地址(参照图4)生成接口ID(参照图5),把它作为试探性连线局部地址(tentativelink-local address)(参照图6)(步骤S802)。
以下,为了判断该试探性连线局部地址在连线上是否是唯一的,节点300进行以下的处理。
最初,进行接口301的初始设定。即,向接口301分配全节点多点广播地址(FF021)、该试探性连线局部地址的应答节点多点广播地址(参照图7)。即,该接口301在发现发送到全节点多点广播地址的信息包或者发送到该试探性连线局部地址的应答节点多点广播地址的信息包时,把它作为发送到自己的接口地址的信息包进行接收。
通过分配前者(全节点多点广播地址),可以接收到来自已经使用该试探性连线局部地址的另一节点的数据。另外,通过分配后者(该试探性连线局部地址的应答节点多点广播地址),可以检测出要同时使用同一试探性连线局部地址的另一节点的存在。
所谓某一试探性连线局部地址的应答节点多点广播地址,是指如RFC2461第91页定义的那样的,把试探性连线局部地址的下位24位附加在前缀FF0200001FF00/104上的数据,就是局域连接范围多点广播地址(link-local scope multicast address)。图6和图7展示了它们的关系。以上的地址分配就是图8的步骤S803。
以下,生成相邻征求信息。在相邻征求信息的目标地址中设定判断对象的试探性连线局部地址,在IP源(发送源地址)中设定不确定地址(128位全部是0),在IP目的地(目的地地址)中设定判断对象的试探性连线局部地址的应答节点多点广播地址。
把该相邻征求信息以中继定时器的毫秒间隔发送多地址检测传送个到以太网(R)207。图8的步骤S804就是该处理。
接收到相邻征求信息的节点,如果其发送源地址是不确定地址,则判断为该信息是来自进行DAD的节点的数据。
在多个节点同时把同样的地址作为对象进行DAD的情况下,除了自己发送的相邻征求信息以外,因为还接收到在目标地址中包含相同地址的相邻征求信息(接收到自己发送的相邻征求信息和同时把该地址作为对象进行DAD的另一节点发送的相邻征求信息),所以知道发生了重复。在这种情况下,哪个节点也不使用该地址。
进而,如果接收到的相邻征求信息是自己发送的(为了应答多点广播的信息包),则表示不存在其他使用它或者要使用它的节点。除了自己发送的相邻征求信息,在接收到在目标地址中包含相同地址的相邻征求信息的情况下,判断为多个节点同时把同样的地址作为对象进行DAD。
另一方面,如果接收到相邻征求信息的节点已经使用包含在信息的目标地址中的地址,则把在目标地址中设定有该试探性连线局部地址(tentative link-local address)的多点广播相邻通知反送回全节点多点广播地址。因而,发送了相邻征求信息的节点收到发送给全部节点多点广播地址的多点广播相邻通知,在该目标地址是(判断对象的)试探性(tentative)地址的情况下(图8的S805步骤的“是”的情况),判断对象的试探性地址不是唯一的(即,是重复的)。
根据以上的DAD的结果,如果确认了判断对象的试探性连线局部地址在连线207上是唯一的(图8的S805步骤的“否”的情况下),则把该地址作为连线局部地址分配给接口301。这是图8的步骤S806。以上DAD结束。
以上说明的图8的动作,可以由图2的缺省网关202、DHCP服务器203、主机204、主机205、主机206各自执行。
图2的主机,例如主机206,如果把连线局部地址分配给接口301,则接着试着从缺省网关202得到为了确定站点局部地址和全局地址所需要的信息(被称为路由器通知)。
图9展示了该动作。缺省网关202因为通常被称为路由器,所以以下表示为路由器202。路由器202由管理者进行必要的设定,并定期把路由器通知发送到连线207。在主机206想尽早得到路由器通知的情况下,主机206就把被称为路由器请求的数据发送到路由器202。因为主机206在分配了连线局部地址之后不知道路由器202的存在,所以实际上路由器请求是向连线上的全部路由器进行多点广播发送的。图9的步骤S901表示了该处理。
接收到路由器请求的路由器202发送路由器通知。如图9的步骤S902的“是”的情况所示,接收到只指定了无状态地址自动配置的路由器通知的主机206,确认包含在该信息中的前缀的有效性(以前该装置未使用等),并把在其中附加了接口ID生成的地址,作为站点局部地址或者全局地址分配给接口301。图9的步骤S903是该处理。
如图9的步骤S902的“否”的情况所示,在主机206未接收到只指定无状态地址自动配置的路由器通知的情况下,分为以下二种情况。接收到指定了无状态地址自动配置和全状态地址自动配置两方的路由器通知的情况(步骤S904的“是”的情况),和未接收到任何路由器通知的情况(步骤S904的“否”的情况)。
在后者的情况下,只执行全状态地址自动配置,即DHCPv6。这是步骤S906,图10展示了其基本的动作流程图。
进而,在全状态地址自动配置中,接收发送的信息的内容和形式等的详细,在“draft-ietf-dhc-dhcpv6-xx.txt”(在2002年3月,xx=23是最新版本)被说明了。以下按照图10的号码说明基本的动作流程。
DHCP服务器203由管理者进行必要的设定。具体地说,把自己的连线局部地址分配给作为节点的接口301,并设定为了作为DHCP服务器动作所需要的站点局部地址或者全局地址用的前缀等。
在图10的步骤S1001中,主机204向DHCP服务器发送DHCP征求信息。主机206因为不知道在哪里存在DHCP服务器,所以向DHCP服务器以多点广播形式发送到连线207。当在与连接到主机206上的连线207不同的连线(未图示)上有DHCP服务器的情况下,DHCP征求信息实际上通过DHCP中继器(未图示)被中继送到DHCP服务器203。
收到DHCP征求信息的DHCP服务器203作为对它的回应把通知信息返送到主机206。它(在另一连线的情况下通过DHCP中继器中继)被送到主机206。这是步骤S1002。在该时刻主机206知道了DHCP服务器203的地址。
以下,在步骤S1003中主机206把DHCP请求信息送到DHCP服务器203。DHCP服务器203如果接收到DHCP请求信息,则在步骤S1004中把DHCP应答信息发送到主机206。
在步骤S1004中接收到DHCP应答信息的主机206,因为从其中知道了站点局部地址或者全局地址,所以为了确认该地址中的接口ID是否重复,进行DAD处理所需要的处理。即,向接口301设定上述的多点广播地址等。这是步骤S1005。
以下,在步骤S1006中发送相邻征求信息,在步骤S1007中判断是否接收到相邻通知信息。在接收到的情况下因为该地址重复,所以为了从DHCP服务器203接收另一地址就返回步骤S1003,重复同样的处理。
当主机206在图10的步骤S1007中未接收到相邻通知信息的情况下,因为该地址不重复,所以在步骤S1008中把该地址分配给接口301。
以上图9的步骤S906结束。在步骤S904中当任何路由器通知也未接收到的情况下,正常结束。
在步骤S902中,当接收到指定了非全局和全状态地址自动配置两方的路由器通知的情况下,在步骤S905中进行无状态地址自动配置和全状态地址自动配置这两方,处理内容和步骤S903和S906一样。
如上所述,具有把以太网(R)作为接口的主机206通过任意组合应用无状态地址自动配置和全状态地址自动配置(DHCPv6),可以自动设定连线局部地址、站点局部地址、全局地址、缺省网关等。
在以上的协议中,当在接口ID中使用随机值的情况下,如果把该值作为对象进行DAD,确认在连线207中的唯一性,则与全局地址的前缀进行组合,就可以利用非重复使用的IPv6全局地址了。详细内容记述在“Privacy Extensions for Stateless AddressAutoconfiguration in IPv6”中。
以下说明本发明的实施例。说明扩展上述的动作(协议),并可以利用非重复使用匿名公钥证明书的协议。首先,说明匿名公钥证明书的例子,其次说明用于高效率发行它的协议。
对于匿名公钥证明书,在Kazuomi Oishi、Masahiro Mambo、Eiji Okamoto,“Anonymous Public Key Certificates and theirApplications”IEICE Transactions on Fundamentals of Electronics,Communications and Computer Sciences,E81-A,1,pp。56-64,1998中理论地提出了其概念和具体的实现方法,该基本实现方法还被揭示在USA专利6,154,841中。在这些方式中,证明书的用户隐匿性体现在计算量中。
作为提供更强力的匿名性的方法,具有信息量隐匿性的匿名公钥证明书的实现方法被揭示在Kazuomi Oishi,“Unconditionallyanonymous public key certificates”The 2000 Symposium onCryptography and Information Security,SCIS2000-C32,2000中。
在本发明中,可以利用被记载在上述的论文Kazuomi Oishi、Masahiro Mambo、Eiji Okamoto,“Anonymous Public KeyCertificates and their Applications”中的任意方式。在可以容许效率差的情况下,也可以使用上述论文中的方式1、方式2、方式3,这些也包含在本发明中。
在本实施例中以使用具有计算量隐匿性的匿名公钥证明书方式的情况为例说明。在定义、导入说明所需要的记号等后,说明本实施例的协议。
发行匿名公钥证明书的实体CA确定作为共用的参数的大的素数p和q。q能除尽p-1。还确定指令q的生成源g和随机函数H。生成秘密的随机数s-ca(1以上q以下),计算v-ca=g^(s-ca)mod p。在此,A=(B)^(C)mod D表示对于整数A、B、C、D,用D除B乘C的值,把其余数作为A的计算。实体CA公开p和q和g和H和v-ca。因而,实体i掌握p和q和g和H和v-ca。
另一方面,使用匿名公钥证明书的实体i生成秘密的随机数s-i(1以上q以下),并计算v-i=g^(s-i)mod p。把s-ca和s-i称为密钥,把v-ca和v-i(以及公开的参数(g等))称为公钥,密钥的管理除自己以外谁都不知道。实体CA,以及i,掌握公钥v-ca和v-i(以及公开的参数(g等))。
实体i在开始使用匿名公钥证明书时,把自己的实体名(用户名)和口令、公钥v-i登录在实体CA上。实体CA根据需要用物理方法等识别实体的身份,存储被提示的实体名(用户名)和口令、公钥v-i。
在发行匿名公钥证明书时,实体CA生成随机数r(1以上q以下),计算(g’,v-i’)=(g^r mod p,(v-i)^(r)mod p)。把公开的参数(p等)和该匿名公钥证明书的有效期限、对公钥v-ca的公钥证明书等的证明书的管理·属性信息作为X,则对于包含(g’v-i’)和X的信息(的随机值)生成数字署名。CA可以使用基于离散对数问题的数字署名方式,例如,可以使用Schnorr署名方式。在此,使用密钥s-ca生成数字署名。把该数字署名记为Sig-ca(g’,v-i’,X)。
对于实体i,CA发行的匿名公钥证明书APC-ca(i)是APC-ca(i)=(g’,v-i’,X,Sig-ca(g’,v-i’,X))。进而,在本发明的变形例中,在匿名公钥证明书的管理·属性信息X中不包含针对v-ca的公钥证明书。
接收到匿名公钥证明书APC-ca(i)=(g’,v-i’,X,Sig-ca(g’,v-i’,X))的实体i从其中取出(g’,v-i’,X),计算其随机值(例如,H(g’|v-i’|X),而|表示连接),利用公钥v-ca确认Sig-ca(g’,v-i’,X)是否是相对于随机值的正确的数字署名。另外,还确认v-i’=(g’)^(s-i)mod p。如果可以确认它们是正确的,则可以把g’和v-i’(和共用的参数p)作为公钥,把s-i作为密钥使用基于离散对数问题的公钥密码和数字署名。
接收到匿名公钥证明书(g’,v-i’,X,Sig-ca(g’,v-i’,X))的实体从其中取出(g’,v-i’,X),计算其随机值,利用公钥v-ca确认Sig-ca(g’,v-i’,X)是否是相对于随机值的正确的数字署名。如果可以确认其是正确的,则可以用g’和v-i’(和共用的参数p)进行基于离散对数问题的公钥密码的加密和数字署名的验证。
进而,在上述的叙述中说明了基于乘法群(mod p)上的离散对数问题的困难性的署名方式,但也可以使用基于椭圆曲线上的离散对数问题的困难性的署名方式,在这种情况下因为可以用比乘法群还少位数的钥实现同样的安全性,所以效率更高。
下面说明把以上的匿名公钥证明书方式适用于图2的环境的情况。
认证机构209是实体CA,主机206是(或者利用它的用户)利用匿名公钥证明书的实体i。但是,认证机构209当然不具有上述匿名公钥证明书方式中的CA的全部功能。以下,说明存在于利用公钥证明书的IPv6对应装置(主机206)的位置的局部连线207内的,并且公钥证明书发行者(CA,即认证机构209)信任的IPv6对应装置是缺省网关202的情况。即,在公钥证明书方式中的实体CA的功能的一部分,代替认证机构209而具有缺省网关202的情况。
进而,CA209信任的IPv6对应装置也可以是DHCP服务器203和专用CA服务器。另外,以下,说明在证明书中包含随机的IPv6地址的形态,也许还有在证明书中未包含随机IPv6的形态。如上所述,把缺省网关202称为路由器202。
认证机构209的管理者确定上述的公开参数p、g等,并公开。另外,确定作为实体CA的公钥v-ca。
在此,所谓认证机构209信任缺省网关202(或者DHCP服务器和专用CA服务器),是指使明确缺省网关202等的管理源,在发生问题时由该管理源负责的条件下,在认证机构209和其管理源之间进行协商。例如,在发生与某一匿名公钥有关的故障时,缺省网关202等的管理源有责任明确该匿名公钥的用户,并负责进行处理,并在认证机构209和缺省网关202等的管理源之间通过合同进行协商的情况等。
另外,在这种情况下,认证机构209和缺省网关202(或者DHCP服务器和专用CA服务器),例如,通过安全地交换公钥密码或者安全地共用秘密的密钥等,可以在它们之间经由因特网安全可靠地进行通信。
路由器202具有控制信息包的转送的作用,管理者负责禁止在该路由器202管辖的子网络和外部之间的不正当的信息包进出。某一子网络为了连接在因特网201上,该子网络的管理者把身份登录在JPNIC(在日本的情况下)上,并接收IP地址的分配。因而,因为在子网络中的路由器202管理责任明确,并且还考虑到了安全方面,在运用和管理上花费了费用,所以认为认证机构209是可信任的。
在用户i申请对LAN进行访问时,使用公开的参数p、g等生成自己的密钥s-i,计算对应的公钥v-i,并把用户名和口令、公钥v-i提交给LAN的管理者(路由器202的管理者)。LAN的管理者(路由器202的管理者)根据其运营方针进行用户i的身份确认和口令的核对等,许可访问。管理者将其,登录在路由器202的RAM305或者HD306上并使从用户i的实体名可以检索到用户i的公钥v-i。假设公开参数和公钥v-i,特别是密钥s-i由用户i管理,并可以在主机206中安全地被利用。
进行以上的准备后执行的本实施例的协议如图1所示。在图1中把实体(用户i使用的IPv6终端)作为主机206,把CA作为认证机构209,认证机构209信任路由器202,并在它们之间进行匿名公钥证明书的发行协议。在此,路由器202是把用于设定地址的地址信息提供给主机(通信装置)206的地址信息提供装置,或者提供者。进而,地址信息是IPv6的全局地址的前缀,或者是IPv6全局地址自身。
因为为了发行匿名公钥证明书需要特定实体,所以是在路由器202和实体(这种情况下,是主机206)之间执行某一特定的(认证)协议。在本实施例中,把基于以下那样的公钥密码的方式作为例子说明。按照图1的流程说明其动作。
主机206在步骤S101中生成认证请求。认证请求是要求匿名公钥证明书的信息,假设是路由器202可以理解的包含其主旨和接口301的接口ID的数据的形式。内容可以根据实体名(用户名)和口令和串行号码计算得出。串行号码可以采用例如将主机206的IPv6连线局部地址和缺省网关的IPv6连线局部地址和此时的时刻这3项连接起来作为一个数据的值。为了防止再发送攻击和冒充,相对于把实体名(用户名)和口令和串行号码输入到随机函数中的值,使利用密钥s-i生成的数字署名(认证用署名)(=Sig-i(hash(实体名,口令,串行号码)))被包含在认证请求中。
以下,在步骤S102中主机206把认证请求从网络接 301发送到路由器202。
在步骤S103中,路由器202从RAM305或者HD306中检索出根据在步骤S102中从网络接 301接收到的包含在认证请求中的实体名(识别符)登录的公钥v-i,并使用它确认认证用署名的正当性。具体地说,把实体名(用户名)和口令和串行号码作为随机函数的输入,求出其随机值,用公钥v-i确认认证用署名是与此相对的正当的数字署名。即,如果接 301从主机206接收到包含数字署名的认证请求,则CPU303利用主机206的公钥v-i,确认数字署名的正当性。如上所述,路由器202根据公钥密码,确认主机206。
如果认证成功,则路由器202根据IPv6的全局地址的前缀和主机206的接口301的接口ID生成主机206的IPv6全局地址。而后,在S103A中,生成随机数r,如上所述,根据生成源g和公钥v-i,求出(g’,v-i’)=(g^r mod p,(v-i)^(r)mod p)(把该g’和v-i’这两个称为匿名公钥)。即,CPU303根据公钥v-i生成v-i’。而后,生成作为相对于主机206的IPv6全局地址和匿名公钥(g’,v-i’)的路由器202的署名的认证用署名(2)。
进而,在此,认证成功后,生成了公钥v-i’,但在变形例中,认证成功前,或者在请求匿名公钥证明书前,预先生成公钥v-i’,并登录在RAM305、HD306中。
最后在步骤S104中,把包含IPv6全局地址和匿名公钥和与它们对应的认证用署名(2)的匿名公钥证明书信息={IPv6全局地址、匿名公钥、认证用署名(2)},从网络接 302经由因特网201发送到认证机构209。即,在CPU303的控制下,接口302把请求发行相对于匿名公钥(g’,v-i’)的公钥证明书的公钥证明书请求信息,发送到认证机构209中。认证机构209是发行公钥证明书的发行者,或者发行装置。路由器202是公钥生成装置。路由器202的接口301是经由网络207与通信装置(主装置206)进行通信的通信装置,CPU303是生成公钥的生成装置。另外,路由器202的接口302是在从通信装置(主机206)请求公钥证明书时,把由CPU302生成的公钥发送到公钥证明书发行者(CA209)的发送装置。
如上所述,因为路由器202和认证机构209可以经由因特网201安全可靠地进行通信,所以不会有数据内容被篡改或者第三者冒充。
在步骤S105中,认证机构209确认从网络接口301取得的认证用署名(2)是否确实是在正当的路由器202中生成的。由上述可靠的安全通信接收的情况,包括证明了接收数据自身是由正常的路由器202生成的数据的情况。或者是基于公钥密码的数字署名的情况。
无论怎样,确认了认证用署名(2)的正当性的认证机构209,在包含在证明书请求信息中的IPv6全局地址和匿名公钥(g’,v-i’)中,针对附加了与它们有关的管理·属性信息X后的信息(的随机值)生成数字署名Sig-ca(g’,v-i’)。在该数字署名中,使用密钥s-ca。证明书的管理·属性信息X包含公开的参数和证明书的有效期限、v-ca的公钥证明书等。在本发明的变形例中,在该信息X中,不包含对v-ca的公钥证明书。匿名公钥证明书APC-ca(i)是由IPv6全局地址、匿名公钥(g’,v-i’)、与它们有关的管理·属性信息X和与它们对应的数字署名组成的数据。即,如果接口301从路由器202接收到公钥证明书请求信息,则CPU303对应于被包含在公钥证明书请求信息中的IPv6全局地址的地址信息和公钥(g’,v-i’)(以及证明书的管理·属性信息X)的信息,生成数据署名。路由器202是把用于设定地址的地址信息提供给主机202(通信装置)的提供者。
而后,在步骤S106中把匿名公钥证明书APC-ca(i)=(g’,v-i’,X,Sig-ca(g’,v-i’,X))从网络接口301经由因特网201发送到路由器202。即,接口301发行包含有IPv6全局地址的地址信息、公钥(g’,v-i’)和数字署名的公钥证明书。
在步骤S107中,从网络接口302取得了匿名公钥证明书的路由器202把由IPv6全局地址的前缀、缺省网关202的地址和匿名公钥证明书组成的认证通知从网络接口301发送到已被认证了的主机206。在此,在本发明的一个实施例中,用已登录的公钥v-i进行加密后发送。即,接口301把由认证机构209对应于公钥(g’,v-i’)发行的公钥证明书发送到主机206。主机206是在S103中已被认证了的通信装置,在S103中也是包含正当性被认证后的数字署名的认证请求的发送源。
在步骤S108中,从由网络接口301取得的认证通知中取出前缀,生成IPv6全局地址,并确认匿名公钥证明书的正当性。
在此,主机206,使用认证机构209的公钥v-ca,确认匿名公钥证明书APC-ca(i)=(g’,v-i’,X,Sig-ca(g’,v-i’,X))的正当性,即,(g’,v-i’)和Sig-ca(g’,v-i’,X)的对应关系的正当性。例如,主机206从匿名公钥证明书APC-ca(i)中取出(g’,v-i’,X),计算该随机值(例如,H(g’,|v-i’|,X),其中|表示连接),并用公钥v-ca确认Sig-ca(g’,v-i’,X)是否是对应于随机值的正当的数字署名。主机206预先存储认证机构209的公钥v-ca。在匿名公钥证明书的管理·属性信息X包含公钥v-ca的公钥证明书的状态下,主机206在确认了预先存储着的公钥v-ca与包含在匿名公钥证明书的管理·属性信息X中的公钥v-ca的公钥证明书中的公钥v-ca是一致的后,用该公钥v-ca确认匿名公钥证明书的正当性。
图11展示了把以上的协议和已有的路由器请求和路由器通知的发送接收协议组合后的扩展协议的主机的动作流程图。
所谓图11的步骤S1101中的路由器认证请求信息,是指包含了图9的步骤901的路由器请求和在图1的步骤S102中发送的认证请求两方的数据。路由器202如果接收到该数据,则进行图1的S103、S103A、S104的处理,并和S106一样,从认证机构209中取得匿名公钥证明书。而后,路由器202把包含有只指定了无状态地址自动配置的路由器通知和认证通知两方的路由器认证通知信息发送到主机206。
因而,所谓在步骤S1102中接收到的路由器认证通知信息,是指包含有在图9的步骤S902中接收到的路由器通知信息和在图1的步骤S107中接收到的认证通知两方的数据。
如果在图1中的步骤S108中可以确认正当性,则在步骤S1102中为“是”的情况下,在步骤S1103中生成IPv6全局地址,在分配给接口301的同时,确认匿名公钥证明书的正当性。在此,和S108一样,使用认证机构209的公钥,确认匿名公钥证明书的正当性。
通过以上的协议,可以不改变以往的协议的步骤数而发行与只在增加数据时可以非重复使用的IPv6地址对应的非重复使用匿名公钥证明书。
进而,在代替路由器202而认证机构209信任DHCP服务器203的情况下,因为未接收到路由器认证通知信息,所以在图11中的步骤S1106中,代替路由器202,而由DHCP服务器203执行和图1一样的协议。进而,DHCP服务器的管理源和缺省网关202的管理源一样具有故障时的责任。
这种情况下在图11的步骤S1106中,主机执行全状态地址自动配置扩展协议,即从DHCP服务器取得地址和证明书的协议。图12展示了其动作流程图。
和图10的协议不同之处是步骤S1203和步骤S1204两处。
在步骤S1203中送出的DHCP认证请求信息,是包含有在图10的步骤S1003中送出的DHCP请求信息和与在图1的步骤S102中被送出的认证请求相当的数据(在发送目标不是路由器202而是DHCP服务器203这一点上不同)两方的数据。
如果取得了该信息,则DHCP服务器203进行图1的S103、S103A、S104的处理,和S106一样,从认证机构209中取得匿名公钥证明书。而后,DHCP服务器203把包含有DHCP应答信息和与认证通知相当的数据两方的DHCP认证应答信息送到主机206。
因而,在步骤1204中取得的DHCP认证应答信息,是包含有在图10的步骤S1004中取得的DHCP应答信息和与在图1的步骤S107中取得的认证通知相当的数据(在发送源不是路由器202而是DHCP服务器203这一点上不同)两方的数据。而后,生成IPv6全局地址,在分配给接口301的同时,确认匿名公钥证明书的正当性。在此,和S108一样,利用认证机构209的公钥v-ca,确认匿名公钥证明书的正当性。
通过以上的协议,可以不改变以往的协议的步骤数,发行与只在增加数据时可以非重复使用的IPv6地址对应的非重复使用匿名公钥证明书。
在路由器202以及DHCP服务器203的两方都被CA的认证机构209信任的情况,相当于在图11中的步骤S1104中,接收到指定了非全局和全局这两方的路由器认证通知信息的情况下(“是”的情况下),通过任意组合应用上述的两个扩展协议,可以自动设定以及取得连线局部地址、站点局部地址、非重复使用IPv6全局地址和与之对应的非重复使用匿名公钥证明书、缺省网关等。这种情况下,路由器202以及DHCP服务器203相当于把用于设定地址的地址信息提供给主机(通信装置)206的信息处理装置群,作为该信息处理群的路由器202以及DHCP服务器203向认证机构209请求公钥证明书,并把认证机构209发行的公钥证明书发送到主机206。
在不是路由器202也不是DHCP服务器203的另一IPv6对应装置的专用CA服务器得到公钥证明书发行者209的信任,而专用CA服务器和公钥证明书发行者209协调动作向某一主机发行公钥证明书的情况下,如果该专用CA服务器存在于和对象主机相同的局部连线207内,则可以通过和图1的路由器202的动作大致相同的动作发行公钥证明书。
在图2中,对象主机是主机206,在专用CA服务器是主机204的情况下,它们之间的动作和图1一样。而在专用CA服务器是其子网的情况下,如果是图2的情况则其前提是需要知道分配给连线207的正当的IPv6前缀。因而由具有和路由器202的管理者一样责任的管理者管理专用CA服务器,而在有问题时的应对等也和路由器202的情况一样,要在认证机构209和管理者之间取得意见一致。
主机206在每次通信对方改变时,或者在每次通话改变时,或者在每次通信信息包发送时,从接口301向连线207发送图11的S1101的路由器认证请求信息(作为图1的S101的请求匿名公钥证明书的信息的认证请求),并从认证机构209取得匿名公钥证明书。即,主机206通过根据需要,请求、取得新的公钥证明书,实现保密性保护。进而,通过向通信对方发送包含IPv6地址的公钥证明书,防止假冒。在此,公钥证明书(g’,v-i’)是同一实体的公钥,但也是随着时间流逝变更的公钥。
进而,说明了路由器202或者DHCP服务器203把IPv6地址的前缀提供给主机206的形态,但在通过IPv6地址自身的形态中,除了代替前缀而发送地址这一点和不需要主机生成地址的处理以外,其他用同样的协议也可以实现。
(实施例2)在实施例1中,在缺省网关(路由器)认证了主机后,缺省网关(路由器)和认证机构协调动作,向主机发送匿名公钥证明书和包含前缀的认证通知。在本实施例中,说明发送前缀和发行匿名公钥证明书的独立的例子。
和实施例1一样,认证机构209为实体CA、主机206(或者利用它的用户)是利用匿名公钥证明书的实体i。但是,认证机构209并不具有在上述匿名公钥证明书方式中的CA的全部功能。以下,说明存在于利用公钥证明书的IPv6对应装置(主机206)所在的局部连线207内,并且公钥证明书发行者(CA,即认证机构209)信任的IPv6对应装置是缺省网关202的情况。即,说明缺省网关202具有代替认证机构209而在匿名公钥证明书方式中的实体CA的功能的一部分的情况。
进而,认证机构209信任的IPv6对应装置也可以是DHCP服务器和专用服务器。另外,以下,说明在证明书中包含有随机的IPv6地址的形态,但也许还有在证明书中不包含随机IPv6地址的形态。如上所述,把缺省网关称为路由器202。在此,缺省网关202,向主机206提供IPv6的全局地址的前缀。
另外,在这种情况下,假设认证机构209和缺省网关202(或者DHCP服务器和专用服务器),例如,通过安全地交换公钥密码或者安全地共用秘密的密钥等,在它们之间可以经由因特网安全可靠地进行通信。
认证机构209的管理者确定作为CA的公钥v-ca。
路由器202的管理者确定上述公开参数p、g等,并公开。也可以确定并公开路由器202的公钥v-router。
用户i在申请对LAN的访问时,使用被公开的参数p、g等生成自己的密钥s-i,计算对应的公钥v-i,并把用户名和口令、公钥v-i提供给LAN管理者(路由器202的管理者)。LAN的管理者(路由器202的管理者)根据其运营方针进行用户i的身份确认和口令的核对等,允许访问。管理者使根据实体名可以检测出对应的公钥v-i那样地,登录在RAM304或者HD306上。假设公开参数p、g等和公钥v-i、特别是密钥s-i由用户i管理,并在主机206上可以安全地被利用。
图15展示了在进行以上的准备后执行的本实施例的协议。在图15中,把利用公钥证明书的实体(用户i使用的IPv6终端)作为主机206,把提供前缀的IPv6终端作为缺省网关202,把发行匿名公钥证明书的CA作为认证机构209,并展示了在它们之间进行的匿名公钥证明书的发行协议的动作流程。
因为为了发行匿名公钥证明书需要特定实体,所以在路由器202和实体(这种情况下,是主机206)之间执行某种特定的(认证)协议。在本实施例下,把基于以下那样的公钥密码的方式作为例子进行说明。参照图15说明其动作。
在主机206接通电源或者重新启动的情况下,根据网络接口(图3的301)的MAC地址(传输媒体访问控制地址)生成接口ID。另外,主机206通过例如RFC3041的算法生成随机的接口ID。而后,生成在根据MAC地址生成的接口ID上附加了规定的前缀的连线局部地址等,并把路由器请求(RS)发送到路由器(步骤S1501)。RS如上所述是连线上的至全部路由器的多点传送。
路由器202在接收到RS后发送路由器通知(RA)(步骤S1502)。
接收到RA的主机206抽出包含在RA中的前缀,并根据从MAC地址生成的接口ID和前缀,生成全局地址(称为“共用地址”)。另外,根据随机的接口ID和前缀,生成非重复使用IPv6地址(称为“暂时地址”)。而后,进行共用地址和暂时地址的重复检测DAD(重复地址检测),确认在连线中的地址的唯一性,并向接口分配这些地址(步骤S1503)。
以下,主机206生成认证请求(步骤S1504)。认证请求是请求匿名公钥证明书的信息,以主机202可以理解的包含主机206请求匿名公钥证明书的主旨的数据形式被生成。例如,在RFC2986,“PKCS#10认证授权请求语法规范版本1.7”规定的PKCS#10,和REC2511、“因特网X.509证明书请求信息格式”等中规定了它们的形式。虽然省略了详细说明,但假设是由证明书请求信息和对应的(主机的)署名组成的数据。在证明书请求信息中包含有暂时地址。
以下,主机206把认证请求经由连线207发送到路由器202(步骤S1505)。进而,因为主机206在此时知道路由器202的(单点传播)地址,所以可以单点传播。
路由器202从RAM305或者HD306中检索根据在步骤S1505中取得的包含在认证请求中的实体名(主机206的识别符或者利用主机206的用户姓名)登录的公钥v-i,并用它确认署名的正当性。如果确认成功,则生成主机206的匿名公钥。具体地说,上述的g’、v-i’、p、q是匿名公钥。而后,为了使认证机构209发行对应于匿名公钥的证明书,生成匿名公钥证明书请求信息(步骤S1506)。
以下,路由器202把匿名公钥证明书请求信息发送到认证机构209(步骤S1507)。假设该匿名公钥证明书请求信息的形式和上述的证明书请求信息一样,并假设是由匿名公钥证明书请求信息和由对应的路由器的署名组成的数据等。在该匿名公钥证明书请求信息中包含有主机206的暂时地址。
从路由器202取得了匿名公钥证明书请求信息的认证机构209,确认它是否由路由器202生成或者是否是正当的数据。例如,是通过上述可靠安全的通信取得的情况,可以是证明了接收到的数据自身是由正当的路由器202生成的数据的情况,或者是在基于公钥密码的数字署名的情况下可以用路由器的公钥v-router确认的情况。
无论哪种情况,确认了匿名公钥证明书请求信息的正当性的认证机构209,针对包含在证明书请求信息中的匿名公钥(g’、v-i’、p、q)和暂时地址、附加了与它们有关的管理·属性信息的信息(的随机值)生成数字署名,并生成由该信息和署名组成的匿名公钥证明书(步骤S1508)。在本发明的一个实施形态中,该匿名公钥证明书包含认证机构209的公钥。
而后,认证机构209把匿名公钥证明书发送到路由器209(步骤S1509)。在本发明的一个实施形态中,使用登录有该匿名公钥证明书的公钥进行加密、发送。
路由器202把包含匿名公钥证明书的认证通知发送到主机206(步骤S1510)。在本发明的一个实施形态中,使用登录有该认证通知的公钥进行加密、发送。进而,这时,作为向暂时地址的单点广播,也可以从认证机构209直接发送到主机206。
主机206根据接收到的认证通知确认匿名公钥证明书的正当性(步骤S1511)。
图16展示了把以上的协议和现存的无状态地址自动配置以及全状态地址自动配置组合后的扩展协议的主机的动作流程图。
在主机206接通电源或者重新启动的情况下,根据网络接口(图3的301)的MAC地址生成接口ID。另外,主机206利用例如RFC3041的算法生成随机接口ID。而后,生成在根据MAC地址生成的接口ID上附加了规定的前缀的连线局部地址等,并把路由器请求(RS)发送到路由器(步骤S1701)。RS如上所述是连线上的至全部路由器的多点传送。
如步骤S1702的“是”的情况所示,接收到只指定了无状态地址自动配置的路由器通知信息(RA)的主机206,抽出包含在RA中的前缀,根据从MAC地址生成的接口ID和已抽出的前缀,生成全局地址(称为共用地址)。另外,根据随机的接口ID和已抽出的前缀,生成非重复使用IPv6地址(称为暂时地址)。而后,进行共有地址和暂时地址的重复检测DAD(重复地址检测),确认地址在连线中的唯一性,并向接口分配这些地址(步骤S1703)。
以下,主机206执行证明书请求和证明书发行的协议(步骤S1707)。即,如图15的步骤S1504、S1505所示,主机206生成认证请求,发送到路由器202。主机206从路由器202接收认证通知,确认包含在其中的匿名公钥证明书的正当性。进而,在未取得任何路由器通知的情况下(步骤S1704的“否”的情况),只执行全状态地址自动配置,即只执行DHCPv6。这是步骤S1706,其详细和图10的协议相同。
在步骤S1704中,在接收到指定了无状态地址自动配置和全状态地址自动配置两方的路由器通知信息的情况下,在步骤S1705中进行无状态地址自动配置和全状态地址自动配置两方。处理内容和步骤S1703和S1706一样。
(实施例3)在实施例3中,说明主机以拨号或者ADSL方式和因特网连接的情形,首先说明其状况,之后说明本发明的形态。
图14是模式化展示适用本发明的连接环境的图。图14展示了主机1406经由PSTN(公用交换电话网),访问ISP(因特网服务提供商)所提供的因特网1401的环境。在本实施例中,假设ISP和主机通过PPP(端对端协议)连线连接。
在图14中,ISP的PPP端1402是节点,利用调制解调器1403经由PSTN1404接收来自主机1406的PPP连接请求。PPP端1402具有作为缺省网关模块14021、DHCP模块14022、认证模块14023的功能。主机1406使用调制解调器1405通过PPP连接访问PPP端1402。主机1406的结构和图3一样,经由网络接口301与调制解调器1405连接。另外,PPP端1402的结构也和图3一样,经由网络接口301与调制解调器1403连接,经由网络接口302与连线1407(进而,因特网1401)连接。PPP端1402是把用于设定地址的地址信息提供给主机1406(通信装置)的地址信息提供装置。
在本实施例中,以调制解调器和PSTN为例进行说明,但即使是TA(终端适配器)和ISDN(综合业务数字网)、PHS通信转接器和PHS通信网、专用线连接装置和专用线等其他的通信形态,如果是可以确立PPP连接的环境,则本质上是相同的。PPP连接的详细,被记述在REC 1661“The Point-to-point Protocol(PPP)”中。
主机1406经由调制解调器1405、PSTN1404、调制解调器1403把PPP连接请求传送到PPP端1402。PPP端1402接收其连接请求,认证模块13023进行主机的认证。典型的认证方式是基于用户名和口令的认证协议CHAP,详细内容被记述在RFC1994“PPP竞争握手确认协议”中。
如果认证结束,则DHCP模块14022根据其设定,把IPv6全局地址(的前缀)和缺省网关的IPv6地址等传送到主机1406。DHCP模块14022根据IPS的管理者的运营方针进行设定。
进而,在图14中为了使说明简单,假设缺省网关、DHCP服务器和证明服务器分别作为缺省网关模块14021、DHCP模块14022、认证模块14023存在于PPP端内部,但实际上还可以作为各自不同的节点在连线1407上存在。无论哪种实现形态,因为只要这些模块或者节点在ISP的管理者的管理下安全运行就可以,所以,以下,在图14的形态中说明主机和PPP端之间的PPP连线已被确立的状态。
主机1406如果从DHCP模块14022取得了IPv6全局地址(的前缀)和缺省网关的IPv6地址等,就通过组合IPv6全局地址(的前缀)和自己的(用RFC3041等方法生成的)随机的接口ID来生成随机的IPv6全局地址,并在确认其在连线中不重复后,分配给接口301,并将缺省网关的IPv6地址存储起来。
通过以上的动作,主机1406就可以使用非重复使用IPv6地址和因特网的任意对方进行通信了。
以下,说明本发明的实施例。说明扩展了上述的动作(协议)的,可以使用非重复使用匿名公钥证明书的协议。
以下,说明把匿名公钥证明书方式适用于图14的环境中的形态。认证机构1408是CA,而主机1406(或者利用它的用户)是利用匿名公钥证明书的实体i。以下,说明在证明书中包含有随机的IPv6地址的形态,但也可以不包含随机的IPv6地址。
认证机构1408确定上述的公开参数p、g等,还确定自己的密钥s-ca和公钥v-ca并公开。假设认证机构1408信任PPP端1402。即,在PPP端1402的管理下,即在和ISP之间,对产生问题时的责任取得了一致意见,在认证机构1408和PPP端1402之间可以安全可靠地进行通信。
在用户i申请加入ISP时,使用认证机构1408公开的参数p、g等生成自己的密钥s-i,计算对应的公钥v-i,并把用户名、口令、公钥v-i提供给ISP。ISP的管理源(PPP端1402的管理者)根据其运营方针进行用户i的身份确认和口令的核对等,允许访问。管理者使之可以与用户名对应地检索到公钥v-i那样地将其登录在RAM305或者HD306上。假设公开参数和公钥v-i,特别是密钥s-i由用户管理,在主机1406中可以安全地被利用。
图13展示了在进行了以上的准备后执行的本实施例的协议。在图13中,把实体(用户i使用的IPv6通信装置)作为主机1406,把CA作为认证机构1408,认证机构1408信任PPP端1402,是在它们之间进行的匿名公钥证明书的发行协议。
在PPP连接的数据连线层的处理结束后,进行基于上述用户名和口令的采用认证协议CHAP的认证。
即,在步骤S1301中主机1406把实体名(用户名)从接口301传送到PPP端1402。在步骤S1302中如果从接口301接收到实体名(识别符),则PPP端1402生成CHAP-查询,并在步骤S1303中从接口301向主机1406发送它。
主机1406如果在步骤S1304中从接口301接收到CHAP-查询,则在步骤S1305中把将实体名、口令和CHAP-查询输入随机函数求得的结果值CHAP-应答从接口310送到PPP端1402。
在步骤S1306中,PPP端1402从接口301接收CHAP-应答,确认CHAP-应答的正当性。在确认并且认证成功后,在步骤S1307中从接口301向该被认证后的主机1406传送IPv6全局地址(的前缀)和缺省网关的地址。
在步骤S1308中,主机1406在确认了从接口301接收到的IPv6全局地址(根据前缀和随机接口ID生成的IPv6地址)不重复后,把它分配给接口301,缺省网关的地址也被存储起来。以下在步骤S1309中从接口301向PPP端1402发送作为请求匿名公钥证明书的信息的认证请求。
认证请求和实施例1一样,是把请求匿名公钥证明书的主旨和包含接口ID的数据的信息以PPP端1402可以理解的形式生成的。根据实体名(用户名)、口令和串行号码计算其内容,串行号码是例如将主机206的IPv6连线局部地址和缺省网关的IPv6连线局部地址和此时的时刻这3项连接成一个数据的值。在认证请求中,包含有对应于把实体名(用户名)、口令和串行号码输入到随机函数中的值生成的数字署名(认证用署名)。
在步骤S1310,PPP端1402如果从接口301接收到认证请求,则和图1A的S103A一样,从RAM305或者HD306中检索与实体名(作为主机(通信装置)206的识别符的用户名)对应被登录的公钥v-i,如上所述生成随机数r后生成匿名公钥(g’和v-i’)(=(g^rmod p,(v-i’)^(r)mod p)),并生成主机1406的IPv6全局地址和对应于匿名公钥(g’和v-i’)的认证用署名。而后,在步骤S1311中把由主机1406的IPv6全局地址、匿名公钥(g’和v-i’)和认证用署名组成的证明书请求信息从网络接口302发送到认证机构1408。
通过上述安全可靠的通信进行接收的情况,有认证机构1408证明了从网络接口301接收到的来自PPP端1402的数据自身是在正当的PPP端1402中生成的数据的情况。或者是基于公钥密码的数字署名的情况。
无论哪种情况,和图1的S105一样,在步骤S1312中确认了认证用署名的正当性的认证机构1408,生成主机1406的IPv6全局地址、匿名公钥(g’和v-i’)和对应于管理属性信息X的数字署名Sig-ca(g’,v-i’,X),并生成由主机1406的IPv6全局地址、匿名公钥(g’和v-i’)和管理属性信息X和相对于它们的数字署名组成的匿名公钥证明书。而后,在步骤S1313中,认证机构1408从网络接口301向PPP端1402发送该匿名公钥证明书。在管理属性信息X中,还包含该匿名公钥证明书的有效期限等。
PPP端1402从网络·接口302中取得它,在步骤S1314中从接口301向主机1406发送认证通知即匿名公钥证明书。在步骤S1315中主机1406确认从网络接口301取得的匿名公钥证明书的正当性。
在此,主机1406使用认证机构1408的公钥v-ca,确认匿名公钥证明书APC-ca(i)=(g’,v-i’,X,Sig-ca(g’,v-i’,X))的正当性,即,确认(g’,v-i’)和Sig-ca(g’,v-i’,X)的对应关系的正当性。例如,主机1406从匿名公钥证明书APC-ca(i)中取出(g’,v-i’,X),计算该随机值(例如,H(g’|v-i’|X),其中|表示连接),用公钥v-ca确认Sig-ca(g’,v-i’,X)是否是对应于随机值的正当的数字署名。主机1406预先存储认证机构1408的公钥v-ca。当在匿名公钥证明书的管理属性信息X中包含公钥v-ca的公钥证明书的状态下,主机1406在确认了预先被存储的公钥v-ca和被包含在匿名公钥证明书的管理属性信息X中的公钥v-ca的公钥证明书中的公钥v-ca是一致的后,用该公钥v-ca确认匿名公钥证明书的正当性。
在以上的协议中,也可以把在步骤S1305和S1309中接收到的数据归纳为1个在步骤S1305中发送。虽然未图示,但在该情况下,在步骤S1305’中主机1406把随机的接口ID、CHAP-应答和认证请求(和实施例1相同)发送到PPP端1402。
在步骤S1306’中,PPP端1402确认CHAP-应答的正当性,检索登录的公钥v-i,生成包含有分配给主机1406的IPv6全局地址(根据IPv6前缀和接口ID生成)和其使用期限(使用期限,例如24小时等)等的数据,还生成认证用署名和证明书请求信息,并在步骤S1307’中将其发送到认证机构1408。
认证机构1408在步骤S1308’中进行和步骤S1312中同样的处理,在步骤S1309中把匿名公钥证明书发送到PPP端1402。在步骤S1310’中PPP端1402把认证通知发送到主机1406。在步骤S1311’中主机1406确认接收到的匿名公钥证明书的正当性。
主机1406在通信对方每次改变时,或者在每次改变通话时,或者在每次发送通信信息包时,实行图13的步骤,接收来自认证机构1408的匿名公钥证明书。即,主机1406通过根据需要请求、取得新的公钥证明书,实现保密性保护,进而,通过向通信对方发送包含IPv6地址的公钥证明书,防止冒充。在此,公钥(g’,v-i’)是同一实体的公钥,但也是随着时间的流逝变更的公钥。
进而,在以上的说明中叙述了PPP端1402把IPv6前缀传送到主机1406,主机1406根据IPv6前缀和接口ID生成IPv6地址的情况,但即使在PPP端1402把IPv6地址传送给主机1406,主机1406使用它的情况下也可以用同样的协议实现。在这种情况下,除了在图3的步骤S1307中代替IPv6前缀而发送IPv6地址这一点和在步骤S1308中不需要根据前缀生成IPv6地址的处理这一点外,其他都可以用同样的协议实现。
(实施例4)下面说明使用在实施例1、实施例2和实施例3中发行的非重复使用IPv6地址和非重复使用匿名公钥证明书进行IPsec通信的形态。
首先,简单地说明一下在作为安全地共用秘密数据和作为相互的IPv6地址等数据的SA(安全关联)的协议的IKE(因特网密钥交换)中的采用公钥密码进行加密的修订模式的认证方法,并说明使用匿名公钥证明书的方法。
IKE由两阶段组成,在第1阶段中确立安全通信,在第2阶段中,协调在IPsec等的通信中在上述安全通信连线上被使用的SA。以下,只说明第1阶段。在IKE的第1阶段中存在主模式和探索性模式,以下说明的是RFC2409“因特网密钥交换(IKE)”的pp.13-15的5.3第1阶段的认证具有1个修订模式的公钥加密的主模式。
在IKE中,通信的2个实体被称为启动者和应答者。启动者开始通信。最初,启动者把多个SA(秘密数据和相互的IPv6地址等的数据)发送到应答者,应答者通过把判定为可以使用的一个SA发送到启动者,确定第1阶段使用的SA。
启动者生成随机数(被称为暂时号),把用应答者的公钥加密的数据发送到应答者。应答者生成随机数,把用启动者的公钥加密的数据发送到启动者。由此,因为可以共用各自生成的暂时号,所以可以根据共用的暂时号生成在其他的通信中使用的密钥。其详细记载在RFC2409“因特网密钥交换(IKE)”中。从以上的说明可知,需要在IPsec通信前知道通信对方的公钥。
考虑以下的情况。用户206(图2)、1406(图14)访问某个购物站点。该站点与因特网201(图2)、1401(图14)连接(未图示)。该站点具有和图3一样的结构,通过接口301与因特网201、1401连接。进而,站点的种类并不限于购物站点。主机206、1406在把该购物站点等站点作为通信对方开始通信前,用上述的协议得到IPv6地址以及包含公钥的公钥证明书。在该形态中,根据上述的公钥证明书执行钥交换、更新、变更协议,执行加密、认证通信的步骤。
这时,用户知道购物站点的IPv6地址(不管是明示还是非明示的)。在实际访问对用户来说是正当的站点时,通过确认通信对方的IPv6地址,用户可以明确地知道地址。在通信正在进行中,购物站点也知道了通信对方206、1406的地址。可以利用非重复使用IPv6地址进行以上的通信。
在本方式中,在确定发送接收者的时刻,非重复使用IPv6地址使用(未更新)同一的地址。进而,在该时刻,站点和用户204、1406相互发送非重复使用匿名公钥证明书APC-ca(i)。因为IPv6地址包含在非重复使用匿名公钥证明书APC-ca(i)的X中,所以两者都确认该IPv6地址和实际通信中的对方的IPv6地址是否一致。进而,确认非重复使用匿名公钥的正当性,判断这是否确实是通信对方的非重复使用匿名公钥证明书,并确认包含在其中的公钥是否确实是通信对方的公钥。
即,用户206、1406把非重复使用匿名公钥证明书从接口301发送到站点。与因特网201、1401连接的站点,确认经由接口301从用户206、1406接收到的包含在非重复使用匿名公钥证明书APC-ca(i)中的IPv6地址,与用户206、1406的IPv6地址是否一致。进而,站点使用认证机构209、1408的公钥v-ca,确认非重复使用匿名公钥证明书APC-ca(i)的正当性。用户206、1406也一样,在确认包含在接收到的公钥证明书中的IPv6地址与站点地址的一致性的同时,用认证机构209、1408的公钥v-ca确认公钥证明书的正当性。
如下述那样确认非重复使用匿名公钥证明书的正当性。主机206、1406使用CA(提供商用认证服务的真实标号等)209(图2)、1408(图14)的公钥v-ca,确认非重复使用匿名公钥证明书APC-ca(i)=(g’,v-i’,X,Sig-ca(g’,v-i’,X))的正当性,即,(g’,v-i’)和Sig-ca(g’,v-i’,X)的对应关系的正当性。例如,主机206、1406从匿名公钥证明书APC-ca(i)中取出(g’,v-i’,X),计算该随机值(例如,H(g’|v-i’|X),其中|表示连接),用公钥v-ca确认Sig-ca(g’,v-i’,X)是否是对应于随机值的正当的数字署名。主机206、1406预先存储CA(提供商用认证服务的真实标号等)209(图2)、1408(图14)的公知的公钥v-ca。在匿名公钥证明书的管理属性信息X中包含有公钥v-ca的公钥证明书的形态中,主机206、1406在确认预先存储的公钥v-ca与包含在匿名公钥证明书的管理属性信息X中的公钥v-ca的公钥证明书中的公钥v-ca是否一致后,使用该公钥v-ca确认匿名公钥证明书的正当性。
主机206、1406在通信对方每次变化时(即,每次新连接站点时),或者在每次变更通话时,执行图11、图13的协议,更新变更所使用的IPv6地址以及公钥g’和v-i’。进而,也可以在每次发送通信信息包时,更新、变更公钥g’和v-i’。即,主机206、1406通过根据需要请求、取得新的公钥证明书,实现保密性保护,进而,通过把包含IPv6地址的公钥证明书发送到通信对方,防止冒充。
如上所述,使用非重复使用IPv6地址和包含它的非重复使用匿名公钥证明书,可以可靠地得到利用IPv6地址定义的通信对方的公钥。使用这样的交换的公钥执行上述IKE的第1阶段的主模式,并与具有该IPv6地址的通信对方进行IPsec通信。
即,上述站点如果确认了从用户206、1406接收到的非重复使用匿名公钥证明书是正当的非重复使用公钥证明书,则使用该非重复使用公钥证明书的公钥(g’,v-i’),通过接口301,执行上述IKE的第1阶段的主模式,与具有该IPv6地址的用户206、1406进行IPsec通信。用户206、1406也一样,通过接口301,执行上述IKE的第1阶段的主模式,与具有该IPv6地址的站点进行IPsec通信。
因而,可以防止所述问题中的通信对方的冒充。
以上,通过理想的实施例说明了本发明,但本发明并不限于上述实施例,在权利要求的范围内,可以有各种变形。
权利要求
1.一种公钥生成装置,其特征在于包括通信部件,经由网络与通信装置进行通信;生成部件,生成公钥;发送部件,如果通信装置请求公钥证明书,则把由上述生成部件生成的公钥发送到公钥证明书发行者。
2.权利要求1所述的装置,其特征在于上述通信部件把由公钥证明书发行者发行的公钥证明书发送到通信装置。
3.权利要求1所述的装置,其特征在于上述发送部件把与请求了公钥证明书的通信装置的第1公钥对应的由上述生成部件生成的第2公钥发送到公钥证明书发行者。
4.权利要求3所述的装置,其特征在于上述通信部件如果从通信装置接收到包含数字署名的公钥证明书请求信息,则用通信装置的第一公钥,确认数字署名的正当性。
5.权利要求1所述的装置,其特征在于上述发送部件把通信装置的地址信息发送到公钥证明书发行者。
6.一种公钥生成程序,其特征在于包含以下步骤生成公钥;经由网络接收通信装置发出的公钥证明书请求信息的接收步骤;根据公钥证明书请求信息,把上述生成的公钥发送到公钥证明书发行者的发送步骤。
7.权利要求6所述的程序,其特征在于在上述发送步骤中,把根据请求了公钥证明书的通信装置的第1公钥生成的第2公钥发送到公钥证明书发行者。
8.权利要求7所述的程序,其特征在于在上述接收步骤中,如果从通信装置接收到包含数字署名的公钥证明书请求信息,则使用通信装置的第一公钥,确认数字署名的正当性。
9.一种公钥证明书发行方法,其特征在于包含以下步骤公钥生成装置生成公钥,经由网络接收通信装置发出的公钥证明书请求信息,并根据公钥证明书请求信息,把上述生成的公钥发送到公钥证明书发行者,上述公钥证明书发行者发行从公钥生成装置接收到的公钥的公钥证明书。
10.权利要求9所述的方法,其特征在于上述公钥生成装置把根据请求了公钥证明书的通信装置的第1公钥生成的第2公钥,发送到上述公钥证明书发行者。
11.权利要求10的方法,其特征在于上述公钥生成装置如果从通信装置接收到包含数字署名的公钥证明书请求信息,则使用通信装置的第一公钥,确认数字署名的正当性。
全文摘要
在本发明的公钥证明书发行装置中,主机向网关请求公钥证明书,网关向认证机构(CA)请求公钥证明书。认证机构生成公钥证明书,该公钥证明书经由网关被发送到主机。进而,主机根据来自网关的信息,设定IPv6地址。主机根据需要,请求新的公钥证明书并接收,向通信对方发送包含IPv6地址的公钥证明书。
文档编号H04L29/06GK1457170SQ0312352
公开日2003年11月19日 申请日期2003年5月9日 优先权日2002年5月9日
发明者大石和臣 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1