一种客户识别模块卡的鉴权方法及装置与流程

文档序号:12698805阅读:442来源:国知局
一种客户识别模块卡的鉴权方法及装置与流程

本发明涉及生物识别领域,尤其涉及一种客户识别模块(Subscriber Identity Module,SIM)卡的鉴权方法及装置。



背景技术:

目前,SIM卡在进行鉴权时,使用预制参数及密钥,经由2G/3G/4G通信协议,完成SIM卡合法性检验的流程。在用户终端入网时,将国际移动用户识别码(International Mobile Subscriber Identification Number,IMSI)及鉴权密钥Ki用密钥进行加密后,写入SIM卡中,并在用户鉴权中心(Authentication Center,AUC)里保存IMSI和鉴权密钥Ki。当SIM卡进行登网鉴权时,使用由Ki生成的Kc密钥进行数据加密,完成与基站间的鉴权。

鉴权密钥Ki是在SIM卡连接网络时,用于对数据进行加密运算的密钥,其作为证明SIM卡合法性和生成鉴权数据的依据,一旦鉴权密钥Ki被泄露,则攻击者能够通过复制的方式复制多张同样号码的SIM卡。因而鉴权密钥的保护问题一直是保护SIM卡的一个重要课题。

现有技术对于鉴权密钥的保护主要依靠使用Ki的加密密钥对鉴权密钥Ki进一步的加密,一旦SIM卡遭破解或Ki密文被泄露,破解Ki的难度依赖于Ki的加密密钥的算法的破解难度。而攻击者通过旁路攻击的方法,则可以在短时间内完成对Ki的加密密钥的破解。由于鉴权密钥Ki是在用户签约时就写死在SIM卡内的,并不对其进行校验,故其一旦发生遗失,攻击者很容易伪冒用户进行其他非法操作。



技术实现要素:

有鉴于此,本发明实施例期望提供一种客户识别模块卡的鉴权方法及装置, 可以提升鉴权密钥以及鉴权流程的安全性。

为达到上述目的,本发明的技术方案是这样实现的:

一种客户识别模块SIM卡的鉴权方法,所述方法包括:

采集获得用户的生物特征信息,从所述生物特征信息中提取获得生物特征的细节点;

将所述细节点与生成的鉴权密钥进行绑定计算,获得模糊金库;

将所述模糊金库以及国际移动用户识别码IMSI写入SIM卡中。

上述方案中,所述将所述细节点与生成的鉴权密钥进行绑定计算,获得模糊金库,包括:

随机生成鉴权密钥,将所述鉴权密钥进行循环冗余码校验CRC编码后,分为n+1段,构造出最高次数为n的多项式P(x)=Cnxn+Cn-1xn-1+..+C0;其中所述n为大于等于1的整数;

将所述细节点ai投影到多项式P(x)上,获得真实点集(ai,P(ai)),随机生成杂凑点集(xj,yj),将真实点集与杂凑点集合并且打乱顺序构成模糊金库;其中,所述i和j都为大于0的整数,所述j大于所述i。

上述方案中,在所述采集获得用户的生物特征信息后,所述方法还包括:根据所述生物特征信息获得校正用辅助数据;

相应的,在将所述模糊金库以及IMSI写入SIM卡中时,所述方法还包括:

将所述校正用辅助数据写入SIM卡中。

一种客户识别模块SIM卡的鉴权方法,所述方法包括:

向用户鉴权中心AUC上报SIM卡的IMSI号;

采集获得用户的生物特征信息,从所述生物特征信息中提取获得生物特征的细节点;

根据所述细节点从所述SIM卡中预存的模糊金库中解析出鉴权密钥;

接收所述AUC发送的随机数序列,并根据所述随机数序列与解析出的鉴权密钥,计算获得鉴权向量;

将所述鉴权向量发送给所述AUC进行鉴权认证。

上述方案中,所述SIM卡中存储有校正用辅助数据,则所述从所述生物特征信息中提取获得生物特征的细节点,包括:

从所述生物特征信息中提取生物特征点,并应用所述校正用辅助数据进行校正获得生物特征的细节点;

所述根据所述细节点从所述SIM卡中预存的模糊金库中解析出鉴权密钥,包括:

将所述细节点与模糊金库进行比对,获得匹配细节点;

在获得的匹配细节点的数目大于等于n+1时,将匹配细节点通过拉格朗日插值,重构出最高次数为n的多项式P'(x)=C'nxn+C'n-1xn-1+..+C'0

对所述多项式的系数校验循环冗余码校验CRC值通过后,提取多项式的系数,解码出鉴权密钥。

一种写卡机,所述写卡机包括:

采集提取单元,用于采集获得用户的生物特征信息,从所述生物特征信息中提取获得生物特征的细节点;

计算单元,用于将所述采集提取单元提取出的细节点与生成的鉴权密钥进行绑定计算,获得模糊金库;

写入单元,用于将所述计算单元计算出的模糊金库以及国际移动用户识别码IMSI写入客户识别模块SIM卡中。

上述方案中,所述计算单元,具体用于随机生成鉴权密钥,将所述鉴权密钥进行循环冗余码校验CRC编码后,分为n+1段,构造出最高次数为n的多项式P(x)=Cnxn+Cn-1xn-1+..+C0;将所述细节点ai投影到多项式P(x)上,获得真实点集(ai,P(ai)),随机生成杂凑点集(xj,yj),将真实点集与杂凑点集合并且打乱顺序构成模糊金库;其中,所述n为大于等于1的整数;所述i和j都为大于0的整数,所述j大于所述i。

上述方案中,所述采集提取单元,还用于在所述采集获得用户的生物特征 信息后,根据所述生物特征信息获得校正用辅助数据;

所述写入单元,还用于在将所述模糊金库以及IMSI写入SIM卡中时,将所述采集提取单元获得的所述校正用辅助数据写入SIM卡中。

一种配置有客户识别模块SIM卡的终端,包括:

发送单元,用于向用户鉴权中心AUC上报SIM卡的IMSI号;

采集单元,用于采集获得用户的生物特征信息,从所述生物特征信息中提取获得生物特征的细节点;

处理单元,用于根据所述采集单元提取的细节点从所述SIM卡中预存的模糊金库中解析出鉴权密钥;

接收单元,用于接收所述AUC发送的随机数序列;

处理单元,还用于根据所述接收单元接收到的随机数序列与解析出的鉴权密钥,计算获得鉴权向量;

所述发送单元,还用于将所述鉴权向量发送给所述AUC进行鉴权认证。

上述方案中,所述采集单元,具体用于从所述生物特征信息中提取生物特征点,并应用所述校正用辅助数据进行校正获得生物特征的细节点;

所述处理单元,具体用于将所述细节点与模糊金库进行比对,获得匹配细节点;在获得的匹配细节点的数目大于等于n+1时,将匹配细节点通过拉格朗日插值,重构出最高次数为n的多项式P'(x)=C'nxn+C'n-1xn-1+..+C'0;对所述多项式的系数校验循环冗余码校验CRC值通过后,提取多项式的系数,解码出鉴权密钥;其中,所述n为大于等于1的整数。

本发明实施例提供了一种客户识别模块卡的鉴权方法及装置,通过在SIM卡中存储隐藏有鉴权密钥Ki的模糊金库,而不是存储实际的鉴权密钥Ki,可以在终端侧有效地对鉴权密钥Ki进行了隐藏,即使攻击者对其进行攻击,没有用户的生物特征信息就不能从模糊金库中提取出鉴权密钥Ki,这就无法构成有效的旁路攻击,提升了鉴权密钥Ki的安全性。另外,只有用户为合法用户时,终端侧才能解析出鉴权密钥Ki,多了一层生物认证,另外,将模糊金库存储在 SIM卡中,在进行鉴权验证时并不上传该模糊金库的相关数据,避免了用户的生物特征信息在传输过程中被窃取。让鉴权过程更加安全。

附图说明

图1为本发明实施例1提供的一种应用于写卡机一侧的客户识别模块的鉴权方法的流程示意图;

图2为本发明实施例1提供的一种应用于终端一侧的客户识别模块的鉴权方法的流程示意图;

图3为本发明实施例2提供的一种写卡机的结构框图;

图4为本发明实施例2提供的一种配置有SIM卡的终端的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

实施例1、

本发明实施例提供了一种客户识别模块卡的鉴权方法,应用于设置SIM卡信息的写卡机一侧,如图1所示,本实施例方法的处理流程包括以下步骤:

步骤101、采集获得用户的生物特征信息,从所述生物特征信息中提取获得生物特征的细节点。

当用户进行SIM卡签约时,写卡机需要先对用户进行某些生物特征采集,获得用户的生物特征信息,然后从所述生物特征信息中提取获得生物特征的细节点。所述生物特征的细节点可以唯一标识出该生物特征信息。

示例的,可以用指纹采集器采集获得用户的指纹信息来作为用户的生物特征信息;然后从所述指纹信息中提取获得指纹细节点,所述指纹细节点可以是指纹中的交叉点和端点;指纹细节点可以用该细节点到参考点的距离来表示。这些指纹细节点可以唯一标识出用户的指纹信息。当然,写卡机中也可以设置其他的生物信息采集器采集其他生物特征信息,如虹膜信息、人脸信息等,并 不局限于指纹信息。

步骤102、将所述细节点与生成的鉴权密钥进行绑定计算,获得模糊金库。

现有技术中,每个用户在进行SIM卡签约时,该SIM卡就被分配一个用户号码(用户电话号码)和用户识别码(IMSI),同时在写卡机中随机产生一个对应此IMSI的唯一的鉴权密钥Ki,鉴权密钥Ki被分别存储在SIM卡和AUC中。

本实施例方法中,写卡机只会将鉴权密钥Ki存储在AUC中,并不将鉴权密钥Ki写入SIM卡中,而是应用模糊金库算法将获得的生物模板与随机生成的鉴权密钥绑定在一起,生成模糊金库V。获得模糊金库V的的具体流程包括以下步骤:

步骤S1、随机生成鉴权密钥,将所述鉴权密钥使用循环冗余码校验(Cyclical Redundancy Check,CRC)编码后,分为n+1段,构造出最高次数为n的多项式P(x)=Cnxn+Cn-1xn-1+..+C0

鉴权密钥Ki通过CRC编码后可以将其分成n+1个码段,按照从高位码段到低位码段的排列顺序,可以依次将第一个码段转换成的整数作为多项式P(x)中的系数Cn,……,将第n+1个码段转换成的整数作为多项式P(x)中的系数C0;构造出多项式P(x)=Cnxn+Cn-1xn-1+..+C0

步骤S2、将所述细节点ai投影到多项式P(x)上,获得真实点集(ai,P(ai)),随机生成杂凑点集(xj,yj),将真实点集与杂凑点集合并且打乱顺序构成模糊金库。

将所述细节点ai投影到多项式P(x)上得到P(ai),构成真实点集(ai,P(ai)),为了隐藏这些真实点集,写卡机会随机生成大量的杂凑点集(xj,yj),然后将真实点集与杂凑点集合并并打乱顺序构成模糊金库。

这里需要说明的是,杂凑点的数目要远大于细节点数目,并且要求所述杂凑点与细节点的汉明距离大于定值L。

步骤103、将所述模糊金库以及IMSI写入SIM卡中。

写卡机获得模糊金库后,会将所述模糊金库以及卡数据如IMSI等信息写 入SIM卡中。

所述模糊金库中将用户的生物特征信息和鉴权密钥用一定的算法绑定在了一起获得绑定信息,且用大量的杂凑点来模糊这些绑定信息。

在这里需要说明的是,写卡机采集获得用户的生物特征信息后,还可以根据所述生物特征信息获得校正用辅助数据,以备后续终端采集用户的生物特征信息后,利用模糊金库将鉴权密钥Ki恢复出来时,对采集到的生物特征信息进行校准。故,在步骤103中,还需要将所述校正用辅助数据写入SIM卡中。

在现有的技术中,对鉴权密钥的加密方法是固定及已知的,通过对SIM卡进行旁路攻击的方法,可以在数小时内破解获得鉴权密钥Ki。而使用本实施例方法,SIM卡中并不存储实际的鉴权密钥Ki,而是存储隐藏有鉴权密钥Ki的模糊金库,在终端侧有效地对鉴权密钥Ki进行了隐藏,即使攻击者对其进行攻击,没有用户的生物特征信息就不能从模糊金库中提取出鉴权密钥Ki,这就无法构成有效的旁路攻击,提升了鉴权密钥Ki的安全性。

本发明实施例还提供了一种客户识别模块的鉴权方法,应用于设置了SIM卡的终端一侧,如图2所示,本实施例方法的处理流程包括以下步骤:

步骤201、向AUC上报SIM卡的IMSI进行鉴权。

步骤202、采集获得用户的生物特征信息,从所述生物特征信息中提取获得生物特征的细节点。

终端在开启或强制鉴权情况下,会向AUC上报SIM卡的IMSI,并提示用户进行生物特征输入,用户看到该提示后,进行生物特征输入,生物特征采集器完成对用户生物特征信息的采集,然后从所述生物特征信息中提取获得生物特征的细节点。

在这里需要说明的是,若所述SIM卡中存储有校正用辅助数据,则,所述从所述生物特征信息中提取获得生物特征的细节点,包括:从所述生物特征信息中提取生物特征点,并应用所述校正用辅助数据进行校正获得生物特征的细节点。通过校正用辅助数据的校正,可以使获得的细节点更加准确。

步骤203、根据所述细节点从所述SIM卡中预存的模糊金库中解析出鉴权 密钥。

从步骤102-103中可知,写入卡会将细节点与鉴权密钥形成的模糊金库写入SIM卡中,故终端要进行SIM卡鉴权时,需要应用这些细节点解析出模糊金库中隐藏的鉴权密钥;具体的解析流程包括以步骤:

步骤Q1、将所述细节点与模糊金库进行比对,获得匹配细节点。

从步骤S2中可知模糊金库中存储有真实点集(ai,P(ai))和大量的杂凑点集(xj,yj),将提取出的细节点bm与模糊金库存储的点集进行匹配,如果是合法用户,则所述细节点bm与真实点集中的ai会匹配上若干个bk,这样就获得匹配细节点bk

步骤Q2、在获得的匹配细节点的数目大于等于n+1时,将匹配细节点通过拉格朗日插值,重构出最高次数为n的多项式P'(x)=C'nxn+C'n-1xn-1+..+C'0

在获得的匹配细节点的数目大于等于n+1时,将获得的匹配细节点bk对应的(bk,P(bk))进行拉格朗日插值,就可以重构出最高次数为n的多项式P'(x)=C'nxn+C'n-1xn-1+..+C'0

当然,若匹配细节点的数目小于n+1,则终端重新提示用户进行生物特征输入,重新对用户生物特征信息的采集,直到匹配细节点的数目大于等于n+1。若匹配细节点的数目一直小于n+1,则认为鉴权失败,该用户不是合法用户。在这里可以限制提示用户进行生物特征输入的次数,如在一天之内输入3次匹配细节点的数目一直小于n+1,则认为该用户不是合法用户,对该SIM卡进行锁定。

步骤Q3、对所述多项式的系数校验CRC值通过后,提取多项式的系数,解码出鉴权密钥。

对所述多项式P'(x)=C'nxn+C'n-1xn-1+..+C'0的系数C'n、C'n-1、……、C'0校验CRC值通过后,认为重构的多项式是正确的,根据步骤S1中的算法可以将鉴权密钥构造成多项式,故获得多项式后,就可以反推理出鉴权密钥。即提取多项式的系数C'n、C'n-1、……、C'0,可以依次将Cn转换成第一个码段,……,将C0转换成第 n+1个码段,将转换成的码段按照第一个码段为最高位码段,第n+1个码段为最低位码段,依次排序组合出一个CRC码段,然后进行CRC解码就可以获得鉴权密钥。

若对所述多项式P'(x)=C'nxn+C'n-1xn-1+..+C'0的系数C'n、C'n-1、……、C'0校验CRC值没有通过后,认为重构的多项式是错误的,此时终端进行步骤101,重新开始鉴权。

步骤204、接收所述AUC发送的随机数序列,并根据所述随机数序列与解析出的鉴权密钥,计算获得鉴权向量。

AUC接收到终端发送的IMSI后,根据对应的卡数据生成某些鉴权因子和随机数序列。同时,AUC按照一定算法,应用存储的鉴权密钥Ki和随机数序列计算出本次的鉴权向量AV。然后AUC将随机数序列下发给终端。

终端接收到AUC发送的随机数序列后,并根据所述随机数序列以及解析出的鉴权密钥,应用相同的算法计算获得鉴权向量。

步骤205、将所述鉴权向量发送给所述AUC进行鉴权认证。

终端计算获得鉴权向量后就会将所述鉴权向量发送给所述AUC,AUC接收到该鉴权向量后,会将该鉴权向量与自己应用相同算法计算的鉴权向量AV进行比对,若一致,则鉴权认证成功,通过用户认证;若不一致,则鉴权认证失败,当鉴权次数超过阈值时,SIM卡将被锁定,合法用户需持个人有效证件去营业厅将SIM恢复正常状态。

在这里需要说明的是,步骤204和205中所述的鉴权过程为现有的鉴权的流程,AUC接收到终端发送的IMSI后可能还会向终端发送一些鉴权因子等,在这里不一一进行详述,本领域人员应该都清楚了解。

本实施例方法中,SIM卡中并不存储实际的鉴权密钥Ki,而是存储隐藏有鉴权密钥Ki的模糊金库,在终端侧有效地对鉴权密钥Ki进行了隐藏,即使攻击者对其进行攻击,没有用户的生物特征信息就不能从模糊金库中提取出鉴权密钥Ki,这就无法构成有效的旁路攻击,提升了鉴权密钥Ki的安全性。另外, 只有用户为合法用户时,终端侧才能解析出鉴权密钥Ki,多了一层生物认证,让鉴权过程更加安全。

将模糊金库存储在SIM卡中,在进行鉴权验证时并不上传该模糊金库的相关数据,避免了用户的生物特征信息在传输过程中被窃取。AUC可通过强制鉴权的方式,对用户进行挑战,当鉴权通过时认为使用为用户本人,保证了SIM卡的使用安全,给运营商减少相关投诉和经济损失。由于模糊金库方法原理上是对生物特征细节点的处理和密钥绑定,能够应用于人脸、指纹、虹膜的特征,具有普适性,对于不同终端的应用具有可扩展性。

实施例2、

本发明实施例提供了一种写卡机,如图3所示,所述写卡机包括:采集提取单元301,计算单元302,写入单元303,其中,

采集提取单元301,用于采集获得用户的生物特征信息,从所述生物特征信息中提取获得生物特征的细节点;

计算单元302,用于将所述采集提取单元301提取出的细节点与生成的鉴权密钥进行绑定计算,获得模糊金库;

写入单元303,用于将所述计算单元302计算出的模糊金库以及国际移动用户识别码IMSI写入客户识别模块SIM卡中。

可选的,所述计算单元302,具体用于随机生成鉴权密钥,将所述鉴权密钥进行循环冗余码校验CRC编码后,分为n+1段,构造出最高次数为n的多项式P(x)=Cnxn+Cn-1xn-1+..+C0;将所述细节点ai投影到多项式P(x)上,获得真实点集(ai,P(ai)),随机生成杂凑点集(xj,yj),将真实点集与杂凑点集合并且打乱顺序构成模糊金库;其中,所述n为大于等于1的整数;所述i和j都为大于0的整数,所述j大于所述i。

可选的,所述采集提取单元301,还用于在所述采集获得用户的生物特征信息后,根据所述生物特征信息获得校正用辅助数据;所述写入单元303,还用于在将所述模糊金库以及IMSI写入SIM卡中时,将所述采集提取单元301 获得的所述校正用辅助数据写入SIM卡中。

本发明实施例还提供了一种配置有SIM卡的终端,如图4所示,包括:发送单元401,采集单元402,处理单元403,接收单元404,其中,

发送单元401,用于向用户鉴权中心AUC上报SIM卡的IMSI号。

采集单元402,用于采集获得用户的生物特征信息,从所述生物特征信息中提取获得生物特征的细节点;可选的,所述采集单元402,具体用于从所述生物特征信息中提取生物特征点,并应用所述校正用辅助数据进行校正获得生物特征的细节点。

处理单元403,用于根据所述采集单元402提取的细节点从所述SIM卡中预存的模糊金库中解析出鉴权密钥;可选的,所述处理单元403,具体用于将所述细节点与模糊金库进行比对,获得匹配细节点;在获得的匹配细节点的数目大于等于n+1时,将匹配细节点通过拉格朗日插值,重构出最高次数为n的多项式P'(x)=C'nxn+C'n-1xn-1+..+C'0;对所述多项式的系数校验循环冗余码校验CRC值通过后,提取多项式的系数,解码出鉴权密钥;其中,所述n为大于等于1的整数。

接收单元404,用于接收所述AUC发送的随机数序列;

处理单元403,还用于根据所述接收单元404接收到的随机数序列与解析出的鉴权密钥,计算获得鉴权向量;

所述发送单元401,还用于将所述处理单元403获得的鉴权向量发送给所述AUC进行鉴权认证。

在实际应用中,上述实施例中所述的采集提取单元301,计算单元302,写入单元303,可以由写卡机上的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)、调制解调器等器件实现。所述发送单元401,采集单元402,处理单元403,接收单元404,可以由配置SIM卡的终端上的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)、调制解调器等器件实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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