基于地址的验证系统及其装置和程序转让专利

申请号 : CN200480001195.6

文献号 : CN1701561B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 鹤冈行雄菊地能直水野伸太郎高桥健司唐泽圭

申请人 : 日本电信电话株式会社

摘要 :

由验证服务器分配给用户的地址被用作从用户终端发送的分组的IP地址,则防止了如果IP地址被窃取时的非法使用。验证服务器100根据从用户终端发送的用户验证信息来执行用户的验证,并且一旦成功验证,将地址分配给用户终端,并发出将返回到用户终端的包含地址的票。用户终端将票中包含的地址设定为源地址,并且在请求建立会话时,向应用服务器300发送票。在检验到该票真实之后,服务器300存储该票并且建立与用户终端的会话。用户终端利用会话向服务器300发送包含源地址的服务请求分组。如果源地址与所存储的票中包含的地址一致,则服务器300向用户提供服务。

权利要求 :

1.一种基于地址的验证系统,在验证系统中,验证用户的验证服务器、发送用户验证信息的用户终端、以及通过用户终端向用户提供服务的应用服务器连接在一起,以便在它们之间能够通过网络进行通信,其中所述验证服务器包括:

验证部件,用于根据作为验证请求而从用户终端发送的用户验证信息来验证用户;

地址分配部件,用于向成功验证用户的用户终端分配地址;

验证信息产生部件,用于根据包括所分配的地址的信息来产生验证信息;

票发出部件,用于发出包含由地址分配部件分配的所分配的地址和所述验证信息的票;和票发送部件,用于向用户终端发送由票发出部件发出的票;

所述用户终端包括:

用户验证信息发送部件,用于为了验证请求而向验证服务器发送用户验证信息;

票接收部件,用于接收从验证服务器发送的包含所分配的地址的票;

用于将票中包含的所分配的地址设定为将要从用户终端发送的分组的源地址的部件;

用于向应用服务器发送包含所述票的分组以建立会话的部件;和服务请求部件,用于通过所述会话向应用服务器发送请求服务的分组;以及所述应用服务器包括:

票存储部件,用于存储从用户终端发送的票;

票检验部件,用于检验在从用户终端发送的票中的验证信息中是否存在任何伪造,并且在不存在伪造时将票存储在票存储部件中;

地址比较部件,用于确定在存储于票存储部件的票中包含的所分配的地址是否与通过所述会话从用户终端发送的服务请求分组的源地址一致;和服务提供部件,用于当地址比较部件确定所述地址一致时向用户终端发送分组,所述分组向用户提供服务。

2.根据权利要求1的验证系统,其中

用户终端具有与用户终端的公开密钥相关的密钥信息,

用户验证信息发送部件是用于将密钥信息和用户验证信息一起发送的部件,并且所述票发出部件是用于发出还包含从用户终端发送的密钥信息的所述票的部件,用户终端还包括:

会话密钥产生部件,用于根据用户终端的私有密钥和应用服务器的公开密钥来计算与应用服务器共享的会话保密密钥;和分组加密处理部件,用于通过会话保密密钥对要发送给应用服务器的分组进行加密处理,以保证分组中没有伪造;

所述应用服务器还包括:

会话密钥产生部件,用于根据应用服务器的私有密钥和用户终端的公开密钥来计算与用户终端共享的会话保密密钥;和分组检验部件,用于使用会话保密密钥来确认从用户终端接收的分组是否被伪造;

其中,所述票检验部件被配置为检验在已被检验为未被伪造的分组的票中包含的密钥信息是否是与用户终端的公开密钥相关的信息,并且如果不是,则防止所述票被存储在票存储部件中.

3.根据权利要求2的验证系统,其中

所述应用服务器还包括:

地址核对部件,用于将从用户终端发送的票中的地址与包含所述票的分组的源地址进行核对,并且如果未发现一致则防止所述票被存储在票存储部件中。

4.根据权利要求2的验证系统,其中验证服务器包括用户标识符分配部件,其用于响应于成功验证用户的验证请求而分配与已验证的用户对应的用户标识符,所述票发出部件是用于发出包括用户标识符的票的部件。

5.根据权利要求1至4中任一项权利要求的验证系统,其中验证信息产生部件被配置为使用在验证服务器与应用服务器之间预先共享的共享保密密钥来处理包括所分配的地址的所述信息,应用服务器的票检验部件还被配置为使用在验证服务器与应用服务器之间预先共享的共享保密密钥来检验包含在票中的验证信息。

6.根据权利要求1至4中任一项权利要求的系统,其中,验证服务器具有用于数字签名的一对私有密钥和公开密钥,在验证服务器处的产生验证信息的步骤是使用用于数字签名的私有密钥对包括所分配的地址的信息计算数字签名的步骤,在应用服务器处的票检验步骤是使用验证服务器的公开密钥检验在所述票中的验证信息中是否存在任何伪造的步骤。

7.根据权利要求1或4的验证系统,其中,

应用服务器包括地址核对部件,其用于核对从用户终端发送的票中的地址与包括所述票的分组的源地址,并且用于在未发现一致时防止所述票被存储在票存储部件中。

8.一种验证系统中的验证服务器,在该验证系统中,通过用户终端,验证服务器执行使用用户终端的用户的验证,并且根据所述验证,对应用服务器做出提供服务的请求,所述验证服务器包括:用户验证信息接收部件,用于接收包括均从用户终端发送的用户验证信息以及与用户终端的公开密钥相关的密钥信息的验证请求;

验证部件,其中输入了接收到的验证请求的用户验证信息,并且根据用户验证信息来验证用户,并且一旦成功验证就提供表示成功验证的信号;

地址分配部件,用于响应于表示用户成功验证的信号的输入而向用户终端分配地址;

验证信息产生部件,用于根据包括至少所分配的地址和所述密钥信息的信息来产生验证信息;

票发出部件,用于向其用户被验证部件验证的用户终端发出包含由地址分配部件分配的所分配的地址、所述密钥信息以及所述验证信息的票;和票发送部件,其中输入了由票发出部件发出的所述票,并且向用户终端发送所述票。

9.根据权利要求8的验证服务器,其中,验证信息产生部件被配置为通过使用在验证服务器与应用服务器之间预先共享的共享保密密钥处理包括所分配的地址和所述密钥信息的信息,来产生所述验证信息。

10.根据权利要求8的验证服务器,其中,验证服务器具有用于数字签名的一对私有密钥和公开密钥,并且所述票发出部件包括:验证信息产生部件,使用用于数字签名的私有密钥对包括至少所分配的地址的信息计算数字签名以产生所述验证信息,使得应用服务器能够使用验证服务器的公开密钥检验在票中的验证信息中是否存在任何伪造.

11.根据权利要求8的验证服务器,还包括:

用户标识符分配部件,用于当用户验证成功时,响应于验证请求而分配与已验证的用户对应的用户标识符,其中,所述验证信息产生部件被配置为处理包括所分配的地址、所述密钥信息和所述用户标识符的信息以产生所述验证信息,并且票发出部件被配置为将至少所述验证信息、所分配的地址、所述密钥信息和所述用户标识符组合以形成所述票。

12.根据权利要求11的验证服务器,其中用户标识符分配部件被配置为通过使用验证服务器的标识符产生保密密钥来加密直接识别用户的信息,以产生所述用户标识符。

13.一种验证系统中的用户终端,在该验证系统中,验证服务器执行使用用户终端的用户的验证,并且根据所述验证对应用服务器做出提供服务的请求,所述用户终端包括:票接收部件,用于接收从验证服务器发送的票,所述票包含分配给用户终端的地址、与用户终端的公开密钥相关的密钥信息、以及通过处理包括所分配的地址和所述密钥信息的信息而产生的验证信息;

源地址设定部件,其中输入了由票接收部件接收到的所述票,并且将所述票中包含的所分配的地址设定为用户终端的源地址;

会话建立部件,其中输入了由票接收部件接收到的所述票,并且向应用服务器发送包括所述票的分组,以建立与应用服务器的会话;

服务请求部件,用于通过所建立的会话向应用服务器发送表示服务请求的分组;

密钥信息产生部件,其中输入了用户终端的公开密钥,并且产生与用户终端的公开密钥相关的密钥信息;

会话密钥产生部件,其中输入了用户终端的私有密钥和应用服务器的公开密钥,并且计算与应用服务器共享的会话保密密钥;

分组加密处理部件,其中输入了要从用户终端发送的分组和会话保密密钥,并且使用会话保密密钥对所述分组施加加密处理以便保证在所述分组中没有伪造;以及用户验证信息发送部件,其被配置为将所述密钥信息和用户验证信息一起发送给验证服务器。

14.一种验证系统中的用户终端,在该验证系统中,验证服务器执行使用用户终端的用户的验证,并且根据所述验证对应用服务器做出提供服务的请求,所述用户终端包括:票接收部件,用于接收从验证服务器发送的票,所述票包含分配给用户终端的地址、与用户终端的公开密钥相关的密钥信息、以及通过处理包括所分配的地址和所述密钥信息的信息而产生的验证信息;

源地址设定部件,其中输入了由票接收部件接收到的所述票,并且将所述票中包含的所分配的地址设定为用户终端的源地址;

会话建立部件,其中输入了由票接收部件接收到的所述票,并且向应用服务器发送包括所述票的分组,以建立与应用服务器的会话;

服务请求部件,用于通过所建立的会话向应用服务器发送表示服务请求的分组;

密钥信息产生部件,其中输入了与应用服务器共享的用于验证的共享保密密钥和每次建立会话时改变的会话相关信息,并且通过用于验证的共享保密密钥处理会话相关信息来产生密钥信息;以及用户验证信息发送部件,其被配置为将密钥信息和用户验证信息一起发送给验证服务器。

15.一种验证系统中的应用服务器,在该验证系统中,验证服务器执行使用用户终端的用户的验证,并且根据所述验证对应用服务器做出提供服务的请求,所述应用服务器包括:会话建立部件,用于建立与用户终端的会话;

票存储部件,其中存储了从用户终端发送的票;

地址比较部件,其中输入了从用户终端发送并通过所建立的会话接收的服务请求分组的源地址,并且确定该源地址是否与在票存储部件中存储的票中包含的用户终端的所分配的地址一致;和服务提供部件,其在地址比较部件的输出指示一致时,向用户终端发送用于向用户提供服务的分组;

其中,所述会话建立部件包括票检验部件,该票检验部件用于通过检查包含在所述票中的验证信息来检验通过来自用户终端的用于建立会话的分组接收的票的真实性,并且在检验不成功时防止所述票被存储在票存储部件中。

16.根据权利要求15的应用服务器,还包括:

会话密钥产生部件,用于根据应用服务器的私有密钥和用户终端的公开密钥来计算与用户终端共享的会话保密密钥;和分组检验部件,用于使用会话保密密钥来检验从用户终端接收的分组是否被伪造,并且响应于表示存在伪造的检验输出而防止所述票被存储。

17.根据权利要求16的应用服务器,其中所述票检验部件包括核对部件,该核对部件用于在接收到被分组检验部件检验为未被伪造的分组时,检验包含在所述票中的密钥信息是否对应于在计算会话保密密钥中已被使用的用户终端的公开密钥。

18.根据权利要求15的应用服务器,其中所述票检验部件包括终端验证部件,其中输入了与用户终端共享的用于验证的共享保密密钥和每次建立会话时改变的会话相关信息,并且使用该用于验证的共享保密密钥来处理会话相关信息,将处理结果与所述票中的密钥信息进行核对并通过查看处理结果与密钥信息之间是否匹配来检验所述票的真实性。

19.根据权利要求15、17和18中任一项权利要求的应用服务器,其中票检验部件包括用于检验所接收的分组的源地址是否与分组内的所述票中包含的地址一致、以及响应于表示不一致的检测输出而防止所述票被存储的部件。

说明书 :

技术领域

本发明涉及一种用于用户终端从验证服务器接收用户验证并且根据接收到的验证来请求由应用服务器提供的服务的验证系统,尤其涉及这样一种验证系统及其装置和程序,即其中一旦用户验证成功时,验证服务器向用户终端分配源地址并且用户使用所分配的源地址请求应用服务器提供的服务。

背景技术

当用户期望通过诸如因特网的网络从服务器获得服务时,通常的实践是,在用户的终端(用户终端)与服务器之间建立会话并且通过该会话将服务请求发送至服务器。由于服务器提供的服务要收费,所以服务器要求在提供服务之前验证用户,并且一旦验证成功,它就通过所建立的会话来提供服务。因此,每次对服务器进行服务请求时都发生用户验证,并且通过所建立的会话来提供服务。如果所提供的服务覆盖多个分组,则通过相同的会话来提供服务。
鉴于如果响应每个服务请求执行用户验证而使每个应用服务器经历的吞吐量增加,提出了一种由验证服务器执行的用户验证的方法,其中一旦成功验证,就向用户分配IP地址,然后用户使用IP地址作为源地址来请求服务器提供服务。
在现有的网络验证系统中,例如在专利文献中公开了如下所述的这种基于地址的验证方法。具体地,当用户利用连接服务时,网络接入验证服务器参考个人信息数据库,其中预先存储了客户信息与用户ID(唯一识别用户的信息)之间的对应关系以便验证用户,并且一旦成功验证,就向用户的终端一起分配IP(因特网协议)地址和连接许可,在存储器中存储IP地址与用户ID之间的关系的同时向用户终端发送所分配的IP地址,并且当利用商业交易服务时,用户终端在因特网上使用从网络接入验证服务器发送的IP地址向销售服务提供商装置提出购买货物,销售服务提供商地址获得货物购买提出(proposal)包的源IP地址并且向网络接入验证服务器发送该用于查询的IP地址以根据IP地址获取用户ID,并且随后获取与所获取的用户ID对应的客户信息用以验证客户。
专利文献1:公开的日本申请,公开号:No.2002-207929

发明内容

然而,上述的现有技术的验证系统出现这样一个问题:在用户的网络接入验证期间或者当提供服务时,第三方可能从在网络上发送或者接收的分组中窃取用户使用的IP地址,从而能够通过访问提供商业交易服务的服务器来进行假冒。换句话说,现有技术的基于地址的验证系统不能保证向用户分配的地址的真实性。应当注意,真实的地址是指诸如ISP(因特网服务提供商)的组织根据正确过程向用户或用户终端分配的地址。
本发明的一个目的是提供一种基于地址的验证系统、装置和程序,因此能够保证分配给用户的地址的真实性,从而克服了现有技术的这种问题。
解决问题的手段
根据本发明的一个方面,提供了一种基于地址的验证系统,在验证系统中,验证用户的验证服务器、发送用户验证信息的用户终端、以及通过用户终端向用户提供服务的应用服务器连接在一起,以便在它们之间能够通过网络进行通信,所述验证服务器包括:验证部件,用于根据作为验证请求而从用户终端发送的用户验证信息来验证用户;地址分配部件,用于向成功验证用户的用户终端分配地址;验证信息产生部件,用于根据包括所分配的地址的信息来产生验证信息;票发出(issuing)部件,用于发出包含由地址分配部件分配的所分配的地址和所述验证信息的票;和票发送部件,用于向用户终端发送由票发出部件发出的票;所述用户终端包括:用户验证信息发送部件,用于为了验证请求而向验证服务器发送用户验证信息;票接收部件,用于接收从验证服务器发送的包含所分配的地址的票;用于将票中包含的所分配的地址设定为将要从用户终端发送的分组的源地址的部件;用于向应用服务器发送包含票的分组以建立会话的部件;和服务请求部件,用于通过所述会话向应用服务器发送请求服务的分组;所述应用服务器包括:票存储部件,用于存储从用户终端发送的票;票检验部件,用于检验在从用户终端发送的票中的验证信息中是否存在任何伪造,并且在不存在伪造时将票存储在票存储部件中;地址比较部件,用于确定在存储于票存储部件的票中包含的所分配的地址是否与通过所述会话从用户终端发送的服务请求分组的源地址一致;和服务提供部件,用于当地址比较部件确定所述地址一致时向用户终端发送分组,所述分组向用户提供服务。
根据本发明的另一方面,提供了一种验证系统中的验证服务器,在该验证系统中,通过用户终端,验证服务器执行使用用户终端的用户的验证,并且根据所述验证,对应用服务器做出提供服务的请求,所述验证服务器包括:用户验证信息接收部件,用于接收包括均从用户终端发送的用户验证信息以及与用户终端的公开密钥相关的密钥信息的验证请求;验证部件,其中输入了接收到的验证请求的用户验证信息,并且根据用户验证信息来验证用户,并且一旦成功验证就提供表示成功验证的信号;地址分配部件,用于响应于表示用户成功验证的信号的输入而向用户终端分配地址;验证信息产生部件,用于根据包括至少所分配的地址和所述密钥信息的信息来产生验证信息;票发出部件,用于向其用户被验证部件验证的用户终端发出包含由地址分配部件分配的所分配的地址、所述密钥信息以及所述验证信息的票;和票发送部件,其中输入了票,并且向用户终端发送票。
根据本发明的另一方面,提供了一种验证系统中的用户终端,在该验证系统中,验证服务器执行使用用户终端的用户的验证,并且根据所述验证对应用服务器做出提供服务的请求,所述用户终端包括:票接收部件,用于接收从验证服务器发送的票,所述票包含分配给用户终端的地址、与用户终端的公开密钥相关的密钥信息、以及通过处理包括所分配的地址和所述密钥信息的信息而产生的验证信息;源地址设定部件,其中输入了接收到的票,并且将票中包含的所分配的地址设定为用户终端的源地址;会话建立部件,其中输入了票,并且向应用服务器发送包括票的分组,以建立与应用服务器的会话;服务请求部件,用于通过所建立的会话向应用服务器发送表示服务请求的分组;密钥信息产生部件,其中输入了用户终端的公开密钥,并且产生与用户终端的公开密钥相关的密钥信息;会话密钥产生部件,其中输入了用户终端的私有密钥和应用服务器的公开密钥,并且计算与应用服务器共享的会话保密密钥;和分组加密处理部件,其中输入了要从用户终端发送的分组和会话保密密钥,并且通过会话保密密钥对所发送的分组进行加密处理,其保证在分组中没有伪造;用户验证信息发送部件,其被配置为将所述密钥信息和用户验证信息一起发送给验证服务器.
根据本发明的另一方面,提供了一种验证系统中的应用服务器,在该验证系统中,验证服务器执行使用用户终端的用户的验证,并且根据所述验证对应用服务器做出提供服务的请求,所述应用服务器包括:会话建立部件,用于建立与用户终端的会话;票存储部件,其中存储了从用户终端发送的票;地址比较部件,其中输入了从用户终端发送并通过所建立的会话接收的服务请求分组的源地址,并且确定源地址是否与在票存储部件中存储的票中包含的用户终端的所分配的地址一致;和服务提供部件,其在地址比较部件的输出指示一致时,向用户终端发送用于向用户提供服务的分组;其中,所述会话建立部件包括票检验部件,该票检验部件用于通过检查包含在票中的验证信息来检验通过来自用户终端的用于建立会话的分组接收的票的真实性,并且在检验不成功时防止票被存储在票存储部件中。
发明效果
使用所述结构,通过相同的验证服务器来执行用户的验证和地址的分配,由此,保证地址仅被分配给有效的用户。由于相同的验证服务器执行地址的分配和票的发出,因此通过票能够保证地址的真实性。
由于地址是根据用户验证来发出的,所以能够保证地址的真实性。另外,票到应用服务器的发送仅发生一次,并且由于该票中包含的地址是验证服务器向用户终端给出的有效用户正好请求其验证的地址,并且由于该票中的地址被作为源地址,因此如果通过对于票发送而建立的会话从用户终端发送的每个服务请求分组的源地址与所存储的票中包含的地址一致,则那个分组可以被认为是来自已验证的用户的分组。因此,服务请求分组的源地址通过在建立会话时期间仅发送一次的票中包含的地址而与已验证的用户相关联。如果第三方窃取了服务请求分组的源地址并且使用它对应用服务器进行服务请求,则在那个会话期间所存储的票中包含的地址不与源地址一致,从而防止提供服务。

附图说明

图1是示出根据执行本发明的第一和第二模式的验证系统的示例性系统结构的方框图;
图2是示出根据执行本发明的第一模式的验证服务器的示例性功能结构的方框图;
图3是示出根据执行本发明的第一模式的用户终端的示例性功能结构的方框图;
图4是示出根据执行本发明的第一模式的应用服务器的示例性功能结构的方框图;
图5是示出在执行本发明的第一模式中使用的票的构造的示例图;
图6是示出包括在执行本发明的第一模式中使用的票的分组的构造的示例图;
图7是示出根据执行本发明的第一模式的验证系统的示例处理过程的顺序图;
图8是示出由根据执行本发明的第一模式的验证服务器处理的示例流程的流程图;
图9A是示出在根据执行本发明的第一模式的用户终端在用户验证期间发生的处理的示例流程的流程图;
图9B是示出在服务请求期间发生的处理的示例流程的流程图;
图10是示出由根据执行本发明的第一模式的应用服务器处理的示例流程的流程图;
图11A和11B图解了图2所示的验证信息产生部件151的不同功能结构的示例;
图11C图解了图4所示的验证信息检验器320a的不同功能结构的示例;
图12是示出根据执行本发明的第二模式的验证服务器的示例性功能结构的方框图;
图13是示出根据执行本发明的第二模式的用户终端的示例性功能结构的方框图;
图14是示出根据执行本发明的第二模式的应用服务器的示例性功能结构的方框图;
图15是示出在执行本发明的第二模式中使用的票的构造的示例图;
图16是示出被添加有在执行本发明的第二模式中使用的验证头标的分组的构造的示例图;
图17是示出根据执行本发明的第二模式的验证系统的示例处理过程的顺序图;
图18是示出由根据执行本发明的第二模式的验证服务器处理的示例流程的流程图;
图19A是示出在根据执行本发明的第二模式的用户验证期间在用户终端发生的处理的示例流程的流程图;
图19B是示出服务请求期间的处理的示例流程的流程图;
图20是示出由根据执行本发明的第二模式的应用服务器处理的示例流程的流程图;
图21A是示出在使用密钥信息的另一个示例时验证系统中的示例处理过程的顺序图;
图21B是示出被添加到图12所示的验证服务器的质询发生器(challengegenerator)的具体示例的方框图;
图21C是示出图13的密钥信息发生器的另一具体示例的方框图;和
图21D是示出图14的票检验部件620内的修改的具体示例的方框图。

具体实施方式

现在将参考附图来详细描述执行本发明的几个模式。在下面的说明中,为了避免重复说明,相应的部件由相同的参考符号表示。
[第一模式]系统结构
图1是示出根据执行本发明的第一模式的基于地址的验证系统的系统结构图。根据本发明的基于地址的验证系统包括:验证用户的验证服务器100;覆盖多个用户终端200的接入点300,所述多个用户终端200发送用户验证信息;和多个应用服务器300,其向用户终端200发送分组,所述分组向用户提供服务,所有这些部件连接在一起,以这种方式允许通过网络10在它们之间进行通信。
验证服务器100与存储关于用户的信息(用户验证数据)的用户数据库20相连接。用户不限于操作用户终端200的用户,还可以是充当操作员的程序自身,例如其就可以是像在计算机的程序执行期间用户正在利用用户终端一样。基于地址的验证系统可以被构造成物理地保护用户终端200与应用服务器300之间的网络安全。在该示例中,不需要确认是否伪造了从用户终端200向应用服务器300发送的分组的处理。
网络10可以包括无线和有线网络、LAN(局域网)或者因特网。可以对于每个给定区域提供接入点30。用户终端200可以包括能够进行无线通信的蜂窝电话、手机、个人设备或个人计算机。应用服务器300可以包括提供内容分发服务的服务器,所述内容分发服务包括电影和体育节目、电子商务交易服务、电子邮件的通信服务、IP电话和即时消息、或者诸如万维网的信息浏览器服务。另外,应用服务器300也可以包括网关服务器或防火墙,用于在独立的网络上提供服务的接入。
用户终端200通过经由接入点30发送用户验证信息来请求用户的验证,所述用户验证信息被要求用于由验证服务器100来验证用户。在执行本发明的这种模式中,用户验证信息包括至少下列之一:用户标识符和口令、根据密钥对产生以验证用户的信息、用于验证用户的生物学测定特征(biometrics)(例如指纹、虹膜、脉相、笔迹、语音印迹等)的信息、和在已知的各种用户验证技术中使用的其他信息。应当注意,密钥对表示一对基于公开密钥加密技术的公开密钥和私有密钥。
验证服务器100根据从用户终端200发送的用户验证信息通过参考用户数据库20来验证用户,并且一旦用户验证成功,则分配与用户对应的用户标识符,并且分配能够唯一识别与所分配的用户标识符相对应的用户终端的地址,发出包括所分配的地址和用户标识符的票,并且将所发出的票发送至用户终端200。
用户终端200使用在从验证服务器100发送的票中包含的地址作为用于从用户终端200发送的分组的源地址,并且开始将票发送至应用服务器100,随后发送请求服务的分组(以后称之为服务请求分组)。
应用服务器300存储从用户终端200发送的票,确定包含在所存储的票中的地址是否与服务请求分组的源地址一致,并且一旦确定地址一致时,将向用户提供服务的分组发送至用户终端200。
[第一模式]验证服务器
图2是在执行本发明的第一模式中使用的验证服务器的方框图。验证服务器100包括通信接口101和控制处理部件102。通信接口101可以包括例如调制解调器或LAN接口,并且任何部件只要能够与连接到网络10的通信设备通信就可被用来构造该通信接口。
控制处理部件102包括:具有执行程序的CPU(中央处理单元)的控制单元102a、存储程序等的存储器、用户验证信息接收部件110、验证部件120、用户标识符分配部件130、地址分配部件140、票发出部件150和票发送部件160。应当理解,这些部件不必构造成硬件,而是通过程序执行实现的功能。
上述的验证服务器100连接到存储了与用户相关的信息的用户数据库20,并且用户数据库20存储有用户ID条目数据,包括在验证用户时使用的验证数据和用户ID(例如用于唯一识别用户自身的名称或信息)。
用户验证信息接收部件110通过通信接口101接收从用户终端200发送的包括用户验证信息的验证请求.
验证部件120根据由用户验证信息接收部件110接收的验证请求的用户验证信息来执行用户的验证。验证部件120通过检验用户验证信息与存储在用户数据库20中的验证数据之间的一致性来验证用户。
一旦成功验证用户,用户标识符分配部件130响应验证请求而分配与那个用户对应的用户标识符IDU。应当理解,用户标识符是基于地址的验证系统中的唯一标识符。或者,用户标识符IDU可以是世界上实现唯一性的扩展标识符,诸如“A@B”,其中A表示验证服务器内的唯一标识符,B表示验证服务器的全球IP地址。因此,用户标识符唯一地对应于一对假设的用户中的一个用户。然而,单个用户可以同时对应于多个用户标识符。
用户标识符分配部件130例如从存储在用户数据库20中的用户ID条目数据获取用户ID,并且响应验证请求分配所获取的用户ID作为用户标识符IDU。或者,用户标识符分配部件130当其已获取用户ID时可以在加密部件140a中产生随机数,将所产生的随机数添加到所获取的用户ID,并且可以用验证服务器100的标识符产生私有密钥对所得的结果(随机数+用户ID)信息进一步加密以便分配为用户标识符IDU。当以这种方式安排时,只有知道标识符产生私有密钥的人(例如验证服务器100)根据用户标识符IDU能够知道用户ID,从而即使用户标识符IDU包含在将被发送至应用服务器的票中也可以实现用户的私密性保护。作为另一种替换,用户标识符分配部件130可以分配来自用户标识符信息的用户标识符IDU或者可以从随机数、字符、序号中选择某物,通过数据库其唯一地与用户ID相关联。
地址分配部件140将地址AU分配给用户终端,该用户终端对应于由用户标识符分配部件130分配的用户标识符IDU。该地址AU可以是IP地址并且另外还可以是邮件地址、在SIP(会话起始协议)中使用的URI(统一资源识别符)或者IM(即时消息)的地址。
如果可以假设在地址分配部件140的地址分配期间,不能出现相同地址与多个用户标识符同时对应,则一个地址唯一地对应一个用户标识符并且也唯一地对应一个用户。
为了使分配给已验证用户的用户标识符IDU与已分配地址AU之间的对应关系可被容易地识别,那种对应或者包含那种对应信息的票本身被存储在分配存储器102b中或者与包含在用户数据库20中的用户信息相关联。每次发出验证请求时,可以改变用户标识符IDU和分配给相同用户的地址AU。为此,根据发出票的日期和时间来区分相同用户的票。在适当的时间删除不使用的用户标识符IDU和地址AU。以这种方式,根据用户标识符IDU或者所提供服务的费用来进行调节,以便答复来自应用服务器300的关于用户信息的查询。
在该示例中,票发出部件150包括验证信息产生部件151,临时产生包含由用户标识符分配部件130分配的用户标识符IDU和由地址分配部件140分配的地址AU的临时票(IDU,AU),根据验证信息产生部件151产生的临时票来产生验证信息IA,并且发出包含验证信息IA、用户标识符信息IDU和地址AU的票CK1。
如图5所示,票CK1包括用户标识符、地址、验证信息以及表示发出票CK1的日期和时间的时间戳、表示票的有效期的信息、以及图5中未示出的表示分配给用户终端200的通信带宽的信息以及与覆盖用户终端200的接入点30相关的信息(例如位置信息等).当包含时间戳时,票发出部件150包括时钟部分150a,并且利用从时钟部分150a传递的时间戳.表示票的有效期的信息和表示分配给用户终端200的通信带宽的信息可以事先通过通信企业或应用服务提供商与使用用户终端200的用户之间的接触来确定,通信企业或应用服务提供商操作接入点30、验证服务器100和应用服务器300.
另外,例如,如图5所示,在票CK1中可以包含唯一识别验证服务器100的验证服务器标识符信息(例如地址AA)。或者,在验证服务器100内唯一的标识符A和验证服务器100的全球IP地址被组合成将被用作用户标识符IDU的“A@B”形式,如先前所述,该B可被用作验证服务器标识符信息,如图5所示。
验证信息产生部件151输入预先与应用服务器300共享的共享保密密钥KCAS和临时票(IDU,AU),以便使用该共享保密密钥KCAS来计算相对于临时票的单向散列函数以产生鉴别码MAC(消息验证码),该鉴别码被作为验证信息IA传递。
票发送部件160通过通信接口101向用户终端200发送由票发出部件150发出的票51。
[第一模式]用户终端
图3是在执行本发明的第一模式中使用的用户终端的方框图。用户终端200包括通信接口201和控制处理部件202。通信接口201包括有线或无线LAN接口、调制解调器或诸如蜂窝电话(模块)等的通信工具,并且可以使用能够与通过接入点30连接到网络10的通信设备进行通信的任意接口。
控制处理部件202包括:具有执行程序的CPU的控制单元202a、存储程序等的存储器、验证请求部件203和服务请求部件230。这些部件的功能可以通过程序模块或者如在验证服务器100中的程序执行来实现。验证请求部件203包括用户验证信息产生部件210、用户验证信息发送部件220和票接收部件231。
用户验证信息产生部件210产生包括表示用户名和口令的信息的用户验证信息。用户验证信息产生部件210例如通过根据所输入的信息产生用户验证信息,而响应来自诸如键盘的输入工具40的用户名和口令的输入。可选地,代替用户名和口令,被验证服务器100请求来验证用户的下列信息中的至少一种信息也可用作用户验证信息:根据验证用于验证用户的生物学测定特征的用户信息的密钥对而产生的信息或者在用户验证的已知方法中使用的其他各种信息。
为了验证请求,用户验证信息发送部件220通过通信接口201向验证服务器100发送由用户验证信息产生部件210产生的用户验证信息。
票接收部件231接收包括通过通信接口201从验证服务器100发送的票(CK1)51的分组,并且包含在所接收的票51中的地址AU被设定并作为源地址AS被登记在通信接口201,例如被源地址设定部件231a登记在寄存器201a中。或者,包含在由服务请求部件230中的源地址设定部件230a接收的票51中的地址可以被设定并作为源地址AS被登记在通信接口201内的寄存器201a中。
服务请求部件230包括会话建立部件232,用于请求将由应用服务器300提供的服务。
会话建立部件232根据用户采用的服务来建立应用服务器300与用户终端200之间的会话。例如,在建立会话的处理操作期间的某一步骤,会话建立部件232通过通信接口201向应用服务器300发送票接收部件231接收的票(CK1)51来建立会话。会话建立请求分组52包括具有源地址AS的头标部分52h和具有票51的有效负荷部分52p,例如如图6所示.
例如,会话建立部件232通过通信接口201向应用服务器300发送分组52。通信接口201将由票接收部件231的源地址设定部件231a登记的地址AS设定为分组52的源地址,并且发送分组52。在所建立的会话使用作为源地址AS登记在通信接口201中的地址期间,服务请求部件230向应用服务器300发送表示服务请求的分组(服务请求分组)。
[第一模式]应用服务器
图4是执行本发明的第一模式中使用的应用服务器的方框图。应用服务器300包括通信接口301和控制处理部件302。通信接口301可以例如包括调制解调器或LAN接口,并且可以使用只要能够与连接到网络10的通信设备进行通信的任意接口。
控制处理部件302包括:具有处理程序的CPU的控制单元302a、存储程序等的存储器、服务提供部件310、会话建立部件311和票存储部件330。以与应用服务器100类似的方式,这些部件可由程序模块来实现。
服务提供部件310包括地址比较部件312,并且提供由用户终端200请求的服务。
会话建立部件311包括票检验部件320,并且建立与用户终端200的会话。在建立会话的过程中,会话建立部件301接收包括从用户终端200发送的票(CK1)51的分组52。
票检验部件320检验包含在分组52中的票(CK1)51是否被伪造。例如,票检验部件320在验证信息检验器320a中检验包含在接收到的票51中的验证信息IA。具体地,如果验证信息IA是鉴别码(MAC:消息验证码),则在验证检验器320a中使用与验证服务器100事先共享的共享保密密钥KCAS来检验票51是否被伪造。另外,票检验部件320在地址核对器320b中将票51中包含的地址AU与分组52中的源地址AS进行核对,如果它们不一致,则检验失败。
另外,如果票(CK1)51包含有效期EPe,则票检验部件320可以根据来自时钟部分320d的时间信息在有效期鉴别器320f中检验票51是否在其有效期之内。票检验部件320可以通过选择共享保密密钥来执行检验,所述共享保密密钥是对于每个时段根据票(CK1)51中包含的时间戳Tms中的值而单独准备的。当时间戳Tms包含在票(CK1)51中时,票检验部件320可以根据来自时钟部分320d的时间信息以及票被产生时的、由时间戳表示的日期和时间来检验票51是否有效。或者,有效期检验器320f可以根据票51中包含的时间戳和表示有效期的信息来检验用户请求的服务是否在服务提供部件310的有效提供期之内。
当由票检验部件320执行的包含在票(CK1)51中的地址AU和分组52的源地址AS的核对结果表示匹配并且确定票已经从具有验证地址的用户终端被发送时,该票51被存储在票存储部件330中。然而,如果其他检验和由票检验部件320执行的核对中的任何一个不成功时,防止将票51存储在票存储部件330中。例如,来自检验器320a、320c和320f以及核对器(collator)320b的输出被输入到存储命令单元320g,并且如果任何一个输入表示未成功,则不产生存储票51的命令。
地址比较部件312通过参考票存储部件330根据表示服务请求的分组的源地址AS来检验源地址AS是否与包含在票51中的对应地址AU一致。当票51中包含的地址AU与分组的源地址AS一致时,服务提供部件310向用户终端200发送分组,该分组有效地向用户提供用户终端200请求的服务。
如果需要,服务提供部件310可以根据票51中包含的用户标识符IDU向验证服务器100进行关于用户信息的查询。另外,服务提供部件310可以通过验证服务器100发送与涉及向用户数据库20提供的服务收费相关的信息。在该示例中,如果票CK1包含验证服务器100的标识符信息,如图5所示,则如果存在多个验证服务器就可以指定验证服务器,并且如果验证服务器标识符信息是地址(例如地址AA),则该地址可被立即用来访问验证服务器100。
[第一模式]验证系统的处理过程
现在将参考图7来描述根据执行本发明的第一模式的基于地址的验证系统的处理过程。
(1)首先,当向验证服务器请求用户的验证时,用户终端200准备用户验证信息,该用户验证信息随后通过接入点30被发送至验证服务器100。
(2)一旦接收验证请求,验证服务器100就根据用户验证信息来执行用户的验证。一旦成功验证用户,验证服务器100向用户分配用户标识符IDU,向与用户对应的用户终端200分配地址AU,并且如果需要则发出包含对于所分配地址AU的验证信息IA、时间戳、和有效期等的票51。以及
(3)向用户终端200发送票51。
(4)一旦接收票51,用户终端200将票51的地址设定为源地址AS,并且向应用服务器300发送包括票51的分组52,从而请求建立与应用服务器300的会话。
(5)一旦接收分组52,应用服务器300根据验证信息来检验票的正确性,并且一旦成功检验,则比较分组的源地址AS与票51中包含的地址AU,并且如果它们匹配,则存储票51并建立会话。
(6)当建立会话时,用户终端200通过所建立的会话向应用服务器300发送服务请求分组。
(7)一旦接收这些服务请求分组,应用服务器300确定服务请求分组的源地址AS是否与所存储的票51中包含的地址AU一致,一旦所述地址一致,则它向用户终端200发送分组,该分组有效地向用户提供服务。
[第一模式]验证服务器的处理
图8是示出在执行本发明的第一模式中使用的验证服务器100的处理的流程的流程图。
首先,用户验证信息接收部件110通过通信接口101接收从用户终端200发送的验证信息(S101),并且验证部件120根据用户验证信息进行用户的验证,一旦成功验证用户,操作继续到S103,而一旦未成功验证用户,则操作终止(S102)。
一旦成功验证用户,则向用户终端200分配地址AU。在该示例中,用户标识符分配部件130分配与用户对应的用户标识符IDU(S103),并且通过地址分配部件向对应于用户标识符IDU的用户终端分配地址AU(S104)。
然后通过票发出部件150临时产生临时票,在该示例中该临时票包括用户标识符分配部件130分配的用户标识符IDU和地址分配部件140分配的地址AU,并且使用预先与应用服务器300共享的共享保密密钥,鉴别码产部件151产生用于临时票的鉴别码(MAC:消息验证码)(S105)。
然后票发出部件150发出包含用户标识符IDU、地址AU、和鉴别码(MAC:消息验证码)等的票51(S106),并且票发送部件160通过通信接口101向用户终端200发送票51(S107)。
[第一模式]用户终端的处理
图9A和9B是示出在执行本发明的第一模式中使用的用户终端200的处理的流程的流程图。
首先,如图9A所示,用户验证信息产生部件210产生包括表示用户标识符和口令的信息的用户验证信息(S201),并且用户验证信息发送部件220通过通信接口201向验证服务器100发送用户验证信息(S202)。
票接收部件231接收从验证服务器100发送的票51(S203)。
如图9B所示,在已经接收到票51之后,会话建立部件232建立与应用服务器300的会话(S204)。在已经建立了与应用服务器300的会话之后,服务请求部件230通过会话向应用服务器300发送表示服务请求的分组(S205)。
[第一模式]应用服务器的处理
图10是示出在执行本发明的第一模式中使用的应用服务器300的处理的流程的流程图。
首先,会话建立部件311开始用户终端200的会话的建立(S301),并且应用服务器300接收包含在分组52中的票51。票检验部件320检验票51,并且当票51被检验为真实时,操作继续到S303,而如果票51被检验为被伪造而不真实时,操作终止(S302)。
当票51被检验为真实时,会话建立部件311建立会话,并且票51被存储在票存储部件330(S303)中。接收从用户终端200发送的分组请求服务,地址比较部件312确定分组的源地址AS是否与包含在所存储的票51中的地址AU一致(S304),当确定所述地址一致时,发送使服务提供部件310能够通过用户终端200向用户提供服务的分组(S305)。如果源地址AS和地址AU不一致,则操作终止。
如上所述,根据用户验证,执行本发明的第一模式的基于地址的验证系统发出地址,因此,保证了该地址已经被发向真实的用户(用户标识符)。鉴于这种关系,验证服务器100发出包含所分配的地址和用户标识符的票51,用户终端向应用服务器发送所发出的票51,并且应用服务器300检验并存储所发送的票51,并且将从用户终端200发送的服务请求分组的源地址与包含在所存储的票51中的地址进行比较,并且一旦发现它们之间一致,将认为服务请求分组为来自于已验证的用户的分组。以这种方式,能够进行基于地址的验证。
换句话说,基于用户验证,由验证服务器发出的票保证了用户(标识符)与地址之间的对应关系,因此,通过将服务请求分组的源地址AS与在存储的票中的地址AU进行比较,能够确认该分组是否来自于已验证的用户。
在该模式中,使用验证信息来检验票51的真实性,该验证信息是使用预先在应用服务器300与验证服务器100之间共享的共享保密密钥而产生的,因此,能够保证由验证服务器100发出的票51的真实性,特别地,能够保证其中包含的地址的真实性。
同样在该模式中,验证服务器100发出包含表示票51的有效期的信息的票51,并且应用服务器300根据有效期来检验票51的有效性,允许根据验证服务器100的操作原理来确定有效期。
[第一模式]修改
在验证服务器100中不是一直需要用户标识符分配部件130。用户标识符当作为发出的票51的一个组成元素时可以被省略。在该示例中,省略用户标识符分配部件130,并且如图8中的虚线所示,一旦在S102成功验证,操作立即转到步骤S104。然而,当使用用户标识符时,票51本身提供分配给用户终端200的地址AU与用户之间的对应关系,从而应用服务器300可以使用用户标识符对验证服务器100进行关于用户信息的查询。当省略用户标识符时,必须使用地址AU来进行这种查询并且要求验证服务器100存储分配给用户终端的地址AU与用户ID之间的对应关系。
验证信息产生部件151产生的验证信息IA不限于鉴别码(MAC:消息验证码)。如图11A所示,例如,临时票(IDU,AU)可以被输入到签名计算器151b以使用验证服务器100的私有密钥KSA基于公开密钥加密技术来执行相对于临时票(IDU,AU)的数字签名计算,来产生签名,所述签名可被用作验证信息IA。或者,如图11B所示,在加密器151c中使用与应用服务器300共享的保密密钥KCAS可以加密被输入到验证信息产生部件151的临时票(IDU,AU),并且所加密的临时票可被用作验证信息IA。
在签名被用作验证信息IA的情况下,应用服务器300内的验证信息检验器320a将是签名检验器而不是鉴别码检验器,如图4的括号中所示,并且作为验证信息IA的签名经受用验证服务器100的公开密钥KPA的签名检验。如果整个票51被加密以用作验证信息IA,则验证信息检验器320a如图11C构造,其中在解密部件320a1中使用与验证服务器100共享的保密密钥KCAS来解密验证信息IA,并且在核对器320a2中将所解密的结果与临时票(IDU,AU)进行核对,从而导致对于它们之间一致性的成功检验。
在用户标识符不被用作票51的一个元素的情况下,临时票仅包括地址AU。在包含时间戳等作为票51的元素的情况下,其被看作临时票,并且准备对于临时票的验证信息IA。总之,除了票51中的验证信息IA以外的每个元素可以被作为临时票51对待以准备验证信息IA。
可以省略票51中的验证信息IA。因此,如图8中的虚线所示,操作可以从步骤S104直接转到S106。然而,当使用验证信息IA时,在步骤S302发生的(图10中的虚线所示)以及在应用服务器300中发生的票的验证首先检验验证信息IA,以便检验临时票是否被伪造(S302a),并且当确认票未被伪造时,并且因此票51中包含的地址AU未被伪造而是真实的,则比较源地址AS与票中的地址AU,以便查看两个地址是否一致(S302b),一旦一致,则操作转到S303,如果不一致则操作终止。
作为票51中的元素,可以省略时间戳和有效期中的一个或两者。在应用服务器300中,每次建立与用户终端200的会话时,从用户终端200接收的分组的票CK1可以被立即存储在票存储部件330中。因此,可以省略图4所示的票检验部件320,并且操作可以从处理S301直接到图10中虚线31所示的处理S303。即使以这种方式进行改变,每次建立会话时票CK1的发送从用户终端到应用服务器300也仅发生一次,并且因为每次用户终端需要随后被分配至用户终端200的新的服务和地址(包含在票CK1中的地址)改变时验证服务器进行用户验证,因此第三方难以窃取源地址AS和假冒该用户。
用户数据库20不必总是连接到验证服务器100.例如,当使用公开密钥加密技术进行用户验证时,不需要验证数据.然而,为了确认从用户终端200发送的用户公开密钥证明是可靠的,对已经发出该公开密钥证明的公开密钥证明发出组织进行查询,如果是真实的,则获取公开密钥证明中包含的用户信息,如果不是充足的,则公开密钥证明发出组织内的数据库获取有关对应用户的信息.
验证服务器100可以由通过安全网络连接在一起的一组服务器构成,该组服务器彼此具有依赖关系。例如,它可以包括通过安全网络连接在一起的专用验证服务器、地址发出服务器、票发出服务器等。
[第二模式]验证系统的结构
现在将描述执行本发明的第二模式,说明原则上针对与第一模式的不同之处。同样在第二模式中,提供验证服务器、用户终端和应用服务器,尽管它们具有与第一模式不同的功能,但是系统结构类似于图1所示的第一模式,因此,第二模式中使用的附图标记在图1中示于括号内。验证服务器400、用户终端500和应用服务器600连接在一起,以这种方式允许通过网络10在它们之间进行通信。
在第二模式中,用户终端500当其请求验证服务器400验证时除了发送用户验证信息以外还发送密钥信息。因此,用户终端500具有密钥信息。密钥信息包括关于下列的信息:用户或者用户终端的公开密钥,诸如用户密钥对的公开密钥、终端密钥对的公开密钥、包括这种公开密钥的证明、或者通过向公开密钥或者包括该公开密钥的证明应用单向散列函数而获得的散列值。
当一旦响应来自用户终端500的验证请求而成功验证用户从而发出票时,在第二模式中,除了用户标识符和地址外,验证服务器400还使从用户终端发送的密钥信息包含在该票中。
[第二模式]验证服务器
图12是在执行本发明的第二模式中使用的验证服务器的方框图。验证服务器400包括通信接口101和控制处理部件402。
控制处理部件402包括:具有执行程序的CPU(中央处理单元)的控制单元402a、存储程序等的存储器、用户验证信息接收部件110、验证部件420、用户标识符分配部件130、地址分配部件140、票发出部件450和票发送部件160。应当理解,这些部件可以由程序模块构成。
验证部件420根据由用户验证信息接收部件110接收的用户验证信息来执行用户的验证。例如,验证部件420在验证信息核对器102a中检验用户验证信息与存储在用户数据库20中的验证数据之间的匹配以用于验证用户。如果需要,验证服务器也可以确认用户终端是否保持与密钥信息IK相关的私有密钥。例如,可以确认具有与对应于密钥信息IK的公开密钥形成一对的私有密钥。
票发出部件450包括验证信息产生部件151,并且发出票,所述票包含地址分配部件140分配的地址AU、用户标识符分配部件130分配的用户标识符IDU、从用户终端500发送的密钥信息与用户验证信息、以及验证信息产生部件151产生的验证信息IA。这样,所述票提供用户标识符与密钥信息之间的对应关系。因此,已验证的用户对应于保持与密钥信息相关联的私有密钥的用户终端。所述票可以包含发出票时的时间戳、票的有效期、分配给用户终端500的通信带宽以及与覆盖用户终端500的接入点30相关的信息。图15示出了票53的一个示例。该票53不同于在第一模式中使用的票51,其中票53包含密钥信息。
一旦响应验证请求而成功验证用户,验证服务器400向用户分配用户标识符,并且还向与用户标识符对应的用户终端分配地址。以与第一模式类似的方式在用户终端500中将该地址设定为源地址。由于密钥信息与用户终端500的公开密钥相关联,所以接着验证服务器400通过密钥信息来链接用户和用户使用的用户终端500(作为一对)进行用户验证,并且,具有密钥信息的用户终端被分配有地址。
根据第二模式,用户验证的用户密钥对不同于用于建立会话的终端密钥对,并且用户密钥对由连接到用户终端的验证设备持有,从而通过连接验证设备到用户终端,可以利用位于任何地方的用户终端。作为一种用户验证的方法,也可以采用不使用密钥对的方法。
[第二模式]用户终端
图13是在执行本发明的第二模式中使用的用户终端的方框图。用户终端500包括通信接口201和控制处理部件502。控制处理部件502包括:具有处理程序的CPU的控制单元502a、存储程序等的存储器、验证请求部件503和服务请求部件530。应当理解,这些部件可以通过程序的模块来构成。验证请求部件503包括用户验证信息输入部件510、用户验证信息发送部件220和票接收部件231。
用户验证信息输入部件510使验证设备41输入用户验证信息等。存储在验证设备41中的用户密钥对的私有密钥不能从验证设备41中取出。验证设备41可以包括智能卡、包括USB(通用串行总线)密钥的硬件验证标记、或者生物学测定特征验证设备。或者可以通过输入工具40输入口令/用户标识符以便馈送到用户验证信息产生器210用以产生用户验证信息。在简化的结构中验证设备41未连接到用户终端500的情况下,可以使用存储在密钥存储器502b中的终端密钥对来代替用户密钥对以产生用户验证信息。
密钥信息发生器503a使从密钥存储器502b输入用户终端500的公开密钥KPU以产生密钥信息IK。密钥信息发生器503a可以直接传递输入的公开密钥作为密钥信息。用户验证信息发送部件220不仅向验证服务器400发送用户验证信息还发送密钥信息,用以验证请求。
服务请求部件530包括会话建立部件532和分组加密处理部件533,并且该服务请求部件530被用来请求由应用服务器600提供的服务。依据IKE(因特网密钥交换),根据与票53中包含的密钥信息相关联的公开密钥KPU形成一对的私有密钥KSU和应用服务器600的公开密钥KPS,会话建立部件532在会话密钥发生器532a中产生与应用服务器600共享的保密密钥作为会话保密密钥KCUS。
在应用服务器600共享会话保密密钥之后,或者与用户终端500共享的保密密钥也作为应用服务器600中的会话保密密钥产生之后,分组加密处理部件533通过会话建立部件532使用与应用服务器600共享的会话保密密钥,依据IPsec(因特网协议的安全结构)或者TLS(传输层安全)在验证头标发生器533a中对所发送的分组信息计算验证头标,并且将验证头标AH添加到正在发送的分组.验证头标发生器533a通过计算相对于分组的单向散列函数而使用会话保密密钥产生验证头标,因此能够识别分组是否已经被伪造.分组加密处理部件533可以在如图13中的括号所示的加密器533a′中依据IPsec或TLS来加密分组.或者,分组54可以被添加有验证头标H,并且在加密器533a′中可以加密得到的分组.验证头标H的添加以及分组的加密处理通常称作分组加密处理,并且执行这种处理的结构称作分组加密处理部件.
图16示出了分组加密处理部件533产生的分组54的构成的示例。作为与图6所示的分组52的区别,头标54h被添加有验证头标,并且有效负荷54p中的票53被添加有密钥信息。应当注意,分组可以在加密器533a′中被加密并且被添加有验证头标AH。
[第二模式]应用服务器
图14是执行本发明的第二模式中使用的应用服务器的方框图。应用服务器600包括通信接口301和控制处理部件602。控制处理部件602包括:具有处理程序的CPU的控制单元602a、存储程序等的存储器、服务提供部件610、会话建立部件611和票存储部件330。应当注意,这些部件可由程序的模块来实现。
服务提供部件610包括地址比较部件312和票验证部件612,并且提供用户终端500请求的服务。
会话建立部件611包括票检验部件620,并且建立与用户终端500的会话。在建立会话的过程中,它与用户终端500依据IKE等共享会话保密密钥。因此,会话建立部件611在会话密钥发生器611a中使用存储在密钥存储器602b中的应用服务器600的私有密钥KSS和用户终端500的公开密钥KPU来产生与用户终端500共享的保密密钥作为会话保密密钥KCUS。
在与用户终端500共享会话保密密钥之后,分组验证部件612使用会话保密密钥KCUS来检验被添加到所接收的分组54的验证头标AH。如果被添加到分组54的验证头标的验证结果正确,则分组验证部件612将分组54中的票(CK2)53传递到票检验部件620。当通过用户终端500加密所接收的分组54时,使用括号中表示的分组解密部件612′来代替分组验证部件612,并且用会话保密密钥KCUS来解密分组54。当正常解密时或者当分组54未被伪造时,将所解密的分组54传递到票检验部件620。验证头标AH的验证或分组54的解密处理通常称作分组检验,并且执行这种检验的结构称作分组检验部件。
票检验部件620检验分组验证部件612所传递的票53的真实性。例如,票检验部件620在密钥核对器620a中将票53中包含的密钥信息IK与用户方的公开密钥进行核对,该公开密钥是当共享会话保密密钥KCUS时使用的,如果它们之间匹配,并且在该示例中,如果当在地址核对器320b中核对时票53中包含的地址AU被发现与分组54的源地址AS一致,则通过存储器命令单元620c来检测这一事实,允许票(CK2)53被存储在票存储部件330中。在已经建立了与用户终端500的会话并且将票(CK2)53存储在票存储部件330中之后,当通过会话从用户终端500接收服务请求分组时,在地址比较部件312确定被分组验证部件612(或者分组解密部件612′)依据IPsec或TLS等确认(或解密)为未被伪造的分组54的源地址与存储在票存储部件330中的对应票(CK2)53中包含的地址一致的条件下,服务提供部件610通过用户终端500的会话发送为用户终端500提供其所请求的服务的分组。如果需要,票检验部件620可以包括各种检验器,例如以在第一模式中使用的应用服务器300类似的方式,可以在图4所示的票检验部件320中提供的验证信息检验器320a。
[第二模式]验证系统的处理过程
现在将参考图17来描述根据执行本发明的第二模式的基于地址的处理系统的处理过程。
(1)首先,用户终端500产生用户验证信息和密钥信息IK,并且通过接入点30向验证服务器400发送验证请求.
(2)一旦接收验证请求,验证服务器400就根据用户验证信息来执行用户的验证,并且一旦成功验证了用户,就分配用户标识符IDU并向与IDU对应的用户终端分配地址AU,并且如果需要则产生验证信息,发出包含用户标识符IDU、地址AU、和密钥信息IK的票53。
(3)向用户终端500发送票。
(4)用户终端200将接收到的票的地址AU设定为源地址。
(5)用户终端500使用其自己的私有密钥KSU和应用服务器600的公开密钥KPS依据诸如IKE的密钥交换过程来计算与应用服务器600共享的会话保密密钥KCUS。然后它使用会话保密密钥KCUS来产生对于将被发送至应用服务器600的分组的验证头标AH,允许该头标被添加到分组。在建立会话的处理中,它向应用服务器600发送包括验证头标和票的分组。通过上述的过程,它请求应用服务器600建立会话。
(6)在建立会话的处理中,应用服务器600使用其自己的私有密钥KSS和用户终端的公开密钥KPU来计算会话保密密钥KCUS,并且使用会话保密密钥KCUS来检验被添加到分组的验证头标AH,如果需要,还使用与验证服务器400共享的保密密钥KCAS来检验包含在建立会话的过程中接收到的票(CK2)53中的验证信息IA。它还检验接收到的票53中包含的密钥信息是否对应于用户方的公开密钥(用户公开密钥或终端公开密钥)KPU,该KPU在会话保密密钥KCUS的计算中被使用,并且将接收到的分组54的源地址AS与票(CK2)53中包含的地址AU进行比较,如果这些检验都成功,则它存储票(CK2)53从而建立会话。
(7)为了保护源地址AS,用户终端500执行使用会话保密密钥KCUS的加密处理和验证头标添加处理中的至少一个,并且通过所建立的会话向应用服务器600发送表示服务请求的分组。
(8)应用服务器600用会话保密密钥KCUS来解密服务请求分组或者检验验证头标,确定所存储的票53中包含的地址是否与表示服务请求的分组的源地址AS一致,并且一旦地址一致,将向用户终端500发送有效地向用户提供服务的分组。
[第二模式]验证服务器的处理
图18是示出在执行本发明的第二模式中使用的验证服务器的处理的流程的流程图。
一旦从用户终端500接收验证请求(S101),验证部件120就根据用户验证信息执行用户的验证,并且一旦成功验证用户,操作继续到S103,如果用户的验证失败,则操作终止(S102)。票发出部件450发出包含地址AU、用户标识符IDU和密钥信息IK的票53(S402)。其他处理保持与根据第一模式的验证服务器的处理过程类似。
[第二模式]用户终端的处理
图19是示出在执行本发明的第二模式中使用的用户终端的处理的流程的流程图。
在图19A所示的用户验证请求的处理中,用户验证信息输入部件510输入用户验证信息和密钥信息IK(S501),并且用户验证信息发送部件220通过通信接口201向验证服务器400发送用户验证信息和密钥信息IK(S202)。票接收部件231接收从验证服务器400发送的票(CK2)53(S203)。
如图9B所示的后续处理,其中建立了与应用服务器600的会话,该处理由会话建立部件532启动,共享用户终端500与应用服务器600之间的会话保密密钥.通过分组处理部件533将验证头标添加处理和/或加密处理应用于包括票53的分组54,并且将分组发送至应用服务器600(S502).
在已经建立了与应用服务器600的会话之后,服务请求部件530通过建立会话向应用服务器600发送表示服务请求的分组,从而向应用服务器600请求服务(S205)。
[第二模式]应用服务器的处理
图20是示出在执行本发明的第二模式中使用的应用服务器的处理的流程的流程图。
首先,会话建立部件611开始与用户终端500的建立会话,并且在用户终端500与应用服务器600之间共享通过根据自己的私有密钥和另一方的公开密钥依据诸如IKE的密钥交换过程计算获得的会话保密密钥(S601)。现在,包括从用户终端500发送的票53的分组54由应用服务器600接收。
分组验证部件612使用会话保密密钥来检验被添加到所接收的分组54的验证头标,并且如果检验表明该分组54未被伪造而是真实的,则操作继续到S603。然而,当验证表明分组54由于被伪造而不真实时,操作终止(S602)。如果对分组54加密,则由分组解密部件612′使用会话保密密钥对其进行解密,并且当其被正确解密时,操作继续到S603。
当检验票53的验证或者检验至少在票53中包含的密钥信息与在共享会话保密密钥中使用的用户方的公开密钥之间的匹配时,分组54的源地址AS与票中包含的地址AU一致(S603),票53被确定为真实的并且被存储在票存储部件330(S303)中。
在建立了会话之后,分组检验部件检验从用户终端500发送的、请求服务的分组是否被伪造并且是否真实(S604),并且如果其是真实的,确定分组的源地址是否与所存储的票53中包含的地址一致。一旦所述地址一致(S304),服务提供部件610通过用户终端500向用户提供服务(S305)。
用户终端500向应用服务器600发送包括票53的分组54时的时序可以在诸如IKE的密钥交换过程的完成之前。在该示例中,在密钥交换过程之前,票检验部件620通过检验从用户终端500发送的票53,能够预先确定是否要执行密钥交换过程。这样,获得的优点是,在早期阶段可以排除对来自不具有票的用户终端的不适当服务请求的处理。然而,因为在用户终端500与应用服务器600之间共享会话保密密钥之前发生包括票53的分组54的发送,从而分组检验部件不起作用,所以它不能进行分组54的任意伪造的检测并且存在诸如票的替换的侵权行为的可能性。然而,由于票53中包含的验证信息使得票检验部件620能够检测票53本身的任意伪造,当这与检验在密钥交换期间使用的用户方的公开密钥与票53中包含的密钥信息之间的匹配相组合时,可以对票是从真实的用户终端发送的进行确认。换句话说,如果用户终端500在(刚刚)完成密钥交换过程之前(或期间)向应用服务器600发送票53,可以最终保持安全性。
如上所述,在根据执行本发明的第二模式的基于地址的验证系统中,验证服务器根据通过用户终端进行的用户验证的结果向用户终端发送保证用户标识符、地址和密钥信息之间的对应关系的票.用户终端向应用服务器发送票并通过共享会话保密密钥来建立与其的会话,并且通过该会话向应用服务器请求服务.应用服务器在确认接收到的票的真实性之后存储票,通过将接收到的服务请求分组的源地址与所存储的票中包含的地址进行比较来检验服务请求并且当其被正常检验时提供服务.
具体地,因为当用户终端500向应用服务器600发送分组时,诸如验证头标的信息被添加到所发送的分组,所述验证头标是使用会话保密密钥等来计算的并且其用于检测任意伪造,并且应用服务器600确认从用户终端500发送的分组没有被伪造,从而能够保证在会话期间没有从用户终端500向应用服务器600发送的伪造的分组54。换句话说,保证了在分组包含的源地址中没有伪造。
在上述的示例中,为了使应用服务器检验从用户终端接收的信息(例如用户方的公开密钥)与在建立会话时票中包含的密钥信息之间的匹配,所建立的会话可以与票相关。另外,验证服务器根据通过用户终端进行的用户验证来发出票,从而保证用户标识符、地址与密钥信息之间的联系,保证了具有与密钥信息相关的密钥的用户终端与用户标识符指定的用户之间的对应关系。因此,所建立的会话和票保证了源地址与用户之间的对应关系。
另外,由于根据如上所述的用户验证发出票,因此可以保证票中包含的地址真实性。而且,将应用服务器中存储的票中包含的地址与分组的源地址进行比较并确保在所建立的会话中分组的源地址没有伪造保证了分组的源地址的真实性。因此,保证了分组的源地址的真实性和源地址与用户之间的对应关系,因此能够进行基于地址的验证。
应当注意,因为验证用户的功能、发出地址的功能和保证其间的联系的票产生功能可以通过相同的验证服务器来实现,因此能够通过票来保证地址的真实性,或者通过正确的过程来保证将地址发给正常经过验证的用户。因为在通过用户终端进行用户验证的同时,用户与终端之间的对应关系是通过从用户终端将密钥信息发送至验证服务器的这样的过程和结构来确定的,所以通过票能够保证用户与终端之间的对应关系。
可以通过清除与来自终端的密钥信息相关的私有密钥来使用户、终端与地址之间的对应关系无效。这是因为在没有私有密钥的情况下不能进行密钥交换,并且如果使用不同的密钥,则不能应用与票中包含的密钥信息的匹配,从而导致建立会话失败的情况。
[第二模式]修改
在与利用密钥信息IK的处理相关的部分,第二模式与第一模式不同。因此,上述结合第一模式的修改在第二模式中可能相似。
在应用服务器600中,可以省略地址核对器320b,并且当密钥核对器620a确认匹配时,票CK2可被存储在票存储部件330中。
密钥信息IK不限于与用户终端的公开密钥相关的信息。例如,在用户终端500与应用服务器600之间预先共享用于验证的共享保密密钥(authentication purpose shared secret key)KUS的情况下,可以使用能够证实拥有用于验证的共享保密密钥KUS的信息。例如,如图21A的顺序图所示,一旦成功验证用户,验证服务器400就可以在质询发生器460(图21B)中产生质询b,并且将其发送至用户终端500。
用户终端500使用验证请求部件503中的密钥信息发生器503a′(图21C)来计算对于输入b的单向散列函数h的值r和用于验证的共享保密密钥KUS,r=h(KUS,b)作为对接收到的b的响应,并且产生一对质询b和响应r作为密钥信息IK={b,r}.该密钥信息IK被发送至验证服务器400.应当注意,作为质询b,而不是明显从验证服务器400发送的值,可以使用诸如产生响应的时间(时间戳)或者会话中的序号之类的隐式(implicit)质询,并且在该示例中,可以省略质询的发送和接收.
验证服务器400确认所接收的密钥信息IK中包含的质询b的真实性,并且当它确认正确时,它发出包含密钥信息IK的票CK2。可以这样的方式来确认质询的真实性:即如果质询b是显式(explicit)质询或者是根据用户终端500与验证服务器400之间的会话唯一确定的,则确认其间的一致性,或者如果质询b是诸如当计算响应r时的时间t1之类的隐式质询,则通过要求t1与发出票时的时间t2之间的差在容许范围d(即,t2-t1≤d)来确认真实性。使用共享保密密钥在质询和响应方面的验证是公知的,因此不再给出详细描述。
当建立用于服务请求的会话时,已接收到票CK2的用户终端500以上述方式向应用服务器600发送票CK2。
在应用服务器600中,还在票检验部件620中提供终端验证器620d(图21D),其输入密钥信息IK={b,r},在单向散列计算器中使用共享保密密钥KUS来重新计算质询b的散列后的值h(KUS,b),并且在核对判定单元中核对该散列后的值是否与密钥信息IK内的响应r一致。如果比较结果表示一致,则从终端验证器620d的核对判定单元向存储命令单元620c(图14)发出命令以便允许存储,从而存储了票。
或者,应用服务器600中的终端验证器620d(图21D)可以在建立与用户终端500的会话的处理中向用户终端发送附加质询b’,如图21A中的虚线所示,并且从用户终端500接收对应的响应r’=h(KUS,b’)以确认r’的真实性。(在该示例中,b’可以用隐式质询来代替)
通过上面的过程,通过根据密钥信息IK确认对质询b(b’)(该质询是基于会话的信息)的响应r(r’)是正确的,应用服务器600可以识别:在用户验证的时侯(以及在服务请求的时侯),用户终端100已经拥有该共享的保密密钥KUS。
另外,由于根据用户验证发出票CK2,所以保证了密钥信息IK、地址AU以及用户标识符IDU之间的对应关系,并且由此能够保证地址AU已经颁发给具有由密钥信息指示的共享保密密钥KUS的用户终端。还能够保证使用作为源的地址AU产生的服务请求是来自于已验证的用户。而且其能够与已验证的用户的ID、名字以及地址等相关。
密钥信息IK可以是如第一示例所述的、与用户终端的公开密钥KPU相关的信息,并且也可以是证明拥有用户终端500与应用服务器600之间的用于验证的共享保密密钥的信息。总之,密钥信息IK可以是这样的密钥信息IK,即,使应用服务器600能够根据密钥信息IK来检验用户终端500拥有使普通应用服务器或者接收到服务请求的应用服务器唯一识别用户终端500的保密密钥,该保密密钥是应用服务器600的用户终端的密钥对的私有密钥KSU,并且是用户终端500的用于验证的共享保密密钥KUS。
图2和12所示的验证服务器、图3和13所示的用户终端、以及图4和14所示的应用服务器中的每一个都可由计算机来实现。例如,使计算机充当图2所示的验证服务器的验证服务器程序可以被从诸如CD-ROM、磁盘、半导体存储介质等的记录介质安装到计算机或者可以通过通信网络下载以使计算机执行服务器程序。相同的应用也适于其他示例。