CN101959183B - 一种基于假名的移动用户标识码imsi保护方法 - Google Patents

一种基于假名的移动用户标识码imsi保护方法 Download PDF

Info

Publication number
CN101959183B
CN101959183B CN201010289353.XA CN201010289353A CN101959183B CN 101959183 B CN101959183 B CN 101959183B CN 201010289353 A CN201010289353 A CN 201010289353A CN 101959183 B CN101959183 B CN 101959183B
Authority
CN
China
Prior art keywords
user
imsa0
assumed name
hlr
imsi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010289353.XA
Other languages
English (en)
Other versions
CN101959183A (zh
Inventor
武传坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201010289353.XA priority Critical patent/CN101959183B/zh
Publication of CN101959183A publication Critical patent/CN101959183A/zh
Application granted granted Critical
Publication of CN101959183B publication Critical patent/CN101959183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于假名的IMSI保护方法,属于通信安全领域。本方法为:用户初次入网阶段,用户发送IMSI给HLR进行认证,认证后为用户生成假名并记录到数据库中;然后HLR根据用户假名产生认证向量并通过VLR对用户进行认证;最后HLR将用户假名中的用户假名字段发送给用户,用户重构并记录该用户假名;用户再次入网阶段,用户将用户假名发送给HLR进行认证,如果库中没有该用户假名则报告认证失败,否则HLR产生一个新用户假名并更新数据库;然后类似于初次入网时,对用户进行认证;最后HLR将新生成用户假名中的用户假名字段发送给用户,用户重构并记录该用户假名。本方法大大提高IMSI的安全性,且系统更新简便。

Description

一种基于假名的移动用户标识码IMSI保护方法
技术领域
本发明属于移动通信安全领域,涉及一种基于假名的IMSI信息保护方法;本发明不改变现有移动通信的通信流程和数据格式,并对未使用本发明的现有用户具有完美的兼容性。
背景技术
a)现有技术的说明
国际移动用户标识码(IMSI,International Mobile Subscriber Identity),或简称用户标识码,是每一个移动用户在全球范围内的唯一身份标识。该标识使得移动用户无论漫游到世界的任何一个地方,网络端都能找到该用户注册的网络归属域,只要用户申请了漫游业务并有充足的资费,就能使用移动通信和数据业务。在第二代GSM移动通信系统中,用户标识码IMSI被嵌入到SIM卡(Subscriber Identity Module,即用户身份模块)中,而在第三代移动通信系统中,这一标识被置入到USIM卡中。无论哪种情况,IMSI的数据格式和所代表的意义基本保持不变。
为了介绍IMSI的数据格式,首先介绍一下移动用户如何使用IMSI入网。逻辑上,我们可以把移动网络部件分为三部分,移动终端(mobile equipement,ME),访问域(visitor locationregister,VLR),和归属域(home locaion register,HLR)。尽管在3G移动通信中对这些单元使用了不同的名称,如访问域VLR在3G系统中以移动管理实体(MME)代替,而归属域HLR在3G系统中以用户归属服务器(HSS)取代,但从用户认证的过程看,它们的功能类似,因此在不引起混淆的情况下,本发明使用上述名称对技术原理进行描述,但不构成对本发明适用领域的限制。当一个新用户申请入网时,他跟一个离他最近的VLR通过无线接口进行通信,将自己的IMSI信息传给该VLR申请入网。该VLR将IMSI信息传给用户注册的归属域HLR对用户进行认证,HLR通过IMSI信息查到用户对应的密钥,产生多个认证向量,即三元组(RAND,XRES,Kc)(在第三代移动通信中使用五元组,但不影响对本发明的使用,也不构成对本发明的限制),并传给VLR,其中RAND是网络用于认证用户的挑战信息,XRES是网络用于检查用户对挑战信息所给应答是否正确的比对信息,Kc是网络与用户之间的通信数据加密密钥。VLR选取一个三元组,将其中的挑战信息RAND传给用户,用户利用SIM卡内的密钥信息产生针对接收到的挑战信息RAND的应答RES并传给VLR,VLR对比从用户那里收到的RES和从HLR传来的对应三元组内的XRES是否一致。若一致,则对用户的认证通过,否则认证失败。在实际网络中,一个VLR可能要服务于多个HLR,因此在认证过程中,VLR需要根据IMSI信息确定IMSI信息往哪个HLR传送。因此任何一个IMSI要有固定格式,用于寻找其所归属的HLR,然后由该HLR负责对用户提供用于认证的数据(即认证向量,数据格式为三元组或五元组)。
目前移动通信中对IMSI的使用原则是,当用户第一次插卡开机时,需要向网络端(具体为VLR)提供用户身份信息IMSI。VLR在HLR的协助下对用户成功认证后,会给用户分配一个随机产生的临时身份识别代码(TMSI,Temporary Mobile Subscriber Identity),用户在之后需要进行认证时,首选使用该TMSI代码,仅当使用TMSI代码认证失败后,才再次使用IMSI进行认证。给用户分配的临时身份代码TMSI会经常更新,甚至每次成功认证后都会用一个新的TMSI代替之前的TMSI。
除了用户第一次插卡开机时没有TMSI外,之后用户便有一个TMSI,因此每次需要联网认证时都首先使用这个TMSI进行认证。但有些情况下使用该TMSI的认证是失败的,包括下列一些情况:(1)网路端(VLR)在更新TMSI时,用户端没有接收到更新信息(如突然供电不足,突然失去信号等),造成用户端与网络端的TMSI不一致;(2)用户在关机状态下进入另一个VLR(如航空旅行),新的VLR找不到用户的TMSI记录;(3)用户长时间未开机,导致网络端(VLR)记录的TMSI信息因超时而被删除。在使用TMSI认证失败的情况下,用户将不得不发送IMSI进行认证。
由于IMSI唯一标识用户,而且在空口通信中常以明文方式传送,因此如果被非法截获,可以检测用户的大致位置信息,而这一信息会涉及到用户的隐私性。尽管在标准移动通信协议中,IMSI的使用已经做到尽可能的少,但在敌手主动攻击下却很容易获得。敌手主动攻击的一种模式是使用一个非法基站,当用户靠近该假基站时,用户信号被假基站接收,该假基站冒充网络VLR告知用户使用TMSI的认证失败,此时用户端不得不发送IMSI进行认证,于是该IMSI便可以被敌手获得。特别在GSM系统中,由于用户端对网络端缺少认证功能,因此假基站获得用户IMSI信息是很容易的。
b)相关解决方案的不足
考虑到GSM系统的用户还是一个相当大的群体,而且在今后相当长的时间段内,使用GSM系统的人群还会很大,而且对隐私信息保护的需求日益提高,因此对IMSI保护的呼吁声音也一直未间断。目前对IMSI的保护有两类重要方法,一类是使用公钥密码技术来实现,另一类是使用假名技术。使用公钥密码技术的实现方法具有一定的学术价值,但在实现上除增加很多计算和通信代价外,原来的通信协议也需要完全修改,而且很难具有对现有网络用户的兼容性,如文献[曾勇,“一种基于非对称密钥密码体制的IMSI保护方案”,《通信技术》,2008,Vol 41(9)]所描述的方法就具有这类性质;而另一类使用假名的方法在实现中有多种不同手段,如文献[朱红儒,齐旻鹏,魏凌波,“国际移动用户标识符IMSI机密性保护的方法、设备及系统”,国家发明专利,申请号CN200910076453]就是一种,但其假名的产生是在网络访问域(注意文献[朱红儒,齐旻鹏,魏凌波,“国际移动用户标识符IMSI机密性保护的方法、设备及系统”,国家发明专利,申请号CN200910076453.]中使用了3G系统的术语),这就需要增加访问域的计算代价和修改标准3GPP的通信协议,而且对现有用户的兼容性就比较差。其他一些解决方案的实用性和对IMSI的保护程度都不很明朗。
总之,目前的一些解决方案都要求对系统架构进行较大程度地升级,特别是对VLR这种大量分布的系统进行升级是很耗资的事,而且对现有用户的兼容性不够强,在VLR端需要额外计算来判断区分新老用户,以确定使用新老协议。由于这些更新的大代价,使得目前的一些解决方案很难在实际系统中使用。
发明内容
本发明的目的在于提供一种基于假名的IMSI信息保护方法。本方法可以保护作为移动用户身份标识的IMSI的隐私性。本发明不改变现有移动通信的通信流程和数据格式,并对未使用本发明的现有用户具有完美的兼容性。
a)本发明的基本思想和目标:
1.使用假名技术,从根本上防止假冒基站欺骗用户的IMSI。假基站即使能非法获得用户的假名,但由于假名不断在改变,假基站很难将一个假名同某一特定用户联系起来,从而达到保护用户隐私性的目的;
2.避免VLR对现有的协议流程和计算模式进行修改,即保持现有VLR的工作模式不变;
3.更新HLR端的部分计算单元,更新用户端的计算单元;
4.保持通信协议和数据格式不变,从而对现有用户能无缝兼容。
b)本发明的技术原理
国际移动用户标识码IMSI数据是由15位的十进位数字组成的,其中最左边的3位数字称为国家码(MCC,Mobile Country Code),用于唯一识别移动用户所属的国家,例如中国为460,它由国际电信联盟(ITU)统一分配和管理;接下来的2位数字是移动网络代码(MNC,MobileNetwork Code),用于唯一识别用户所属移动通信网络,当一个国家中有多个运营商时,MNC号码指示用户属于哪个运营商;接下来的10位数字表示移动用户的身份代码(MSIN,MobileSubscriber Identification Number)。MSIN完全由各运营商内部管理,在中国,其结构为09+M0M1M2M3+ABCD,其中M0M1M2M3是4位十进制数字,标识用户IMSI所归属的HLR,ABCD随机分配,用于标识用户。但是,运营商某些归属域HLR所服务的用户数可能多于10000个,因此需要更多位数来标识用户,也可以看作是几个小的传统HLR的合并,在这种情况下,标识用户IMSI归属域HLR的字段可以缩短,而将节省下来的字段用于标识用户。比如将10个传统HLR合并后,只需要IMSI中的3位数M0M1M2就可以标识该归属域的身份,这样用于标识用户的字段可以增加至5位,即M3ABCD;如果将100个传统意义的HLR合并为一个大的HLR,则只需要IMSI中的2位数M0M1就可以标识该归属域的身份,这样用于标识用户的字段可以增加至6位,即M2M3ABCD;如果将1000个传统意义的HLR合并为一个大的HLR,则只需要IMSI中的1位数M0就可以标识该归属域的身份,这样用于标识用户的字段可以增加至7位,即M1M2M3ABCD。不管是哪种情况,我们把在一个HLR内用于标识用户的IMSI中的几位数称为用户标识字段,如上述ABCD,或M2M3ABCD等。
本发明的技术方案为:
一种基于假名的移动用户标识码IMSI保护方法,其步骤包括:
A)在用户初次入网阶段
A1)用户发送用户标识码IMSI给网络归属域HLR进行认证,所述HLR在完成认证后为所述用户生成假名IMSA0,并将其记录到所述HLR的数据库中;
A2)所述HLR根据用户假名IMSA0产生认证向量并通过所述VLR对所述用户进行认证;
A3)所述HLR将所述用户假名IMSA0中的用户假名字段通过网络访问域VLR发送给所述用户;
A4)所述用户接收到所述用户假名字段后,重构并记录该用户假名IMSA0;
B)在用户再次入网阶段
B1)用户将自己所存储的最新用户假名IMSA0信息发送给所述网络归属域HLR进行认证,所述网络归属域检查数据库中是否存在该用户假名IMSA0,如果不存在,则所述HLR报告用户认证失败;否则,所述HLR产生一个新的用户假名,并更新数据库中该用户的原假名;
B2)所述HLR根据新产生的用户假名IMSA0产生认证向量并通过网络访问域VLR对所述用户进行认证;
B3)所述HLR将新生成的用户假名IMSA0中的用户假名字段通过所述VLR发送给所述用户;
B4)所述用户在接收到所述用户假名字段后,重构该用户假名IMSA0后,替换原存储的用户假名。
进一步的,所述HLR利用用户假名字段替换该用户标识码IMSI中的用户标识字段,生成该用户的假名IMSA0;所述用户假名字段是不合法的用户标识字段。
进一步的,采用随机数生成方法生成所述用户假名字段。
进一步的,所述用户假名字段为一m位16进制数X1X2...Xm,其中X1,X2,...,Xm中至少有一位不是0-9之间的数字。
进一步的,所述HLR将所述用户假名IMSA0发送给所述用户的方法为:所述HLR将所述IMSA0中的用户假名字段嵌入到一个认证向量的随机挑战RAND中,并将所述认证向量通过网络访问域VLR发送给所述用户;所述用户收到所述VLR传送的RAND后,检查所述RAND是否含有所述用户假名字段信息;如果有,则所述用户根据自己的IMSI信息和所述RAND提供的所述用户假名字段重构用户假名IMSA0。
进一步的,所述网络归属域HLR将所述用户假名字段n次重复地嵌入到一个认证向量的随机挑战RAND中,其中n是不小于1的自然数。
进一步的,所述网络归属域HLR将所述用户假名字段n次重复地嵌入到多个认证向量的随机挑战RAND中,其中n是不小于1的自然数。
进一步的,所述数据库包括:用户标识码IMSI栏目、用户假名IMSA0栏目,还包括一用户确认假名IMSA1栏目,所述IMSA1栏目用于存储最近一次用户确认过的用户假名。
进一步的,在用户再次入网阶段,所述网络归属域HLR检查数据库中是否存在该用户假名IMSA0,并更新所述数据库的方法为:所述HLR在数据库的IMSA0栏目中搜寻从所述用户传来的IMSA0数据,
如果找到匹配的用户假名,则所述HLR执行下列步骤:
a)将匹配的IMSA0数据移到所述数据库的对应同一IMSI的IMSA1栏目,替换所述IMSA1栏目中相应位置已存在的数据;
b)为所述用户产生新的IMSA0数据,并将该IMSA0数据写入数据库的所述用户所对应的IMSA0栏目内;
c)根据所述新产生的IMSA0产生用户认证向量,并通过所述VLR对所述用户进行认证;
如果未找到匹配的用户假名,则所述HLR在数据库的IMSA1栏目中搜寻从所述用户传来的IMSA0数据,如果未找到匹配的用户假名,则所述HLR报告用户认证失败;如果找到匹配的用户假名,则所述HLR执行下列步骤:
a)为所述用户产生新的用户假名IMSA0,并将该IMSA0数据写入数据库的所述用户所对应的IMSA0栏目内;
b)根据所述新产生的IMSA0产生用户认证向量,并通过所述VLR对所述用户进行认证。
进一步的,所述用户假名IMSA0栏目、用户确认假名IMSA1栏目只存储所述用户假名字段部分。
本发明的方法流程如图1所示,下面我们分别就用户初次入网和用户再次入网的过程进行说明。
用户初次入网(见图2(a)):
当用户初装SIM卡(或USIM卡)开机后,必须使用IMSI进行认证,这与标准的移动网络认证是一样的。按照标准的移动通信协议,该IMSI信息首先由用户传给当地的VLR,该VLR检查自己的记录是否有此信息,显然没有,于是根据IMSI的数据格式找到其归属的HLR,并将该IMSI传给HLR。当HLR收到IMSI数据后,可以对用户进行认证,首先检查用户是否有权利享受某些业务(语音、短信、数据等)。如果检查通过,则需要产生一系列认证向量,即三元组(GSM系统)或五元组(3G系统)并传给发送IMSI数据的VLR。
本发明要求HLR在产生三元组或五元组之前,建立一个关于用户身份的数据库(每个用户占数据库中的一条记录),数据库包括三个栏目:移动用户标识码IMSI栏目,移动用户假名IMSA0(International Mobile Subscriber Alias)栏目,和移动用户确认假名IMSA1栏目。因为每个HLR对其所管辖的用户标识码IMSI都有记录,因此上述数据库可以通过在记录用户标识码的数据库中增加栏目(用户记录用户的假名IMSA0和IMSA1信息)来实现,也可以建立一个新的数据库。用户标识码IMSI记录的是合法用户的IMSI信息,用户假名IMSA0的产生方法如下:保持IMSI前n位数字(通常情况下n=11,但对某些HLR,可以用更少的位数唯一确定该HLR,在此情况下n可以小于11)不变,随机产生m位16进制数X1X2...Xm(称为用户假名字段)来替换原IMSI中的用户标识字段的数据,要求满足条件(1)m+n=15;(2)X1X2...Xm与所有合法的用户标识字段不同;(3)X1X2...Xm与数据库的IMSA0栏和IMSA1栏的所有记录中相应部分的数据不重复。IMSA1栏目在用户数据库记录建立之初暂时空缺(或置零)。注意在具体实施时,数据库的IMSA0栏目和IMSA1栏目不需要记录用户假名的全部信息,只需要记录用户假名字段信息。
当HLR产生IMSA0后,将该数据添加到数据库IMSA0栏中对应用户IMSI的条目,并在随后产生的多个认证向量三元组(或五元组)中,将IMSA0的用户假名字段嵌入到第一组认证向量的RAND中,比如将该RAND的前4m比特设置为用户假名字段,即IMSA0的最后m位16进制数,但具体实施过程中可以是任何一种容易实施的潜入方法,而不构成对本发明的限制。当VLR收到这些三元组(或五元组)时,将第一组中的RAND传给用户;用户收到RAND后(在3G系统中也包括Auth,但不影响本发明的实施),根据用户假名字段嵌入规则,从RAND中提取用户假名字段,并结合IMSI信息可以构建IMSA0,如截取IMSI的前n位,然后连接RAND的前4m比特作为新建的IMSA0,并将该IMSA0存储起来用于之后的认证。同时,用户按照标准移动通信协议回复RES应答认证请求,访问域VLR在检查RES的正确性后,按照标准移动通信协议产生一个用户临时身份TMSI并传给用户。在此过程中,VLR不需要区分用户假名和用户标识码。
用户在重构IMSA0信息后进行存储以备下次认证使用。该信息可存储在移动终端的任何方便存储和使用的单元。但在实际执行中可能会出现下述意外情况:VLR没有把含有IMSA0中用户假名字段的RAND传给用户,而是把另外一个不包含用户假名字段的RAND传给了用户,其结果是让用户重构了一个错误的假名IMSA0,因此会在下次需要假名认证时发生永久性错误(除非重新开启IMSI认证过程)。造成这种意外的原因可能是因为VLR在收到认证向量时,含有IMSA0中用户假名字段的RAND没有排在第一个,或者VLR在选择RAND时没按照次序选取。这就需要用户对RAND是否含有IMSA0的用户假名字段进行判断。但仅仅从用户假名字段的数据格式进行判断的话,会有很大概率发生错误,因此本发明的技术方法是,在将用户假名字段嵌入到一个RAND之前,先将这部分数据重复多次,然后将其嵌入到一个RAND中。在后面的实施例中描述了如何将用户假名字段重复多次后嵌入到一个RAND中的过程。在这种处理下,用户在收到一个RAND时首先检查有无可能包含用户假名字段信息,比如检查前4m比特与接下来的4m比特是否完全相同(IMSA0后m位重复2次的情况),或进一步检查是否与再接下来的4m比特还是完全相同(IMSA0后m位重复3次的情况),这样可以几乎正确地重构IMSA0信息。为了避免用户在收到含有IMSA0中用户假名字段信息的RAND之前已经多次收到其它随机产生的RAND的情况,甚至用户需要使用IMSA0进行下一次认证时仍未收到嵌入用户假名字段的RAND的情况发生,可以将用户假名字段(或其多次重复)嵌入到多个认证向量的RAND或所有RAND中,而在用户端,一旦成功重构并记录IMSA0信息,在下次被要求使用IMSA0认证之前不再对IMSA0进行更新,即使收到的RAND中含有用户假名字段信息(此时应该与用户已经记录的IMSA0的部分信息相同)。
用户再次入网(见图2(b)):
当移动用户因为服务区VLR对其TMSI的认证失败而要求提供IMSI进行认证时,用户向VLR提供自己记录的IMSA0信息。因为IMSA0在数据结构上与标准IMSI没本质区别(都是15位数),VLR在无系统更新的情况下,把IMSA0当作某个IMSI进行处理:首先检查自己的记录中是否有此IMSA0信息,如果有,则按照正常IMSI对待;如果没有,则将IMSA0传给相应的HLR。注意IMSA0的前n位数字提供归属HLR的路径信息,因此无论VLR服务几个HLR,都能将IMSA0传送到正确的HLR。当HLR收到IMSA0后,检测其数据库中的IMSA0栏目是否有该IMSA0信息(或其对应的用户假名字段)。如果有,则将该IMSA0信息移动到数据库的IMSA1栏目(表示该假名已经得到用户确认)。如果用户数据记录中的IMSA1栏目有数据,则更新该数据。HLR然后以同样方式产生一个新的IMSA0,将此IMSA0信息添加到用户数据库的IMSA0栏目,并产生类似于初次入网时的认证向量,将该IMSA0中的用户假名字段嵌入到认证向量的某些RAND中。接下来的认证过程与用户初次入网时相同;如果HLR在其IMSA0栏目中没找到用户IMSA0信息,而在IMSA1栏目中有用户IMSA0信息(说明上次用户需要更新IMSA0时操作失败),则按照同样规则产生一个新的IMSA0,将此IMSA0信息添加到用户数据库记录中的IMSA0栏目,并产生类似于初次入网时的认证向量,接下来的认证过程与用户初次入网时相同;如果HLR在其数据库的IMSA0栏目和IMSA1栏目都未找到用户提供的IMSA0信息,则报告用户认证失败。在使用IMSI进行认证时也偶尔出现认证失败的情况,原因可以是多种多样的,遇到这种情况时,用户只需要等一段时间后再次申请认证即可。
当用户接收到VLR通过RAND传来的新的IMSA0的用户假名字段后,根据自己的IMSI信息可以重构完整的IMSA0,更新自己的IMSA0记录,接下来的认证过程与现有的认证过程相同。
可靠性分析:
网络通信中可能因为多种原因使期望的通信中断,从而导致认证协议非正常中断。假如在初次认证过程中用户传给HLR的原始IMSI传输失败,则用户会继续被要求提供IMSI信息,而此时用户也只有IMSI信息可以提供,直至认证成功。在这种情况下,在同一时段同一地点多次传送IMSI并不比传送一次IMSI泄露更多用户隐私信息。
当用户使用IMSI认证成功后,如果HLR通过VLR传给用户的用户假名字段(即嵌入到RAND中的部分数据)丢失,则用户不能重构IMSA0,因此当使用该VLR分发的TMSI进行之后的认证失败后,只能使用IMSI重新进行认证。在这种情况下,用户IMSI被使用两次。但是,只要网络可靠,在认证过程中VLR传给用户的RAND丢失的可能性很小,因此多数情况下用户能收到嵌入用户假名字段的RAND。另一种实现途径是,让用户在发送认证应答RES之前首先根据数据格式检查RAND中是否嵌入用户假名,如果判断是,则重构并记录IMSA0信息并进行正常认证应答,否则下次还需要重复IMSI认证过程。这样,使用IMSI认证一旦成功,之后的认证就无须再使用IMSI信息。
在用户得到IMSA0信息后,当用户被要求提供IMSI进行认证时(即使用TMSI的认证失败),用户提供自己记录的IMSA0信息。如果该IMSA0信息在给HLR的传输过程中失败,则认证失败,用户会继续被要求提供IMSI进行认证,用户同样只需继续提供该IMSA0信息,直至认证成功。在网络可靠的情况下,因为IMSA0是HLR产生的,因此HLR能够找到IMSA0对应的用户从而可以进行正常的认证过程。
当用户使用IMSA0进行认证成功后,HLR为用该户产生一个新的IMSA0。但这个新的IMSA0可能因不可预测的原因未能成功传给用户(可能性很小),因此用户未能更新自己记录的IMSA0信息,因此在下次到HLR认证时,用户仍然提供未经更新的IMSA0信息。注意此时用户未经更新的IMSA0信息已经被放在HLR数据库的IMSA1栏目中,因此仍然可以成功完成认证。
如果用户在获得IMSA0后意外将该数据丢失(如手机硬件故障),或因错误判断而使自己的IMSA0信息与网络端失去同步(以很小概率发生),则用户只需要提供IMSI信息进行认证,该过程完全等同于用户初次入网时的认证,但需要用户确认后才能执行这一过程,因为这一过程将降低用户IMSI的隐私性保护力度。
因此,无论在认证过程中发生什么意外,总能使合法用户的认证成功,而且一旦用户获得并记录IMSA0信息,在之后的认证中,几乎再也不需要使用IMSI进行认证。
安全性分析:
正常情况下用户IMSI只在初次入网时用到,之后只需要使用用户假名IMSA0进行认证,再也不需要提供IMSI信息,而且每次认证成功后,用户IMSA0信息都将被更新。
考虑在一般情况下IMSA0只有m=4位动态变化的情况(其余n=11位为固定的HLR路由信息),表示为二进制数时共有16比特,因此共有65536种情况。注意使用4位用户标识字段的HLR只能有不超过10000个用户,因此最多有10000个IMSI。除去表示IMSI的数据,表示4位数字的16比特还可以表示55536种情况,这些情况当看作4位数时,至少一位为非十进制数,即至少有一位(4比特数字)大于9,适合作IMSA0用。在HLR的数据库中,每个用户至多有2个IMSA数据,因此数据库中总共有不超过20000个数据。当为一个用户更新一个IMSA0数据时,要求与数据库中的数据无重复,因此只能从剩余的35536种可能数组中选取。使用随机算法产生时,随机产生的一个16比特随机数可以为一个用户的新IMSA0(即与其他数据无冲突)的概率为35536/65536=0.54,因此在最多用户规模的情况下,平均小于两次尝试即可得到一个合法IMSA0更新数据。
如果用户假名字段可以为m=6位(对一些大的HLR这是可能的),表示为二进制数有24比特,因此共有16777216种情况,而用于表示标准IMSI的数共有1000000个。假定每个标准IMSI对应两个假名存储在数据库中,则需要对某一假名进行更新时,随机产生一个24比特的数,与数据库中的IMSI和所有假名都不重复的概率为1-2000000/16777216=0.88.
当攻击者截获到一个IMSA0后,根据IMSA0随机产生的原则,该IMSA0对应到任何一个IMSI的概率相同,因此攻击者根据截获的IMSA0信息,除了得到该用户归属域HLR的信息外,得不到关于用户IMSI的其他任何信息。
系统更新需求:
一个新功能的添加一定需要对系统进行更新,但从成本因素考虑,更新成本越小越好。在移动通信系统中,VLR的数量远远多于HLR的数量,因此最好保持VLR的配置不变或变化不明显(如少量设置更新)。
本发明需要的基本更新如下:对HLR,需要建立一个用户数据库,记录用户IMSI以及对应的IMSA0和IMSA1数据。当前的系统已经有一个记录IMSI及相关信息(如账户资金,服务设置等)的数据库,因此新增数据库只需要在已有数据库中增加两个栏目,用于记录IMSA0和IMSA1数据。而在产生用户认证向量时,需要对第一个RAND(或多个RAND,或全部RAND)的产生过程进行更新,比如让RAND的前4km比特(或后4km比特)为所产生IMSA0中的用户假名字段(即IMSA0的最后m位用户假名字段)重复k次,其中m为用户假名字段的位数,k为一正整数,该RAND的剩余位为随机产生的字符串。
在用户端,需要增加的功能包括:根据RAND数据结构判断其是否包含用户假名字段的重复;根据RAND和IMSI重构IMSA0信息;记录(或更新)IMSA0信息。除此之外,不需要任何更新。
用户端在收到一个网络端发送的用于认证的挑战信息RAND时,特别是用户提供IMSI或IMSA0进行认证之后,需要判断收到的RAND是否包含用户假名字段,避免错误地更新自己的IMSA0信息。为达到这一目的,在HLR产生RAND时,可以让新产生的IMSA0的用户假名字段在该RAND中重复多次。用户可以检查这种重复现象是否发生,从而决定是否更新自己的IMSA0。如果一个RAND是随机产生的,则在固定位置有重复的概率很小,比如有16比特重复的概率是1/2^{16}=0.000015,即平均7万次认证有一次错误判断发生,而当用户假名字段为4位并在RAND中重复3次时,一个随机产生的RAND与之在相应位置上有32比特重复的概率是1/2^{32}=0.000000000233,即平均40多亿次认证有一次错误判断发生。当用户端发生对IMSA0的错误更新时,其造成的影响是用户使用IMSA0的认证失败,但可以在IMSA0几次失败后强行使用IMSI进行认证。适当的策略可以有效避免包括敌手假冒网络在内的IMSI诱导捕获攻击。
对当前用户的完美兼容性:
对一个系统而言,功能更新的最大障碍是兼容性问题,因为现有用户不可能同时更新到新的功能,而现存用户的服务仍需要正常提供。
本发明的特点是具有极好的兼容性。对使用新功能的用户,上述描述给出了如何最大程度地避免使用IMSI。而对于现有用户,完全可以继续使用IMSI进行认证,不管在网络端发送的挑战信息RAND中是否包含可能的用户假名字段,旧用户可以完全忽略,仅当作一个普通的RAND进行处理,而不影响认证过程和认证的有效性。注意IMSI在传输中使用15位16进制数(即15*4=60比特),尽管IMSI要求每位数字为0至9之间。因此,IMSA0的数据格式从网路传输方面与IMSI没有区别,只是到HLR后才可以根据是否全为合法用户标识码而进行识别区分,如检查IMSA0的后m位是否全为十进制数格式。
本发明对其他数据格式和协议步骤没有任何改变,这是保证兼容性的根本。
与现有技术相比,本发明的积极效果如下:
1)现有技术对当前协议的修改较大,而本发明对现有技术的修改很小,特别对认证协议(即AKA)全过程,无论从数据格式上还是协议流程上都没有任何修改,因此对访问域VLR无需做任何改动,这是其它现有技术所不具有的特点;
2)本发明分析了因各种故障可能造成的通信异常情况下,本发明的方法保证认证的正常进行和对IMSI的保护不降低,而许多其他现有技术都缺少这方面的分析,因此其他现有技术是否能抵抗这些故障的影响还是个未知数;
3)本发明对现有用户具有完美的兼容性,该特点来源于对通信数据和认证协议流程的无修改。而其他现有技术虽然也具有一定兼容性,但因为对数据或通信协议的修改,通常这种兼容性是通过新旧两个模块进行处理的,首先需要区分现有用户还是升级用户,然后根据用户类别分别进行不同的通信流程,在效率和代价方便都远劣于本发明;
4)本发明对可靠性(即异常情况的影响)、安全性(即产生合法IMSA0的代价和误判IMSA0数据的概率)等进行了详细技术分析,并对系统更新需求作了明确说明,较许多现有技术相比,都突出了本发明的实用性。本发明的实施例更详细地描述了如何实施本发明的方法。
附图说明
图1本发明的方法流程图;
图2为使用假名保护IMSI的认证协议流程图,其中
图2(a)为用户初次入网认证过程,图2(b)为用户再次入网认证过程;
图3为假名IMSA0的数据格式与IMSI数据格式之间的关系;其中
MCC占3个字节,MNC占2个字节,M0M1M2M3占4个字节,ABCD和X1X2X3X4分别占4个字节。
具体实施方式
为了更好地说明本发明的工作原理,下面给出一个具体实施例。假设一个移动用户的IMSI号码为460010911221001,则根据该IMSI号码的前3位,可以确定是哪个国家的用户,跟据约定,460表示中国,因此漫游到世界任何地方,见到该IMSI号码后,寻找HLR的路由首先根据前三位数字460转到中国的一个接口。然后根据接下来的2位数字01确定运营商,接下来的两位数字09是固定的,接下来的4为数字1122表示在01所表示的运营商内的HLR标识,最后的4位数1001表示在该HLR内部的标识字段为1001的用户。该实施例考虑的是用户假名字段只有4位(即16比特)的情况。
当需要根据该IMSI产生IMSA0时,IMSI的前11位数字保持不变,只产生新的最后4位数字作为用户假名字段。为了使用户假名字段与合法的用户标识字段有区别,一种容易实现且不受合法用户个数限制的方法是,让用户假名字段中至少有一位数字大于9。为方便描述,我们用16进制表示新产生的数字。根据前面的描述,2010显然不是满足条件的IMSA0用户假名字段,因为所有位的数字都在0-9之间,而201A就满足条件,BA1D也满足条件。当然在具体产生假名IMSA0时,需要检查HLR数据库中是否已经使用了对应的假名字段。假设201A是某个IMSI的对应假名字段,因此当需要为另一个IMSI产生假名字段时,就不能使用201A,尽管在格式上满足用户假名字段的形式。当BA1D作为对应IMSI的一个新的用户假名字段被产生后,该假名字段被HLR嵌入到认证向量组的第一组(或某些组,或所有组)的挑战信息RAND中,例如RAND=BA1DBA1DBA1D********************,其中*表示任意4比特长随机字符串。当用户收到该RAND后,检查前4位是否满足IMSA0的数据格式,上述的RAND前4位显然满足,但仅此检查仍不能保证该4位提供的是一个IMSA0的部分信息,可能刚好是一个随机产生的数,因此需要检查接下来的4位数是否与前4为数相同,甚至再接下来的4位数字是否与前4位仍然相同,如果相同,则认为该RAND的前4位所传递的是一个用户假名字段信息,用户从自己的IMSI中截取前11位数字,结合该4位数,构成完整的用户假名信息IMSA0=46001091122BA1D,并记录该假名。但即使RAND的前4位与接下来的4位相同,甚至再接下来的4位也仍然相同,也可能该RAND是随机产生的,只是刚好满足此性质,这样用户更新IMSA0就是一种错误。但正如前面分析的,在IMSA0的后4位重复2次的情况下,发生这种错误的概率为0.000015,而在IMSA0的后4位重复3次的情况下,发送这种错误的概率为0.000000000233,因此在实际中不构成对IMSI泄露的威胁。事实上,该错误发送的概率还可以降低,比如令RAND=BA1DBA1DBA1DBA1D****************,即假名IMSA0的后4位部分在RAND中重复4次,则随机产生一个RAND刚好满足该格式的概率为1//2^{48}=0.00000000000000355,即约为280亿亿分之一,因此完全可以忽略,而剩余16位(64比特)随机数足可以保证该RAND的随机性。
当用户需要提供IMSI进行认证时,用户提供IMSA0信息,其对网络来说在格式上与IMSI没有区别,网络可以顺利找到其对应的国家、运营商及其HLR。当该IMSA0信息被传送到归属HLR时,该HLR从最后4位上可以判断它是一个IMSI信息还是一个IMSA0信息,从而可以在其数据库中查找,并按照本发明所描述的步骤进行认证和对假名的更新。

Claims (10)

1.一种基于假名的移动用户标识码IMSI保护方法,其步骤包括:
A)在用户初次入网阶段
A1)用户发送用户标识码IMSI给网络归属域HLR进行认证,所述HLR在完成认证后为所述用户生成假名IMSA0,并将其记录到所述HLR的数据库中;
A2)所述HLR根据用户假名IMSA0产生认证向量并通过网络访问域VLR对所述用户进行认证;
A3)所述HLR将所述用户假名IMSA0中的用户假名字段通过网络访问域VLR发送给所述用户;
A4)所述用户接收到所述用户假名字段后,重构并记录该用户假名IMSA0;
B)在用户再次入网阶段
B1)用户将自己所存储的最新用户假名IMSA0信息发送给所述网络归属域HLR进行认证,所述网络归属域检查数据库中是否存在该用户假名IMSA0,如果不存在,则所述HLR报告用户认证失败;否则,所述HLR产生一个新的用户假名,并更新数据库中该用户的原假名;
B2)所述HLR根据新产生的用户假名IMSA0产生认证向量并通过网络访问域VLR对所述用户进行认证;
B3)所述HLR将新生成的用户假名IMSA0中的用户假名字段通过所述VLR发送给所述用户;
B4)所述用户在接收到所述用户假名字段后,重构该用户假名IMSA0后,替换原存储的用户假名。
2.如权利要求1所述的方法,其特征在于所述HLR利用用户假名字段替换该用户标识码IMSI中的用户标识字段,生成该用户的假名IMSA0;所述用户假名字段是不合法的用户标识字段。
3.如权利要求2所述的方法,其特征在于采用随机数生成方法生成所述用户假名字段。
4.如权利要求3所述的方法,其特征在于所述用户假名字段为一m位16进制数X1X2...Xm,其中X1,X2,...,Xm中至少有一位不是0-9之间的数字。
5.如权利要求4所述的方法,其特征在于所述HLR将所述用户假名IMSA0发送给所述用户的方法为:所述HLR将所述IMSA0中的用户假名字段嵌入到一个认证向量的随机挑战RAND中,并将所述认证向量通过网络访问域VLR发送给所述用户;所述用户收到所述VLR传送的RAND后,检查所述RAND是否含有所述用户假名字段信息;如果有,则所述用户根据自己的IMSI信息和所述RAND提供的所述用户假名字段重构用户假名IMSA0。
6.如权利要求5所述的方法,其特征在于所述网络归属域HLR将所述用户假名字段n次重复地嵌入到一个认证向量的随机挑战RAND中,其中n是不小于1的自然数。
7.如权利要求5所述的方法,其特征在于所述网络归属域HLR将所述用户假名字段n次重复地嵌入到多个认证向量的随机挑战RAND中,其中n是不小于1的自然数。
8.如权利要求1或2或3或4或5或6或7所述的方法,其特征在于所述数据库包括:用户标识码IMSI栏目、用户假名IMSA0栏目,还包括一用户确认假名IMSA1栏目,所述IMSA1栏目用于存储最近一次用户确认过的用户假名。
9.如权利要求8所述的方法,其特征在于,在用户再次入网阶段,所述网络归属域HLR检查数据库中是否存在该用户假名IMSA0,并更新所述数据库的方法为:所述HLR在数据库的IMSA0栏目中搜寻从所述用户传来的IMSA0数据,
如果找到匹配的用户假名,则所述HLR执行下列步骤:
a)将匹配的IMSA0数据移到所述数据库的对应同一IMSI的IMSA1栏目,替换所述IMSA1栏目中相应位置已存在的数据;
b)为所述用户产生新的IMSA0数据,并将该IMSA0数据写入数据库的所述用户所对应的IMSA0栏目内;
c)根据所述新产生的IMSA0产生用户认证向量,并通过所述VLR对所述用户进行认证;
如果未找到匹配的用户假名,则所述HLR在数据库的IMSA1栏目中搜寻从所述用户传来的IMSA0数据,如果未找到匹配的用户假名,则所述HLR报告用户认证失败;如果找到匹配的用户假名,则所述HLR执行下列步骤:
a)为所述用户产生新的用户假名IMSA0,并将该IMSA0数据写入数据库的所述用户所对应的IMSA0栏目内;
b)根据所述新产生的IMSA0产生用户认证向量,并通过所述VLR对所述用户进行认证。
10.如权利要求8所述的方法,其特征在于所述用户假名IMSA0栏目、用户确认假名IMSA1栏目只存储所述用户假名字段部分。
CN201010289353.XA 2010-09-21 2010-09-21 一种基于假名的移动用户标识码imsi保护方法 Active CN101959183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010289353.XA CN101959183B (zh) 2010-09-21 2010-09-21 一种基于假名的移动用户标识码imsi保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010289353.XA CN101959183B (zh) 2010-09-21 2010-09-21 一种基于假名的移动用户标识码imsi保护方法

Publications (2)

Publication Number Publication Date
CN101959183A CN101959183A (zh) 2011-01-26
CN101959183B true CN101959183B (zh) 2013-01-23

Family

ID=43486218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010289353.XA Active CN101959183B (zh) 2010-09-21 2010-09-21 一种基于假名的移动用户标识码imsi保护方法

Country Status (1)

Country Link
CN (1) CN101959183B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10136318B1 (en) 2017-06-21 2018-11-20 At&T Intellectual Property I, L.P. Authentication device selection to facilitate authentication via an updateable subscriber identifier

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097886A1 (en) * 2011-12-27 2013-07-04 Telecom Italia S.P.A. Dynamic pseudonymization method for user data profiling networks and user data profiling network implementing the method
US9530026B2 (en) 2012-06-08 2016-12-27 Nokia Technologies Oy Privacy protection for participatory sensing system
CN104283853B (zh) 2013-07-08 2018-04-10 华为技术有限公司 一种提高信息安全性的方法、终端设备及网络设备
CN103944893B (zh) * 2014-04-14 2017-05-24 联想(北京)有限公司 一种通信方法及用户设备
CN105451232B (zh) * 2014-08-13 2019-07-02 中国移动通信集团江苏有限公司 伪基站检测方法、系统及终端、服务器
US10237729B2 (en) * 2015-03-05 2019-03-19 Qualcomm Incorporated Identity privacy in wireless networks
CN106211167B (zh) * 2016-06-28 2019-08-02 宇龙计算机通信科技(深圳)有限公司 一种终端、伪基站识别方法及系统
US10516994B2 (en) * 2016-07-17 2019-12-24 Qualcomm Incorporated Authentication with privacy identity
CN108012266B (zh) * 2016-10-31 2021-04-09 华为技术有限公司 一种数据传输方法及相关设备
US20190014095A1 (en) 2017-07-06 2019-01-10 At&T Intellectual Property I, L.P. Facilitating provisioning of an out-of-band pseudonym over a secure communication channel
CN108093402B (zh) * 2017-11-24 2021-02-09 中国科学院信息工程研究所 一种基于终端增强的用户隐私信息保护方法及系统
CN107911813B (zh) * 2017-11-24 2020-07-07 中国科学院信息工程研究所 透明模式的移动用户身份管理方法及系统
CN107911814B (zh) * 2017-11-24 2020-08-25 中国科学院信息工程研究所 一种基于hss增强的用户身份信息保护方法及系统
CN108200007B (zh) * 2017-11-24 2021-02-02 中国科学院信息工程研究所 一种移动网络动态身份管理方法及系统
CN110351721A (zh) * 2018-04-08 2019-10-18 中兴通讯股份有限公司 接入网络切片的方法及装置、存储介质、电子装置
CN108683510B (zh) * 2018-05-18 2021-03-23 兴唐通信科技有限公司 一种加密传输的用户身份更新方法
CN108848502B (zh) * 2018-05-18 2021-07-23 兴唐通信科技有限公司 一种利用5g-aka对supi进行保护的方法
CN108848495B (zh) * 2018-05-18 2021-03-23 兴唐通信科技有限公司 一种使用预置密钥的用户身份更新方法
CN110493769A (zh) * 2019-07-05 2019-11-22 南京航空航天大学 基于轻量级Hash映射的手机号保密方案
CN112330360B (zh) * 2020-11-04 2023-09-01 中国联合网络通信集团有限公司 广告推送方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359990A (zh) * 2008-09-28 2009-02-04 熊猫电子集团有限公司 时分同步码分多址与自组织网络融合的认证方法
CN101365219A (zh) * 2007-08-09 2009-02-11 展讯通信(上海)有限公司 一种手机注册方法及手机端处理方法和网络侧处理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101365219A (zh) * 2007-08-09 2009-02-11 展讯通信(上海)有限公司 一种手机注册方法及手机端处理方法和网络侧处理方法
CN101359990A (zh) * 2008-09-28 2009-02-04 熊猫电子集团有限公司 时分同步码分多址与自组织网络融合的认证方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10136318B1 (en) 2017-06-21 2018-11-20 At&T Intellectual Property I, L.P. Authentication device selection to facilitate authentication via an updateable subscriber identifier

Also Published As

Publication number Publication date
CN101959183A (zh) 2011-01-26

Similar Documents

Publication Publication Date Title
CN101959183B (zh) 一种基于假名的移动用户标识码imsi保护方法
US10776791B2 (en) System and method for identity protection using mobile device signaling network derived location pattern recognition
CN102006299B (zh) 一种面向可信互联网的基于实体标识的身份认证方法及系统
CN111010376B (zh) 基于主从链的物联网认证系统及方法
CN111191283B (zh) 基于联盟区块链的北斗定位信息安全加密方法及装置
CN103428699A (zh) 一种基于手机硬件特征信息的注册绑定和身份认证的方法
CN106850209A (zh) 一种身份认证方法及装置
CN103607416B (zh) 一种网络终端机器身份认证的方法及应用系统
CN104519018A (zh) 一种防止针对服务器的恶意请求的方法、装置和系统
CN106209900B (zh) 一种智能锁向中继器注册的方法
Rao et al. Unblocking stolen mobile devices using SS7-MAP vulnerabilities: Exploiting the relationship between IMEI and IMSI for EIR access
CN112437428B (zh) 验证方法和服务器
CN109905874A (zh) 基于区块链的自主择号的方法及系统
CN108471601B (zh) 网间结算方法、装置、设备及存储介质
CN103856940A (zh) 安全认证方法和系统
CN111444531A (zh) 一种基于区块链的隐私数据保护系统及实现方法
CN1684411A (zh) 一种验证移动终端用户合法性的方法
CN103020505B (zh) 基于指纹认证的信息管理系统及信息管理方法
CN115134069A (zh) 区块链编辑的方法和区块链节点
CN1823494B (zh) 保护电子证书的方法
Kumar et al. Vulnerability detection of international mobile equipment identity number of smartphone and automated reporting of changed IMEI number
CN104244242A (zh) 一种物联网设备的网络号码编配方法和相应的认证方法
CN112468497B (zh) 区块链的终端设备授权认证方法、装置、设备及存储介质
CN105357015A (zh) 一种物联网安全认证方法
CN117056981A (zh) 一种数字身份管理的方法与装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant