首页> 中国专利> 由第二电子实体认证第一电子实体的方法以及实施这种方法的电子实体

由第二电子实体认证第一电子实体的方法以及实施这种方法的电子实体

摘要

本发明涉及一种由第二电子实体(H)认证第一电子实体(C)的方法。所述第一电子实体(C)实施以下步骤:接收来自所述第二电子实体(H)的质询(HCH);根据计数器(SQC)的当前值以及第一密钥(K‑ENC)生成数字(CCH);根据所述质询(HCH)以及第二密钥(S‑MAC)生成密码(CAC);以及向所述第二电子实体(H)传输包括所述密码(CAC)的响应而不传输所述数字(CCH)。

著录项

  • 公开/公告号CN106464498A

    专利类型发明专利

  • 公开/公告日2017-02-22

    原文格式PDF

  • 申请/专利权人 欧贝特科技;

    申请/专利号CN201580029825.9

  • 申请日2015-05-29

  • 分类号H04L9/32(20060101);H04L9/08(20060101);G06Q20/34(20120101);

  • 代理机构11240 北京康信知识产权代理有限责任公司;

  • 代理人梁丽超

  • 地址 法国科伦布

  • 入库时间 2023-06-19 01:38:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-20

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L9/32 变更前: 变更后: 申请日:20150529

    专利权人的姓名或者名称、地址的变更

  • 2020-02-21

    授权

    授权

  • 2017-03-22

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20150529

    实质审查的生效

  • 2017-02-22

    公开

    公开

说明书

技术领域

本发明涉及在两个电子实体之间建立安全信道。

更具体地,本发明涉及一种由第二电子实体认证第一电子实体的方法以及实施这种方法的电子实体。

本发明特别有利地适用于以下情况:第一电子实体生成旨在第二电子实体的质询所使用的密码密钥还可以被用来生成旨在加密第一电子实体与第二电子实体之间的数据交换的会话密钥。

背景技术

当第一电子实体想要通过证明其对机密(通常地密码密钥)的了解而不发送所述机密来使用第二电子实体对所述第一电子实体自身进行认证时,可以执行两个电子实体之间的质询-响应类型的交换:第二电子实体向第一电子实体分派质询,所述第一电子实体为了对其自身进行认证作为回复必须发送回与所述质询相关联的期望响应(典型地,对所接收的质询与所述机密进行组合的计算的结果)。

为了执行相互认证,第一电子实体同样向第二电子实体分派质询,所述第二电子实体必须确定对此另一个质询的期望响应并将其发送给第一电子实体。

所使用的质询通常是由发送所述质询的电子实体生成的随机数字,以防止恶意第三方通过对由第一电子实体之前发送的响应进行简单重复(有时被称为“重放”)来验证其自身。

通过与仅这两个电子实体知道的密码密钥结合,可以进一步使用这些随机值来生成针对保护两个电子实体之间的数据交换的会话密钥。因此,针对这两个电子实体之间的交换的每个会话,生成的会话密钥是不同的。

然而,对分别在这两个电子实体中的每个实体中所生成的随机值的使用需要对数据进行双向交换以成功地完成相互认证的过程和生成会话密钥的过程(因为每个实体必须接收由另一个实体生成的随机值)。

为了避免这个并且从而允许实现所述过程而不需要等待来自第一电子实体(下文中称为“从电子实体”)的立即返回,例如基于第一电子实体的计数器的值,规定使用称为“伪随机”的值(代替由第一电子实体生成的随机值)。

第二电子实体(下文中称为“主控电子实体”或“主电子实体”)还知道计数器的值,因此通过加密借助于特别根据计数器的值获得的会话密钥的这些数据,可以提前准备待分派的数据(典型地,以去往从电子实体的命令的形式),并且成批对其进行传输。

所述技术被用来将安全电子实体个体化(如微电路卡或安全集成电路),还可以被用在其他环境中。

例如,如上文呈现的过程在以下技术规范中进行了描述:“全球平台卡技术-安全信道协议03-卡规范v2.2修正案D”,版本1.1,2009年9月。

所述规范特别规定:从电子实体对主电子实体的质询的响应伴随着由从电子实体生成的质询并且旨在主电子实体,如通常当寻找相互认证时。

发明内容

发明主题

在本上下文中,本发明提出了一种由第二电子实体认证第一电子实体的方法,其特征在于由第一电子实体实施的以下步骤:

-接收源自所述第二电子实体的(第一)质询;

-根据计数器的当前值以及第一密钥生成数字(或第二质询,如此通过参考上述技术规范来复制)。

-根据所述(第一)质询以及第二密钥生成密码;

-向所述第二电子实体传输包括所述密码的响应而不传输所述数字(第二质询)。

没有传输所述数字(第二质询)使得可以防止攻击者能够试图通过观察在所述方法的重复实施过程中所传输的所述数字(第二质询)的值来发现第一密钥(在通过密码分析的攻击过程的情况下就是如此)。

然而,没有传输所述数字(第二质询)对认证过程的继续来说并非有害的,因为在所述实例中,第二电子实体可以基于表示计数器的当前值的的数据确定伪随机值。

例如,第二密钥为例如具体地基于所述(第一)质询而生成的会话密钥。如进一步解释的,所述(第一)质询可以是由第二电子实体生成的随机值,在这种情况下,第二密钥每次都不同。

另一方面,所述响应可以包括由第一电子实体或预定值生成的随机数字,例如代替第二质询(根据上述技术规范)。此外,可以规定所述响应包括所述当前值。

实际上,随机数字或预定值可以在所述响应中位于根据安全信道协议03协议关于卡质询所规定的位置处,上文提及了该协议的技术规范。

此外,密码和数字(第二质询)可以分别是根据安全信道协议03协议的卡密码和卡质询。

此外,所述方法还包括根据密码密钥、所述(第一)质询以及所述数字(第二质询)生成会话密钥的步骤。根据更进一步地描述的实施方式的可能性,所述密码密钥为第一密钥。

此后,可以规定在第一电子实体与第二电子实体之间交换使用会话密钥以及通过加密算法加密的数据的步骤。

如已经指示的,第二密钥还可以同样是生成的多个会话密钥之一。然后,基于所述方法的每个实施方式的不同会话密钥来生成密码。在这种情况下,攻击者通过观察密码的连续值不能推断出任何信息。

实际上,生成密码的步骤可以使用所述数字(第二质询)。

此外,认证方法可以包括由第二电子实体实施的以下步骤:

-根据表示所述计数器的所述当前值的数据以及所述第一密钥确定第二质询;

-根据所述第二质询以及第三密钥(可能与第二密钥完全相同)确定另一个密码;

-将所述另一个密码传输至所述第一电子实体用于由所述第一电子实体认证所述第二电子实体。

例如,第一电子实体为微电路卡或安全集成电路;第二电子实体可以是远程服务器或电信终端。

本发明还提出了一种电子实体,所述电子实体包括:用于接收源自另一个电子实体的(第一)质询的装置;用于根据计数器的当前值以及第一密钥生成数字(第二质询)的装置;用于根据所述(第一)质询以及第二密钥生成密码的装置;以及用于向所述另一个电子实体传输包括所述密码的响应而不传输所述数字(第二质询)的装置。

上文呈现的关于认证方法的可选择的特性还可以适用于所述电子实体。

具体实施方式

本说明遵照附图并通过一个非限制性示例给出,将明确表明本发明的实现以及如何体现本发明。

在附图中:

-图1表示根据本发明的教导的一种用于初始化第一电子实体与第二电子实体之间的安全数据交换的过程的主要步骤;

-图2表示在图1的初始化过程之后的相互认证的主要步骤。

图1表示根据本发明的教导初始化第一电子实体与第二电子实体之间的安全数据交换的过程。

第一和第二电子实体中的每一个电子实体包括通信接口,通过所述通信接口,所关注的电子实体可以在通信介质上发送和/或接收数据,其中,由信号(例如,电信号或光信号)表示所述数据。

因此,第一电子实体和第二电子实体可以直接交换数据(他们各自的通信接口彼此连接)或通过一个或多个电子实体(例如,计算机)来交换数据,所述电子实体通过计算机网络可选择地连接在一起并且连接到第一和第二电子实体。

第一和第二电子实体中的每个电子实体为例如包括除上文提及的通信接口外的处理器和至少一个能够存储由电子实体接收和操作的数据的存储器的电子设备。所述存储器还存储计算机程序指令,所述计算机程序指令当被执行时允许由电子实体实施下文所描述的方法。作为变体,至少一个电子实体可能以专用集成电路(ASIC)的形式实施。

在下文的示例中,第一电子实体为微电路卡C(或“集成电路卡”(ICC))并且第二电子实体为终端H。然而,本发明适用于其他类型的电子实体。

通过示例,作为变体第一电子实体可以是安全集成电路(或“安全元件”(SE))、eSE(“嵌入式安全元件”)或eUICC(“嵌入式通用集成电路卡”)。安全元件包括其自身的处理器(不同于主电子设备的处理器)以及用于存储由处理器执行的计算机程序的非易失性存储器,安全元件在所述处理器中进行集成或嵌入。例如,安全元件是根据ISO/IEC 7816标准、通用标准和/或全球平台卡规范v 2.2.1标准的。

第二电子实体就其自身而言可以是通过无线连接来连接到第一电子实体的远程服务器或通过无线连接直接连接到第二实体的服务器。

图1中表示的方法允许在终端H(所述终端H在此处扮演主控电子实体或主电子实体)主动地发起这两个电子实体之间的相互认证过程。

在步骤E2过程中,终端H通过随机抽取生成主质询HCH。

然后,终端H向微电路卡C发送(步骤E4)初始化相互认证过程的命令(例如初始化更新类型的命令)连同主质询HCH。

如已经指示的,可以将所述命令直接从终端H传输至微电路卡C(例如,通信接口分别为适合终端H的读卡器和微电路卡C的通讯录),或通过一个或多个其他电子实体传输。

微电路卡C在步骤E6中接收初始化命令和主质询HCH。

然后,微电路卡C在步骤E8中执行计数器SQC的递增。实际上,如下文解释的,必须使用新计数器值来生成新会话密钥。可替代地,在下文描述的外部认证命令的接收完成时,计数器的递增由微电路卡C执行。

步骤E8之后是步骤E10,在步骤E10中根据计数器SQC的当前值(在步骤E8的递增之后的值)、存储在微电路卡C中的密码密钥K-ENC以及应用的标识符AID(安全信道的建立针对所述标识符执行)生成(例如,通过密钥推导过程)伪随机值(或数字)CCH。伪随机值CCH的生成是例如根据在已经提及的文件“全球平台卡技术-安全信道协议03-卡规范v2.2修正案D”中的“6.2.2.1卡质询”段所规定的内容执行的。

值得注意的是,此处使用的用于生成伪随机值(或数字)CCH的密码密钥K-ENC为静态密钥,因此,所述密码密钥在所述方法的连续实施过程中具有定值(每次考虑到终端H与微电路卡C之间的交换的新会话的建立)。

此外,如下文将解释的,伪随机值(或数字)CCH被用作微电路卡C的质询(在上文提及的SCP03的含义范围内)来认证终端H和微电路卡C。

然后,执行步骤E12,在所述步骤中微电路卡C生成各种会话密钥SK。例如,通过密钥推导过程,基于存储在微电路卡C中的相应(被称为静态的)密码密钥K、基于主质询HCH(在步骤E6中接收的)以及伪随机值CCH(在步骤E10中生成的)来生成每个会话密钥SK。会话密钥SK的生成是例如根据在已经提及的文件“全球平台卡技术-安全信道协议03-卡规范v2.2修正案D”中的“6.2.1AES会话密钥”段所规定的内容执行的。

在会话密钥SK当中,加密会话密钥S-ENC具体地基于上文已经提及的密码密钥K-ENC、主质询HCH以及伪随机值CCH而生成。

随后,在步骤E14中,例如通过密钥推导过程,基于多个会话密钥SK之一(例如,与加密会话密钥S-ENC不同的完整性验证会话密钥S-MAC)、主质询HCH(在步骤E6中接收)以及伪随机值CCH(在步骤E10中生成),微电路卡C确定卡认证密码CAC。卡认证密码CAC的确定是例如根据在已经提及的文件“全球平台卡技术-安全信道协议03-卡规范v 2.2修正案D”中的“6.2.2.2卡认证密码”段所规定的内容执行的。

随后,微电路卡C在步骤E16中生成例如其长度(按字节)等于伪随机值CCH长度(此处为8字节)的随机数字RAND。

然后,微电路卡C在步骤E18中将其响应发送给初始化命令(参见上文步骤E4和E6),所述响应包括在步骤E16中生成的随机数字RAND、在步骤E14中生成的密码CAC以及计数器SQC的当前值。

值得注意的是,由于使用了与伪随机值CCH具有相同长度的随机数字RAND,所述响应具有在已经提及的文件“全球平台卡技术-安全信道协议03-卡规范v 2.2修正案D”中所规定的长度,即此处为32字节。

然而,由于所述响应不包含数字(此处为伪随机值)CCH,如由之前提及的文件定义为卡的质询(“卡质询”)(但此处为随机数字RAND),因此,典型地,在大量的所述相互认证过程的连续实施过程中,恶意第三方试图通过观察数字(伪随机值)CCH来推断密码密钥K-ENC(如上文指示的用于生成伪随机值)将是不可能的。

根据可想到的变体,微电路卡C可以返回代替随机数字RAND的预定值或确定值(在这种情况下可以省略生成随机数字RAND的步骤E16)。

根据另一个可想到的变体,微电路卡C可能不返回代替随机数字RAND的任何数据。然后,由微电路卡C在步骤E18中发送的响应可以例如仅包含密码CAC和计数器SQC。

根据另一个可能的实施例(其可以结合刚刚已经指示的不同实施例),计数器SQC可能不包含在由步骤E18中的微电路卡C发送的响应中。

终端H在步骤E20中接收响应并且因此可以存储具体地包括在所述响应中的卡认证密码CAC。

这完成了相互认证过程的初始化阶段;然后,如下文参照图2解释的,相互认证过程可以在步骤E21中继续。

在步骤E21中,通过使用计数器SQC的当前值、密码密钥K-ENC以及标识符AID,终端H根据与步骤E10中的微电路卡C使用的方法相同的方法确定伪随机值CCH。

值得注意的是,在此处描述的示例中,终端已经在骤E20中接收计数器的当前值,并且因此已经能够存储表示所述当前值的数据。在计数器SQC的值并不由步骤E18中的微电路卡传输的实施例中,例如可以规定计数器在第一交换过程(第一会话)中具有等于0(或另一个预定值)的初始值并且可以规定终端H在每个新会话中递增表示计数器SQC的当前值的数据。此外,可以选择地规定终端H能够发送命令(例如,获得数据的类型)以便获得对计数器SQC的当前值的响应(来自微电路卡C)。

密码密钥K-ENC就其自身而言存储在终端H中(这是在终端H与微电路卡C之间分享的机密)。当安装在终端H上的应用以及安装在微电路卡C上的应用由同一个供应方提供时,从终端H的应用中获知标识符AID的值。然后,将标识符AID的值写入终端H的应用的代码中。可替代地,在这种意义上,在已经接收到命令之后,标识符AID的值由微电路卡C传输。在步骤E22中所述方法继续,其中,终端H在其侧通过与在步骤E14中的微电路卡C使用的过程和数据相同的过程和数据来确定卡的密码CAC*。因此,终端H生成具体地与主质询HCH(在步骤E2中由终端生成)和伪随机值CCH(在步骤E21中由终端H确定)一起使用的会话密钥S-MAC来确定卡的密码CAC*。

在所述步骤中可以规定终端H生成其他会话密钥,具体地已经提及的会话密钥S-ENC(由终端H基于存储的密码密钥K-ENC、在步骤E20中生成的主质询HCH以及在步骤E21中确定的伪随机值CCH而计算得到)。

然后,终端H在步骤E24中将在步骤E22中确定的密码CAC*与在步骤E20中接收的密码CAC进行比较。值得注意的是,在预测模式中,所述步骤E24是可选择的。实际上,这种模式使得可以预先生成一组会话密钥,并且因此使得可以避免不得不连接微电路卡C和终端H。在这种情况下,所述卡发送响应,但是终端不必与卡C连接并且因此不用分析所述响应。

如果所述比较的结果为正(即如果所计算的密码CAC*等于所接收的密码CAC),那么微电路卡C已经正确地对终端H的质询进行响应并且因此已经认证自己和终端H。然后,相互认证过程可以在下文描述的步骤E28中继续(针对由微电路卡C认证终端H)。

如果步骤E24的比较结果为负(即如果所计算的密码CAC*不同于所接收的密码CAC),那么由终端H对微电路卡C的认证已经失败并且然后终端H在步骤E26中执行所述异常过程(例如,通过终止数据与微电路卡C之间的交换)。

当相互认证过程继续时(在步骤E24中的正比较结果的情况下),终端H在步骤E28中执行主认证密码HAC的生成。

主认证密码HAC例如通过密钥推导过程并且基于多个会话密钥SK之一(例如,完整性验证会话密钥S-MAC)、主质询HCH(在步骤E2中生成的)以及伪随机值CCH(在步骤E21中确定的)。主认证密码HAC的确定是例如根据在已经提及的文件“全球平台卡技术-安全信道协议03-卡规范v 2.2修正案D”中的“6.2.2.3主认证密码”段所规定的内容执行的。

为了获得不同于卡认证密码CAC的主认证密码HAC,尽管在每种情况下使用的密钥推导过程是相同的,在此处描述的示例中规定密钥推导过程将不仅仅适用于上文提及的数据(会话密钥S-MAC、主质询HCH、伪随机值CCH),还适用于具有分别在卡认证密码CAC的生成(步骤E14和E22)的情况下(其中推导常量具有例如值0)以及在主认证密码HAC的生成(下文描述的步骤E28和E34)的情况下(其中推导常量具有例如值1)的不同值的推导常量(例如,1字节长度)。

然后,终端H向微电路卡C传输在步骤E28中生成的密码HAC,例如,在外部认证命令中。还可以规定此时传输消息认证码以使得微电路卡能够确认传输的密码HAC的完整性。

微电路卡C在步骤E32中接收密码HAC并且(当传输这样的代码时,在消息认证码的可能的验证之后)存储密码HAC用于随后的比较(参见下文的步骤E36)。

然后,微电路卡C在步骤E34中在其侧基于与在步骤E28中使用的过程和数据相同的过程和数据确定主认证密码的期望值HAC*。在所述过程中,微电路卡C使用在步骤E12中生成的会话密钥S-MAC、在步骤E6中接收的主质询HCH、在步骤E10中生成的伪随机值CCH以及与主认证密码相关联的预定推导常量(在此处描述的示例中为值1)。

因此,微电路卡可以在步骤E36中将在步骤E32中接收的密码HAC与在步骤E34中确定(由微电路卡C确定)的密码HAC*进行比较。

如果接收的密码HAC和计算的密码HAC*相等(所述比较的正结果),那么终端H已经正确地认证其自身和微电路卡C,并且因此,根据下文解释(步骤E40和E42)的模式,相互认证过程成功地终止。

另一方面,如果接收的密码HAC与计算的密码HAC*不同(所述比较的负结果),那么终端H不由微电路卡C认证并且因此打开在终端H与微电路卡C之间的安全信道是不可能的。在这种情况下,例如规定微电路卡C在步骤E38中向终端H分派错误状态以响应外部认证命令。

当步骤E36中的比较结果为正时,微电路卡C在步骤E40中执行向终端H发送包括正确操作状态OK的响应。

终端H在步骤E42中接收所述响应,从而确认相互认证过程的成功。

值得注意的是,从未(在图1描述的初始化阶段期间或严格意义上在图2描述的相互认证阶段期间)将微电路卡C旨在用于终端H的质询(即此处的伪随机值CCH)从微电路卡C传输至终端H。

相互认证过程成功地完成,可以通过使用加密会话密钥S-ENC借助于对称加密算法对例如交换的数据进行加密来实施终端H与微电路卡C(步骤E44)之间的安全数据交换。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号