CN111107598B - 一种通讯模组网络运营商自动切换的方法 - Google Patents
一种通讯模组网络运营商自动切换的方法 Download PDFInfo
- Publication number
- CN111107598B CN111107598B CN201911384310.7A CN201911384310A CN111107598B CN 111107598 B CN111107598 B CN 111107598B CN 201911384310 A CN201911384310 A CN 201911384310A CN 111107598 B CN111107598 B CN 111107598B
- Authority
- CN
- China
- Prior art keywords
- communication module
- operator
- key
- communication
- network
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0083—Determination of parameters used for hand-off, e.g. generation or modification of neighbour cell lists
- H04W36/00837—Determination of triggering parameters for hand-off
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
- H04W12/42—Security arrangements using identity modules using virtual identity modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/14—Reselecting a network or an air interface
Abstract
本发明公开一种通讯模组网络运营商自动切换的方法,其包括:通讯模组基于通讯性能强弱列表以及预定的挑选策略选择合适的签约运营商作为选定运营商;通讯模组向选定运营商发起签约会话/通讯密钥的OTA下载流程,将选定运营商的HLR/AuC初始密钥以及关键通讯参数从服务器远端下载到通讯模组的本地;通讯模组对预置的鉴权算法进行算法置换,将加密后的参数输入鉴权算法中,使鉴权算法和加密密钥实现延迟关联;通讯模组使用改组通讯密钥,登录选定运营商的网络进行正常的通讯服务。本发明使通讯模组能够根据当时、当地的信号强度,主动发起运营商的选择,解决了多个运营商覆盖环境下主动进行运营商切换的难题。
Description
技术领域
本发明涉及数字通讯领域中GSM 2G、3G、4G电信网络运营中的USIM应用,具体涉及一种通讯模组网络运营商自动切换的方法。
背景技术
SIM/USIM卡是(Subscriber Identification Module),也称为用户身份识别卡、智能卡,GSM/CDMA数字移动电话机必须装上此卡方能使用。
在电脑芯片上存储了数字移动电话客户的信息,加密的密钥以及用户的电话簿等内容,可供GSM/CDMA网络客户身份进行鉴别,并对客户通话时的语音信息进行加密。
SIM由CPU、ROM、RAM、EEPROM和I/O电路组成。用户使用SIM时,实际上是手机向SIM卡发出命令,SIM卡应该根据标准规范来执行或者拒绝;SIM卡并不是单纯的信息存储器。
传统SIM的使用场景下,无论是打电话发短信,还是通过手机上网,人们通常都要先购买一台手机;然后再去运营商那里办理入网业务,再将获得的这张SIM卡放入手机中;而在这以后,人们就与运营商之间建立了长久的契约关系:包括身份认证、缴纳费用、办理业务在内的相关活动,用户都只需要与运营商沟通。
所谓 ESIM 卡就是虚拟 SIM卡,之所以称之为虚拟,是因为该卡采用嵌入式技术,在出厂时会被预装在设备里,由于本身并未锁定于某个运营商网络,因此用户可以通过系统界面切换运营商服务,省去了将 SIM 卡拿出和更换的环节。
虚拟SIM和实体SIM最大的区别就在于,虚拟SIM可以多次擦写,可以承载多个IMSI(用户识别码),对于经常出差或变更地点使用流量服务的人来说,可擦写的IMSI意味着可以快速、自主切换所接的运营商,个性化地选择无线网络服务。
在虚拟ESIM卡的推动上,苹果是领头人,紧跟其后就是华为在14年推出的“天际通”,MIUI7发布时亮出了"小米漫游"功能,用户在境外无需购买其他硬件,就能获得当地资费的数据上网服务。还有263移动通信技术支持的360奇酷手机漫游,创新应用“空中下发”技术,系统直接下发当地虚拟SIM卡,使以当地服务价格直接提供36个热门国家地区的数据上网服务变为可能。
ESIM卡这个概念是GSMA提出来的,GSMA基本是全球运营商主导的一个组织,它的基本特征是运营商控制写入ESIM卡的信息,用户依然是从运营商处购买通信服务。在物联网应用中这很重要,所以运营商倾向于首先在物联网应用中使用这个。
SoftSim概念最开始是苹果提出,后来也有其他终端商跟进,它的基本特征是终端商控制写入SoftSim的信息,可以截断用户和运营商之间的联系,改为由终端商向用户出售通信服务。
现有的运营商切换实现方案,主要有两种,一种是利用实体芯片,按照GSM定义的ESIM卡,另一种是借助手机/通讯模组运行环境,利用APP实现GSM的USIM卡规范约定功能的SoftSim。这两种方案,都将涉及两个问题,就是1、何时切换;2、如何切换。
其中,针对何时切换的解决方案,目前通常的方法是在设备出厂、运营商合约期满或者是预设的运营商切换条件满足时进行切换。
针对如何切换的解决方案:目前通常的方法是通过ESIM发卡平台/SoftSim发卡平台/定制AT指令,通过AT访问端口等方式启动数据切换流程。
然而在实际使用中,经常出现下列场景,某地区有多个运营商覆盖,由于各运营商基站覆盖差异,常出现A运营商网络信号较好,B运营商网络信号较差情况发生。对于此种场景,前面提到的方案均无法解决。
发明内容
在下文中给出了关于本发明实施例的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,以下概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明的目的是使通讯模组能够根据当时、当地的信号强度,主动发起运营商的选择,从而在很大程度上解决背景技术所阐述的问题。为此,本发明的思路如下:在通讯模组中预置了判断多个运营商信号强弱,从中选择一个最佳运营商的预判流程。在预判流程中,筛选合适的种子密钥,同服务器的交互,完成通讯密钥的下载、安装。
根据本申请的一个方面,提供一种通讯模组网络运营商自动切换的方法,包括:
步骤1:通讯模组中预置有签约运营商的网络信息列表(包含有签约运营商的网络通讯参数),通讯模组通过预判流程循环查询各签约运营商的网络信号强度;网络信息列表包括至少一个当前可用的网络的网络信息;预判流程包括下述的步骤2;
步骤2:通讯模组根据网络信号强度的强弱分别登陆签约运营商的网络(例如按签约运营商的网络信号强度从强到弱的顺序来分别登陆),每登陆一个签约运营商的网络,通讯模组与该签约运营商进行数据通讯,进一步评估数据通讯性能,并对其排序形成签约运营商的通讯性能强弱列表;
步骤3:通讯模组基于通讯性能强弱列表以及预定的挑选策略(资费、性能等因数综合评估)选择合适的签约运营商作为选定运营商;
步骤4:通讯模组向选定运营商发起签约会话/通讯密钥的OTA下载流程,将选定运营商的HLR/AuC初始密钥以及关键通讯参数从服务器远端下载到通讯模组的本地;
同时,通讯模组对其唯一标识Chip_ID进行密钥分散以产生加密密钥,并对下载到本地的选定运营商的HLR/AuC初始密钥以及关键通讯参数进行加密和存储;
步骤5:通讯模组对预置的鉴权算法进行算法置换,得到置换后的加密秘钥;将步骤4输出的加密后的参数输入鉴权算法中,使鉴权算法和加密密钥实现延迟关联;步骤5中使鉴权算法和加密密钥实现延迟关联是将经过置换后的鉴权算法和置换后的加密秘钥(也即经过加密的加密秘钥)通过链表关联起来,使得鉴权算法在运行时可以找到对应的密钥,同时又可抵御常用的攻击手段;
步骤6:通过置换算法的逆运算,将置换后的加密秘钥在解密过程中动态还原为通讯密钥,通讯模组使用该通讯密钥,登录选定运营商的网络进行正常的通讯服务。另外,通讯密钥被使用完成后则进行销毁,以防止攻击。
通过上述步骤5,可防止算法攻击者进行代码动态跟踪破解。由于网络和模组必须采用公知的鉴权算法,攻击者只要动态跟踪到算法入口,截获入口参数,即可完成密钥破译。因此,本申请设计了该步骤5,即便攻击者跟踪到健全算法入口,如果不对经过置换的算法实现代码进行细致的分析,截获的参数亦是无效的。
进一步的,本发明的通讯模组网络运营商自动切换的方法还包括步骤7:启动监控线程,对当前通讯模组的运行状态和信号强度进行监控,当运行状态出现异常或者信号强度低于可靠连接要求时,保存该非正常状态;当非正常状态达到一定次数/频率后,跳转到步骤2重新选择签约运营商。此外,通讯模组还可以在运行过程中,当监控线程判断到当前网络信号不佳时,还同时向服务器上报当前选定运营商信号较差的情况,由服务器辅助判断是否进行运营商的更换。
其中,所述通讯模组的处理流程符合如下协议和规范:3GPP TS 21.111:USIM/IC标准规范(USIM and IC Card Requirements)、3GPP TS 31.111:USIM应用工具箱(USIMApplication Toolkit (USAT))、3GPP TS 33.102:USIM应用功能规范(Characteristicsof the USIM application)。
并且,所述通讯模组的鉴权算法符合如下协议和规范:3GPP TS 33.102:3GPP安全、安全架构(3GPP Security; Security Architecture)、3GPP TS 35.206: MILENAGE算法集的规范(Specification of the MILENAGE Algorithm Set)。
此外,所述通讯模组中预先存储包含有签约运营商的网络通讯参数的数据内容,数据内容由签约运营商获取,数据内容的数据存储格式符合:a、3GPP TS 33.102: USIM应用的特性(Characteristics of the USIM application)。
通讯模组的网络信息列表至少包括公共陆地移动网络信息、归属位置寄存器、用户签约信息国际移动用户识别码和业务类型信息,通讯模组将该网络信息列表按照3GPPTS 33.102:USIM应用功能规范要求,在通讯模组中动态生成一张虚拟USIM卡。
运营商的通讯性能强弱列表包括接收信号强度指示<rssi>、信道误码率<ber>、参考信号接收功率<RSRP>以及参考信号接收功率<RSRP>。
通讯模组向选定运营商发起签约会话,具体包括:通讯模组通过socket接口,向选定运营商的远程服务器发送连接(connect)请求;建立连接后,按照约定数据协议,向远程服务器发送当前运营商网络信号报文,该信号报文报文中包含该通讯模组的唯一识别号Chip_ID信息以及防篡改随机数;远程服务器收到信号报文后,放入暂存列表,同时下发收到确认信息;通讯模组收到确认信息后,向服务器发送关闭(close)请求,关闭该socket接口。
通讯模组向选定运营商发起OTA下载流程具体包括:通讯组通过socket接口,向远程服务器发起OTA数据下载请求、该通讯模组的唯一识别号Chip_ID信息以及防篡改随机数;远程服务器在接收到下载请求后,通过Chip_ID和random数据,防止网络的恶意攻击,同时分辨出与之通讯的通讯模组。
通讯模组与该签约运营商进行数据通讯,进一步评估数据通讯性能,具体是通过如下规则来进行性能排序:1)网络信号信息大于可靠阈值;2)数据丢包率和数据包往返时间以落在统计模型高斯分布方差σ² (或标准差σ)内。
步骤5:通讯模组对预置的鉴权算法进行算法置换具体包括如下过程:
当3G用户漫游到不同网络时,将UMTS鉴权五元组参数输入到GSM鉴权三元组,以满足当3G用户漫游到GSM BSS时的鉴权、加密过程,HLR/AuC,SGSN/SGSN以及USIM均支持:
c1: RAND[GSM] = RAND;
c2: SRES[GSM] = XRES*1 xor XRES*2 xor XRES*3 xor XRES*4;
c3: Kc[GSM] = CK1 xor CK2 xor IK1 xor IK2;
当TD用户漫游在TD网络时,采用UMTS鉴权三元组进行鉴权、加密;当TD用户漫游到2G网络时,采用GSM鉴权三元组进行鉴权、加密;
一个鉴权向量包含4个参数:RAND、XRES、AUTN和KASME,其中,RAND是由随机数发生器产生128bit的随机数,XRES是一个64位的期望响应,AUTN是鉴权令牌,KASME是接入安全管理实体的K值,也即UE和HSS根据CK/IK推演得到的密钥,是根据CK、IK和SN id计算得到256bit数。
在这里如果把f1、f1*、f2、f3、f4、f5、f5*看做一个函数,其他参数看做变量,那么可以得到:
AUTN = SQN Å AK || AMF || MAC
MAC-A = f1(RAND,OPC,K,SQN,AMF,r1,c1)
MAC-S = f1*(RAND,OPC,K,SQN,AMF,r1,c1)
RES=f2(RAND,OPC,K,r2,c2)=XRES
CK = f3(RAND,OPC,K,r3,c3)
IK = f4(RAND,OPC,K,r4,c4)
AK = f5(RAND,OPC,K,r2,c2)
AK = f5*(RAND,OPC,K,r5,c5)
其中,f1,f2,f3,f4,f5是在3GPP TS 35.206: MILENAGE算法集的规范(Specification of the MILENAGE Algorithm Set)中规定的一组鉴权算法。上述参数的物理意义同样参见3GPP TS 35.206: MILENAGE算法集的规范(Specification of theMILENAGE Algorithm Set)。
根据上述分析可以看出,OPC,K是其中的两个关键参数,关系到整个鉴权算法的安全,需要重点加以保护。
根据异或规则:
a、同为0,异为1;
b、数据进行异或一次,加密,数据进行异或两次,解密。
按照下列算法示例,分别对f1, f1*算法进行异或置换,使得f1,f1*算法可以接受经过加密密钥加密后的数据输入。
本发明通过设置预判流程,使通讯模组能够根据当时、当地的信号强度,主动发起运营商的选择,从而解决了同个地区有多个运营商覆盖环境下无法应用现有技术进行运营商切换的问题。同时,通过将鉴权算法和加密密钥实现延迟关联,不仅使得鉴权算法在运行时可以找到对应的密钥,同时又可抵御常用的攻击手段,具有很好的安全性。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。在附图中:
图1为本发明的通讯模组网络运营商自动切换方法的流程图;
图2为当3G用户漫游到不同网络时鉴权/加密的总原则示意图;
图3为本发明的鉴权算法置换的示意图。
具体实施方式
下面将参照附图来说明本发明的实施例。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。
本实施例中,通讯模组满足如下前置条件:
前置条件1,通讯模组中预置符合下列规范的流程实现:
a、 3GPP TS 21.111: "USIM and IC Card Requirements"
b、3GPP TS 31.111: "USIM Application Toolkit (USAT)"
c、3GPP TS 33.102: " Characteristics of the USIM application"
前置条件2,通讯模组中预置符合下列规范的鉴权算法实现:
a、3GPP TS 33.102: "3GPP Security; Security Architecture"
b、3GPP TS 35.206: "Specification of the MILENAGE Algorithm Set"
前置条件3,通讯模组中预置签约运营商的网络通讯参数存储实现,数据内容由签约运营商获取,数据存储格式符合:
a、3GPP TS 33.102: " Characteristics of the USIM application"
具体的,参见图1,该通讯模组网络运营商自动切换方法包括:
步骤1、通讯模组上电后,读取和判断保存在非易逝存储器中的“运营商网络选择标志”,如果该标识置位,正常通讯模组初始化流程中,插入一个新的运营商网络选择流程;
步骤2、运营商网络选择流程描述:
步骤2.1、从预存在通讯模组中的运营商网络信息列表中,顺序选择其中之一,将下列信息:运营商的网络信息具体可以包括公共陆地移动网络(Public Land MobileNetwork,简称PLMN)信息、归属位置寄存器(Home Location Register,简称HLR)中、用户签约信息国际移动用户识别码(International Mobile SubscriberIdentificationNumber,简称IMSI)和业务类型等信息,读取并按照3GPP TS 33.102: " Characteristicsof the USIM application"要求,在通讯模组中动态生成一张虚拟USIM卡实现。
步骤2.2、通过ISO7816逻辑接口/远程USIM客户端接口,向Modem发送USIM卡上电复位请求,当接收到Modem的复位应答Reset Request后,回送ATR信息。之后,响应每一个Modem的APDU Request请求,直至网络鉴权流程结束。自此,通讯模组登陆网络过程结束,通讯模组具备数据通讯能力。
步骤2.3、获取该运营商网络信号信息SGCELLINFO,包括接收信号强度指示<rssi>、信道误码率<ber>、参考信号接收功率<RSRP>、参考信号接收功率<RSRP>等。将这些信息打包,作为后续的运营商网络信号上报报文。放入暂存列表。
步骤2.4、通过socket接口,向远程服务器发送connect请求,建立连接后,按照约定数据协议,向服务器发送当前运营商网络信号报文。报文中包含该通讯模组的唯一识别号Chip_ID信息,以及防篡改随机数。服务器收到报文后,放入暂存列表,同时下发收到确认信息。通讯模组收到确认信息后,向服务器发送close请求,关闭该socket接口。
步骤2.5、通讯模组和服务器两端在上述socket通讯过程中,通过向目标主机传出一个ICMP echo要求数据包,并等待接收echo回应数据包。按照相应时间和成功响应的次数估算丢失数据包率(丢包率)和数据包往返时间(网络时延,Round-trip delay time)。进而对实际的数据通讯能力进行评估。
步骤2.6、其中,步骤2.1~2.5完成了一次签约运营商的网络信号评估过程,重复该过程,将通讯模组中预存的全部运营商进行一轮循环,可以获得一张列表,该列表即为签约运营商的通讯性能强弱列表。通讯模组和服务器都能获得、暂存这样一张通讯性能强弱列表。
步骤2.7、通讯模组对运营商选择,通讯模组负责对各签约运营商的数据通讯性能进行评估/排序,按照预定的挑选策略(资费、性能等因数综合评估)选择合适的签约运营商。性能排序:1)网络信号信息大于可靠阈值;2)数据丢包率和数据包往返时间以落在统计模型高斯分布方差σ² (或标准差σ)内;。
步骤3、通讯模组通过socket接口,向服务器发起OTA数据下载请求,以及该通讯模组的唯一识别号Chip_ID信息,防篡改随机数。服务器在接收到下载请求后,通过Chip_ID和random数据,防止网络的恶意攻击,同时分辨出与之通讯的通讯模组。
步骤4、如果是服务器进行运营商选择,服务器负责对各签约运营商的数据通讯性能进行评估/排序,按照预定的挑选策略(资费、性能等因数综合评估)选择合适的签约运营商。性能排序:1)网络信号信息大于可靠阈值;2)数据丢包率和数据包往返时间以落在统计模型高斯分布方差σ² (或标准差σ)内。
步骤5、根据通讯模组/服务器的选择,服务器生成运营商网络信息OTA下载数据包,该数据包包含选定运营商的HLR/AuC初始密钥以及关键通讯参数。该数据包经过RSA/ECC加密后,通过socket接口,下载到通讯模组上。RSA/ECC加密是为抵御中间人攻击。
步骤6、通讯模组接收到OTA下载数据包,经过RSA/ECC非对称解密,获得明文。
步骤7、对通讯模组上的唯一标识Chip_ID/Mac等标识进行3DES/AES密钥分散,产生加密密钥,步骤6获得的关键通讯密钥(Ki/Opc/A_Key/SSD)进行加密,存储。
步骤8、MILENAGE,Run_Cave等标准算法进行算法置换:
根据3GPP 33.102,当3G用户漫游到不同网络时,鉴权、加密的总的原则如图2所示:
规范定义了如下方式可以进行UMTS鉴权五元组参数到GSM鉴权三元组,以满足当3G用户漫游到GSM BSS时的鉴权、加密过程,HLR/AuC,SGSN/SGSN以及USIM等均可以支持:
c1: RAND[GSM] = RAND
c2: SRES[GSM] = XRES*1 xor XRES*2 xor XRES*3 xor XRES*4
c3: Kc[GSM] = CK1 xor CK2 xor IK1 xor IK2
当TD用户漫游在TD网络时,采用五元组方式进行鉴权、加密(即UMTS方式);而当TD用户漫游到2G网络时,采用三元组方式进行鉴权、加密(即GSM方式)。
参见图3,一个鉴权向量包含4个参数:RAND、XRES、AUTN、KASME,其中:
1. RAND:一个128bit的随机数,由随机数发生器产生;
2. XRES:一个64位的期望响应(Expected Response);
3. AUTN:鉴权令牌(Authentication Token);
4. KASME:接入安全管理实体的K值(Access Security Management EntityKey),其实就是UE和HSS根据CK/IK推演得到的密钥,根据CK、IK和SN id计算得到256bit数。
在这里如果把f1、f1*、f2、f3、f4、f5、f5*看做一个函数,其他参数看做变量,那么可以得到:
AUTN = SQN ⊕ AK || AMF || MAC
MAC-A = f1(RAND,OPC,K,SQN,AMF,r1,c1)
MAC-S = f1*(RAND,OPC,K,SQN,AMF,r1,c1)
RES=f2(RAND,OPC,K,r2,c2)=XRES
CK = f3(RAND,OPC,K,r3,c3)
IK = f4(RAND,OPC,K,r4,c4)
AK = f5(RAND,OPC,K,r2,c2)
AK = f5*(RAND,OPC,K,r5,c5);
其中,f1,f2,f3,f4,f5是在3GPP TS 35.206: MILENAGE算法集的规范(Specification of the MILENAGE Algorithm Set)中规定的一组鉴权算法。上述参数的物理意义同样参见3GPP TS 35.206: MILENAGE算法集的规范(Specification of theMILENAGE Algorithm Set),具体的,各个参数所对应的物理意义如下:
AK: 一个48Bit的匿名密钥,是f5和f5*函数的输出;
AMF:16Bit身份验证管理字段,是函数f1和f1*的输入;
c1、c2、c3、c4、c5:128Bit常量,它们被异或到中间变量上;
CK:函数f3输出的128Bit保密密钥;
IK:128Bit完整性密钥,是函数f4的输出;
IN1:由SQN和AMF构成的128Bit值,用于计算函数f1和f1*;
K:128Bit的用户密钥,它是f1、f1*、f2、f3、f4、f5和f5*函数的输入;
MAC为身份验证码;
MAC-A:64Bit网络身份验证码,函数f1的输出,鉴权时作为MAC值;
MAC-S:64Bit重新同步身份验证码,函数f1*的输出,重同步鉴权时作为MAC值;
OP:128Bit运算符变量算法配置字段,它是函数f1、f1*、f2、f3、f4、f5和f5*的组成部分;
OPC:OP和K派生的128Bit值,用于计算函数;
r1、r2、r3、r4、r5:整数,范围为0-127(含0-127),定义中间变量,循环移位变量;
RAND:128Bit随机挑战,函数f1、f1*、f2、f3、f4、f5和f5*的输入;
RES:函数f2的输出的64Bit结果;
SQN:48Bit的序列号,它是f1和f1*函数的输入。(对于f1*这个输入更准确地称为SQNMS。)
算法置换是对标准算法预防攻击者动态跟踪指令代码,从函数入口截获密码的一种抗攻击手段,基本原理是利用数值计算中的异或计算特性:
A=A^B^B
典型亦或的处理如下:
for (i=0; i<16; i++) {
rijndaelInput[i] = rand[i] ^ op_c[i];
rijndaelInput[i] = rand[i] ^ OPc_s(op_c, i);
}
通过两次的亦或运算,数据可以被还原。
如果把这种运算穿插在标准公知的算法中,将给破译者带来极大的破译难度。但是该方法的缺点是:置换算法的设计者,需要对被置换的算法非常熟悉,才能将公知算法进行变换。同时,密钥也需要变换,本申请通过上述改写的置换算法,可很好的防止网络的恶意攻击。
根据这些分析可以看出,OPC,K是其中的两个关键参数,关系到整个鉴权算法的安全,需要重点加以保护。
根据异或规则:
a、同为0,异为1;
b、数据进行异或一次,加密。数据进行异或两次,解密。
按照下述SecurityUtil算法示例,分别对f1, f1*算法进行异或置换,使得f1,f1*算法可以接受经过步骤7加密后的数据输入。
public class SecurityUtil {
//异或 实现加密与解密 存入和返回的都是字符串
public String Xor(String input){
char [] chs =input.toCharArray();
for(int i=0;i<chs.length;i++){
chs[i]=(char)(chs[i]^3000);
}
return new String(chs);
}
public static void main(String[] args) {
SecurityUtil securityUtil =new SecurityUtil();
String a ="asdvfff";
String b= securityUtil.Xor(a);
System.out.println(b);
String c= securityUtil.Xor(b);
System.out.println(c);
}
}
步骤9、将经过置换的算法实现和经过加密的关键密钥通过链表关联起来,使得算法在实现时可以找到对应的密钥,同时又抵御了如下常用的攻击手段:
将通讯模组A上的关键数据读取出来,复制到通讯模组B上使用;
通过JTag工具,动态跟踪、分析代码,查找到关键密钥Ki/Opc;
通过IDA Pro等反编译工具,静态分析代码,查找到关键密钥Ki/Opc。
步骤10、清除重新选择运营商网络标志。
步骤11、使用该组通讯密钥,重复步骤2.1~2.2,登录网络进行正常的通讯服务。
步骤12、启动监控线程,对当前通讯模组的运行状态/信号强度进行监控,当运行状态出现异常/信号强度低于可靠连接要求时,保存该非正常状态。当非正常状态达到一定次数/频率后,启动应急流程/设置“运营商网络选择标志”,重新开始步骤1。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
此外,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的时间顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
尽管上面已经通过对本发明的具体实施例的描述对本发明进行了披露,但是,应该理解,上述的所有实施例和示例均是示例性的,而非限制性的。本领域的技术人员可在所附权利要求的精神和范围内设计对本发明的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本发明的保护范围内。
Claims (8)
1.一种通讯模组网络运营商自动切换的方法,其特征在于:包括:
通讯模组通过预判流程循环查询各签约运营商的网络信号强度,基于网络信号强度选择合适的签约运营商作为选定运营商,并向该选定运营商主动发起连接;
该方法具体包括:
步骤1:通讯模组中预置有签约运营商的网络信息列表,通讯模组通过预判流程循环查询各签约运营商的网络信号强度;网络信息列表包括至少一个当前可用的网络的网络信息;
步骤2:通讯模组根据网络信号强度的强弱分别登陆签约运营商的网络,每登陆一个签约运营商的网络,通讯模组与该签约运营商进行数据通讯,进一步评估数据通讯性能,并对其排序形成签约运营商的通讯性能强弱列表;该步骤为预判流程;
步骤3:通讯模组基于通讯性能强弱列表以及预定的挑选策略选择合适的签约运营商作为选定运营商;
步骤4:通讯模组向选定运营商发起签约会话或者通讯密钥的OTA下载流程,将选定运营商的HLR或者AuC初始密钥以及关键通讯参数从服务器远端下载到通讯模组的本地;其中,OTA下载流程中的OTA为空中下载技术,HLR为归属位置寄存器,AuC为鉴权中心;
同时,通讯模组对其唯一标识Chip_ID进行密钥分散以产生加密密钥,并对下载到本地的选定运营商的HLR或者AuC初始密钥以及关键通讯参数进行加密和存储;
步骤5:通讯模组使用加密后的密钥登录选定运营商的网络进行正常的通讯服务;
所述步骤5具体包括:
通讯模组对预置的鉴权算法进行算法置换,得到置换后的加密秘钥;
将步骤4输出的加密后的参数输入鉴权算法中,使鉴权算法和加密密钥实现延迟关联;
使鉴权算法和加密密钥实现延迟关联是将经过置换后的鉴权算法和置换后的加密秘钥通过链表关联起来,使得鉴权算法在运行时可以找到对应的密钥;
通过置换算法的逆运算,将置换后的加密秘钥在解密过程中动态还原为通讯密钥,通讯模组使用该通讯密钥,登录选定运营商的网络进行正常的通讯服务。
2.根据权利要求1所述的通讯模组网络运营商自动切换的方法,其特征在于:还包括步骤6:启动监控线程,对当前通讯模组的运行状态和信号强度进行监控,当运行状态出现异常或者信号强度低于可靠连接要求时,将其记为非正常状态,保存该非正常状态;当非正常状态达到一定次数/频率后,跳转到步骤2重新选择签约运营商。
3.根据权利要求2所述的通讯模组网络运营商自动切换的方法,其特征在于:监控线程在通讯模组的运行过程中持续监控,当运行状态出现异常或者信号强度低于可靠连接要求时,还同时向服务器上报当前选定运营商的信号较差的情况,并由服务器辅助判断是否进行运营商的更换。
4.根据权利要求1所述的通讯模组网络运营商自动切换的方法,其特征在于:步骤4中,通讯模组向选定运营商发起签约会话,具体包括:通讯模组通过socket接口,向选定运营商的远程服务器发送连接请求;建立连接后,按照约定数据协议,向远程服务器发送当前运营商网络信号报文,该信号报文中包含该通讯模组的唯一识别号Chip_ID信息以及防篡改随机数;远程服务器收到信号报文后,放入暂存列表,同时下发收到确认信息;通讯模组收到确认信息后,向服务器发送关闭请求,关闭该socket接口。
5.根据权利要求4所述的通讯模组网络运营商自动切换的方法,其特征在于:步骤4中,通讯模组向选定运营商发起OTA下载流程具体包括:通讯组通过socket接口,向远程服务器发起OTA数据下载请求、该通讯模组的唯一识别号Chip_ID信息以及防篡改随机数;远程服务器在接收到下载请求后,通过Chip_ID和random数据,防止网络的恶意攻击,同时分辨出与之通讯的通讯模组。
6.根据权利要求1所述的通讯模组网络运营商自动切换的方法,其特征在于:通讯模组与该签约运营商进行数据通讯,进一步评估数据通讯性能,具体是通过如下规则来进行性能排序:1)网络信号信息大于可靠阈值;2)数据丢包率和数据包往返时间以落在统计模型高斯分布方差σ² 或标准差σ内。
7.根据权利要求2所述的通讯模组网络运营商自动切换的方法,其特征在于:步骤5中,通讯模组对预置的鉴权算法进行算法置换具体包括如下过程:
把f1、f1*、f2、f3、f4、f5、f5*看做一个函数,其他参数看做变量,则得到:
AUTN = SQN ⊕AK || AMF || MAC
MAC-A = f1(RAND,OPC,K,SQN,AMF,r1,c1)
MAC-S = f1*(RAND,OPC,K,SQN,AMF,r1,c1)
RES=f2(RAND,OPC,K,r2,c2)=XRES
CK = f3(RAND,OPC,K,r3,c3)
IK = f4(RAND,OPC,K,r4,c4)
AK = f5(RAND,OPC,K,r2,c2)
AK = f5*(RAND,OPC,K,r5,c5);
其中,f1,f2,f3,f4,f5是在3GPP TS 35.206: MILENAGE算法集的规范中规定的一组鉴权算法;具体的,各个参数所对应的物理意义如下:
AK: 一个48Bit的匿名密钥,是f5和f5*函数的输出;
AMF:16Bit身份验证管理字段,是函数f1和f1*的输入;
c1、c2、c3、c4、c5:128Bit常量,它们被异或到中间变量上;
CK:函数f3输出的128Bit保密密钥;
IK:128Bit完整性密钥,是函数f4的输出;
K:128Bit的用户密钥,它是f1、f1*、f2、f3、f4、f5和f5*函数的输入;
MAC为身份验证码;
MAC-A:64Bit网络身份验证码,函数f1的输出;
MAC-S:64Bit重新同步身份验证码,函数f1*的输出;
OP:128Bit运算符变量算法配置字段,它是函数f1、f1*、f2、f3、f4、f5和f5*的组成部分;
OPC:OP和K派生的128Bit值,用于计算函数;
r1、r2、r3、r4、r5:整数,范围为0-127,定义中间变量,循环移位变量;
RAND:128Bit随机挑战,函数f1、f1*、f2、f3、f4、f5和f5*的输入;
RES:函数f2的输出的64Bit结果;
SQN:48Bit的序列号,它是f1和f1*函数的输入;
其中,RAND、XRES、AUTN和KASME为鉴权向量的4个参数,其中,RAND是由随机数发生器产生128bit的随机数,XRES是一个64位的期望响应,AUTN是鉴权令牌,KASME是接入安全管理实体的K值,也即UE和HSS根据CK/IK推演得到的密钥,是根据CK、IK和SN id计算得到256bit数;
根据异或规则:
a、同为0,异为1;
b、数据进行异或一次,加密,数据进行异或两次,解密;
分别对f1, f1*算法进行异或置换,使得f1,f1*算法可以接受经过加密密钥加密后的数据输入。
8.根据权利要求1所述的通讯模组网络运营商自动切换的方法,其特征在于:通讯模组的网络信息列表至少包括公共陆地移动网络信息、归属位置寄存器、用户签约信息国际移动用户识别码和业务类型信息,通讯模组将该网络信息列表按照3GPP TS 33.102:USIM应用功能规范要求,在通讯模组中动态生成一张虚拟USIM卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911384310.7A CN111107598B (zh) | 2019-12-28 | 2019-12-28 | 一种通讯模组网络运营商自动切换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911384310.7A CN111107598B (zh) | 2019-12-28 | 2019-12-28 | 一种通讯模组网络运营商自动切换的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111107598A CN111107598A (zh) | 2020-05-05 |
CN111107598B true CN111107598B (zh) | 2022-04-29 |
Family
ID=70423673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911384310.7A Active CN111107598B (zh) | 2019-12-28 | 2019-12-28 | 一种通讯模组网络运营商自动切换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111107598B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123778A (zh) * | 2007-09-29 | 2008-02-13 | 大唐微电子技术有限公司 | 网络接入鉴权方法及其usim卡 |
CN101511084A (zh) * | 2008-02-15 | 2009-08-19 | 中国移动通信集团公司 | 一种移动通信系统的鉴权和密钥协商方法 |
CN101686517A (zh) * | 2003-12-05 | 2010-03-31 | 高通股份有限公司 | 多载波系统中支持先断后通切换的基于基站的方法和装置 |
CN108347723A (zh) * | 2017-01-25 | 2018-07-31 | 华为技术有限公司 | 一种切换方法和装置 |
CN108430084A (zh) * | 2018-05-09 | 2018-08-21 | 清华大学 | 一种基站切换方法及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222712B (zh) * | 2008-02-02 | 2010-09-08 | 代邦(江西)制卡有限公司 | 支持虚拟sim卡的移动终端及其用户身份认证方法 |
CN102378170B (zh) * | 2010-08-27 | 2014-12-10 | 中国移动通信有限公司 | 一种鉴权及业务调用方法、装置和系统 |
CN102075935B (zh) * | 2010-12-23 | 2013-07-31 | 北京握奇数据系统有限公司 | 一种鉴权相关数据的处理方法及装置 |
CN102917426B (zh) * | 2012-11-15 | 2015-04-29 | 中国联合网络通信集团有限公司 | 物联网终端的运营商网络切换方法及装置 |
CN105379187B (zh) * | 2013-05-02 | 2019-05-10 | 瑞典爱立信有限公司 | 性能监控数据处理 |
CN104022878B (zh) * | 2014-05-21 | 2017-12-15 | 北京旅信顺捷软件科技有限公司 | 一种贴膜sim卡及相应的应用鉴权系统和鉴权方法 |
CN106488430A (zh) * | 2015-08-31 | 2017-03-08 | 中兴通讯股份有限公司 | 一种处理虚拟sim卡信息的方法、终端和系统 |
EP3197059B1 (en) * | 2016-01-21 | 2018-07-18 | Samsung Electronics Co., Ltd | Method for controlling sim card and sd card and electronic device implementing the same |
CN105828317A (zh) * | 2016-03-14 | 2016-08-03 | 宇龙计算机通信科技(深圳)有限公司 | 基于eSIM卡的运营商服务选择方法、选择装置和终端 |
CN105916149A (zh) * | 2016-05-27 | 2016-08-31 | 努比亚技术有限公司 | 一种运营商网络切换方法及通信终端 |
CN108574950B (zh) * | 2017-03-10 | 2022-05-06 | 中国移动通信有限公司研究院 | 公共陆地网络plmn接入方法及装置 |
EP3603142B1 (en) * | 2017-03-28 | 2023-12-13 | Telit Technologies (Cyprus) Ltd. | Virtual sim with multiple mobile network operator profiles for operating over multiple wireless ip networks |
CN107682850A (zh) * | 2017-10-18 | 2018-02-09 | 影响力技术有限公司 | 一种软sim卡选择、获取方法及装置 |
-
2019
- 2019-12-28 CN CN201911384310.7A patent/CN111107598B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686517A (zh) * | 2003-12-05 | 2010-03-31 | 高通股份有限公司 | 多载波系统中支持先断后通切换的基于基站的方法和装置 |
CN101123778A (zh) * | 2007-09-29 | 2008-02-13 | 大唐微电子技术有限公司 | 网络接入鉴权方法及其usim卡 |
CN101511084A (zh) * | 2008-02-15 | 2009-08-19 | 中国移动通信集团公司 | 一种移动通信系统的鉴权和密钥协商方法 |
CN108347723A (zh) * | 2017-01-25 | 2018-07-31 | 华为技术有限公司 | 一种切换方法和装置 |
CN108430084A (zh) * | 2018-05-09 | 2018-08-21 | 清华大学 | 一种基站切换方法及系统 |
Non-Patent Citations (2)
Title |
---|
冯登国 ; 徐静 ; 兰晓."5G移动通信网络安全研究".《软件学报》.2018,全文. * |
罗军舟 ; 杨明 ; 凌振 ; 吴文甲 ; 顾晓丹."网络空间安全体系与关键技术".《中国科学:信息科学》.2016,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111107598A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4263384B2 (ja) | ユーザ加入識別モジュールの認証についての改善された方法 | |
US8260259B2 (en) | Mutual authentication with modified message authentication code | |
FI110974B (fi) | Laskurin alustaminen, erityisesti radiokehyksiä varten | |
JP4688808B2 (ja) | 移動体通信システムにおける暗号化の強化セキュリティ構成 | |
CN103596173B (zh) | 无线网络认证方法、客户端及服务端无线网络认证装置 | |
JP5784776B2 (ja) | 認証能力のセキュアなネゴシエーション | |
EP2377337B1 (en) | Service-based authentication to a network | |
US9270700B2 (en) | Security protocols for mobile operator networks | |
EP3099090B1 (en) | Network locking or card locking method and device for a mobile terminal, terminal, sim card, storage media | |
US20080189550A1 (en) | Secure Software Execution Such as for Use with a Cell Phone or Mobile Device | |
CN111107597B (zh) | 一种通讯模组网络的可靠切换方法和装置 | |
CN105813060A (zh) | 一种获取虚拟用户身份的方法及装置 | |
CN114189343A (zh) | 互相认证的方法和装置 | |
Vahidian | Evolution of the SIM to eSIM | |
CN111107598B (zh) | 一种通讯模组网络运营商自动切换的方法 | |
KR101329789B1 (ko) | 모바일 디바이스의 데이터베이스 암호화 방법 | |
CN112105024B (zh) | 一种基站身份认证方法、装置及设备 | |
US11552796B2 (en) | Cryptographic processing events for encrypting or decrypting data | |
Harmat et al. | The security implications of imsi catchers | |
Singh et al. | Cell phone cloning: a perspective on gsm security | |
Manos | Security and Privacy in the Air interface of cellular networks | |
Mobarhan et al. | Evaluation of Security Attacks on Different Mobile Communication Systems | |
Καπετανάκης | Study, analysis, implement and testing of malware mobile station (mal-MS) using a clone Sim card, an Arduino, AT commands and Qualcomm applications (QXDM, QPST) | |
Mazurkevich et al. | Evolution of security systems in different generations of cellular networks | |
Choudhury | Relaxing trust requirement in 3GPP mobile systems for improved subscriber identity privacy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 b2201, building 10, Shenzhen Bay science and technology ecological park, No.10, Gaoxin South 9th Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen xinguodu Communication Technology Co.,Ltd. Address before: 518000 b2201, building 10, Shenzhen Bay science and technology ecological park, No.10, Gaoxin South 9th Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: Shenzhen Jiachuang Information Technology Service Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |