中国教授在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 ...
随机推荐
- MySql 插入数据返回数据的Id值
insert into addeditemgroup(addeditemgroupname) value(') ; select @@IDENTITY as id; 返回最新的Id:
- 机器学习 MLIA学习笔记(三)之 KNN(二) Dating可能性实例
这是个KNN算法的另一实例,计算Dating的可能性. import numpy as np import os import operator import matplotlib import ma ...
- python 数据交换
例1 def change(data): data[],data[]=data[],data[] print('函数内交换位置后:') ): print('data[%d]=%3d' %(i,data ...
- python 集合并集
#Union setx = set(["green", "blue"]) sety = set(["blue", "yellow& ...
- shell 判断字符串是否为空
#!/bin/bash a="" if [ -n "$a" ] then echo "-n $a : 字符串长度不为 0" else ech ...
- .net Parallel并行使用
因项目响应过慢,代码优化空间不大,在暂时无法调整系统架构的情况下,只有使用.NET中的TPL解决一些模块耗时过多的问题.但在使用过程中也碰到了一些问题,现在把它写下来,用于备忘. 1. Paralle ...
- JS-构造函数2
一.如何创建对象 1.对象字面量 var obj1={ name:"吻别", singer:"张学友", type:"流行" } 2.构造函 ...
- 莫比乌斯反演学习笔记(转载自An_Account大佬)
转载自An_Account大佬 提示:别用莫比乌斯反演公式,会炸的 只需要记住: [gcd(i,j)=1]=∑d∣gcd(i,j)μ(d)[gcd(i,j)=1]=\sum_{d|gcd(i,j)}\ ...
- Codeforces Round #364 (Div. 1) (差一个后缀自动机)
B. Connecting Universities 大意: 给定树, 给定2*k个点, 求将2*k个点两两匹配, 每个匹配的贡献为两点的距离, 求贡献最大值 单独考虑每条边$(u,v)$的贡献即可, ...
- 01-trie练习
这里用递归实现01-trie, 可以看做是区间长度为2的幂的权值线段树, 能实现权值的所有操作, 异或时, 翻转左右儿子即可. 练习1 CF 817E Choosing The Commander 大 ...