使用NFC的用户设备、认证系统及其操作方法与流程

文档序号:24939395发布日期:2021-05-04 11:31阅读:511来源:国知局
使用NFC的用户设备、认证系统及其操作方法与流程

相关申请的交叉引用

本申请要求于2019年10月29日在韩国知识产权局提交的第10-2019-0135328号韩国专利申请的优先权,该申请的全部公开内容通过引用结合于此。

本文描述的发明构思的示例实施例涉及电子设备。例如,至少一些示例实施例涉及使用近场通信(nearfieldcommunication,nfc)的用户设备、认证(authentication)系统和/或该用户设备和认证系统的操作方法。



背景技术:

随着移动通信技术发展,诸如用户设备的电子设备可以提供各种数据通信功能以及呼叫功能。例如,电子设备可以提供基于网络的通信服务,诸如音乐服务、视频服务、数字广播服务、无线互联网、短消息服务(shortmessageservice,sms)、多媒体消息服务(multimediamessagingservice,mms)等。此外,电子设备可以提供利用nfc的服务,以及基于网络的通信服务。例如,电子设备可以使用nfc提供支付服务、交通服务、智能卡(例如,通行证或员工id卡)服务等。

只有当用户观察用户设备时,用户设备(诸如移动电话)使用nfc提供的安全服务才可用。例如,在用户设备的显示器打开的状态下,用户可以利用用户设备的虹膜识别功能或指纹识别功能。然而,传统上,例如在用户没有关注用户设备的状态下,用户设备的安全性容易受到通过nfc的恶意攻击或黑客攻击。



技术实现要素:

本发明构思的示例实施例提供了用户设备、认证系统及该用户设备和认证系统的操作方法,其中即使在使用nfc通信的用户设备的非活动状态下,该用户设备也能够在没有用户的干预的情况下执行安全认证。

根据示例实施例,操作执行与读卡器的近场通信(nfc)的用户设备的方法包括:存储通过网络从服务认证服务器下载的服务证书(certification);向读卡器发送用户设备的状态信息;基于状态信息,从读卡器选择性地接收服务标识符(identifier,id);响应于来自读卡器的服务id与存储在用户设备中的服务证书相对应,基于对称密钥(key),执行与读卡器的认证过程;以及响应于认证过程成功,向读卡器发送认证成功消息。

根据示例实施例,用户设备包括:主机设备,被配置为生成指示活动状态或非活动状态的状态信息;以及nfc设备,被配置为存储服务证书,并且通过向读卡器发送状态信息、以及当状态信息对应于非活动状态时基于从读卡器接收的服务id是否对应于存储在nfc设备中的服务证书而执行与读卡器的认证过程,来基于状态信息执行与读卡器的nfc通信。

根据示例实施例,认证系统包括:读卡器,被配置为在服务认证服务器处注册服务证书;以及用户设备,被配置为存储通过网络从服务认证服务器下载的服务证书,在可以与读卡器进行nfc通信的状态下向读卡器发送用户设备的状态信息,并且当状态信息对应于非活动状态时,基于服务证书,执行与读卡器的认证过程。

附图说明

通过参考附图详细描述本发明构思的示例实施例,本发明构思的示例实施例的上述和其他目的和特征将变得清晰。

图1是示出根据本发明构思的示例实施例的用户设备的认证系统的框图。

图2是示出根据本发明构思的示例实施例的图1的用户设备的配置的框图。

图3是详细示出图2的安全块的框图。

图4是示出图2的nfc块的配置的框图。

图5是示出注册和下载本发明构思的服务证书的方法的图。

图6是示出本发明构思的读卡器和用户设备之间的认证过程的图。

图7是详细示出图6的操作s130的图。

图8是示出图6和图7中所示的读卡器的认证操作的流程图。

图9是详细描述由图8的读卡器执行的操作s250的流程图。

图10是示出图6和图7中所示的用户设备的认证操作的流程图。

图11是示出图10的操作s380的流程图。

具体实施方式

应该理解,前面的一般描述和下面的详细描述都是作为示例提供的,并且应该被视为是提供了额外的描述。将在发明构思的示例实施例中详细表示附图标记,在附图中示出了发明构思的示例。只要可能,在附图和说明书中使用相同的附图标记来指代相同或相似的部分。

下面,会将本发明构思的示例实施例详细且清楚地描述到本领域普通技术人员容易实现本发明构思的程度。

图1是示出根据本发明构思的示例实施例的包括使用近场通信(nfc)的设备的认证系统的框图。

参考图1,认证系统包括用户设备1000、读卡器2000和服务认证服务器3000。

用户设备1000可以是包括nfc卡芯片的电子设备。例如,用户设备1000可以是能够支持一个或多个nfc功能(诸如nfc支付功能)的移动终端。一般,用户设备1000可以使用nfc来执行支付或通信。一般,在使用nfc执行支付或通信的情况下,驱动用户执行的应用,并且在显示器(或屏幕)打开的活动状态下使用该应用。然而,在用户设备1000的电源关闭或者在给定时间内没有使用用户设备1000的情况下,用户设备1000的显示器可以关闭或者可以进入省电模式。该状态称为用户设备1000的“非活动状态”。

使用nfc的用户设备1000的安全性以对于用户设备1000的观察为前提。原因在于,尽管在用户观察用户设备1000的显示器的活动状态下执行基于nfc的支付或通信操作,用户仍然可以感知到各种基于nfc的支付或通信操作。然而,在用户设备1000的显示器关闭的非活动状态下,在nfc协议中没有详细定义用户设备1000的安全性。相反,在一个或多个示例实施例中,本发明构思的用户设备1000可以向读卡器2000发送指示用户设备1000的活动或非活动状态的状态信息si。在非活动状态下,用户设备1000可以通过使用预先下载的服务证书sc来执行与读卡器2000的认证过程。服务证书sc可以由读卡器2000或提供商预先在服务认证服务器3000处注册,并且可以由用户下载到用户设备1000。

读卡器2000可以以非接触方式、通过nfc与用户设备1000通信。通过使用nfc,读卡器2000可以与用户设备1000执行以下功能:非接触式移动支付、个人认证和/或数据交换。将基于读卡器2000提供诸如移动支付的服务的示例来描述本发明构思的示例实施例。然而,示例实施例不限于此。

读卡器2000可以首先在服务认证服务器3000处注册服务证书sc,以便支持本发明构思的非活动状态下的认证功能。例如,读卡器2000可以是提供非接触式移动支付服务的终端,诸如交通(transit)智能卡(或交通卡)。为了提供用户设备1000的安全性能,读卡器2000或操作读卡器2000的提供商可以在服务认证服务器3000处注册服务证书sc。服务证书sc可以包括读卡器2000的服务标识符(id)和公钥(publickey)。

当存储服务证书sc的用户设备1000靠近读卡器2000且在给定距离内时,用户设备1000和读卡器2000可以尝试通信(例如,技术通信)。例如,当在用户设备1000和读卡器2000之间进行相互硬件识别时,用户设备1000向读卡器2000发送状态信息si。

在读卡器2000识别出状态信息si指示活动状态的情况下,读卡器2000可以认为用户当前能够观察用户设备1000。在这种情况下,用户设备1000和读卡器2000可以立即执行nfc协议通信,而无需认证过程。在上述情况下,可以通过包括在用户设备1000中的特定认证硬件(例如,虹膜识别或指纹识别设备)来执行认证。

相反,在读卡器2000识别出状态信息si指示非活动状态的情况下,读卡器2000可以确定用户设备1000处于断电状态、省电模式、显示器关闭状态或者用户当前可能无法观察用户设备1000的另一状态。在这种情况下,读卡器2000和用户设备1000可以基于共享服务证书sc来执行根据本发明构思的示例实施例的认证过程。

服务认证服务器3000存储从读卡器2000提供的或从操作读卡器2000的提供商提供的服务证书sc。在从用户设备1000的用户接收到下载请求的情况下,服务认证服务器3000可以向用户设备1000发送服务证书sc。服务认证服务器3000可以通过有线或无线网络与读卡器2000和用户设备1000通信。

根据上述发明构思的示例实施例,在认证系统中,用户设备1000向读卡器2000提供状态信息si。在从用户设备1000提供的状态信息si指示非活动状态的情况下,读卡器2000可以基于通过服务认证服务器3000共享的服务证书sc来执行本发明构思的认证过程。可以通过在用户设备1000的非活动状态下执行的基于服务证书的认证过程来阻止在非活动状态下发生的攻击或黑客攻击。

图2是示出图1的用户设备的配置的框图。参考图2,用户设备1000可以包括主机设备1100、nfc设备1200和nfc天线1250。

主机设备1100可以向nfc设备1200供电,并且可以通过nfc设备1200与读卡器2000通信。在活动状态下,主机设备1100可以跳过本发明构思的示例实施例的nfc认证过程,并且可以执行与读卡器2000的协议通信。在非活动状态下,主机设备1100和读卡器2000之间的通信可仅在通过nfc设备1200完成与读卡器2000的认证过程之后才是可能的。

这里,活动状态是指用户在例如期望的(或者可替代地,预设的)时间段内操作(或操纵)或者使用了主机设备1100的状态。例如,活动状态是指用户进行或最近进行了网络搜索的状态,或者用户正在或最近一直在打电话的状态。非活动状态是指当用户在期望的(或者,可替代地,预设的)时间段内没有操纵用户设备1000或在期望的(或者,可替代地,预设的)时间段期间将用户设备1000放在一边时开始的显示器的关闭状态。可替代地,非活动状态可以指用户通过诸如耳机的配件听音乐而显示器关闭的状态。可替代地,非活动状态可以指用户设备1000的睡眠模式或者电源关闭的断电状态。非活动状态可以包括用户可能没有在观察用户设备1000的所有情况。

在示例实施例中,主机设备1100可以包括应用处理器1110、电源控制器1130和设备接口1150。应用处理器1110执行驱动主机设备1100的各种应用。例如,应用处理器1110执行主机设备1100的软件(例如,应用程序、操作系统和设备驱动器)。应用处理器1110可以用同构多核处理器或异构多核处理器来实现。

电源控制器1130供应并控制用户设备1000的电源。例如,电源控制器1130可以是电源管理集成电路(powermanagementintegratedcircuit,pmic)。电源控制器1130通过使用dc-dc转换器或电压调节器来转换来自电池(未示出)的电源,以便适合于目标设备。取决于应用处理器1110的指令,电源控制器1130可以减少或阻止正在供应的电源。例如,当用户使用用户设备1000时,即,在活动模式下,电源控制器1130可以向应用处理器1110或nfc设备1200供电。相反,在用户不使用用户设备1000的非活动模式下,电源控制器1130可以减少、最小化或阻止向显示器或未使用的组件供电。

取决于应用处理器1110的请求,设备接口1150可以访问nfc设备1200。也就是说,设备接口1150提供主机设备1100和nfc设备1200之间的接口。为了与诸如nfc设备1200的嵌入式安全元件(embeddedsecureelement,ese)块的安全块1210通信,设备接口1150可以使用安全信道(例如,安全spi(serialperipheralinterface,串行外围接口))。可以通过设备接口1150将包括指示主机设备1100的显示器是打开还是关闭的信息的状态信息si发送到nfc设备1200的nfc块1230。例如,设备接口1150可以是串行通信协议,诸如i2c(inter-integratedcircuit,集成电路间)、uart(universalasynchronousreceiver/transmitter,通用异步接收器/发送器)和spi。

nfc设备1200包括安全块1210(例如,嵌入式安全元件(ese)块)和nfc块1230。nfc设备1200可以通过nfc天线1250与读卡器2000通信。这里,安全块1210和nfc块1230可以以单个芯片的形式实现。

安全块1210存储主机设备1100从服务认证服务器3000下载的服务证书sc。服务证书sc包括服务标识符(id)(或提供商id)和公钥信息。安全块1210可以在主机设备1100的非活动状态下执行认证过程。也就是说,安全块1210将从读卡器2000提供的服务id与存储在安全块1210中的服务证书sc的服务id进行比较。当两个服务id匹配时,安全块1210可以执行以下操作中的一个或多个,用于执行与读卡器2000的认证过程:公钥生成、随机数生成以及加密和解密。

nfc块1230提供用于执行与主机设备1100和读卡器2000的nfc通信的接口(interfacing)。nfc块1230监控与读卡器2000的通信是否可能,并且当通信可能时,执行与读卡器2000的技术通信。具体地,在nfc块1230从主机设备1100接收到与非活动状态相对应的信息的情况下,nfc块1230向读卡器2000发送指示用户设备1000的非活动状态的状态信息si。状态信息s1可以是通过nfc天线1250发送到读卡器2000的rf指令的形式。

根据以上描述,用户设备1000包括存储从服务认证服务器3000下载的服务证书sc的nfc设备1200。在主机设备1100处于非活动状态的情况下,nfc设备1200可以基于服务证书sc执行与读卡器2000的认证操作。因此,根据本发明构思的一个或多个示例实施例的用户设备1000可以提供针对用户设备1000在非活动状态下容易受到的中间人攻击的高安全性。

图3是详细示出图2的安全块的框图。参考图3,安全块1210包括安全接口1211(或ese接口)、安全处理器1213(或ese处理器)、认证存储1215和密钥管理器1217。安全块1210可以与nfc块1230一起形成在一个芯片中。然而,实现安全块1210的方式不限于本公开。也就是说,可以很好地理解,安全块1210可以用独立于nfc块1230的芯片来实现。

安全接口1211提供安全块1210和主机设备1100之间以及安全块1210和nfc块1230之间的接口。安全接口1211可以通过主机设备1100的设备接口1150与应用处理器1110通信。安全块1210可以通过安全接口1211被提供有主机设备1100下载的服务证书sc。安全接口1211可以以具有安全功能的串行外围设备接口spi的形式与设备接口1150通信。此外,安全接口1211可以遵循特定协议(例如,单线协议)与nfc块1230通信。安全接口1211可以在安全认证过程中与nfc接口1231交换随机数、加密的对称密钥等,该安全认证过程在主机设备1100的非活动状态下启动。

安全处理器1213处理安全块1210的各种操作。安全处理器1213可以执行用于从主机设备1100接收服务证书sc的整体操作。此外,安全处理器1213可以在认证存储1215中搜索通过nfc块1230提供的服务id,并且可以确定找到的服务id和提供的服务id是否匹配。此外,安全处理器1213可以向密钥管理器1217请求对称密钥生成操作、随机数生成操作以及加密和解密操作。此外,考虑到安全块1210或nfc块1230的硬件特性,安全处理器1213可以决定与在与读卡器2000的交易(transaction)中承诺的响应时间相对应的时隙。例如,考虑到安全块1210的处理速度,安全处理器1213可以决定用于响应读卡器2000的请求的时隙t2。此外,安全处理器1213可以允许密钥管理器1217通过使用对称密钥来加密时隙t2的值,并且可以将加密的值传送给读卡器2000。此外,安全处理器1213可以解密从读卡器2000发送的加密的时隙t1,并且可以将解密的时隙t1发送到nfc块1230。安全处理器1213可以与读卡器2000交换和比较加密的随机数,以确定认证是否成功执行。将参考下面的附图对此进行详细描述。

认证存储1215存储从服务认证服务器3000下载的服务证书sc。例如,认证存储1215可以存储服务id、在与读卡器2000的认证过程中使用的公钥等。认证存储1215可以用非易失性存储器,诸如一次性编程(onetimeprogramming,otp存储器或闪存来实现。

取决于安全处理器1213的请求,密钥管理器1217可以生成对称密钥“k”,以用于与读卡器2000的服务认证。密钥管理器1217可以通过使用存储在认证存储1215中的公钥“p”来加密对称密钥“k”。可以将加密的对称密钥“k”发送到读卡器2000,并且密钥管理器1217可以通过使用从读卡器2000提供的对称密钥“k”来解密加密的随机数。此外,密钥管理器1217可以生成随机数,并且可以通过使用对称密钥“k”来加密该随机数。密钥管理器1217解密从读卡器2000提供的加密的随机数。此外,密钥管理器1217可以通过使用对称密钥“k”来加密要发送到读卡器2000的时隙t2的值。此外,密钥管理器1217可以通过使用对称密钥“k”来解密从读卡器2000发送的时隙t1的值。

在上面简要描述了根据本发明构思的一些示例实施例的安全块1210的配置和功能。然而,可以很好地理解,可以不同地修改或改变本发明构思的示例实施例的安全块1210的配置和功能。例如,执行安全操作的硬件组件的功能可以通过使用由处理电路执行的软件来实现。

图4是示出图2的nfc块的配置的框图。

参考图4,nfc块1230可以包括nfc接口1231、nfc处理器1233、rom1235、电源管理器1237和rf调制解调器1239。

nfc接口1231提供nfc块1230和主机设备1100之间以及nfc块1230和安全块1210之间的接口。nfc接口1231可以通过主机设备1100的设备接口1150与应用处理器1110通信。nfc块1230可以通过nfc接口1231接收主机设备1100的显示器(或屏幕)的开/关信息或主机设备1100的断电信息。本发明构思的认证过程在显示器的关闭状态或断电状态下启动。在这种情况下,为了执行认证,nfc接口1231可以执行与安全块1210的安全接口1211的通信。

nfc处理器1233处理与无线通信相关联的nfc块1230的各种操作。nfc处理器1233可以执行存储在rom1235中的代码,并且可以执行nfc技术通信或nfc协议通信。此外,nfc处理器1233可以在显示器的关闭状态或断电状态下执行本发明构思的认证过程。

rom1235存储用于驱动nfc块1230的代码。在nfc设备1200的引导(boot)或重置时,将存储在rom1235中的代码发送到nfc处理器1233,并且nfc处理器1233的驱动是可能的。用于在本发明构思的非活动状态下执行认证过程的认证码ac可以存储在rom1235中。认证码ac包括用于在主机设备1100的非活动状态下向读卡器2000发送状态信息si的代码,以及为了基于状态信息si执行认证过程而硬件上操作和控制nfc块1230的代码。根据本发明构思的示例实施例,认证码ac可以包括能够取决于执行认证过程的结果(成功/失败)来控制是否允许rf通信的代码。在显示器的关闭状态下或在断电状态下,nfc处理器1233可以执行存储在rom1235中的认证码ac。

电源管理器1237可以参考从主机设备1100的电源控制器1130提供的电源信息“pwrinfo.”来监控用户设备1000的电源状态。例如,当电源管理器1237从电源控制器1130接收到指示断电状态的信息时,电源管理器1237可以向nfc处理器1233发送断电信息。在这种情况下,为了激活本发明构思的示例实施例的安全认证过程,nfc处理器1233可以执行认证码ac。当执行认证码ac时,可以激活安全块1210的整体功能。此外,在与读卡器2000的技术通信中,nfc处理器1233可以发送与非活动状态相对应的状态信息si。

rf调制解调器1239在nfc处理器1233的控制下执行与读卡器2000的nfc。在向天线1250发送传输信号之前,rf调制解调器1239调制要发送到读卡器2000的传输信号。rf调制解调器1239可以解调从天线1250接收到的接收信号,并且可以将解调的信号发送到nfc处理器1233或任何其他目标设备。具体地,为了使用本发明构思的时隙执行认证过程,rf调制解调器1239可以包括输入/输出计时器1232。

输入/输出计时器1232可以对与从读卡器2000提供的第一时隙t1相对应的传输时间和接收时间进行计数。例如,输入/输出计时器1232可以计数从rf调制解调器1239传输请求的时间点到读卡器2000响应该请求的时间点的时间是否在第一时隙t1内。可以考虑诸如随机数的长度和处理能力的变量来决定时隙值。

以上描述了nfc块1230的配置和操作。然而,可以很好地理解,nfc块1230还包括用于额外的性能的组件,尽管在图4中未示出。

图5是示出根据本发明构思的一个或多个示例实施例的注册和下载服务证书的方法的图。

参考图5,读卡器2000在服务认证服务器3000上注册服务证书sc。想要使用根据本发明构思的一个或多个示例实施例的认证过程的用户可以操纵用户设备1000,使得从服务认证服务器3000下载服务证书sc。

在操作s10中,读卡器2000可以在服务认证服务器3000处注册服务证书sc。服务证书sc可以由读卡器2000或读卡器2000的提供商在服务认证服务器3000上注册。

在操作s20中,想要提高非活动状态下的安全性能的用户设备1000的用户可以请求从服务认证服务器3000下载服务证书sc。包括在用户设备1000中的主机设备1100可以由用户操纵,以便通过有线或无线网络从服务认证服务器3000请求服务证书sc。

在操作s30中,服务认证服务器3000响应于用户设备1000的请求,通过有线或无线网络向用户设备1000发送服务证书sc。

在操作s40中,用户设备1000的主机设备1100将下载的服务证书sc发送到执行nfc设备1200的安全功能的安全块1210。

在操作s50中,安全块1210可以将下载的服务证书sc存储在认证存储1215中。

上面描述了在用户设备1000的非活动状态下注册和下载用于执行认证过程的服务证书sc的方法。在服务证书sc存储在用户设备1000的安全块1210中的情况下,满足了根据本发明构思的示例实施例的用于在非活动状态下执行认证过程的条件。

图6是示出本发明构思的读卡器和用户设备之间的认证过程的图。

参考图6,当用户设备1000处于非活动状态(例如,显示器关闭状态)时,执行根据本发明构思的示例实施例的认证过程。

在操作s110中,在用户设备1000和读卡器2000之间执行(或者,可替代地,协商)技术通信。该技术通信可以指用户设备1000和读卡器2000中的每一个检测rf场并传送规定的(ruled)传送速度的初始指令的操作。在用户设备1000和读卡器2000相互识别rf场的情况下,通过该技术通信相互同步地传送速度或无线通信设置。

在操作s115中,用户设备1000向读卡器2000发送状态信息si。即使在执行操作s110中启动的技术通信的同时,也可以在操作s115中发送状态信息si。例如,状态信息si可以是关于用户设备1000是处于活动状态还是非活动状态的信息。在用户正在使用用户设备1000或者显示器打开的情况下,nfc块1230可以向读卡器2000发送指示活动状态的状态信息si。相反,在用户设备1000的显示器处于关闭状态或者用户设备1000处于断电状态的情况下,nfc块1230可以向读卡器2000发送指示非活动状态的状态信息si。

在操作s120中,读卡器2000识别从用户设备1000提供的状态信息si,并且取决于所识别的状态信息si,确定是否执行根据本发明构思的示例实施例的认证过程,或者是否执行nfc协议通信。当确定用户设备1000的状态是非活动状态时(是),过程进行到操作s122,以在非活动状态下执行认证过程。相反,当确定用户设备1000的状态是活动状态时(否),过程进行到操作s150,以在活动状态下执行nfc协议通信。

在操作s122中,读卡器2000启动在本发明构思的非活动状态下执行的认证过程。也就是说,读卡器2000可以向用户设备1000发送在服务认证服务器3000处注册的服务证书sc中包括的服务id。将从读卡器2000发送的服务id提供给用户设备1000的安全块1210。

在操作s124中,提供有服务id的安全块1210可以搜索安全块1210中的认证存储1215。详细地,安全块1210的安全处理器1213可以确定存储在认证存储1215中的服务证书sc的服务id是否与发送的服务id匹配。当存储在认证存储1215中的服务id与从读卡器2000发送的服务id匹配时(是),过程进行到操作s130,以执行本发明构思的认证过程。相反,当与从读卡器2000发送的服务id相匹配的服务id不存在于认证存储1215中时(否),在非活动状态下执行的根据本发明构思的示例实施例的认证过程可以终止。在这种情况下,用户设备1000可以不应答读卡器2000。

在操作s130中,用户设备1000和读卡器2000基于相互共享的服务证书sc执行根据本发明构思的示例实施例的认证过程。也就是说,可以以基于包括在服务证书sc中的公钥来生成和交换对称密钥以及通过使用交换的对称密钥来生成和交换随机数的方式来执行认证。此外,用户设备1000和读卡器2000可以通过使用对称密钥来交换指示规定的响应时间的时隙,并且可以监控该时隙和该响应时间。

在操作s140中,确定在操作s130中执行的认证过程是成功还是失败。当在非活动状态下执行的根据本发明构思的示例实施例的认证过程成功时(是),过程进行到操作s150。当在非活动状态下执行的根据本发明构思的示例实施例的认证过程失败时(否),认证过程可以终止。在这种情况下,用户设备1000或读卡器2000可以不应答。

在操作s150中,在用户设备1000和读卡器2000之间执行协议通信。也就是说,目标块(例如,应用处理器)和读卡器2000可以通过nfc设备1200执行额外的操作,诸如相互数据传送或货币支付。

上面简要描述了根据本发明构思的示例实施例的非活动状态下的认证过程。通过在非活动状态下的认证过程,可以提高诸如移动设备或电子设备的用户设备1000的安全性能。

图7是详细示出图6的操作s130的图。参考图7,可以在读卡器2000和包括在用户设备1000中的安全块1210之间执行基于服务证书sc的认证操作。当读卡器2000发送的服务id存在于认证存储1215中时,启动根据本发明构思的示例实施例的认证过程。

在操作s131中,安全块1210的安全处理器1213可以请求密钥管理器1217生成对称密钥“k”。密钥管理器1217通过使用对称密钥生成算法生成要与读卡器2000共享的对称密钥“k”。

在操作s132中,安全块1210的密钥管理器1217通过使用包括在服务证书sc中的公钥“p”来加密生成的对称密钥“k”。因此,由密钥管理器1217生成的对称密钥“k”通过使用公钥“p”加密。

在操作s133中,将通过使用公钥“p”加密的对称密钥p(k)发送到读卡器2000。

在操作s134中,读卡器2000解密加密的对称密钥p(k)。读卡器2000可以通过使用存在于读卡器2000中的私钥(privatekey)来解密加密的对称密钥“k”。解密的对称密钥“k”可以存储在包括在读卡器2000中的认证存储1215(参考图3)中。之后,读卡器2000可以向用户设备1000的安全块1210发送通过使用对称密钥“k”加密的数据,或者可以通过使用对称密钥“k”解密加密的密文(ciphertext)。

在操作s135和操作s136中,读卡器2000和用户设备1000交换规定交易的响应时间的时隙t1和t2。也就是说,读卡器2000和用户设备1000通过使用对称密钥“k”来加密和交换第一时隙t1和第二时隙t2。第一时隙t1对应于读卡器2000相对于用户设备1000的请求而要符合的响应时间。在操作s135中,读卡器2000向用户设备1000的安全块1210发送通过使用对称密钥“k”加密的第一加密时隙k(t1)。安全块1210解密并存储加密的第一时隙k(t1)。

在操作s136中,安全块1210通过使用对称密钥“k”加密第二时隙t2。安全块1210向读卡器2000发送加密的第二时隙k(t2)。读卡器2000可以通过使用对称密钥“k”来解密加密的第二时隙k(t2),并且可以将解密的第二时隙t2存储在认证存储1215中。

在操作s137中,读卡器2000生成第一随机数r1,并将该第一随机数r1发送到安全块1210。

在操作s138中,安全块1210通过使用对称密钥“k”加密从读卡器2000接收到的第一随机数r1。安全块1210生成第二随机数r2。通过nfc块1230将由安全块1210生成的第二随机数r2和加密的第一随机数k(r1)发送到读卡器2000。在这种情况下,发送第二随机数r2和加密的第一随机数k(r1)的时间点可以在从读卡器2000接收到第一随机数r1的时间点起的第二时隙t2内。可以参考nfc块1230的输入/输出计时器1232(参考图4)来管理发送第二随机数r2和加密的第一随机数k(r1)的时间点,以便在第二时隙t2内发送第二随机数r2和加密的第一随机数k(r1)。

在操作s139,读卡器2000接收第二随机数r2和加密的第一随机数k(r1)。当接收到第二随机数r2和加密的第一随机数k(r1)的时间点在第二时隙t2之外时,认证过程可以终止。然而,当接收到第二随机数r2和加密的第一随机数k(r1)的时间点在第二时隙t2内时,读卡器2000通过使用对称密钥“k”解密加密的第一随机数k(r1)。读卡器2000通过使用对称密钥“k”加密接收到的第二随机数r2。在这种情况下,可以评估解密的第一随机数r1是否与读卡器2000先前生成的第一随机数r1匹配。当确定解密的第一随机数r1不同于读卡器2000生成的第一随机数r1时,认证过程可以终止。相反,当确定解密的第一随机数r1与读卡器2000生成的第一随机数r1匹配时,读卡器2000向用户设备1000的安全块1210发送加密的第二随机数k(r2)。在这种情况下,可以在第一时隙t1内发送加密的第二随机数k(r2)。

在操作s140中,用户设备1000的安全块1210接收加密的第二随机数k(r2)。当接收到加密的第二随机数k(r2)的时间点在第一时隙t1之外时,认证过程可以终止。然而,当接收到加密的第二随机数k(r2)的时间点在第一时隙t1内时,安全块1210通过使用对称密钥“k”解密加密的第二随机数k(r2)。

可以检测解密的第二随机数r2是否与安全块1210生成的第二随机数r2匹配。当确定解密的第二随机数r2与安全块1210生成的第二随机数r2匹配时(是),确定非活动状态中的认证成功。在这种情况下,过程进行到操作s142,并且用户设备1000的安全块1210可以向读卡器2000发送认证成功消息。相反,当确定解密的第二随机数r2与安全块1210生成的第二随机数r2不匹配时(否),确定非活动状态下的认证失败。因此,安全块1210可以不应答读卡器2000,并且认证过程可以终止。

根据以上描述,读卡器2000和用户设备1000的安全块1210可以通过在非活动状态下使用公钥“p”来共享对称密钥“k”。此外,有可能通过使用对称密钥“k”来交换随机数,以交换规定相互响应时间的时隙,并且进行监控以符合该时隙地进行响应。通过上述安全认证,在用户设备1000的非活动状态下,可以针对包括中间人攻击的各种安全攻击提供高安全性能。

图8是示出图6和图7所示的读卡器的认证操作的流程图。参考图8,读卡器2000可以取决于用户设备1000的状态信息si来执行根据本发明构思的示例实施例的认证过程。

在s210操作中,读卡器2000可以尝试与用户设备1000进行技术通信。为了周期性地识别可能通信的用户设备1000,读卡器2000检测rf场并发射用于通信的rf场。当识别出可能通信的用户设备1000时,读卡器2000可以发送规定的传送速度的初始指令。当用户设备1000识别出来自读卡器2000的初始指令时,可以以规定的传送速度交换用于初始化的数据。在这种情况下,用户设备1000可以向读卡器2000发送指示用户设备1000是处于活动状态还是非活动状态的状态信息si。

在操作s220中,读卡器2000检查是否从用户设备1000接收到状态信息si。当确定从用户设备1000接收到状态信息si时(是),过程进行到操作s230。相反,当确定没有从用户设备1000接收到状态信息si时(否),过程返回到操作s210。

在操作s230,读卡器2000检查状态信息si。当从用户设备1000接收到的状态信息si指示非活动状态时(是),过程进行到操作s240。相反,当从用户设备1000接收到的状态信息si指示活动状态时(否),过程进行到操作s270。

在操作s240中,读卡器2000可以向用户设备1000发送服务id。将从读卡器2000发送的服务id提供给用户设备1000的安全块1210。安全块1210确定从读卡器2000发送的服务id是否与服务证书sc的服务id相同。当相同的服务id存在于安全块1210中时,安全块1210可以向读卡器2000发送通过使用公钥“p”加密的对称密钥p(k)。

在操作s245中,读卡器2000确定是否从用户设备1000接收到通过使用公钥“p”加密的对称密钥p(k)。当确定没有从用户设备1000接收到通过使用公钥“p”加密的对称密钥p(k)时(否),读卡器2000可以终止认证过程。相反,当确定从用户设备1000接收到通过使用公钥“p”加密的对称密钥p(k)时(是),过程进行到操作s250。

在操作s250中,读卡器2000可以基于与用户设备1000共享的服务证书sc在本发明构思的非活动状态下执行认证过程。也就是说,读卡器2000解密加密的对称密钥p(k),并与用户设备1000的安全块1210共享对称密钥“k”。读卡器2000基于对称密钥“k”设置时隙t1和t2,并符合时隙t1和t2地交换加密的随机数r1和r2。当确定交换的随机数r1和r2与生成的随机数匹配并且观察到时隙t1和t2时,可以确定本发明构思的认证过程成功。

在操作s260中,读卡器2000检查是否从用户设备1000接收到认证成功消息。当确定没有从用户设备1000接收到认证成功消息时(否),读卡器2000可以终止认证过程。相反,当确定从用户设备1000接收到认证成功消息时(是),过程进行到操作s270。

在操作s270,读卡器2000执行与用户设备1000的协议通信。读卡器2000可以通过目标块(例如,应用处理器)和nfc设备1200执行额外的后续操作,诸如相互数据传送或货币支付。

图9是详细描述由图8的读卡器执行的操作s250的流程图。参考图9,读卡器2000可以与用户设备1000共享对称密钥“k”,可以基于该对称密钥“k”加密/解密随机数r1和r2,并且可以设置时隙t1和t2。

在操作s251中,读卡器2000从用户设备1000接收通过使用公钥“p”加密的对称密钥p(k)。

在操作s252中,读卡器2000通过使用私钥解密加密的对称密钥p(k)。解密的对称密钥“k”可以存储在包括在读卡器2000中的认证存储1215中。

在操作s253中,读卡器2000向用户设备1000发送第一时隙t1。详细地,读卡器2000在将第一时隙t1发送给用户设备1000之前,通过使用对称密钥“k”来加密第一时隙t1。第一时隙t1是定义读卡器2000在稍后执行的随机数交换操作中相对于用户设备1000的请求的响应时间的值。

在操作s254中,读卡器2000从用户设备1000接收加密的第二时隙k(r2)。读卡器2000可以解密加密的第二时隙k(r2),并且可以将解密的第二时隙t2存储在指定的存储区域中。第二时隙t2是定义用户设备1000在稍后执行的随机数交换操作中相对于读卡器2000的请求的响应时间的值。

在操作s255中,读卡器2000生成第一随机数r1,并将该第一随机数r1发送到用户设备1000。为了生成第一随机数r1,读卡器2000可以驱动单独的随机数生成器或随机数生成算法。接收第一随机数r1的用户设备1000通过使用对称密钥“k”加密接收到的第一随机数r1。用户设备1000生成第二随机数r2。用户设备1000可以向读卡器2000发送生成的第二随机数r2和加密的第一随机数k(r1)。

在操作s256,读卡器2000接收从用户设备1000发送的第二随机数r2和加密的第一随机数k(r1)。

在操作s257a和操作s257b中,读卡器2000确定是否满足第二时隙t2和第一随机数r1。在操作s257a中,读卡器2000确定用户设备1000的第二随机数r2和加密的第一随机数k(r1)的传输时间是否符合第二时隙t2。当用户设备1000的响应满足第二时隙t2时(是),过程进行到操作s257b。相反,当用户设备1000的响应不满足第二时隙t2时(否),在非活动状态下执行的认证过程终止。

在操作s257b中,读卡器2000通过使用对称密钥“k”解密从用户设备1000发送的加密的第一随机数k(r1)。读卡器2000检查解密的第一随机数r1是否与第一次生成的第一随机数r1匹配。当解密的第一随机数r1与第一次生成的第一随机数r1匹配时(是),过程进行到操作s258。相反,当解密的第一随机数r1与第一次生成的第一随机数r1不匹配时(否),在非活动状态下执行的认证过程终止。

在操作s258中,读卡器2000通过使用对称密钥“k”加密从用户设备1000接收到的第二随机数r2。读卡器2000向用户设备1000发送加密的第二随机数k(r2)。在这种情况下,读卡器2000可以在从用户设备1000接收到第二随机数r2的时间点起的第一时隙t1内发送加密的第二随机数k(r2)。用户设备1000取决于加密的第二随机数k(r2)的解密的值以及是否观察到第一时隙t1来确定认证的成功/失败。当认证成功时,用户设备1000可以发送认证成功消息。

在操作s259中,读卡器2000接收认证成功消息。响应于认证成功消息,读卡器2000可以执行与用户设备1000的协议通信。当没有接收到认证成功消息时,读卡器2000可以确定非活动状态的认证过程失败,并且可以终止该过程。

图10是示出图6和图7中所示的用户设备的认证操作的流程图。参考图10,用户设备1000可以取决于状态信息si来执行本发明构思的认证过程。

在操作s310中,用户设备1000检查读卡器2000是否被连接(或链接)。也就是说,用户设备1000监控与读卡器2000的技术通信是否可能。用户设备1000检测从读卡器2000发射的rf场,并接收从读卡器2000发送的规定的传送速度的初始指令。

在操作s320中,通过与读卡器2000的技术通信,用户设备1000检查传送速度或无线通信设置是否相互同步,即,检查用户设备1000和读卡器2000是否链接。当确定用户设备1000和读卡器2000链接时(是),过程可以进行到操作s330。相反,当确定用户设备1000和读卡器2000未链接时(否),过程可以进行到操作s310。

在操作s330中,用户设备1000向读卡器2000发送状态信息si。可以在执行技术通信的同时发送状态信息si。例如,在用户设备1000的显示器处于显示开启状态的情况下,用户设备1000可以向读卡器2000发送与活动状态相对应的状态信息si。相反,在用户设备1000的显示器处于显示关闭状态或者用户设备1000处于断电状态的情况下,用户设备1000可以向读卡器2000发送与非活动状态相对应的状态信息si。

在操作s340中,用户设备1000取决于发送到读卡器2000的状态信息si执行操作分支。当当前状态是活动状态(活动)时,过程进行到操作s390,在操作s390中,执行与读卡器2000的协议通信。相反,当用户设备1000的当前状态是非活动状态(非活动)时,过程进行到操作s350。

在操作s350中,用户设备1000从读卡器2000接收服务id。

在操作s360中,用户设备1000在由用户设备1000下载的服务证书sc中搜索与接收到的服务id相对应的服务id。详细地,用户设备1000可以在包括在安全块1210中的认证存储1215中搜索与接收到的服务id相对应的服务id。

在操作s370中,用户设备1000可以确定存储在认证存储1215中的服务证书sc的服务id是否与接收到的服务id匹配。当存储在认证存储1215中的服务id与从读卡器2000发送的服务id匹配时(是),过程进行到操作s380,以执行本发明构思的认证过程。相反,当与从读卡器2000发送的服务id相匹配的服务id不存在于认证存储1215中时(否),在非活动状态下执行的本发明构思的认证过程可以终止。在这种情况下,用户设备1000可以不应答读卡器2000。

在操作s380中,用户设备1000基于与读卡器2000共享的服务证书sc来执行本发明构思的认证过程。也就是说,用户设备1000和读卡器2000可以以基于包括在服务证书sc中的公钥“p”生成和交换对称密钥“k”、以及通过使用交换的对称密钥生成和交换随机数的方式来执行认证。此外,用户设备1000和读卡器2000可以通过使用对称密钥来交换时隙,并且可以监控该时隙和响应时间。

在操作s390中,在用户设备1000和读卡器2000之间执行协议通信。也就是说,目标块(例如,应用处理器)和读卡器2000可以通过nfc设备1200执行额外的操作,诸如相互数据传送或货币支付。

图11是详细示出图10的操作s380的流程图。参考图11,用户设备1000可以与读卡器2000共享对称密钥“k”,可以基于对称密钥“k”加密/解密随机数r1和r2,并且可以设置时隙t1和t2。当检测到从读卡器2000发送的服务id时,用户设备1000执行以下认证过程。

在操作s381中,用户设备1000通过使用对称密钥生成算法生成要与读卡器2000共享的对称密钥“k”。

在操作s382中,用户设备1000通过使用包括在服务证书sc中的公钥“p”来加密生成的对称密钥“k”。因此,可以将对称密钥“k”生成为由公钥“p”加密的对称密钥p(k)。

在操作s383中,将通过使用公钥“p”加密的对称密钥p(k)发送到读卡器2000。在这种情况下,读卡器2000在向用户设备1000发送第一时隙t1之前,通过使用接收到的对称密钥“k”来加密第一时隙t1。

在操作s384中,用户设备1000接收通过使用对称密钥“k”加密的第一时隙k(t1)。用户设备1000通过使用对称密钥“k”解密并存储加密的第一时隙k(t1)。

在操作s385中,用户设备1000可以在向读卡器2000发送第二时隙t2之前,通过使用对称密钥“k”来加密第二时隙t2。第二时隙t2是定义用户设备1000在稍后执行的随机数交换操作中相对于读卡器2000的请求的响应时间的值。在这种情况下,读卡器2000生成第一随机数r1,并将该第一随机数r1发送给用户设备1000。

在操作s386中,用户设备1000接收从读卡器2000发送的第一随机数r1。

在操作s387中,用户设备1000通过使用对称密钥“k”加密接收到的第一随机数r1。用户设备1000生成第二随机数r2。用户设备1000可以向读卡器2000发送生成的第二随机数r2和加密的第一随机数k(r1)。可以在从读卡器2000接收到第一随机数r1的时间点起的第一时隙t1内发送第二随机数r2和加密的第一随机数k(r1)。

在操作s388,用户设备1000接收从读卡器2000发送的加密的第二随机数k(r2)。

在操作s389a、操作s389b和操作s389c中,用户设备1000确定是否满足第一时隙t1和第二随机数r2。在操作s389a中,用户设备1000确定从读卡器2000接收到第二随机数r2的时间点到发送加密的第二随机数k(r2)的时间点的时间是否符合第一时隙t1。当读卡器2000的响应满足第一时隙t1时(是),程序进行到操作s389b。相反,当读卡器2000的响应不满足第一时隙t1时(否),在非活动状态下执行的认证过程终止。

在操作s389b中,用户设备1000通过使用对称密钥“k”解密从读卡器2000发送的加密的第二随机数k(r2)。检查解密的第二随机数r2是否与用户设备1000生成的第二随机数r2匹配。当解密的第二随机数r2与第一次产生的第二随机数r2匹配时(是),程序进行到操作s389c。相反,当解密的第二随机数r2与第一次生成的第二随机数r2不匹配时(否),在非活动状态下执行的认证过程终止。

在操作s389c中,为了通知读卡器2000在非活动状态下执行的认证过程成功,用户设备1000可以发送认证成功消息。

根据本发明构思的示例实施例,即使在使用nfc通信的用户设备的电源关闭或者用户设备的显示器关闭的状态下,也可以执行给定的安全认证操作。因此,可以提高用户设备的安全性能。

包括主机设备1100和nfc设备1200的用户设备1000和包括应用处理器1110、电源控制器1130、安全块1210的安全处理器1213和密钥管理器1217以及nfc块1230的nfc处理器1233和电源管理器1237的用户设备1000的子组件可以包括处理电路,诸如包括逻辑电路的硬件;硬件/软件组合,诸如执行软件的处理器;或者它们的组合。例如,处理电路可以包括但不限于中央处理单元(centralprocessingunit,cpu)、算术逻辑单元(arithmeticlogicunit,alu)、数字信号处理器、微型计算机、现场可编程门阵列(fieldprogrammablegatearray,fpga)、可编程逻辑单元、微处理器、专用集成电路(application-specificintegratedcircuit,asic)等。此外,安全块1210的认证存储1215可以包括易失性存储器,并且nfc块1230的只读存储器(rom)1235可以包括非易失性存储器。

处理电路可以是专用处理电路,使得当用户设备100处于非活动状态时,用户设备1000可以向读卡器2000提供指示用户设备1000处于非活动状态的状态信息(si),以指示读卡器2000基于通过服务认证服务器3000与用户设备1000共享的服务证书sc来执行本发明构思的认证过程。因此,专用处理电路可以通过阻止在用户设备1000非活动时可能发生的攻击或黑客攻击来提高用户设备1000和读卡器2000之间的nfc通信的安全性。

虽然已经参考本发明构思的示例实施例描述了本发明构思,但是对于本领域的普通技术人员来说,显然可以对本发明构思进行各种改变和修改,而不脱离如所附权利要求中阐述的本发明构思的精神和范围。

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