我知道SIM卡具有内存,并且其中的一些或全部可能还包含微处理器。

它们不仅充当闪存的外围设备。

我希望能够读取内容并提取我的联系人和消息以进行备份,所以我购买了El-cheapo的“ SIM卡读卡器”,该卡可插入USB端口。但是,当我将其插入时,好像它根本不在那儿。

那么我该如何访问数据?

其次,我了解它们会影响手机的基带部分,包括操作频率和所需的任何代码识别自己(IMEI)并访问特定网络(T-Mobile,AT&T和Verizen)。同样,它显然不仅仅是闪存。

所以我的问题是,它们的工作原理以及如何从手机卡中读取数据?

#1 楼

SIM卡是通用集成电路卡(UICC)的一种。


它们的工作原理如何



根据Karsten Nohl的演讲“移动网络攻击进化”,SIM卡包含嵌入式实时操作系统,文件系统和Java VM:



这是UICC的技术规范,它描述了它们的确切工作方式:

ETSI TS 102 221 V8.2.0(2009-06)
智能卡技术规范,UICC终端接口以及物理和逻辑特性。


如何获取数据?我如何才能使用自己的卡?


此DefCon演示文稿“ DEF CON 21-Karl Koscher和Eric Butler-SIM卡的秘密生活”视频充分说明了SIM卡以及如何与它们交互。

从演示幻灯片中:



它们也遇到了麻烦:



他们发现了SIM Alliance Loader软件... 。为了使用GlobalPlatform与SIM卡接口,演示者借鉴了Karsten Nohl的研究中提出的技术。

评论


谢谢@SYS_V-非常感谢您对此进行解释。它根本不像读取常规SD卡那样容易。 (顺便说一句,很酷的手柄-我也接受过ATT System V的培训)

– SDsolar
17 Mar 27 '17 at 20:58

@SDsolar opensecuritytraining.info/SmartCards.html

– julian♦
17年4月5日在22:02

#2 楼

在本文中找到了一些很好的答案:

什么是SIM卡(以及接下来的功能)? (howtogeek.com)

摘录:


SIM卡中存储了什么?

SIM卡存储15位数字的国际移动用户识别码(IMSI)
,用于在运营商的移动网络上标识该卡。 IMSI是查找过程的重要组成部分,它确定移动设备连接的网络。

与IMSI一起,它是一个128位的值身份验证密钥( Ki)已发送
,以通过GSM蜂窝网络验证您的SIM卡。 Ki由运营商分配并存储在其网络上的数据库中。

SIM卡还能够存储SMS消息以及手机的姓名和电话号码。最多500个联系人,具体取决于您拥有的SIM卡的内存大小。如果出于任何原因必须更换手机
,则可以轻松地通过SIM卡传输联系人。


大多数SIM卡包含64-128 KB的存储空间。存储。

> SIM卡如何工作?

本质上,SIM卡用作手机的凭据,以访问运营商网络。由于SIM卡保留了此信息,因此您可以
将其弹出到具有相同运营商的任何手机中,或者将其解锁到未锁的手机中,以访问网络。它的工作原理是:

当您启动设备时,它会从SIM中获取IMSI,然后将IMSI中继到网络以请求访问。

运营商网络在数据库中搜索您的IMSI和关联的Ki。

假设您的IMSI和Ki均已通过验证,操作员
然后生成一个随机数,使用GSM密码算法对您的Ki进行签名,以计算SRES_2,并创建一个新的唯一的
号。

然后网络将该唯一编号发送回设备,
然后将其传递给SIM卡,以使用相同的算法,从而创建第三个数字。

然后,该号码中继回网络。

如果两个数字匹配,则SIM卡被认为是合法的,并被授予
网络访问权限。

因此,如果您在手机上中断屏幕的情况下
得到修复,则可以将SIM取出并放入替换手机中,并仍然可以访问电话,短信,以及来自您的网络的数据。