从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,与其他电子元器件一样,不可直接移除掉。

由此可见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等数据,然后软件去实现鉴权算法,算出鉴权结果反馈给运营商即可。

0-SIM卡的迭代(SIM-USIM-eSIM-vSIM-softSIM)相关推荐

  1. 极客日报:腾讯企业QQ将停运;雷军:小米汽车预计2024年量产;iPhone或将取消SIM卡槽,全部改用eSIM卡

    一分钟速览新闻点! 腾讯企业QQ宣布将停运:2022年1月31日不再提供服务 雷军曝小米动态:数字系列分"一大一小",汽车2024年量产 部分App禁止全部权限仍可获取用户信息 腾 ...

  2. eSIM技术必将取代SIM卡 一文读懂eSIM技术优势!

    eSIM技术必将取代SIM卡 一文读懂eSIM技术优势! 未来某一天,当我们纪念Apple Watch 3,不要忘了正是因为它的出现eSIM技术才会流行起来. 众所周知,手机离不开SIM卡.如果没有安 ...

  3. 双卡android手机SIM卡信息探索 ,获取手机 SIM卡数量和SIM卡id、iccid

    废话不多,直接上干货==> 1 以下所有方法都需要在AndroidManifest.xml声明权限 <uses-permission android:name="android. ...

  4. MTK平台双卡区分SIM卡1和SIM卡2来电通知

    问题描述 MTK平台,双卡双待的手机,当手机来电时,会在顶部栏显示一个来电通知,区分卡1卡2的关键信息是运营商名字,如中国电信,中国移动这种的,所以当两张卡是同一家运营商,这个时候用户就无法区分是那个 ...

  5. 原生Android设置sim卡锁定,开启SIM卡密码保护

    最近一篇手机丢失导致财产损失的文章疯传,原理就是小偷用他的手机卡登录他的微信支付宝网银等进行转账和消费,解决办法就是给SIM设置个密码,对方拿到你的手机卡后也没办法使用. 首先手机卡都有默认密码的,通 ...

  6. android+sim卡软件,超级SIM卡APP

    超级SIM卡APP是你的私人数据保存中心,你可以将手机中的数据存储到里面,换机后可一键恢复所有数据.兼容主流安卓手机的数据格式,备份时数据以密文存储,保证数据安全. [功能说明] 1.笔记功能--您的 ...

  7. sim卡换新卡显示无服务器,SIM卡又现新漏洞 SIM卡无服务 SIM卡被锁怎么办?

    此前,SIM卡被曝出存在一个严重的漏洞,攻击者可以在用户不知情的情况下发送短信攻击目标手机.现在安全研究人员又公布了一个新漏洞,威胁到用户的个人信息安全.据介绍,新漏洞名为WIBattack,该漏洞危 ...

  8. android sim卡工具,手机sim卡工具包老是弹出来怎么办?sim卡工具包不断弹出删除方法...

    近年来,国产手机品牌越来越受国人喜爱,除了苹果之外,几乎所有的国产手机都是基于安卓开源操作系统,包括华为.小米.魅族.vivo.一加.OPPO.酷派手机.努比亚.360等热门手机品牌.近期一网友遇到一 ...

  9. 小米3显示sim卡无服务器,sim卡能识别但是无服务

    Q4:刚买的小米2s无法识别sim卡,无服务,卡也没有插反啊! 嗨! 建议您按一下方法进行排查一下: ①是否正确的插入了SIM卡. ②是否插入了错误的SIM卡,如标准版插入电信SIM卡等. ③进入硬件 ...

  10. android 监控sim卡,android监控sim卡有没有服务示例(sim卡管理)

    public class UniteqService { public static final String LOG_TAG = "UniteqService"; public ...

最新文章

  1. 细数技术指标-[转载]
  2. flash build 4.6 不能debug 报错 C:\WINDOWS\system32\...
  3. Python基础(6)_函数
  4. 官宣,11月8号,.NET6+64位VS璀璨面世!
  5. 用 FastJSON 将 JSON 字符串转换为 Map
  6. shell入门(二)——面试题实例
  7. leetcode 148. Sort List
  8. Android中如何设置RadioButton在文字的右边,图标在左边
  9. Windows API一日一练(60)CreateIoCompletionPort和GetQueuedCompletionStatus函数
  10. 理解python 文件首行(Shebang)
  11. 高格虚拟服务器,网络相关 篇一:利用Windows自带的HyperV,安装高恪x86软路由
  12. Adobe Illustrator CS5 序列号及安装方法
  13. 储氢合金/金属氢化物吸放氢动力学模型——Chou模型
  14. 3D游戏之父--John Carmack连载系列(四)
  15. Visual Studio(VS) Code详解
  16. 直接寻址、间接寻址、立即数寻址
  17. C语言——printf()函数参数传递问题
  18. 四步骤关闭Windows10自动更新
  19. HTTP浏览器缓存机制
  20. Three.js(十四)—— 模型文件加载

热门文章

  1. java生成二维码,并在前端展示。
  2. IP MAC捆绑原理及缺陷的讨论
  3. 工大校园邮箱申请流程
  4. com lofter android,LOFTER
  5. 深度学习的hand-crafted和end-to-end的一些概念和区别
  6. VS2019+OpenCV4.5 鱼眼相机图像畸变矫正
  7. java课程设计象棋_java课程设计 中国象棋
  8. vscode 用户设置与工作区设置
  9. PettingZoo:多智能体游戏环境库入门
  10. word wps 出版 常用操作