一种在线签发同根证书的方法、装置及系统转让专利

申请号 : CN201910940020.X

文献号 : CN110535665B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 何碧波尤洪松

申请人 : 恒宝股份有限公司

摘要 :

本申请公开一种在线签发同根证书的方法、装置及系统。所述在线签发同根证书的eUICC卡,包括:存储元件,用于在eUICC卡出厂时预存CA证书签发信息列表和CA证书签发中心服务器地址;处理元件,用于为SM‑DP服务器提供验证证书是否同根的CA证书签发信息列表,以及用于为SM‑DP服务器提供用于在线申请证书的CA证书签发中心服务器地址。实现在eUICC卡的证书与SM‑DP的证书不是同根签发的情况下,在线签发SM‑DP的认证证书和准备下载证书,完成双向认证,实现下载运营商的profile,从而使得eUICC卡能下载所有运营商的SM‑DP服务器profile,与不同运营商之间真正实现互联互通。

权利要求 :

1.一种在线签发同根证书的eUICC卡,其特征在于,包括:

存储元件,用于在eUICC卡出厂时预存CA证书签发信息列表和CA证书签发中心服务器地址;

处理元件,用于为SM-DP服务器提供验证证书是否同根的CA证书签发信息列表,以及用于为SM-DP服务器提供用于在线申请证书的CA证书签发中心服务器地址;

当CA证书签发信息发送给与当前eUICC卡通信的SM-DP服务器后,SM-DP服务器依次根据CA证书签发信息列表中的一个或多个CA证书标识,检查与SM-DP证书是否为相同CA证书签发中心签发的证书,若判定eUICC卡与已有的SM-DP证书不是同根签发,则由SM-DP服务器根据CA证书签发信息中的证书签发中心服务器地址向对应的CA证书签发中心请求下发与eUICC卡CA证书匹配的新的SM-DP证书,否则直接用同根的SM-DP证书进行双向认证;

新的SM-DP证书包括双向认证证书CERT_SM-DPauth和用于双向认证后下载运营商profile的准备下载认证证书CERT_SM-DPpb;

响应于SM-DP服务器的服务器认证请求,eUICC卡验证服务器认证请求的合法性,验证通过后根据服务器认证请求中的业务标识、服务器地址和服务器挑战值生成eUICC待签名数据;使用eUICC私钥对eUICC待签名数据进行签名,得到eUICC签名结果,根据eUICC签名结果、eUICC待签名数据、eUICC证书和eUICC卡制造商签发的CERT_EUM证书生成eUICC认证请求;eUICC卡将eUICC认证请求发送至SM-DP服务器。

2.如权利要求1所述的在线签发同根证书的eUICC卡,其特征在于,所述处理元件还用于为SM-DP服务器提供用于验证eUICC卡合法性的挑战值。

3.如权利要求1所述的在线签发同根证书的eUICC卡,其特征在于,还包括:认证模块,所述认证模块具体包括:服务器认证请求接收子模块,用于接收SM-DP服务器发送的包括由CA证书签发中心所签发的SM-DP证书的服务器认证请求;

服务器认证请求合法性验证子模块,用于基于eUICC证书验证所述服务器认证请求中SM-DP证书的合法性;

eUICC认证请求生成子模块,用于使用eUICC卡私钥对待签名数据进行签名,得到eUICC卡签名结果,根据eUICC签名结果生成eUICC认证请求;

eUICC认证请求传输子模块,用于将所述eUICC认证请求传输至SM-DP服务器进行认证。

4.如权利要求3所述的在线签发同根证书的eUICC卡,其特征在于,服务器认证请求合法性验证子模块,具体用于使用eUICC证书验证服务器认证请求中的CERT_SM-DPauth证书,使用CERT_SM-DPauth证书验证认证请求中的服务器签名结果。

5.如权利要求3所述的在线签发同根证书的eUICC卡,其特征在于,eUICC认证请求生成子模块,具体用于根据服务器认证请求中的业务标识、服务器地址和服务器挑战值生成eUICC待签名数据;使用eUICC私钥对eUICC待签名数据进行签名,得到eUICC签名结果,根据eUICC签名结果、eUICC待签名数据、eUICC证书和eUICC卡制造商签发的CERT_EUM证书生成eUICC认证请求。

6.一种在线签发同根证书的SM-DP服务器,其特征在于,包括:

CA证书签发信息接收模块,用于接收eUICC卡发送的CA证书签发信息;

证书同根验证模块,用于根据CA证书签发信息中的CA证书签发信息列表,验证eUICC卡与SM-DP服务器的证书是否为同根签发;

证书在线申请签发模块,用于当验证eUICC卡与SM-DP服务器的证书不是同根签发时,根据CA证书签发信息中的CA证书签发中心服务器地址向对应的CA证书签发中心申请在线签发新的SM-DP证书;

当CA证书签发信息发送给与当前eUICC卡通信的SM-DP服务器后,SM-DP服务器依次根据CA证书签发信息列表中的一个或多个CA证书标识,检查与SM-DP证书是否为相同CA证书签发中心签发的证书,若判定eUICC卡与已有的SM-DP证书不是同根签发,则由SM-DP服务器根据CA证书签发信息中的证书签发中心服务器地址向对应的CA证书签发中心请求下发与eUICC卡CA证书匹配的新的SM-DP证书,否则直接用同根的SM-DP证书进行双向认证;

新的SM-DP证书包括双向认证证书CERT_SM-DPauth和用于双向认证后下载运营商profile的准备下载认证证书CERT_SM-DPpb;

SM-DP服务器根据本地通信的业务标识、接收到的eUICC卡的挑战值、SM-DP服务器生成的随机数挑战值和SM-DP服务器地址生成服务器待签名数据;使用新签发的双向认证证书对待签名数据进行签名,得到签名结果;根据签名结果、服务器待签名数据、新签发的双向认证证书、准备下载认证证书和SM-DP服务器地址生成SM-DP服务器认证请求;

响应于eUICC卡的eUICC认证请求,SM-DP服务器用签发的CA公钥证书验证eUICC认证请求中的CERT_EUM证书,验证通过后使用新的SM-DP证书验证eUICC证书,再次验证通过后使用eUICC证书验证eUICC签名结果。

7.如权利要求6所述的在线签发同根证书的SM-DP服务器,其特征在于,证书在线申请签发模块,具体用于当验证eUICC证书与SM-DP证书不是同根时,SM-DP服务器向CA证书签发中心申请下发CA公钥证书;接收CA证书签发中心下发的CA公钥证书;

以及用于使用eUICC证书生成同根的双向认证文件和准备下载认证文件,将所述双向认证文件和准备下载认证文件发送至CA证书签发中心请求下发SM-DP证书;接收CA证书签发中心新签发的双向认证证书和准备下载认证证书。

8.如权利要求6所述的在线签发同根证书的SM-DP服务器,其特征在于,还包括认证模块,所述认证模块具体包括:服务器认证请求生成子模块,用于根据所述CA证书签发中心在线签发的SM-DP证书生成服务器认证请求;

服务器认证请求发送子模块,用于将所述服务器认证请求传输至eUICC卡进行认证;

eUICC认证请求接收子模块,用于接收所述eUICC卡返回的eUICC认证请求;

eUICC认证请求认证子模块,用于对所述eUICC认证请求进行认证。

9.如权利要求8所述的在线签发同根证书的SM-DP服务器,其特征在于,服务器认证请求生成子模块,具体用于根据本地通信的业务标识、接收到的eUICC卡的挑战值、SM-DP服务器生成的随机数挑战值和SM-DP服务器地址生成服务器待签名数据;使用新签发的双向认证证书对待签名数据进行签名,得到签名结果;

以及用于根据签名结果、服务器待签名数据、新签发的双向认证证书、准备下载认证证书和SM-DP服务器地址生成SM-DP服务器认证请求。

10.一种在线签发同根证书的方法,其特征在于,应用于如权利要求6-9任一项所述的SM-DP服务器,所述方法包括:接收eUICC卡发送的CA证书签发信息,从CA证书签发信息中解析CA证书签发信息列表和对应的CA证书签发中心服务器地址;

若根据所述CA证书签发信息列表验证eUICC证书与SM-DP服务器的证书不是同根,则根据所述CA证书签发中心服务器地址向对应的CA证书签发中心申请在线签发新的SM-DP证书。

11.如权利要求10所述的在线签发同根证书的方法,其特征在于,向对应的CA证书签发中心申请在线签发新的SM-DP证书,具体包括如下子步骤:当验证eUICC证书与SM-DP证书不是同根时,SM-DP服务器向CA证书签发中心申请下发CA公钥证书;

接收CA证书签发中心下发的CA公钥证书;

用eUICC证书生成同根的双向认证文件和准备下载认证文件,将所述双向认证文件和准备下载认证文件发送至CA证书签发中心请求下发SM-DP证书;

接收CA证书签发中心新签发的双向认证证书和准备下载认证证书。

12.如权利要求10所述的在线签发同根证书的方法,其特征在于,在线签发新的SM-DP证书之后,还包括:根据所述CA证书签发中心在线签发的新的SM-DP证书生成服务器认证请求,将所述服务器认证请求传输至eUICC卡进行认证;

接收所述eUICC卡返回的eUICC认证请求,并对所述eUICC认证请求进行认证。

13.如权利要求12所述的在线签发同根证书的方法,其特征在于,根据所述CA证书签发中心在线签发的新的SM-DP证书生成服务器认证请求,具体包括如下子步骤:根据本地通信的业务标识、接收到的eUICC卡的挑战值、SM-DP服务器生成的随机数挑战值和SM-DP服务器地址生成服务器待签名数据;

使用新签发的双向认证证书对待签名数据进行签名,得到签名结果;

根据签名结果、服务器待签名数据、新签发的双向认证证书、准备下载认证证书和SM-DP服务器地址生成SM-DP服务器认证请求。

14.一种在线签发同根证书的系统,其特征在于,包括如权利要求1-5中任意一项所述的eUICC卡、LPAd、如权利要求6-9中任意一项所述的SM-DP服务器和CA证书签发中心;

所述LPAd,用于向所述eUICC卡发送获取CA证书签发信息请求,并将CA证书签发信息发送至所述SM-DP服务器;

所述CA证书签发中心,用于根据SM-DP服务器发送的申请在线签发证书请求,签发新的SM-DP证书,并将所述新的SM-DP证书返回至SM-DP服务器。

15.如权利要求14所述的在线签发同根证书的系统,其特征在于,新的SM-DP证书返回至SM-DP服务器之后,还包括:SM-DP服务器根据本地通信的业务标识、eUICC挑战值、服务器挑战值和服务器地址生成服务器待签名数据;使用新签发的CERT_SM-DPauth证书对服务器待签名数据进行签名,得到服务器签名结果;根据服务器签名结果、服务器待签名数据、新签发的CERT_SM-DPauth证书、CERT_SM-DPpb证书和SM-DP服务器地址生成服务器认证请求;

SM-DP服务器将服务器认证请求发送至LPAd;

LPAd从服务器认证请求中解析出SM-DP服务器地址,检查SM-DP服务器地址的合法性;

若检查SM-DP服务器地址合法,LPAd将服务器认证请求转发至eUICC卡;

eUICC卡验证服务器认证请求的合法性,验证通过后根据服务器认证请求中的业务标识、服务器地址和服务器挑战值生成eUICC待签名数据;

eUICC卡使用eUICC私钥对eUICC待签名数据进行签名,得到eUICC签名结果,根据eUICC签名结果、eUICC待签名数据、eUICC证书和eUICC卡制造商签发的CERT_EUM证书生成eUICC认证请求;将eUICC认证请求发送至LPAd;

LPAd将eUICC认证请求发送至SM-DP服务器;

SM-DP服务器用签发的CA公钥证书验证eUICC认证请求中的CERT_EUM证书,验证通过后使用CERT_EUM证书验证eUICC证书,再次验证通过后使用eUICC证书验证eUICC签名结果。

说明书 :

一种在线签发同根证书的方法、装置及系统

技术领域

[0001] 本申请涉及智能卡通信技术领域,尤其涉及一种在线签发同根证书的方法、装置及系统。

背景技术

[0002] eUICC卡是GSMA(全球移动通信系统协会)定义的支持远程码号资源下载、安装、删除、激活和去激活的Embedded UICC卡,其远程码号资源下载过程中,需要在eUICC卡和远程服务器SM-DP+或者SM-DP(以下简称SM-DP)之间进行双向认证并建立安全通道,双向认证是基于PKI证书体系认证各参与者的合法身份。
[0003] 在现有的PKI证书体系中,CA是证书签发机构签发的根证书;EUM证书是由CA签发的代表eUICC生产厂商的证书;eUICC证书则是每个eUICC卡出厂时预置的证书,由EUM签发;对SM-DP证书而言,包含DPauth、DPpb和DPtls证书,其中DPauth和DPpb证书用于与eUICC之间进行双向认证和建立安全通道,DPtls证书用于与LPA建立认证。基于PKI证书体系,eUICC卡中预置的证书与SM-DP服务器中预置的证书是同一个证书签发中心签发的,这样就可以完成双向认证,并建立安全通道。
[0004] GSMA认为CA证书是由非运营商的独立机构管理和签发,然而因不同国家和地区针对安全问题的考虑,可能选择各自建立证书签发中心,且各自建立SM-DP服务器,因此,eUICC卡中预置的证书可能是某一个运营商的证书,使得此eUICC卡不能访问其他运营商的SM-DP服务器,从而导致不同的运营商之间,不能互联互通。
[0005] 以国内运营商为例,预置了移动运营商证书的eUICC卡,不能从联通运营商的SM-DP服务器下载码号资源,本质原因是卡里的证书与服务器的证书不是同一个CA中心签发,无法完成双向认证,从而无法互联互通。
[0006] 为了解决上述问题,GSMA提出eUICC卡应支持多个CA体系签发的证书,这样卡中就可以预置多个运营商的证书,从而eUICC卡能从多个运营商SM-DP服务器下载profile。然而,卡预置证书越多,消耗eUICC卡存储空间越多,用来下载码号资源的剩余空间就越来越少,在卡存储资源有限的情况下,此方案使得eUICC卡只能下载有限几个运营商SM-DP服务器的profile,不能做到eUICC卡下载所有运营商SM-DP服务器的profile,因此,这个方案不能完全满足互联互通的需求。基于此,如何从根本上解决eUICC卡下载所有运营商SM-DP服务器的profile使得运营商间互联互通的需求是现如今亟待解决的问题。

发明内容

[0007] 本申请提供了一种在线签发同根证书的eUICC卡,包括:
[0008] 存储元件,用于在eUICC卡出厂时预存CA证书签发信息列表和CA证书签发中心服务器地址;
[0009] 处理元件,用于为SM-DP服务器提供验证证书是否同根的CA证书签发信息列表,以及用于为SM-DP服务器提供用于在线申请证书的CA证书签发中心服务器地址。
[0010] 如上所述的在线签发同根证书的eUICC卡,其中,所述处理元件还用于为SM-DP服务器提供用于验证eUICC卡合法性的挑战值。
[0011] 如上所述的在线签发同根证书的eUICC卡,其中,还包括:认证模块,所述认证模块具体包括:
[0012] 服务器认证请求接收子模块,用于接收SM-DP服务器发送的包括由CA证书签发中心所签发的SM-DP证书的服务器认证请求;
[0013] 服务器认证请求合法性验证子模块,用于基于eUICC证书验证所述服务器认证请求中SM-DP证书的合法性;
[0014] eUICC认证请求生成子模块,用于使用eUICC卡私钥对待签名数据进行签名,得到eUICC卡签名结果,根据eUICC签名结果生成eUICC认证请求;
[0015] eUICC认证请求传输子模块,用于将所述eUICC认证请求传输至SM-DP服务器进行认证。
[0016] 如上所述的在线签发同根证书的eUICC卡,其中,服务器认证请求合法性验证子模块,具体用于使用eUICC证书验证服务器认证请求中的CERT_SM-DPauth证书,使用CERT_SM-DPauth证书验证认证请求中的服务器签名结果。
[0017] 如上所述的在线签发同根证书的eUICC卡,其中,eUICC认证请求生成子模块,具体用于根据服务器认证请求中的业务标识、服务器地址和服务器挑战值生成eUICC待签名数据;使用eUICC私钥对eUICC待签名数据进行签名,得到eUICC签名结果,根据eUICC签名结果、eUICC待签名数据、eUICC证书和eUICC卡制造商签发的CERT_EUM证书生成eUICC认证请求。
[0018] 本申请还提供一种在线签发同根证书的SM-DP服务器,包括:
[0019] CA证书签发信息接收模块,用于接收eUICC卡发送的CA证书签发信息;
[0020] 证书同根验证模块,用于根据CA证书签发信息中的CA证书签发信息列表,验证eUICC卡与SM-DP服务器的证书是否为同根签发;
[0021] 证书在线申请签发模块,用于当验证eUICC卡与SM-DP服务器的证书不是同根签发时,根据CA证书签发信息中的CA证书签发中心服务器地址向对应的CA证书签发中心申请在线签发新的SM-DP证书。
[0022] 如上所述的在线签发同根证书的SM-DP服务器,其中,证书在线申请签发模块,具体用于当验证eUICC证书与SM-DP证书不是同根时,SM-DP服务器向CA证书签发中心申请下发CA公钥证书;接收CA证书签发中心下发的CA公钥证书;
[0023] 以及用于使用eUICC证书生成同根的双向认证文件和准备下载认证文件,将所述双向认证文件和准备下载认证文件发送至CA证书签发中心请求下发SM-DP证书;接收CA证书签发中心新签发的双向认证证书和准备下载认证证书。
[0024] 如上所述的在线签发同根证书的SM-DP服务器,其中,还包括认证模块,所述认证模块具体包括:
[0025] 服务器认证请求生成子模块,用于根据所述CA证书签发中心在线签发的SM-DP证书生成服务器认证请求;
[0026] 服务器认证请求发送子模块,用于将所述服务器认证请求传输至eUICC卡进行认证;
[0027] eUICC认证请求接收子模块,用于接收所述eUICC卡返回的eUICC认证请求;
[0028] eUICC认证请求认证子模块,用于对所述eUICC认证请求进行认证。
[0029] 如上所述的在线签发同根证书的SM-DP服务器,其中,服务器认证请求生成子模块,具体用于根据本地通信的业务标识、接收到的eUICC卡的挑战值、SM-DP服务器生成的随机数挑战值和SM-DP服务器地址生成服务器待签名数据;使用新签发的双向认证证书对待签名数据进行签名,得到签名结果;
[0030] 以及用于根据签名结果、服务器待签名数据、新签发的双向认证证书、准备下载认证证书和SM-DP服务器地址生成SM-DP服务器认证请求。
[0031] 本申请还提供一种在线签发同根证书的方法,应用于SM-DP服务器,所述方法包括:
[0032] 接收eUICC卡发送的CA证书签发信息,从CA证书签发信息中解析CA证书签发信息列表和对应的CA证书签发中心服务器地址;
[0033] 若根据所述CA证书签发信息列表验证eUICC证书与SM-DP服务器的证书不是同根,则根据所述CA证书签发中心服务器地址向对应的CA证书签发中心申请在线签发新的SM-DP证书。
[0034] 如上所述的在线签发同根证书的方法,其中,向对应的CA证书签发中心申请在线签发新的SM-DP证书,具体包括如下子步骤:
[0035] 当验证eUICC证书与SM-DP证书不是同根时,SM-DP服务器向CA证书签发中心申请下发CA公钥证书;
[0036] 接收CA证书签发中心下发的CA公钥证书;
[0037] 用eUICC证书生成同根的双向认证文件和准备下载认证文件,将所述双向认证文件和准备下载认证文件发送至CA证书签发中心请求下发SM-DP证书;
[0038] 接收CA证书签发中心新签发的双向认证证书和准备下载认证证书。
[0039] 如上所述的在线签发同根证书的方法,其中,在线签发新的SM-DP证书之后,还包括:
[0040] 根据所述CA证书签发中心在线签发的新的SM-DP证书生成服务器认证请求,将所述服务器认证请求传输至eUICC卡进行认证;
[0041] 接收所述eUICC卡返回的eUICC认证请求,并对所述eUICC认证请求进行认证。
[0042] 如上所述的在线签发同根证书的方法,其中,根据所述CA证书签发中心在线签发的新的SM-DP证书生成服务器认证请求,具体包括如下子步骤:
[0043] 根据本地通信的业务标识、接收到的eUICC卡的挑战值、SM-DP服务器生成的随机数挑战值和SM-DP服务器地址生成服务器待签名数据;
[0044] 使用新签发的双向认证证书对待签名数据进行签名,得到签名结果;
[0045] 根据签名结果、服务器待签名数据、新签发的双向认证证书、准备下载认证证书和SM-DP服务器地址生成SM-DP服务器认证请求。
[0046] 本申请还提供一种在线签发同根证书的系统,包括上述eUICC卡、LPAd、上述SM-DP服务器和CA证书签发中心;
[0047] 所述LPAd,用于向所述eUICC卡发送获取CA证书签发信息请求,并将CA证书签发信息发送至所述SM-DP服务器;
[0048] 所述CA证书签发中心,用于根据SM-DP服务器发送的申请在线签发证书请求,签发新的SM-DP证书,并将所述新的SM-DP证书返回至SM-DP服务器。
[0049] 如上所述的在线签发同根证书的系统,其中,新的SM-DP证书返回至SM-DP服务器之后,还包括:
[0050] SM-DP服务器根据本地通信的业务标识、eUICC挑战值、服务器挑战值和服务器地址生成服务器待签名数据;使用新签发的CERT_SM-DPauth证书对服务器待签名数据进行签名,得到服务器签名结果;根据服务器签名结果、服务器待签名数据、新签发的CERT_SM-DPauth证书、CERT_SM-DPpb证书和SM-DP服务器地址生成服务器认证请求;
[0051] SM-DP服务器将服务器认证请求发送至LPAd;
[0052] LPAd从服务器认证请求中解析出SM-DP服务器地址,检查SM-DP服务器地址的合法性;
[0053] 若检查SM-DP服务器地址合法,LPAd将服务器认证请求转发至eUICC卡;
[0054] eUICC卡验证服务器认证请求的合法性,验证通过后根据服务器认证请求中的业务标识、服务器地址和服务器挑战值生成eUICC待签名数据;
[0055] eUICC卡使用eUICC私钥对eUICC待签名数据进行签名,得到eUICC签名结果,根据eUICC签名结果、eUICC待签名数据、eUICC证书和eUICC卡制造商签发的CERT_EUM证书生成eUICC认证请求;将eUICC认证请求发送至LPAd;
[0056] LPAd将eUICC认证请求发送至SM-DP服务器;
[0057] SM-DP服务器用签发的CA公钥证书验证eUICC认证请求中的CERT_EUM证书,验证通过后使用CERT_EUM证书验证eUICC证书,再次验证通过后使用eUICC证书验证eUICC签名结果。
[0058] 本申请实现的有益效果如下:采用本申请提供的在线签发同根证书的方法,实现在eUICC卡的证书与SM-DP的证书不是同根签发的情况下,在线签发SM-DP的认证证书和准备下载证书,完成双向认证,实现下载运营商的profile,从而使得eUICC卡能下载所有运营商的SM-DP服务器profile,与不同运营商之间真正实现互联互通。

附图说明

[0059] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0060] 图1是本申请实施例一提供的在线签发同根证书的eUICC卡方法流程图;
[0061] 图2是本申请实施例二提供的在线签发同根证书的SM-DP服务器方法流程图;
[0062] 图3和图4是本申请实施例三提供的在线签发同根证书的系统方法流程图;
[0063] 图5是本申请实施例四提供的在线签发同根证书的的eUICC卡示意图;
[0064] 图6是本申请实施例四提供的在线签发同根证书的eUICC卡示意图;
[0065] 图7是本申请实施例四提供的在线签发同根证书的系统示意图。

具体实施方式

[0066] 下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0067] 实施例一
[0068] 本申请实施例一提供一种在线签发同根证书的方法,如图1所示,应用于eUICC卡,所述方法包括:
[0069] 步骤110、向SM-DP服务器发送CA证书签发信息,用于验证eUICC卡与SM-DP服务器的证书是否同根;
[0070] 本申请实施例中,对于没有UICC实体卡形态的eUICC卡,eUICC卡与外部通信需借助与之连接的终端,预先设置终端侧的LPAd,LPAd(local profile assistant when lpa is in the device)为终端本地配置助手。eUICC卡根据LPAd发起的获取CA证书签发信息请求,通过LPAd向SM-DP服务器发送CA证书签发信息,其中,CA证书签发信息为eUICC卡出厂时预存在卡存储器中的数据,包括但不限于CA证书签发信息列表(包含所有eUICC卡中CA证书的标识)及CA证书签发中心服务器地址,用于验证eUICC证书与SM-DP证书是否同根,即验证eUICC证书与SM-DP证书是否为相同CA证书签发中心签发的证书;
[0071] 另外为保证通信的安全性,可选地向SM-DP服务器发送的数据还可以包括由eUICC卡生成的挑战值eUICCchallenge。
[0072] 步骤120、若eUICC卡与SM-DP服务器的证书不是同根签发,接收SM-DP服务器发送的SM-DP服务器认证请求;所述认证请求中包括CA证书签发中心签发的新的SM-DP证书;
[0073] 本申请实施例中,当LPAd将eUICC卡中的CA证书签发信息发送给当前与之通信的SM-DP服务器(subscription manager data preparation,签约管理服务器)后,SM-DP服务器依次根据CA证书签发信息列表中的一个或多个CA证书标识,检查与SM-DP证书是否为相同CA证书签发中心签发的证书,若判定eUICC卡与已有的SM-DP证书不是同根签发,此时不能进行双向认证,需要由SM-DP服务器根据CA证书签发信息中的证书签发中心服务器地址向对应的CA证书签发中心请求下发与eUICC卡CA证书匹配的新的SM-DP证书,否则直接用同根的SM-DP证书进行双向认证;
[0074] 本申请实施例中,签发的新的SM-DP证书包括用于后续与eUICC卡进行双向认证的CERT_SM-DPauth证书(双向认证证书)和用于双向认证后下载profile前进行密钥协商生成会话密钥所用的CERT_SM-DPpb证书(准备下载认证证书);
[0075] 具体地,由SM-DP服务器根据eUICC卡的CA证书签发信息列表中的证书申请数据信息(如密码算法标识、证书签发标识等),生成两组公私钥对,用这两组公私钥对分别生成同根的csr_SM-DP文件和csr_SM-DPpb文件,然后CA证书签发中心根据这两个文件生成CERT_SM-DPauth证书和CERT_SM-DPpb证书,然后将这两个证书下发至SM-DP服务器,SM-DP服务器根据CERT_SM-DPauth证书和CERT_SM-DPpb证书生成认证请求并传输至eUICC卡进行双向认证;认证请求的具体生成过程在后续系统方法实施例中详细,在此不作赘述。
[0076] 步骤130、基于eUICC卡CA证书验证认证请求中SM-DP证书的合法性,用eUICC卡私钥对待签名数据进行签名,将得到的eUICC卡签名结果传输至SM-DP服务器进行认证;
[0077] 具体地,eUICC卡在接收到SM-DP服务器的认证请求,即包括CERT_SM-DPauth证书、CERT_SM-DPpb证书和服务器签名结果后,使用eUICC卡CA证书验证CERT_SM-DPauth证书,然后使用CERT_SM-DPauth证书验证服务器签名结果;
[0078] 验证通过完成eUICC卡对SM-DP服务器的认证,然后再使用eUICC卡私钥对待签名数据进行签名,将签名结果传输至SM-DP服务器,由SM-DP服务器完成对eUICC卡的认证,由此实现SM-DP服务器与eUICC卡的双向认证。
[0079] 本申请实施例中,由终端侧LPAd发起获取eUICC卡内CA证书签发信息的请求,将接收到的CA证书签发信息和挑战值发送至当前SM-DP服务器,当SM-DP服务器检查eUICC卡CA证书与SM-DP证书不是同根时,SM-DP服务器向与eUICC卡CA证书对应的CA证书签发中心申请下发SM-DP证书,根据SM-DP证书生成认证请求并通过LPAd发送至eUICC卡进行认证,eUICC卡对SM-DP服务器认证请求通过后再生成签名认证包发送至SM-DP服务器进行认证。这样在eUICC卡与当前环境的SM-DP服务器不存在同根证书的情况下即可实现eUICC卡与SM-DP服务器的双向认证,由此在eUICC卡内证书未增多的情况下能够下载所有运营商SM-DP服务器中的profile,进而实现在线双向认证,满足与不同运营商的互联互通需求。
[0080] 实施例二
[0081] 本申请实施例二提供的一种在线签发同根证书的方法,如图2所示,应用于SM-DP服务器,所述方法包括:
[0082] 步骤210、接收eUICC卡发送的CA证书签发信息,从CA证书签发信息中解析CA证书签发信息列表和对应的CA证书签发中心服务器地址;
[0083] 作为可选的实施例,SM-DP服务器接收eUICC卡经LPAd发送的CA证书签发信息,其中传输的数据中还可以包括eUICC卡生成的随机数挑战值。
[0084] 步骤220、若根据CA证书签发信息列表验证eUICC卡与SM-DP服务器的证书不是同根,则根据CA证书签发中心服务器地址向对应的CA证书签发中心申请在线签发新的SM-DP证书;
[0085] 具体地,向CA证书签发中心申请在线签发SM-DP证书,具体包括如下子步骤:
[0086] 步骤221、当验证eUICC证书与SM-DP证书不是同根时,SM-DP服务器向CA证书签发中心申请下发CA公钥证书;
[0087] 步骤222、SM-DP服务器接收CA证书签发中心下发的CA公钥证书CERT_CA;
[0088] 步骤223、SM-DP服务器用eUICC证书生成同根的csr_SM-DP文件和csr_SM-DPpb文件,将csr_SM-DP文件和csr_SM-DPpb文件发送至CA证书签发中心请求下发SM-DP证书;
[0089] 步骤224、SM-DP服务器接收CA证书签发中心新签发的CERT_SM-DPauth证书和CERT_SM-DPpb证书;
[0090] 本申请实施例中,证书签发的过程遵循现有的证书签发业务规范,由CA证书签发中心对SM-DP生成的csr_SM-DP文件和csr_SM-DPpb文件进行验证,验证通过后签发用于后续与eUICC卡进行双向认证的CERT_SM-DPauth证书(双向认证证书)和用于双向认证后下载运营商profile的CERT_SM-DPpb证书(准备下载认证证书)。
[0091] 返回参见图2,步骤230、根据CA证书签发中心在线签发的新的SM-DP证书生成认证请求并传输至eUICC卡进行认证;
[0092] 本申请实施例中,SM-DP服务器根据本地通信的业务标识transactionID、接收到的eUICC卡的挑战值eUICCchallenge、SM-DP服务器生成的随机数挑战值serverchallenge和SM-DP服务器地址SM-XXaddress生成待签名数据serversign,然后使用新签发的CERT_SM-DPauth证书对待签名数据serversign进行签名,得到签名结果serversignature,之后根据签名结果serversignature、待签名数据serversign、新签发的CERT_SM-DPauth证书、CERT_SM-DPpb证书和SM-DP服务器地址SM-XX address生成SM-DP服务器认证请求。
[0093] 步骤240、接收eUICC卡返回的eUICC认证请求,并对所述eUICC认证请求进行认证。
[0094] 本申请实施例中,eUICC卡在对认证请求进行认证并通过后向SM-DP发送eUICC卡生成的eUICC认证请求,其中eUICC认证请求中包括eUICC签名结果eUICCsignature、eUICC待签名数据eUICCsign、eUICC卡证书CERT_EUICC证书和eUICC卡制造商签发的CERT_EUM证书;SM-DP服务器使用CA证书签发中心下发的CA公钥证书CERT_CA验证CERT_EUM证书,然后用CERT_EUM证书认证CERT_EUICC证书,再用CERT_EUICC证书验证eUICCSignature的正确性;若所有验证均通过,则SD-DP服务器发起的双向认证成功。
[0095] 需要说明的是,本申请提供的上述方案完成了新证书的申请和SM-DP服务器与eUICC卡的双向认证,双向认证成功后后续再进行运营商profile的下载认证过程,与现有的下载认证流程相同,在此不做限定。
[0096] 实施例三
[0097] 本申请实施例三提供一种在线签发同根证书的方法,如图3和图4所示,应用于包括eUICC卡、LPAd(Local profile Assistant,本地配置助手)、SM-DP服务器和CA证书签发中心组成的系统中,当用户需要使用终端下载运营商profile时,具体包括如下步骤:
[0098] 步骤301、LPAd向eUICC卡发送获取eUICC卡内的CA证书签发信息的请求。
[0099] 步骤302、eUICC卡将CA证书签发信息返回LPAd;
[0100] 本申请实施例中,CA证书签发信息包括但不限于CA证书签发信息列表和CA证书签发中心服务器地址,其中,CA证书列表信息包括多一个或多个CA证书标识,在eUICC卡安全存储器内维护CA证书签发信息与服务器地址的映射表,每一个CA证书签发信息对应签发该证书的服务器地址。
[0101] 步骤303、LPAd向eUICC卡发送获取挑战值指令。
[0102] 步骤304、eUICC卡生成随机数作为挑战值发送至LPAd;
[0103] 需要说明的是,本申请中LPAd向eUICC卡发送获取eUICC卡内的CA证书签发信息的请求以及发送获取挑战值指令的操作可合并在一次传输中实现,即LPAd向eUICC卡发送获取CA证书签发信息和挑战值请求,同样地,eUICC卡将获取到的CA证书签发信息和生成的随机数挑战值一次传输返回给LPAd。
[0104] 步骤305、LPAd将CA证书签发信息和eUICC挑战值发送至SM-DP服务器;
[0105] 其中,LPAd与SM-DP服务器之间采用协商会话密钥建立安全通道的方法进行数据传输,与现有的安全传输方法相同在此不做限定。
[0106] 步骤306、SM-DP服务器解析eUICC卡返回的CA证书签发信息,得到CA证书签发信息列表、对应的CA证书签发中心服务器地址以及eUICC挑战值;
[0107] 步骤307、SM-DP服务器检查eUICC卡与SM-DP服务器的证书是否为同根签发,如果是,则使用同根的证书直接进行双向认证操作,否则执行步骤308;
[0108] 具体地,SM-DP服务器依次检查CA证书签发信息中的一个或多个CA证书与SM-DP证书是否为相同CA证书签发中心签发的证书,若判定eUICC证书与已有的SM-DP证书不是同根签发,此时不能进行双向认证,若判定eUICC证书与已有的SM-DP证书是同根签发,则直接进行正常双向认证操作,其中此处的正常双向认证操作指的是现有的双向认证方法,在此不做限定。
[0109] 步骤308、SM-DP服务器根据接收到的CA证书签发中心服务器地址,向对应的CA证书签发中心申请下发CA公钥证书。
[0110] 步骤309、CA证书签发中心签发CA公钥证书CERT_CA并将新签发的CA公钥证书返回至SM-DP服务器;
[0111] 步骤310、SM-DP服务器根据eUICC证书生成CERT_SM-Dpauth文件和CERT_SM-DPpb文件。
[0112] 步骤311、SM-DP服务器根据CERT_SM-Dpauth文件和CERT_SM-DPpb文件向CA证书签发中心申请签发SM-DP证书。
[0113] 步骤312、CA证书签发中心验证CERT_SM-Dpauth文件和CERT_SM-DPpb文件的合法性,验证通过后签发CERT_SM-Dpauth证书和CERT_SM-DPpb证书,将签发的证书返回至SM-DP服务器;
[0114] 由于业界规定下载运营商profile需要使用两类证书,因此CA证书签发中心签发的SM-DP证书包括有用于双向认证的CERT_SM-Dpauth证书和用于双向认证后下载运营商profile的CERT_SM-DPpb证书。
[0115] 步骤313、SM-DP服务器根据本地通信的业务标识、eUICC挑战值、服务器挑战值和服务器地址生成服务器待签名数据;
[0116] 具体地,SM-DP服务器根据本地通信的业务标识transactionID、接收到的eUICC挑战值eUICCchallenge、生成随机数作为SM-DP服务器挑战值serverchallenge,以及SM-DP服务器地址SM-XX address生成服务器待签名数据serversign。
[0117] 步骤314、SM-DP服务器使用新签发的CERT_SM-DPauth证书对服务器待签名数据进行签名,得到服务器签名结果;
[0118] 具体地,SM-DP服务器使用新签发的CERT_SM-DPauth证书对待签名数据serversign进行签名,得到签名结果serversignature。
[0119] 步骤315、SM-DP服务器根据服务器签名结果、服务器待签名数据、新签发的CERT_SM-DPauth证书、CERT_SM-DPpb证书生成服务器认证请求;
[0120] 具体地,SM-DP服务器根据签名结果serversignature、待签名数据serversign、新签发的CERT_SM-DPauth证书和CERT_SM-DPpb证书生成服务器认证请求。
[0121] 步骤316、SM-DP服务器将服务器认证请求发送至LPAd。
[0122] 步骤317、LPAd验证服务器认证请求中的SM-DP服务器地址是否为合法地址,如果是,则执行步骤318,否则报错;
[0123] 本申请实施例中,LPAd从服务器认证请求中的服务器待签名数据中解析出SM-DP服务器地址,根据解析得到的SM-DP服务器地址确定与之前发送CA证书签发信息的SM-DP服务器是否为同一个服务器,如果是,则接收到的认证请求的来源是合法的。
[0124] 步骤318、LPAd将服务器认证请求转发至eUICC卡;
[0125] 步骤319、eUICC卡验证服务器认证请求的合法性,验证通过后根据服务器认证请求中的业务标识、服务器地址和服务器挑战值生成eUICC待签名数据;
[0126] 其中,验证服务器认证请求的合法性包括使用eUICC证书验证服务器认证请求中的CERT_SM-DPauth证书,使用CERT_SM-DPauth证书验证认证请求中的服务器签名结果,验证服务器认证请求中的eUICC挑战值;
[0127] 具体地,根据业务标识transactionId、服务器地址serverAddress和服务器挑战值serverChallenge生成eUICC待签名结果eUICCSigned。
[0128] 步骤320、eUICC卡使用eUICC私钥对eUICC待签名数据进行签名,得到eUICC签名结果,根据eUICC签名结果、eUICC待签名数据、eUICC证书和eUICC卡制造商签发的CERT_EUM证书生成eUICC认证请求;
[0129] 具体地,使用eUICC私钥对eUICC待签名数据eUICCSigned进行签名,得到eUICC签名结果eUICCSignature。
[0130] 步骤321、eUICC卡将eUICC认证请求发送至LPAd;
[0131] 步骤322、LPAd将eUICC认证请求发送至SM-DP服务器;
[0132] 步骤323、SM-DP服务器用签发的CA公钥证书验证eUICC认证请求中的CERT_EUM证书,验证通过后使用CERT_EUM证书验证eUICC证书,再次验证通过后使用eUICC证书验证eUICC签名结果;
[0133] 本申请实施例中,全部验证完成后SM-DP服务器和eUICC卡即完成双向认证。
[0134] 实施例四
[0135] 本申请实施例四提供一种在线签发同根证书的eUICC卡,如图5所示,所述eUICC卡包括:
[0136] 存储元件510,用于在eUICC卡出厂时预存CA证书签发信息列表和CA证书签发中心服务器地址;
[0137] 处理元件520,用于为SM-DP服务器提供验证证书是否同根的CA证书签发信息列表,以及用于为SM-DP服务器提供用于在线申请证书的CA证书签发中心服务器地址。
[0138] 本申请实施例中,进一步地,处理单元还用于为SM-DP服务器提供用于验证eUICC卡合法性的挑战值。
[0139] 本申请实施例中,作为一可选实施例,所述eUICC卡还包括认证模块530,所述认证模块530具体包括:
[0140] 服务器认证请求接收子模块531,用于接收SM-DP服务器发送的包括由CA证书签发中心所签发的SM-DP证书的服务器认证请求;
[0141] 服务器认证请求合法性验证子模块532,用于基于eUICC证书验证所述服务器认证请求中SM-DP证书的合法性;
[0142] eUICC认证请求生成子模块533,用于使用eUICC卡私钥对待签名数据进行签名,得到eUICC卡签名结果,根据eUICC签名结果生成eUICC认证请求;
[0143] eUICC认证请求传输子模块534,用于将所述eUICC认证请求传输至SM-DP服务器进行认证。
[0144] 进一步地,服务器认证请求合法性验证子模块532,具体用于使用eUICC证书验证服务器认证请求中的CERT_SM-DPauth证书,使用CERT_SM-DPauth证书验证认证请求中的服务器签名结果。
[0145] 更进一步地,eUICC认证请求生成子模块533,具体用于根据服务器认证请求中的业务标识、服务器地址和服务器挑战值生成eUICC待签名数据;使用eUICC私钥对eUICC待签名数据进行签名,得到eUICC签名结果,根据eUICC签名结果、eUICC待签名数据、eUICC证书和eUICC卡制造商签发的CERT_EUM证书生成eUICC认证请求。
[0146] 实施例五
[0147] 本申请实施例五提供一种在线签发同根证书的SM-DP服务器,如图6所示,所述SM-DP服务器包括:
[0148] CA证书签发信息接收模块610,用于接收eUICC卡发送的CA证书签发信息;
[0149] 证书同根验证模块620,用于根据CA证书签发信息中的CA证书签发信息列表,验证eUICC卡与SM-DP服务器的证书是否为同根签发;
[0150] 证书在线申请签发模块630,用于当验证eUICC卡与SM-DP服务器的证书不是同根签发时,根据CA证书签发信息中的CA证书签发中心服务器地址向对应的CA证书签发中心申请在线签发新的SM-DP证书。
[0151] 本申请实施例中,作为一可选实施例,证书在线申请签发模块630,具体用于当验证eUICC证书与SM-DP证书不是同根时,SM-DP服务器向CA证书签发中心申请下发CA公钥证书;接收CA证书签发中心下发的CA公钥证书;
[0152] 以及用于使用eUICC证书生成同根的双向认证文件和准备下载认证文件,将所述双向认证文件和准备下载认证文件发送至CA证书签发中心请求下发SM-DP证书;接收CA证书签发中心新签发的双向认证证书和准备下载认证证书。
[0153] 本申请实施例中,作为一可选实施例,所述SM-DP服务器还包括认证模块640,所述认证模块640具体包括:
[0154] 服务器认证请求生成子模块641,用于根据所述CA证书签发中心在线签发的SM-DP证书生成服务器认证请求;
[0155] 服务器认证请求发送子模块642,用于将所述服务器认证请求传输至eUICC卡进行认证;
[0156] eUICC认证请求接收子模块643,用于接收所述eUICC卡返回的eUICC认证请求;
[0157] eUICC认证请求认证子模块644,用于对所述eUICC认证请求进行认证。
[0158] 进一步地,服务器认证请求生成子模块641,具体用于根据本地通信的业务标识、接收到的eUICC卡的挑战值、SM-DP服务器生成的随机数挑战值和SM-DP服务器地址生成服务器待签名数据;使用新签发的双向认证证书对待签名数据进行签名,得到签名结果;
[0159] 以及用于根据签名结果、服务器待签名数据、新签发的双向认证证书、准备下载认证证书和SM-DP服务器地址生成SM-DP服务器认证请求。
[0160] 实施例六
[0161] 本申请实施例六提供一种在线签发同根证书的系统,如图7所示,所述系统包括:eUICC卡710、LPAd720、SM-DP服务器730和CA证书签发中心740;
[0162] 所述LPAd,用于向所述eUICC卡发送获取CA证书签发信息请求,并将CA证书签发信息发送至所述SM-DP服务器;
[0163] 所述CA证书签发中心,用于根据SM-DP服务器发送的申请在线签发证书请求,签发新的SM-DP证书,并将所述新的SM-DP证书返回至SM-DP服务器。
[0164] 本申请实施例中,作为一可选实施例,新的SM-DP证书返回至SM-DP服务器之后,还包括:
[0165] SM-DP服务器根据本地通信的业务标识、eUICC挑战值、服务器挑战值和服务器地址生成服务器待签名数据;使用新签发的CERT_SM-DPauth证书对服务器待签名数据进行签名,得到服务器签名结果;根据服务器签名结果、服务器待签名数据、新签发的CERT_SM-DPauth证书、CERT_SM-DPpb证书和SM-DP服务器地址生成服务器认证请求;
[0166] SM-DP服务器将服务器认证请求发送至LPAd;
[0167] LPAd从服务器认证请求中解析出SM-DP服务器地址,检查SM-DP服务器地址的合法性;
[0168] 若检查SM-DP服务器地址合法,LPAd将服务器认证请求转发至eUICC卡;
[0169] eUICC卡验证服务器认证请求的合法性,验证通过后根据服务器认证请求中的业务标识、服务器地址和服务器挑战值生成eUICC待签名数据;
[0170] eUICC卡使用eUICC私钥对eUICC待签名数据进行签名,得到eUICC签名结果,根据eUICC签名结果、eUICC待签名数据、eUICC证书和eUICC卡制造商签发的CERT_EUM证书生成eUICC认证请求;将eUICC认证请求发送至LPAd;
[0171] LPAd将eUICC认证请求发送至SM-DP服务器;
[0172] SM-DP服务器用签发的CA公钥证书验证eUICC认证请求中的CERT_EUM证书,验证通过后使用CERT_EUM证书验证eUICC证书,再次验证通过后使用eUICC证书验证eUICC签名结果。
[0173] 尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。