服务器和认证方法与流程

文档序号:18744827发布日期:2019-09-21 02:12阅读:378来源:国知局
服务器和认证方法与流程

本公开涉及服务器和认证方法。



背景技术:

通过接近非接触式通信执行通信的IC卡的值的提供正被广泛地进行(例如,参见专利文献1等)。在这样做时,为了提供离线服务,已经使用了安全地保持值的IC卡和具有防篡改性并且用于操作该值的安全终端。同时,随着最近网络的普及以及最近在服务器中保持值的形式的增加,可以考虑IC卡的如下使用形式,其中通过确认卡是正确的来执行服务器中的值的认证。

引用列表

专利文献

专利文献1:日本专利申请特许公开第2009-110202号



技术实现要素:

发明所要解决的问题

在假定离线使用的IC卡要应用于在服务器中保持值的形式的情况下,存在需要在IC卡的认证中考虑的各点。

因此,在本公开中,提出了一种新颖且改进的服务器和认证方法,并且当假定离线使用的IC卡要应用于在服务器中保持值的形式时,可以安全地执行IC卡的认证。

问题的解决方案

根据本公开,提供了一种服务器,该服务器包括:提供单元,所述提供单元被配置为向与IC卡执行接近非接触式通信的终端提供用于认证IC卡的认证数据;获取单元,所述获取单元被配置为从终端获取通过与IC卡的接近非接触式通信而接收到的接收数据,所述接收数据包括认证数据的使用计数;以及认证单元,所述认证单元被配置为通过使用认证数据和接收数据来执行IC卡的认证。

此外,根据本公开,提供了一种认证方法,该认证方法包括:向与IC卡执行接近非接触式通信的终端提供用于认证IC卡的认证数据;从终端获取通过与IC卡的接近非接触式通信而接收到的接收数据,所述接收数据包括认证数据的使用计数;以及通过使用认证数据和接收数据来执行IC卡的认证。

发明的有益效果

如上所述,根据本公开,可以提供新颖且改进的服务器和认证方法,并且当假定离线使用的IC卡要应用于在服务器中保持值的形式时,可以安全地执行IC卡的认证。

注意,上述效果不必是限制性效果,并且可以与上述效果一起或代替上述效果来实现本说明书中描述的任何效果或可以从本说明书理解的其他效果。

附图说明

图1是示出关于本公开的实施例的认证系统的配置的示例的说明图。

图2是示出IDcd认证服务器的功能配置的示例的说明图。

图3是示出IDcd认证服务器和IC卡的操作的示例的流程图。

图4是示出IDcd认证服务器和终端的操作的示例的流程图。

图5是示出IDcd认证服务器和服务提供商的操作的示例的流程图。

图6是示出IDcd认证服务器、终端和服务提供商的操作的示例的流程图。

图7是示出服务提供商、终端和IC卡的操作的示例的流程图。

图8是用于描述IC卡中的处理的说明图。

图9是示出IDcd认证服务器和服务提供商的操作的示例的流程图。

图10是用于描述由IC卡认证单元进行的处理的说明图。

图11是示出IDcd认证服务器、服务提供商和终端的操作的示例的流程图。

图12是示出终端和IC卡的操作的示例的流程图。

图13是示出服务提供商、终端和IC卡的操作的示例的流程图。

图14是示出终端生成的请求语句的结构的说明图。

图15是示出IDcd认证服务器和服务提供商的操作的示例的流程图。

图16是示出IDcd认证服务器、服务提供商和其他提供商的操作的示例的流程图。

图17是示出IDcd认证服务器、服务提供商、终端和IC卡的操作的示例的流程图。

图18是示出服务提供商、终端和IC卡的操作的示例的流程图。

图19是示出支付接受方如何通过执行欺诈行为来改变支付金额的说明图。

图20是示出旨在防止由支付接受方进行的欺诈行为的机制的说明图。

图21是描述使用IC卡认证的个人之间的转账处理的说明图。

具体实施方式

在下文中,将参考附图详细描述本公开的优选实施例。注意,在本说明书和附图中,将通过向具有基本相同的功能配置的组成元件提供相同的附图标记来省略冗余的描述。

注意,将按以下顺序提供描述。

1.本公开的实施例

1.1.概要

1.2.配置示例

1.3.操作示例

2.总结

<1.本公开的实施例>

[1.1.概要]

首先,在描述本公开的实施例之前,将描述通过其来实现本公开的实施例的处理。

为了提供离线服务,已经使用了安全地保持值的IC卡和具有防篡改性并且用于操作该值的安全终端。同时,随着最近网络的普及以及最近在服务器中保持值的形式的增加,可以考虑IC卡的如下使用形式,其中通过确认卡是正确的来执行服务器中的值的认证。

在传统上假设离线使用的IC卡要应用于在服务器中保持值的形式的情况下,需要清楚以下各点。

对于与IC卡的相互认证进行大量的通信,并且终端的实现变得复杂。

即使泄露了秘密密钥,也无法检测到泄漏,并且无法区分泄漏的密钥是否正被使用,以及无法确定是否应该停止服务的继续。

此外,为了确定IC卡是否正确,在终端侧需要秘密密钥和用于存储秘密密钥的安全芯片,这导致终端侧的管理的成本和复杂性增加。此外,即使将秘密密钥和安全芯片布置在服务器侧,也需要大量的通信,因此,用于开发通信路径上的服务器和终端的成本很高。根据现有环境,需要单独提供专用通信路径。

即使使用安全芯片来确定IC卡和IC卡的IDcd是正确的,接收确定结果的传送的其他人和系统也无法确定结果是否正确,并且没有其他选择,只能相信传送结果的来源。

无论使用所确定的IC卡和IC卡的IDcd的每个服务的可转换性和安全保护级别如何,都需要对秘密密钥和安全芯片提供高级别保护。

在最近需要IC卡和IDcd的证明的情况下,发行了用于证明的专用IC卡和IDcd。另外,需要每次为每个终端准备读取器/写入器和存储IC卡的秘密密钥的安全芯片。

因此,本申请的公开者对用于使上述各点清楚的技术进行了勤奋的研究。结果,如下所述,本申请的公开者已经提出了如下技术,利用该技术,当假设离线使用的IC卡除了离线使用之外还应用于在服务器中保持值的形式时,可以安全地进行IC卡的认证。

[1.2.配置示例]

图1是示出关于本公开的实施例的认证系统的配置的示例的说明图。在该系统中,假设IC卡的如下使用形式,其中通过确认IC卡是正确的来执行IC卡是服务器中的值的所有者的认证,这是由于在服务器中保持值的形式增加。图1示出了IDcd认证服务器100、具有通过接近非接触式通信与IC卡300进行通信的读取器/写入器的终端200以及具有内置IC芯片的IC卡300。此外,图1还示出了向IC卡300提供服务的服务提供商400以及其他提供商500。服务提供商400和其他提供商500可以例如采用服务器的形式。

图2是示出IDcd认证服务器100的功能配置的示例的说明图。IDcd认证服务器100包括IC卡认证单元110、优惠券数据管理单元120、通信数据恢复单元130以及外部通信单元140。

IC卡认证单元110对IC卡300进行认证。IC卡认证单元110包括响应验证器111和IC卡密钥表112。响应验证器111验证由IC卡300响应于挑战而生成的响应是否正确。响应验证器111具有与IC卡300中用于生成响应的机制相同的机制。IC卡密钥表112保持为认证IC卡300所需的密钥信息。具体地,IC卡密钥表112对于每个IC卡密钥保持IC卡密钥ID和IC卡密钥信息。IC卡密钥ID是用于识别IC卡密钥的ID。IC卡密钥信息是为认证存储在IC卡中的秘密密钥所需的密钥信息。

优惠券数据管理单元120管理优惠券数据和服务定义。优惠券数据是唯一数据,其中对于每个终端200定义了为认证IC卡300所需的信息。优惠券数据是包括挑战和ID标记化(tokenization)密钥的数据串,如稍后所述。IDcd认证服务器100可以共同地向终端200提供多条优惠券数据,或者可以针对响应于终端200处的认证而发送的每个请求,生成并且向终端200提供优惠券数据。

优惠券数据管理单元120包括优惠券数据生成器121和优惠券表122。优惠券数据生成器121基于预定规则生成优惠券数据。优惠券表122管理访问IC卡300的终端200,并且对于每个终端200保持为生成优惠券数据所需的数据。具体地,优惠券表122保持终端ID、初始优惠券数据、优惠券数据导出密钥、当前使用计数、当前分发计数和最终优惠券数据。终端ID是用于识别终端200的ID。初始优惠券数据是从其导出优惠券数据的第一密钥。优惠券数据导出密钥是从优惠券数据导出并生成下一个优惠券数据的密钥。当前使用计数是指示到目前为止已经使用的优惠券数据的数量的计数。当前分发计数是指示到目前为止已经分发的优惠券数据的数量的计数。最终优惠券数据是最后已经认证过的优惠券数据。

通信数据恢复单元130从终端200恢复根据预定规则加密的数据。通信数据恢复单元130包括标记化IDcd恢复器131和散列生成器132。标记化IDcd恢复器131恢复标记化IDcd。

IDcd认证服务器100附加地保持服务定义表123,服务定义表123管理服务提供商400。服务定义表123管理服务提供商,并且保持由服务提供商使用的终端的列表和由服务提供商接受的IC卡的密钥类型。服务定义表123对于每个服务提供商400保持服务ID、终端ID列表和密钥ID列表。服务ID是用于识别服务提供商的ID。终端ID列表是由服务提供商使用的终端的终端ID列表。密钥ID列表是每个终端可以接受的IC卡密钥的IC卡密钥ID列表。

外部通信单元140通过使用任意定义的通信协议来执行与IDcd认证服务器100外部的设备的通信处理。

[1.3.操作示例]

接下来,将描述认证系统的操作的示例。

(示例1)

作为第一示例,将示出这样的示例,其中预先向每个终端发送多条优惠券数据,并且每当IC卡300被保持在终端上时通过向IDcd认证服务器100发送响应来执行认证。另外,假设终端200是不安全的情况,与此对应的是这样的情况,其中每当IC卡300被保持在终端200上时,终端200经由服务提供商400从IDcd认证服务器100获取优惠券数据。

(1-1)IC卡密钥信息的登记

首先,将描述当IC卡300中保持的IC卡密钥信息被登记到IDcd认证服务器100时的操作的示例。图3是示出IDcd认证服务器100和IC卡300的操作的示例的流程图。响应于预定方法,例如,响应于IC卡300已经被保持在终端200上以用于将IC卡密钥信息登记到IDcd认证服务器100,将IC卡密钥信息从IC卡300发送到IDcd认证服务器100(步骤S101)。这里,根据需要,执行持有IC卡300的注册者的个人认证以及与IDcd认证服务器100的通信路径的加密。IDcd认证服务器100将从IC卡300发送的IC卡密钥信息登记到IC卡密钥表112,并且将IC卡密钥ID返回到IC卡300(步骤S102)。该IC卡密钥ID可以由IC卡300的用户以某种方式管理。例如,IC卡密钥ID可以存储在由IC卡300的用户持有的信息通信设备内部。

(1-2)终端的注册

接下来,将描述当终端200的信息被注册到IDcd认证服务器100时的操作的示例。图4是示出IDcd认证服务器100和终端200的操作的示例的流程图。终端200在预定定时向IDcd认证服务器100发送注册请求(步骤S111)。这里,根据需要,执行注册者的个人认证和与IDcd认证服务器100的通信路径的加密。响应于该请求,IDcd认证服务器100指派唯一的终端ID,并且生成对于终端ID的初始优惠券数据和优惠券数据导出密钥。IDcd认证服务器100将所生成的初始优惠券数据分配给优惠券表122中的初始优惠券数据和最终优惠券数据。此外,IDcd认证服务器100将所生成的优惠券数据导出密钥分配给优惠券表122中的优惠券数据导出密钥。此外,IDcd认证服务器100将优惠券表122中的当前使用计数和当前分发计数两者都设置为零。IDcd认证服务器100将终端ID提供给终端200(步骤S112)。除了终端ID和稍后描述的优惠券数据列表之外,终端200还保持当前使用计数。将当前使用计数的初始值设置为零。

(1-3)服务提供商的注册

接下来,将描述当服务提供商400的信息被注册到IDcd认证服务器100时的操作的示例。图5是示出IDcd认证服务器100和服务提供商400的操作的示例的流程图。服务提供商400向IDcd认证服务器100发送用于登记服务定义的请求(步骤S121)。这里,根据需要,执行注册者的个人认证和与IDcd认证服务器100的通信路径的加密。服务提供商400将终端ID列表和IC卡密钥ID列表发送到IDcd认证服务器100。响应于该请求,IDcd认证服务器100指派唯一的服务ID,并且将该信息登记到服务定义表123。IDcd认证服务器100将所指派的服务ID提供给服务提供商400(步骤S122)。服务提供商400向使用服务的终端200(与终端ID列表中包括的终端ID相对应的终端200)通知服务ID和IC卡密钥ID列表(步骤S123)。

(1-4)优惠券数据列表的输出(分发)

接下来,将描述当IDcd认证服务器100输出(分发)优惠券数据列表时的操作的示例。图6是示出IDcd认证服务器100、终端200和服务提供商400的操作的示例的流程图。

对于服务提供商400想要对其分发优惠券数据列表的每个终端200,服务提供商400请求IDcd认证服务器100分发优惠券数据列表(步骤S131)。服务提供商400向IDcd认证服务器100发送服务提供商400的服务ID、要对其分发优惠券数据列表的终端的终端ID以及优惠券数据分发计数的信息。

响应于该分发请求,IDcd认证服务器100通过使用优惠券数据生成器121并且通过以下过程来生成与输入的优惠券数据分发计数相对应的各条优惠券数据。首先,IDcd认证服务器100根据从服务提供商400输入的终端ID来指定优惠券表中的终端ID。接下来,IDcd认证服务器100将最终优惠券数据和优惠券数据导出密钥输入到优惠券数据生成器121以生成新的优惠券数据。此外,IDcd认证服务器100将当前分发计数和生成的优惠券数据列表输出到服务提供商400,并且将优惠券表122中的当前分发计数增加所分发的数量(步骤S132)。

服务提供商400将从IDcd认证服务器100获取的当前分发计数和优惠券数据列表传送到与终端ID相对应的终端200(步骤S133)。与终端ID相对应的终端200将获取的优惠券数据列表添加到由终端200保持的优惠券数据列表。

(1-5)卡响应的获取

每当IC卡300被保持在终端200上并且认证变得需要时,终端200执行下面描述的卡响应获取。图7是示出服务提供商400、终端200和IC卡300的操作的示例的流程图。每当IC卡300被保持在终端200上并且IC卡300的认证变得需要时,终端200执行下面的卡响应获取。首先,终端200从终端200保持的优惠券数据列表中提取最年轻的数据,以及从优惠券数据列表中删除该优惠券数据并且还将当前使用计数增加1。接下来,终端200从提取的优惠券数据中提取挑战和ID标记化密钥。例如,在优惠券数据的头部处的前8个字节或16个字节被用作挑战,并且接下来的8个字节被用作ID标记化密钥。不用说,挑战和ID标记化密钥的定义不限于该示例。

当IC卡300被保持在终端200上时,终端200使用针对每个IC卡密钥ID确定的信息来指定所使用的IC卡密钥ID。这里,终端200发出IC卡300的单侧认证命令。在这样做时,终端200通过接近非接触式通信将挑战输入到IC卡300(步骤S141),并且从IC卡300获取IDcd和IC卡300响应于挑战而生成的响应(步骤S142)。

图8是用于描述IC卡300中的处理的说明图。当从终端200获取挑战时,IC卡300通过使用IC卡300内部保持的IDcd和IC卡密钥信息执行预定计算来生成对挑战的响应。此外,IC卡300输出IDcd和IC卡300响应于挑战而生成的响应。

随后,针对IDcd认证服务器100,终端200通过使用ID标记化密钥生成标记化IDcd。例如,终端200通过对IDcd和ID标记化密钥进行异或来生成标记化IDcd。不用说,用于生成标记化IDcd的方法不限于这样的示例。此外,关于响应等,终端200通过使用诸如安全套接字层(SSL)之类的预定加密方法来生成加密响应。此外,终端200将所生成的信息发送到服务提供商400(步骤S143)。这里,终端200将终端ID、标记化IDcd、响应、当前使用计数和IC卡密钥ID发送到服务提供商400。

(1-6)IC卡认证

图9是示出IDcd认证服务器100和服务提供商400的操作的示例的流程图。服务提供商400将从终端200获取的响应信息发送到IDcd认证服务器100,并且请求IDcd认证服务器100来认证响应的正确性(步骤S151)。这里,服务提供商400向IDcd认证服务器100发送服务ID、终端ID、标记化IDcd、响应、当前使用计数和IC卡密钥ID。

通过使用优惠券数据管理单元120,IDcd认证服务器100通过以下过程来生成优惠券数据。首先,IDcd认证服务器100根据从服务提供商400输入的终端ID指定优惠券表122中的数据,并且获取最终优惠券票数据。接下来,IDcd认证服务器100根据从服务提供商400输入的当前使用计数来生成优惠券数据。通过使用优惠券数据生成器121,根据最终优惠券数据将优惠券数据的生成重复与优惠券表122中的当前使用计数的差相对应的次数,而不是根据优惠券表122中的初始优惠券数据来重复生成与从服务提供商400输入的当前使用计数相对应的次数。

通过使用通信数据恢复单元130,IDcd认证服务器100通过使用所输入的响应信息和由优惠券数据生成器121生成的优惠券数据来解密接收到的数据。首先,IDcd认证服务器100从由优惠券数据生成器121生成的优惠券数据中获取挑战和标记化密钥。接下来,IDcd认证服务器100将IDcd和标记化密钥输入到标记化IDcd恢复器131以获取IDcd。

随后,通过使用IC卡认证单元110,IDcd认证服务器100通过使用从服务提供商400输入的响应信息、IDcd认证服务器100已生成的优惠券数据以及IDcd认证服务器100已解密的信息,认证从服务提供商400输入的响应的正确性。具体地,IDcd认证服务器100通过以下过程执行认证。首先,IDcd认证服务器100根据输入的IC卡密钥ID获取IC卡密钥信息。接下来,IDcd认证服务器100将恢复的IDcd、由IDcd认证服务器100生成的挑战和IC卡密钥信息输入到响应验证器111以生成响应,并且将该响应与从服务提供商400输入的响应进行比较以确定两者是否相同。在两者相同的情况下,IDcd认证服务器100认为被保持在终端200上的IC卡和IDcd是正确的。此外,IDcd认证服务器100将IDcd认证服务器100已经生成的优惠券数据设置为最终优惠券数据,并且将输入的当前使用计数设置为当前使用计数。另一方面,在两者不匹配的情况下,IDcd认证服务器100不执行任何后续处理,并且向服务提供商400返回指示不匹配的预定错误消息。

图10是用于描述由IC卡认证单元110进行的处理的说明图。IC卡认证单元110通过参考IC卡密钥表112而根据IC卡密钥ID提取目标IC卡密钥信息。此外,IC卡认证单元110将恢复的IDcd、IC卡认证单元110已经生成的挑战和IC卡密钥信息输入到响应验证器111以生成响应。

每当执行认证时,终端200都消耗优惠券数据。因此,当终端200缺少优惠券数据时,终端200附加地从IDcd认证服务器100获取优惠券数据。终端200向服务提供商400请求附加的优惠券数据。服务提供商400将服务ID、终端ID和优惠券数据分发计数输入到IDcd认证服务器100,并且请求IDcd认证服务器100附加地生成优惠券数据。IDcd认证服务器100执行与上述优惠券数据列表分发处理相同的处理,并且将生成的优惠券数据提供给服务提供商400。服务提供商400将从IDcd认证服务器100获取的优惠券数据传送到已请求附加的优惠券数据的终端200。

(示例2)

作为下一个示例,示出了这样的示例,其中在预先知道要被保持在终端200上的IC卡的IDcd的列表的情况下,预先分发对应于IDcd的挑战和响应。

(2-1)挑战响应列表的获取

首先,将描述挑战响应列表的获取处理。图11是示出IDcd认证服务器100、服务提供商400和终端200的操作的示例的流程图。服务提供商400将计划被保持在终端200上的IC卡300的IDcd列表发送到IDcd认证服务器100(步骤S201)。服务提供商400将服务ID和IDcd信息列表(包括IDcds和IC卡密钥ID)发送到IDcd认证服务器100。

IDcd认证服务器100的IC卡认证单元110根据IC卡密钥ID获取IC卡密钥信息。IC卡认证单元110还生成挑战。通过随机数生成等执行挑战的生成。随后,IDcd认证服务器100的响应验证器111输入IDcd、IC卡密钥信息和挑战以获取响应。这重复与列表中的IDcd信息的数量相对应的次数。

此外,IDcd认证服务器100向服务提供商400返回IDcd认证服务器100已经生成的列表(步骤S202)。具体地,IDcd认证服务器100发送服务ID和IDcd信息列表(包括IDcd、IC卡密钥ID、挑战和响应)。

服务提供商400将从IDcd认证服务器100接收的列表发送到终端200(步骤S203)。终端200保持从服务提供商400发送的列表。

(2-2)卡响应的确认

图12是示出终端200和IC卡300的操作的示例的流程图。当IC卡300被保持在终端200上时,终端200通过接近非接触式通信来获取IC卡300的IDcd(步骤S211)。接下来,在确认IC卡300的IDcd之后,终端200通过使用由IC卡密钥ID指定的信息发出对应于IDcd的挑战来发出IC卡300的单侧认证命令(步骤S212),并且获取来自IC卡300的响应(步骤S213)。

终端200检查对应于IDcd的响应和从IC卡300接收到的响应是否相同。在两者相同的情况下,终端200认为被保持在终端200上的IC卡300和IDcd是正确的,并且执行后续处理。在两者不同的情况下,终端200执行预定的错误处理。

(示例3)

作为第三示例,描述了这样的示例,其中终端200生成要输入到IC卡300的挑战,并且IDcd认证服务器100证明对挑战的响应是挑战被输入到IC卡的结果。

(3-1)卡响应获取

图13是示出服务提供商400、终端200和IC卡300的操作的示例的流程图。终端200首先生成要输入到IC卡300的挑战。终端200生成通过组合服务ID、终端ID、IC卡密钥ID、当前使用计数和任意定义的文本而产生的请求语句。图14是示出终端200生成的请求语句的结构的说明图。

随后,终端200对于所生成的请求语句生成散列。此外,终端200将当前使用计数增加1。

当IC卡300被保持在终端200上时,终端200通过使用由IC卡密钥ID指定的信息来发出IC卡300的单侧认证命令。在这样做时,终端200通过接近非接触式通信将所生成的散列输入到IC卡300作为挑战(步骤S301),并且通过接近非接触式通信从IC卡300获取IDcd和响应(步骤S302)。

随后,终端200向服务提供商400发送所生成的请求语句以及从IC卡300获取的IDcd和响应(步骤S303)。

(3-2)卡响应认证

图15是示出IDcd认证服务器100和服务提供商400的操作的示例的流程图。服务提供商400请求IDcd认证服务器100认证响应是否正确(步骤S311)。这里,服务提供商400将请求语句、IDcd和响应发送到IDcd认证服务器100。

IDcd认证服务器100通过使用散列生成器132,根据接收到的请求语句生成散列,并且将散列设置为挑战。此外,IDcd认证服务器100从接收到的请求语句中提取服务ID、终端ID、IC卡密钥ID和当前使用计数。随后,IDcd认证服务器100的优惠券数据管理单元120参考服务定义表123,以确认所提取的IC卡密钥ID是否存在于与服务ID相对应的IC卡密钥ID列表中。随后,通过IC卡认证单元110,从IC卡密钥表112中指定与IC卡密钥ID对应的IC卡密钥信息。IDcd认证服务器100使用响应验证器111并且输入IDcd、挑战和IC卡密钥信息以生成响应。此外,IDcd认证服务器100将使用所生成的响应的认证结果发送到服务提供商400(步骤S312)。在预先接收到的响应和生成的响应相等的情况下,IDcd认证服务器100认为接收到的响应是通过将请求语句输入到由IDcd指定的IC卡300而生成的。

(3-3)认证结果的传送

服务提供商400可以保持认证结果,或者将认证结果传送到其他提供商500。图16是示出IDcd认证服务器100、服务提供商400和其他提供商500的操作的示例的流程图。

其他提供商500从服务提供商400接收请求语句、IDcd和响应(步骤S321)。其他提供商500将请求语句、IDcd和响应发送到IDcd认证服务器100(步骤S322)。IDcd认证服务器以与上述卡响应认证中类似的方式认证从其他提供商500接收到的响应并且将结果返回给其他提供商500。

(示例4)

作为第四示例,描述了这样的示例,该示例的目的是增强在网络断开期间的容差并且改善网络通信中的响应性能。

在服务提供商的服务器位于封闭网络内部的情况下,由于服务提供商的服务器和IDcd认证服务器100之间的因特网通信的影响,服务器变得更容易受到网络断开、拥塞等的影响。

因此,在第四示例中,挑战和响应的对被预先保持在服务提供商400的服务器中作为高速缓存。利用该配置,可以在服务提供商400和终端200之间完成下一次要执行的认证,并且即使服务提供商的服务器和IDcd认证服务器100之间的网络断开,也可以在服务提供商400和终端200之间执行下一次认证。

图17是示出IDcd认证服务器100、服务提供商400、终端200和IC卡300的操作的示例的流程图。

终端200周期性地发送轮询(步骤S401)。该轮询包括请求服务命令,所述请求服务命令用于从IC卡300获取IDm(IC卡300特有的信息)和密钥版本。当IC卡300接收到从终端200发送的轮询时,IC卡300响应于请求服务命令将IDm和密钥版本返回到终端200(步骤S402)。

终端200向服务提供商400的服务器发送终端200的终端ID以及已经在步骤S402中从IC卡300获取的IDm和密钥版本(步骤S403)。服务提供商400的服务器基于终端200的终端ID以及已经从终端200接收到的IC卡300的IDm和密钥版本来选择认证密钥(步骤S404),并且将从终端200接收到的信息传送到IDcd认证服务器100(步骤S405)。

IDcd认证服务器100基于从服务提供商400的服务器接收到的信息来生成挑战和响应(步骤S406)。此外,IDcd认证服务器100将已经生成的挑战和响应分发给服务提供商400的服务器(步骤S407)。服务提供商400的服务器向终端200提供已经从IDcd认证服务器100分发的挑战和响应(步骤S408)。终端200将挑战发送到IC卡300以认证已经被保持在终端200上的IC卡300(步骤S409),以及IC卡300生成对挑战的响应并且将响应返回到终端200(步骤S410)。终端200比较从服务提供商400的服务器获取的响应和由IC卡300产生的响应(步骤S411),并且执行IC卡300的认证(步骤S412)。

此外,服务提供商400的服务器将从终端200接收到的信息传送到IDcd认证服务器100,以便预先获取用于IC卡300的下一次认证的挑战和响应(步骤S413)。IDcd认证服务器100基于从服务提供商400的服务器接收到的信息生成挑战和响应(步骤S414)。此外,IDcd认证服务器100将已经生成的挑战和响应分发给服务提供商400的服务器(步骤S415)。服务提供商400的服务器对已经从IDcd认证服务器100分发的挑战和响应进行预先高速缓存(步骤S416)。利用这样的配置,可以在服务提供商400和终端200之间完成IC卡300的下一次认证。下面将描述该情况。

终端200周期性地发送轮询(步骤S417)。该轮询包括请求服务命令,所述请求服务命令用于从IC卡300获取IDm和密钥版本。当IC卡300接收到从终端200发送的轮询时,IC卡300响应于请求服务命令将IDm和密钥版本返回到终端200(步骤S418)。

终端200向服务提供商400的服务器发送终端200的终端ID以及已经在步骤S402中从IC卡300获取的IDm和密钥版本(步骤S419)。服务提供商400的服务器基于终端200的终端ID以及已经从终端200接收到的IC卡300的IDm和密钥版本来选择认证密钥(步骤S420)。此外,在初始认证时,服务提供商400的服务器将从终端200接收到的信息传送到IDcd认证服务器100。然而,这里,因为服务提供商400的服务器预先在上述步骤S416中对从IDcd认证服务器100分发的挑战和响应进行了预先高速缓存,所以服务提供商400的服务器从预先高速缓存的挑战和响应中选择挑战和响应(步骤S421)。

服务提供商400的服务器向终端200提供从预先高速缓存的挑战和响应中选择的挑战和响应(步骤S422)。终端200将挑战发送到IC卡300以认证已经被保持在终端200上的IC卡300(步骤S423),以及IC卡300生成对挑战的响应并且将响应返回到终端200(步骤S424)。终端200比较从服务提供商400的服务器获取的响应和由IC卡300生成的响应(步骤S425),并且执行IC卡300的认证(步骤S426)。

此外,服务提供商400的服务器将从终端200接收到的信息传送到IDcd认证服务器100,以便预先获取用于IC卡300的下一次认证的挑战和响应(步骤S427)。IDcd认证服务器100基于从服务提供商400的服务器接收到的信息生成挑战和响应(步骤S428)。此外,IDcd认证服务器100将已经生成的挑战和响应分发给服务提供商400的服务器(步骤S429)。服务提供商400的服务器对已经从IDcd认证服务器100分发的挑战和响应进行预先高速缓存(步骤S430)。

利用这样的配置,在认证IC卡300时使用预先在服务提供商400的服务器中预先高速缓存的挑战和响应。因此,可以在服务提供商400和终端200之间完成关于IC卡300的认证的交换。

此外,由于在IC卡300的认证时使用预先在服务提供商400的服务器中预先高速缓存的挑战和响应,即使在服务提供商400的服务器和IDcd认证服务器100之间的通信中存在问题并且不能正确地交换数据的情况下,IC卡300的认证也变得可能。

图18是示出IDcd认证服务器100、服务提供商400、终端200和IC卡300的操作的示例的流程图。

终端200周期性地发送轮询(步骤S431)。该轮询包括请求服务命令,所述请求服务命令用于从IC卡300获取IDm和密钥版本。当IC卡300接收到从终端200发送的轮询时,IC卡300响应于请求服务命令将IDm和密钥版本返回到终端200(步骤S432)。

终端200向服务提供商400的服务器发送终端200的终端ID以及已经在步骤S402中从IC卡300获取的IDm和密钥版本(步骤S433)。服务提供商400的服务器基于终端200的终端ID以及已经从终端200接收到的IC卡300的IDm和密钥版本来选择认证密钥(步骤S434)。随后,服务提供商400的服务器将从终端200接收到的信息传送到IDcd认证服务器100。然而,这里,假设在服务提供商400的服务器和IDcd认证服务器100之间的通信中存在问题以及不能正确地交换数据的状态正在发生。然后,服务提供商400的服务器从预先进行了预先高速缓存的挑战和响应中选择挑战和响应(步骤S435)。

服务提供商400的服务器向终端200提供从预先高速缓存的挑战和响应中选择的挑战和响应(步骤S436)。终端200将挑战发送到IC卡300以认证已经被保持在终端200上的IC卡300(步骤S437),以及IC卡300生成对挑战的响应并且将响应返回到终端200(步骤S438)。终端200比较从服务提供商400的服务器获取的响应和由IC卡300生成的响应(步骤S439),并且执行IC卡300的认证(步骤S440)。

利用这样的配置,由于在认证IC卡300时使用预先在服务提供商400的服务器中预先高速缓存的挑战和响应,即使在服务提供商400的服务器和IDcd认证服务器100之间的通信中存在问题以及不能正确地交换数据的情况下,IC卡300的认证也变得可能。

此后,当服务提供商400的服务器和IDcd认证服务器100之间的通信恢复时,服务提供商400的服务器可以删除预先高速缓存的挑战和响应,此外可以从IDcd认证服务器100重新获取挑战和响应。

注意,服务提供商400的服务器可以在已经经过了预定时间的时间点删除预先高速缓存的挑战和响应。利用这样的配置,可以不使用太旧的挑战和响应来进行认证。例如,服务提供商400的服务器可以周期性地删除预先高速缓存的挑战和响应。此外,服务提供商400的服务器可以在达到预定定时的时候删除预先高速缓存的挑战和响应。

例如,在当登上诸如火车、公共汽车或飞机之类的运输工具时使用与IC卡300的认证的情况下,服务提供商400的服务器可以预先对与具有预约的人的数量相对应的挑战和响应进行预先高速缓存。此外,一旦出发时间已经过去了,服务提供商400的服务器可以删除预先高速缓存的挑战和响应。因此,IDcd认证服务器100可以在生成挑战和响应时添加关于有效期的信息。此外,服务提供商400的服务器可以在对挑战和响应进行预先高速缓存时添加关于有效期的信息。

利用这样的配置,服务提供商400的服务器可以执行与IC卡300的认证,而无需执行与IDcd认证服务器100的通信。此外,通过删除不需要的预先高速缓存的挑战和响应,服务提供商400的服务器可以防止挑战和响应的泄漏并且可以改善安全性。

(示例5)

作为第五示例,将描述这样的示例,该示例的目的是通过使用IC卡认证来提供针对诸如浏览器中间者(MITB)之类的非法转账的对策。

随着可连接因特网的通信设备的爆炸性普及,经由因特网的电子商务支付和允许在便携式终端上进行支付的mPOS支付已经变得流行。卡认证和个人认证由EMV规范严格定义,但是事务认证仍处于整理过程中,并且对用于支付的因特网浏览器和执行mPOS支付的终端的可靠性的依赖性很高。

因此,如果支付接受方不幸地执行诸如恶意改变支付金额之类的欺诈行为,则存在支付方遭受损害的风险。例如,可以考虑这样的情况,其中当一个人认为他/她已经通过使用mPOS终端支付了用于购物的1000日元时,实际支付金额是10000日元。图19是示出支付接受方如何通过执行欺诈行为来改变支付金额的说明图。如果用户实际上已经进行了1000日元的购物,则当用户在确认支付金额并且按下批准按钮以及输入预定安全码之后将他/她的卡保持在读取器/写入器上时,执行1000日元的支付。然而,如果支付接受方实际上已将支付金额设置为10000日元,则从商店发送到结算服务器的事务信息将指示10000日元的事务,并且结算服务器(服务提供商400的服务器)将接受10000日元的支付。

因此,在以下描述中,将描述能够防止这种欺诈行为的机制。图20是示出旨在防止由支付接受方进行的欺诈行为的机制的说明图。

例如,在进行了1000日元的购物的情况下,mPOS终端生成日期和购买金额的条形码,并且在对条形码信息进行散列之后将认证1命令从读取器/写入器(终端200)发送到IC卡300。商品的购买者将预定安全码输入到mPOS终端中,然后将IC卡300保持在读取器/写入器(终端200)上。结果,IC卡300生成响应,该响应是对认证1命令的响应。

此后,为了对商品进行实际支付,商品的购买者例如将EMV卡(诸如具有非接触式通信功能的信用卡)保持在读取器/写入器上,以执行支付。这里,如果支付接受方执行诸如将支付金额恶意地改变为10000日元的欺诈行为,则事务信息将被发送到结算服务器,其中事务信息指示支付金额为10000日元。然而,因为在使用IC卡300的认证期间已经预先对于购物的1000日元生成了响应,所以结算服务器能够将响应和事务信息彼此进行比较以检测支付金额的不匹配。注意,可以是IDcd认证服务器100、而不是结算服务器来执行响应和事务信息之间的比较。在IDcd认证服务器100比较响应和事务信息的情况下,结算服务器接收由IDcd认证服务器100进行的比较的结果,并且如果确定支付金额匹配则执行结算处理。

(示例6)

作为第六示例,将描述这样的示例,该示例的目的是通过使用IC卡认证来提供个人之间的安全和简单的转账。

通常,在执行个人之间的转账事务的情况下,需要由诸如结算服务器或事务服务器之类的由个人使用的金融机构共同所有的设备进行的协调。然而,随着可连接因特网的通信设备的爆炸性普及,提高了经由因特网的支付的便利性,因此,需要用于转账的安全且简单的方法。

鉴于此,通过将到目前为止描述的IC卡认证不仅用于个人认证而且用于事务内容的认证,IC卡认证可以用作金融机构共同的认证功能,并且即使所使用的结算服务器或事务服务器在由个人使用的金融机构等之间不同,也可以进行协调。

图21是描述使用IC卡认证的在个人之间的转账处理的说明图。这里,将在把1000日元从第一用户转移到第二用户的情况下描述转账处理。第一用户的终端200将包括事务信息的散列的挑战发送到第一用户的IC卡300。第一用户的IC卡300生成对从第一用户的终端200接收到的挑战的响应。该响应包括提供给指示将从第一用户向第二用户转移1000日元的事务信息的签名。然后,第一用户的终端200将第一用户的IC卡300生成的响应发送给第二用户的终端200。

如果第二用户的终端200接收到由第一用户的IC卡300生成的响应,则第二用户的终端200向第二用户的IC卡300发送被包括在该响应中的具有第一用户的IC卡300的签名的事务信息的散列作为挑战。第二用户的IC卡300生成响应于从第二用户的终端200接收到的挑战的响应。该响应包括提供给指示将从第一用户向第二用户转移1000日元的事务信息的签名。然后,第二用户的终端200向结算服务器发送由第二用户的IC卡300生成的响应。

结算服务器(服务提供商400的服务器)接收由第一用户的IC卡300生成的响应和由第二用户的IC卡300生成的响应。结算服务器将这两个响应发送到IDcd认证服务器100。IDcd认证服务器100比较从结算服务器接收到的这两个响应,并且检查两个IC卡300的真实性和提供给事务信息的签名的有效性。注意,IDcd认证服务器100仅检查IC卡300的真实性和提供给事务信息的签名的有效性,而不涉及事务信息的内容。此外,如果确认了从结算服务器接收到的两个响应的有效性,则IDcd认证服务器100向结算服务器发送指示允许从第一用户到第二用户的转账的消息。如果结算服务器从IDcd认证服务器100接收到允许从第一用户到第二用户的转账的消息,则结算服务器执行将1000日元从第一用户的账户转移到第二用户的账户的处理。

通过这样的一系列处理,可以通过使用IC卡认证来进行个人之间的安全且简单的转账。

<2.总结>

如上所述,根据本公开的实施例,可以提供IDcd认证服务器100,当假设离线使用的IC卡除了在线使用之外,还应用于在服务器中保持值的形式时,可以安全地执行IC卡的认证。

由本说明书中的每个设备执行的处理中的步骤不一定必须按照序列图或流程图描述的顺序按时间顺序处理。例如,由每个设备执行的处理中的步骤可以以与流程图描述的顺序不同的顺序处理,或者可以并行地处理。

此外,还可以创建计算机程序,所述计算机程序用于使内置于每个设备中的诸如CPU、ROM和RAM之类的硬件表现出与上述每个设备的配置等同的功能。此外,还可以提供其上存储有计算机程序的存储介质。此外,通过利用硬件配置功能框图中所示的每个功能块,可以通过硬件实现一系列处理。

注意,尽管在上述每个示例中示出了IC卡,但是IC卡可以是便携式终端,诸如配备有具有非接触式通信功能的IC芯片的智能电话。

尽管已经参考附图详细描述了本公开的优选实施例,但是本公开的技术范围不限于这样的示例。显然,在本公开的技术领域中具有普通知识的人可以在权利要求书中描述的技术概念的范围内想到各种修改或变型,并且这样的修改或变型也当然理解为属于本公开的技术范围内。

此外,本说明书中描述的效果仅是说明性或示例性效果,而不是限制性效果。也就是说,与上述效果一起或代替上述效果,与本公开相关的技术可以实现根据本说明书中的公开内容对于本领域技术人员明显的其他效果。

注意,诸如以下那些配置的配置也属于本公开的技术范围内。

(1)一种服务器,包括:

提供单元,所述提供单元被配置为向与包括IC芯片的无线通信设备执行接近非接触式通信的终端提供用于认证所述无线通信设备的认证数据;

获取单元,所述获取单元被配置为从所述终端获取通过与所述无线通信设备的接近非接触式通信而接收到的接收数据,所述接收数据包括认证数据的使用计数;以及

认证单元,所述认证单元被配置为通过使用所述认证数据和所述接收数据来执行所述无线通信设备的认证。

(2)根据上述(1)所述的服务器,其中,在认证所述无线通信设备之前,所述提供单元预先向所述终端提供多条所述认证数据。

(3)根据上述(1)或(2)所述的服务器,其中,所述提供单元提供的认证数据是基于在最后执行认证时的认证数据生成的。

(4)根据上述(1)至(3)中任一项所述的服务器,其中,在认证所述无线通信设备之前,所述提供单元向终端提供一对挑战和响应,所述挑战将在认证作为认证目标的无线通信设备时从所述终端被提供给该无线通信设备,所述响应将响应于所述挑战从所述无线通信设备被返回到终端。

(5)根据上述(1)至(4)中任一项所述的服务器,其中,所述认证单元通过使用来自第一无线通信设备的第一接收数据和来自第二无线通信设备的第二接收数据来执行第一无线通信设备和第二无线通信设备的认证。

(6)根据上述(5)所述的服务器,其中,所述认证单元基于第一无线通信设备和第二无线通信设备的认证结果来确定是否允许第一无线通信设备的用户与第二无线通信设备的用户之间的转账处理。

(7)根据上述(1)至(4)中任一项所述的服务器,其中,所述认证单元使用来自所述无线通信设备的所述接收数据和事务数据来确认所述事务数据的真实性。

(8)根据上述(1)至(7)中任一项所述的服务器,其中,所述无线通信设备是具有内置IC芯片的IC卡。

(9)根据上述(1)至(7)中任一项所述的服务器,其中,所述无线通信设备是具有内置IC芯片的便携式终端。

(10)一种服务器,所述服务器被配置为获取认证数据,所述认证数据将用于认证包括IC芯片的无线通信设备,并且所述认证数据将从生成所述认证数据的设备提供给与所述无线通信设备执行接近非接触式通信的终端,以及所述服务器被配置为在将所获取的认证数据提供给所述终端之前对所获取的认证数据进行高速缓存。

(11)根据上述(10)所述的服务器,其中,当所述终端执行所述无线通信设备的认证时,所述服务器将高速缓存的认证数据提供给所述终端。

(12)根据上述(11)所述的服务器,其中,在当对所述无线通信设备进行认证时无法执行与所述设备的通信的情况下,所述服务器将高速缓存的认证数据提供给所述终端。

(13)根据上述(10)所述的服务器,其中,所述服务器在预定定时删除高速缓存的认证数据。

(14)根据上述(13)所述的服务器,其中,所述服务器在如下预定定时删除高速缓存的认证数据,该预定定时是所述认证数据的有效期已经过去的时间点。

(15)根据上述(13)所述的服务器,其中,所述服务器在如下预定定时删除高速缓存的认证数据,该预定定时是与所述设备的通信已经恢复的时间。

(16)根据上述(10)至(15)中任一项所述的服务器,其中,所述无线通信设备是具有内置IC芯片的IC卡。

(17)根据上述(10)至(15)中任一项所述的服务器,其中,所述无线通信设备是具有内置IC芯片的便携式终端。

(18)一种认证方法,包括:

向与包括IC芯片的无线通信设备执行接近非接触式通信的终端提供用于认证所述无线通信设备的认证数据;

从所述终端获取通过与所述无线通信设备的接近非接触式通信而接收到的接收数据,所述接收数据包括所述认证数据的使用计数;以及

通过使用所述认证数据和所述接收数据来执行所述无线通信设备的认证。

(19)一种认证系统,包括:

无线通信设备,所述无线通信设备包括IC芯片;

终端,所述终端被配置为与无线通信设备执行接近非接触式通信;以及

服务器,所述服务器被配置为向所述终端提供用于认证所述无线通信设备的认证数据,其中

所述服务器包括:

提供单元,所述提供单元被配置为提供认证数据;

获取单元,所述获取单元被配置为从所述终端获取通过与所述无线通信设备的接近非接触式通信而接收到的接收数据,所述接收数据包括上述认证数据的使用计数;以及

认证单元,所述认证单元被配置为通过使用所述认证数据和所述接收数据来执行所述无线通信设备的认证。

参考符号列表

100 IDcd认证服务器

200 终端

300 IC卡

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1