0-SIM卡的迭代(SIM-USIM-eSIM-vSIM-softSIM)

从2G时代一直到现在5G的到来,网络在发展SIM卡的形态也跟着在变化,从大变小,从小变更小,在从更小变无(纯软件)。

1.SIM


GSM系统的移动用户所持有的IC卡,称为用户识别卡,没啥好说的就是第一代电话卡

2.USIM


联通在3G网络刚开始商用的时候便开始推广USIM卡,而移动由于众多用户一直使用着2G网络,因此许多老旧的SIM卡一直没被USIM卡替代,不过也和移动到近一两年才开始大力推广USIM卡有关。

  • USIM卡,即UMTS Subscriber Identity Module(也有把U认为是Universal的,不在意这些细节),顾名思义,主要用于UMTS网络中的用户身份识别模块。UMTS网络即Universal Mobile
    Telecommunications System,通用移动通信网络系统,通常代指由3GPP组织制定和标准化的移动通信协议,其空中接口技术就包括大家耳熟能详的WCDMA和TD-SCDMA,LTE被定位于UMTS网络的长期演进。

  • 单纯的就安全方面来说,SIM卡主要包含了IMSI(国际移动用户识别码)、KI值以及加密算法和运营商信息等等,只支持单向鉴权,就是网络对手机(SIM)进行合法性的认证,缺乏用户对网络的认证,这就给诸如“伪基站”这样的不法行为留了空子。而USIM卡中则使用了不同于SIM卡的一些安全参数(比如K值,还有多种鉴权算法等等),支持双向鉴权,允许手机(USIM)也对网络进行合法性认证,从而加强了安全措施。在LTE里,双向鉴权是必选项,而在3G里,使用SIM卡也被允许以单向鉴权的方式接入。

我们可以简单讲讲GSM、WCDMA和LTE中鉴权的一些过程。

  • GSM中,网络侧和SIM卡里都保存着一个KI值,这个KI值是唯一的,且只有网络和SIM卡知道。每次鉴权的时候,网络侧会生成一个随机数RAND,RAND和KI通过A3算法计算出一个值,然后把RAND发送给手机,手机(SIM卡)也将RAND和KI同样通过A3算法算出一个值,然后把计算得出的值回送给网络,网络通过对比这两个值,相同就认为用户是合法的,不同自然就拒绝用户接入。

  • 在WCDMA里,主要讲讲手机怎么对网络进行合法性认证。网络侧产生随机数RAND值以及一个鉴权令牌AUTN(包含AMF、SQN和MAC值),发送给USIM卡,USIM卡通过其储存的K值与RAND值经由f5算法产生一个值AK(不是47),通过AK值可以恢复出AUTN参数里的SQN值,同时还可以通过RAND、K值、SQN值以及AMF值经由f1算法获得XMAC值,将这个XMAC值与网络发送过来的MAC值进行比较,如果一致,则认可这是合法网络,如果不是,则发送鉴权失败的信息给网络。同时还会确认SQN值是否在正确范围内,不是的话也会造成USIM卡不认可网络从而导致鉴权失败。我们可以看到K值的作用,K值只有USIM卡和合法网络知道,其中XMAC和MAC值的运算就需要用到K值,一个非法网络不知道K值,那很显然很多关键参数都无法计算得出或者是计算出来的结果无法和USIM卡计算出来的结果一致,这样就可以实现USIM卡对网络的认证。当网络通过了USIM卡的认证后,接着才进行网络对USIM卡的认证,此内容略过。

  • LTE里,3G时代的鉴权和键值协商流程(AKA)也在LTE中继续采用,但是加强了对于安全性的考虑,比如一些关键的用于数据加密的参数(CK、IK)不会离开HSS等网元,使用了一个新的加密密钥参数Kasme(可由K值计算出的CK/IK值计算得出)等等一些改进,这些做法提升了安全度。在对于终端对网络的验证上,也是加强了措施,不再允许SIM卡接入网络,因为本身SIM卡就不具备终端认证网络合法性这个功能,但是允许3G时代的USIM卡接入网络,因为LTE中终端对网络的认证一样是使用K值以及AUTN参数来进行的。这也是为什么使用LTE网络需要更换成USIM卡的原因。

  • 其实现在的USIM卡大多是SIM/USIM复合卡,因为“纯”USIM卡是无法在GSM网络中使用的,就像一部“纯3G”手机也是没法在GSM网络中使用的,所以现在的手机大多是2G/3G/LTE多模的。

3.eSIM


1.尺寸上

虽然USIM卡已经被制成Nano-SIM那么小了,可它毕竟还是一张可拆卸的卡,还是要占据一个卡槽的位置,如果能把这张卡都不要掉那不是更好。

所以就有了eSIM卡的出现,将SIM卡制作成可焊接在电路板上的MCU,与其他电子元器件一样,不可直接移除掉。

image

由此可见eSIM有不占空间,更能够耐高温,防尘,抗震等优点。

2.技术上

如果eSIM仅仅只有物理上的优点那感觉也没什么,对于手机使用者的我们可能还更不方便,以前换手机只需要把卡插到新的手机上就好,难不成现在还要把芯片焊下来贴到新的手机上才行。

当初设计eSIM的这些大神肯定考虑到这些问题了,而且在SIM/USIM的上面也已经有这个功能了,即OTA服务,通过空中下载方式动态写入用户签约信息,更新eSIM卡片内的数据。

但是现在eSIM在手机上的推广几乎是不可能的,只存在于一些运营商合作的物联网设备上面体现到其价值。

参考文献:http://m.elecfans.com/article/646147.html

4.vSIM


vSIM即虚拟卡,也叫云卡/远程卡,比如现在比较火的基于虚拟卡的随身Wifi,这是一种需要多方面配合的整套系统,需要有用来上网的设备端,分配卡的服务器,用于鉴权的在线卡池。

1.尺寸上

对于设备端本身来说,上网卡相当于没有卡,因为都由软件来实现SIM卡的数据交互。

但是由于技术逻辑的需要,这种应用一般都需要一张小流量的种子卡,用来当作点火卡,通过访问服务器获取大流量的上网卡,所以设备的尺寸不会比正常的小,还是需要一个卡槽。

2.技术上

这边还是以随身WIFI为例,说明下流程:

graph TD
双通道设备先通过通道1/小流量的实体卡进行连接网络-->上报设备地区给服务器
上报设备地区给服务器-->服务器返回卡池里面当地空闲的流量卡/远程卡ICCID和IMSI给设备
服务器返回卡池里面当地空闲的流量卡/远程卡ICCID和IMSI给设备-->设备获取到该卡数据并使用通道2与模块进行数据交互
设备获取到该卡数据并使用通道2与模块进行数据交互-->通道2获取到运营商发生的鉴权随机数
通道2获取到运营商发生的鉴权随机数-->通道1将该随机数发送给在线卡池
通道1将该随机数发送给在线卡池-->在线卡池通过该随机数与该张远程卡进行鉴权反馈数据获取
在线卡池通过该随机数与该张远程卡进行鉴权反馈数据获取-->卡池将获取到的鉴权反馈数据发送给设备
卡池将获取到的鉴权反馈数据发送给设备-->设备将得到的鉴权数据返回给通道2
设备将得到的鉴权数据返回给通道2-->鉴权通过通道2注册到网络
鉴权通过通道2注册到网络-->设备将数据通道从通道1切到通道2
设备将数据通道从通道1切到通道2-->通道2拨上号
通道2拨上号-->使用远程卡进行愉快的上网

当然上面把流程简化了下,实际还有很多逻辑需要处理。

这种业务逻辑可以实现卡池上面流量的共享使用,一张卡可以在不同的设备上使用,只要它当前是空闲的就可以被分配给某个设备使用。

5.softSIM


softSIM与vSIM在技术上的区别其实就是差在鉴权的形式上,vSIM的鉴权数据需要通过远程在线卡池进行得到,而softSIM的鉴权数据是通过软件算法直接算出鉴权数据。

1.尺寸上

真是因为softSIM可以自己算出鉴权数据,所以可以不用通过物理卡池,在尺寸上可以实现正在的无卡上网。

2.技术上

如果有看过我前面的文章8-SIM数据交互之-88(AUTH) 就可以知道,鉴权数据是可以通过标准的APDU命令发送给SIM卡,由于SIM卡内部已经存储了该张SIM卡的KI,OPC等数据,再通过SIM卡内部的鉴权算法即可得到鉴权反馈数据。

所以要实现softSIM就必要向发卡商获取该卡的ICCID、IMSI、KI、OPC等数据,然后软件去实现鉴权算法,算出鉴权结果反馈给运营商即可。

发布了106 篇原创文章 · 获赞 76 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/Creator_Ly/article/details/105675021
sim