中国教授在BlackHat现场演示破解SIM卡AES-128加密

使用一个PC和示波器克隆3G/4G SIM卡,破解过程只需十分钟。上海交大教授郁昱现场展示了如何成功复制SIM卡,以及一张克隆卡如何变更了支付宝的密码并潜在盗取账户资金。
破解SIM卡加密
今年二月,爱德华·斯诺登揭露了美国国家安全局NSA与英国情报机构政府通信总部GCHQ从世界最大的芯片制造商之一的公司偷了数以百万计的SIM卡加密密钥,然而研究人员此前似乎并不以为然。
郁昱是目前上海交通大学的专业侧信道分析和密码学研究教授,他去年一直在寻找如何破解3G和4G卡的加密。而这些使用了AES-128的被认为不可破解的密码,最终竟然是如此容易通过一些侧信道分析而获取。
尽管各种攻击2 g(GSM)算法(comp - 128 A5)出现于各种文献上,但是没有实际的攻击用来攻击已知的3G/4G(UMTS/LTE)SIM卡。3G/4G SIM卡采用了双向认证算法称为MILENAGE,而这又是基于AES-128,这是被NIST认证为一个数学上的安全分组密码标准。MILENAGE还使用将近一对128位加密进一步混淆算法。
侧信道攻击可以测量芯片中的耗能、电磁排放以及产热。而这项技术已经存在很多年了,同时还要求对目标设备的物理访问。
克隆卡应运而生
郁昱和团队组装使用了一个用于跟踪能量水平的示波器、用于监控数据流量的MP300-SC2协议分析仪、一个自制SIM卡读卡器和一个标准电脑。尽管配置很简单,他们还是在10到80分钟的时间内分别破解了来自8家厂商的SIM卡。
破解系统并不能直接读取加密秘钥,相反团队从秘钥中分离出了256部分,通过SIM卡将它们与电源状态对应。这确实需要大量的计算和一点点运气。一旦系统完善之后,破解秘钥并且克隆卡就变得相对容易了。
郁昱现场展示了如何成功复制SIM卡,他同时还展示了一张克隆卡如何变更了支付宝的密码并潜在盗取账户资金。
郁昱表示,手机用户和数码安全厂商都需要提升物理安全的意识。而对于这项“技术”,无疑情报部门会非常感兴趣。
演示视频:
PPT下载:
http://pan.baidu.com/s/1qWwuVVI
中国教授在BlackHat现场演示破解SIM卡AES-128加密的更多相关文章
- SIM卡基础知识
一:了解Sim卡和GSM网络登录步骤的基本知识 (一)名词解释: SIM卡(Subscriber Identity Module),即用户识别卡,它是一张符合GSM规范的“智慧卡”,SIM卡有大小之分 ...
- simtrace之探秘SIM卡中的世界
0×00 关于SIM卡 众所周知SIM卡是一张插在手机上的小卡,其全称为Subscriber Identity Module 客户识别模块.不过,这个世界上并没有多少人知道SIM卡中的操作系统是基于j ...
- Alpha版本冲刺现场演示和阶段验收的总结
一共15个组.有13个组参加了今天的现场演示,分别是YZH.Radio Group.FZU5BOYS.静静看.Clean Code.Mod4.F4.For the Dream.Journey of C ...
- Android本机号码及Sim卡状态的获取
SIM卡存储的数据可分为四类:第一类是固定存放的数据.这类数据在移动电话机被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI).鉴权密钥(KI).鉴权和加密算法等等.第二类是暂时存放的有关 ...
- Android 读取SIM卡参数
package com.water.activity; import java.util.List; import android.app.Activity; import android.os.Bu ...
- Android ExpandableListView使用+获取SIM卡状态信息
ExpandableListView 是一个可以实现下拉列表的控件,大家可能都用过QQ,QQ中的好友列表就是用ExpandableListView实现的,不过它是自定义的适配器.本篇 博客除了要介绍E ...
- android 读取用户号码,手机串号,SIM卡序列号
简介: IMSI:international mobiles subscriber identity国际移动用户号码标识,这个一般大家是不知道,GSM必须写在卡内相关文件中:MSISDN:mobile ...
- sim卡中的汉字存储格式
Sim卡中的ucs2格式 Sim卡中的中文都是以ucs2格式存储的,ucs2和unicode只是字节序不同,unicode是小头在前,ucs2是大头在前. Ucs2与GB2312互换可以用VC中的Wi ...
- 【双模卡的相关知识】解SIM卡前需要知道的信息(SIM年分和厂商识别)
<ignore_js_op> 二.SIM版本问题SIM卡的版本有两种说法,一是有些是制造厂制定的,二是电信公司的制定.下面以移动为例,目前我们手里的SIM有几种版本:v0.v1.v2.v3 ...
随机推荐
- FAST UA API
参考: FAST_UA 编程手册 FAST DATA STRUCTURE fast_packet fast_metadata fast_rule fast_flow FAST UA API 1.fas ...
- BZOJ 1005: [HNOI2008]明明的烦恼(prufer数列)
http://www.lydsy.com/JudgeOnline/problem.php?id=1005 题意: Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标 ...
- deque_01
A.头尾 添加/移除 A.1.deque::push_back(elemValue); A.2.deque::pop_back(); A.3.deque::push_front(elemValue); ...
- [ios]MKMapView中使用MKPolyline画线
参考:http://blog.sina.com.cn/s/blog_9e8867eb0101dt76.html 首先在MapView.h中 #import <MapKit/MapKit.h> ...
- 一个十分好用的动画工具:Velocity.js
就像许多开发者确信的那样,在Web上使用CSS实现动画并不是唯一的方式,我们也可以使用JS来实现,并且JS还有一些CSS无法替代的优势. 然而抛开JS而选择CSS来实现动画,将以样式表内容膨胀,丧失对 ...
- const 学习笔记
#include<stdlib.h> #include<iostream> using namespace std; int main(){ // const 仅仅起到是否为常 ...
- 关于angular5的惰性加载报错问题
之前为了测试一个模块优化问题,于是用angular-cli快速搭建了个ng5的脚手架demo,在应用惰性加载功能的时候发现浏览器报错如下: ERROR Error: Uncaught (in prom ...
- 原生js的博客
原生js一里边还有很多二三等http://www.cnblogs.com/charling/p/3527561.html 选区器 http://wenku.baidu.com/link?url=zr2 ...
- java中的static关键字 学习总结
使用static关键字修饰的变量和方法为静态变量.静态方法. 非静态方法可以访问静态变量/方法和非静态变量/方法,但静态方法只能访问静态变量/方法. 可以看到在静态方法中调用非静态变量和非静态方法时, ...
- Dubbo项目一段时间后提供者消失
Dubbo项目用了一段时间后发现接口不通了,错误500 打开监控中心发现提供者不见了 查看下日志文件发现报如下错 2018-08-06 15:10:18,008 [localhost-startSto ...