乌托邦

Keep Simple, Make Fun

Month: 二月, 2009

一卡通安全探讨

如果没有特别的说明,本文所说的“一卡通”都是北京市政交通一卡通有限公司发行的“市政交通一卡通”。

简单来说,“一卡通”就是符合 ISO14443 Type A 标准的非接触式 IC 卡,在《北京市政交通一卡通卡在轨道交通自动售检票系统中应用的技术规定(暂行)》(下载链接要把 .RAR 修改成为 .rar,此文档为公开文档,本人从互联网下载得到)中说明为:
一卡通卡规格应符合 ISO/IEC14443 TYPE A 标准和DB11/T159.1-2002 标准(《市政交通一卡通技术标准 第1部分:卡片》)。一卡通卡芯片包括 Mifare® 1(S50、S70)、Mifare® Pro、Mifare® DESFire等。
目前在北京市范围内广泛使用的是 Mifare S70 卡。由于在 2008 年麻省理工大学的学生已经成功破解 Mifare 卡,能够完成对 Mifare 卡的读取,并“克隆”Mifare 卡。相关的资料已经在 DEFCON 上公开了。同样,荷兰的地铁电子票也遭破解。从某种渠道获得的消息称,北京“一卡通”也已经遭受类似的攻击。正因为这样的原因,有消息称“公交一卡通明年升级为 CPU 卡”。
不过个人认为这样的升级将非常困难 —— 如果升级后的系统不兼容旧的存在安全问题的“一卡通”,这就必然会要求所有“一卡通”持有者进行卡片的更换,这样的成本由谁支出?“一卡通”持有者必然不愿意,并且会有较大的反对意见,而这样的成本肯定也是“一卡通”的发行公司京市政交通一卡通有限公司无法承担的。如果兼容旧的存在安全问题的“一卡通”,那相当于整个系统中的安全漏洞并没有得到修补。
目前“一卡通”除了能够作为城市交通工具上作为电子票使用以外,还能在一些商铺进行小额的消费。由于“一卡通”中保存有金额等信息,因此如果攻击者能够对数据进行修改或者复制卡片,这将意味着可以使用“一卡通”进行免费乘坐交通工具或者到相关商铺进行免费的消费。除了升级卡片之外,还有什么办法能够降低“一卡通”系统被破解带来的损失呢?我认为可以通过以下几点来实现:
第一:对“一卡通”消费情况进行日结。这里说的“日结”就是每天完成对当天的“一卡通”消费情况进行统计、结算和分析。
第二:对“一卡通”的帐号收支情况进行分析,通过财务分析发现收支异常的“一卡通”帐号。
第三:对“一卡通”的消费记录结合地理信息进行分析。例如,同一张“一卡通”在很短时间内在相聚很远的物理地点进行消费。
第四:调整“一卡通”交易程序,要求所有的交易设备在每天初始化时从“一卡通”发行公司获取异常卡清单,一旦发现异常卡停止交易,并立即进行告警。
第五:限制“一卡通”的消费金额,使其仅限于小额消费。
除此之外,还要说些题外话,在《北京市政交通一卡通卡在轨道交通自动售检票系统中应用的技术规定(暂行)》能够看到“一卡通”系统同时支持记名和非记名卡。目前,我们大家使用的都是非记名的“一卡通”,如果某天推出了记名可挂失的“一卡通”,一定要想清楚自己是不是要申请。如果申请了记名可挂失的“一卡通”,就意味着你把自己的几点坐车到哪的隐私拱手送人 ……

二代身份证可能导致身份信息泄露

一直以来我都对二代身份证的安全问题比较感兴趣(20081005、20080808、20040216)。前面说过,二代身份证是符合 ISO14443 TYPE B 的非接触式 IC 卡,具有 4k 的存储空间(下图是 ISO14443 Type A 的数据存储区域,二代身份证由于是封闭技术,但很可能采用的是类似原理)。

非接触 IC 卡存储数据都是通过密码限制的,卡片中的每个数据存储扇区都有相应的读密码和写密码。二代身份证是公安部委托清华大学微电子学研究所和清华同方微电子有限公司共同研制的,因此在二代身份证中,读取密码很可能是国产某种加密算法的密钥。目前,存储在二代身份证中的数据包括身份证表面能看到的所有信息(包括照片)。
二代身份证的适配器是通过符合国际标准的读卡器,再加上国内研制的安全模块来实现对二代身份证的读写操作。安全模块是专控产品,社会上使用的设备都只具备读权限,而公安系统使用的安全模块具有写权限。我想,这样的权限差别应该是通过密码/密钥来实现的。从我自己办理二代身份证的经验来看,目前二代身份证一般是由各省公安厅统一制作,而市局目前只有数据采集的权限。也就是说,具有完全操作权限的安全模块仅限于各省公安厅。而继承了读取权限安全模块的二代证读卡器(模块),也可以用 2000 元以下的价格从公开的渠道获得。目前,大多数的读卡器(模块)都提供了相应的 SDK(下载时需要把连接中的 .RAR 修改成 .rar 才能正常下载) 。
因此,如果有需要,任何人都可以用相对较小的成本,获得读取二代身份证数据的能力。二代身份证的读取距离为 10cm,虽然目前还没有证明二代身份证可以被远程读取。比如,我在商场的入口处设置一个场强(恰好不超过二代身份证安全机制的触发阈值),然后在整将整个门框变为我的读取天线。通过这样的手段,我就可以获得进出这个狭窄区域的所有二代身份证的全部数据。
目前还没有看到有人公开对二代身份证做逆向的研究,进行向 SIM 卡或者一卡通卡那样的逆向分析,因此在公开的范围内还没有人能够破解二代身份证的读写密码/密钥。同时,由于具有完全写权限的安全模块目前只有各个省公安厅才拥有,因此这个密码/密钥失密的可能性也较低。与此相对应的是,具备读取权限的安全模块很可能被破解,二代身份证的读取设备有可能价格更低。
综上所述,目前个人认为二代身份证内信息被盗读的威胁很可能就会发生在身边,而出现伪造或篡改身份证的可能性较低。我自己是一发现二代身份证的读卡器可以公开购买,就立马用烹饪用的锡纸把二代证包起来了 ……
和前篇文章一样,这篇文章都是从公开渠道获得的信息总结而来,如果有不正确的地方请告知我,我会及时修改文章中存在的错误。

智能卡安全初探

今天一早,手机订阅的手机报上面就有一条新闻《一卡通“刷”进超市》。一直以来,对智能卡的安全都有所关注,最近也正好多看了些这方面的内容,就乘这个机会把相关的想法整理记录下来,与大家分享。
智能卡的种类非常多,如果按照存储方式来划分的话,主要由磁卡、IC 卡、异型卡(比如说那种打孔的大学食堂饭卡,这种名称是我自己随便定义的)等。

在这几种卡理存储量最大的是 IC 卡,磁卡和异形卡存储的数据都很少。异形卡一般只存储了用于标识自己的标识信息(序列号);磁卡一般保存了标识信息、少量的附加信息(简单的帐号信息、以及校验信息);IC 卡保存了标识信息以外往往还有很多附加信息。目前,在国内使用得最广泛的智能卡系统就是磁卡,其次是 IC 卡,而异型卡基本上只在特定的领域才有使用。
保密性
由于各种智能卡的主要用途是用来识别用户的身份,因此,对于智能卡而言,CIA 中的“保密性”必然是最重要的了。
由于异形卡保存的信息完全是编码后保存在卡片的物理结构中,其实这种原理类似于传统的钥匙。只要有人能够拿到这种异形卡的图像信息或者物理接触卡片,就可以完全复制卡片中存储的标识信息。如果缺乏其他的手段,异形卡的数据几乎无法保障数据的保密性,复制卡片将难以避免。(扩展阅读《通过照片盗取钥匙易如反掌》)。
磁卡保存的信息是保存在卡片背面的磁条上的,由于现在的磁卡(主要是银行磁卡)基本上都满足 ISO7810 系列标准的相关要求,因此只要以非常低廉的价格购买到读写设备,就能完全复制卡片中的所有数据。当然,以现在民间的技术,对磁卡的读写操作是必须物理接触的。因此,只要能物理访问到磁卡,磁卡的保密性就难以得到保障。如果缺乏其他的手段,磁卡中数据的保密性几乎无法保障,复制卡片将难以避免。(扩展阅读《磁卡的基础知识》、《中国建设银行储蓄卡卡号编码规则和磁条数据格式标准》)
而对于 IC 卡而言,基本上可以分为接触式的 IC 卡和非接触式的 IC 卡两种。接触式的 IC 卡大家见得最多的可能就是 IC 电话卡,非接触式的 IC 卡大家最常见的就是二代身份证和公交一卡通。IC 卡中有一类是只存储了用于标识卡片的序列号,这类 IC 卡通常被成为 ID 卡,而另外一类 IC 卡存储空间较大,而且能够实现一定的算法,通常被成为智能卡或 IC 卡。例如充值类的 IC 卡,比如电卡、IC 电话卡都是接触式的智能 IC 卡,门禁卡一般是非接触式的 ID 卡,二代身份证和护照一般都是非接触式的 IC 卡。ID 卡一般是只读卡片,卡内存储的数据只有一个由厂商写入的 ID 号,而这个 ID 号非常容易被复制(通过模拟电信号的方式实现)。而智能卡的数据读取和写入一般都通过密钥控制,甚至每个扇区都有相应的读密码和写密码。

目前,这方面已经有很多相关的研究成果,攻击者可以通过逆向工程的方法猜测 IC 卡中存储的密钥数据,这种思路来自于针对移动运营商 SIM 卡的攻击方法。一旦攻击者获得密钥数据,就可以对卡片进行复制和篡改。这种攻击已经非常广泛的流传开了~(扩展阅读《How they hacked it: The MiFare RFID [...]

阅读时间 - 20090223

全球钻石巨擘“封矿”,这里面说的这个公司就是钻石市场的绝对控制者,所谓的钻石期货 …… 就不要玩了吧。这家公司对钻石市场的控制是绝对的,这种垄断市场玩期货,无异于赌场~
微软机密原型机被盗。黑客啊~~
这下微软不爽了~
习主席这一圈出去,真是“散财童子”啊~
使职员幸福能产生利润,服务价值链?
中国的公务员选拔制度,很和谐!
省部生出来;
县市买出来;
乡镇喝出来;
村寨打出来。
这次 Blackhat 会议上针对 SSL 的攻击很猥琐,很邪恶!不过,这种攻击对于利用客户端证书来认证的网银来说,没有什么太大的危害。
中国威胁印度 IT 外包业,印度~ 如果真的威胁到了这个,估计很多印度中产要受影响了~
蒙牛的危机公关,非常鄙视蒙牛!哪里是蒙牛啊??纯粹是蒙人~
全国首例 QQ 靓号黑客案尘埃落定 被告终审获刑 5 年,QQ 靓号?中国移动??这新闻写得太标题党了吧?不过“长沙人贺某非法进入长沙移动分公司的业务管理BOSS系统获取特殊移动电话号码”这个的确很好很强大!
镜子,镜子,告诉我谁是发现漏洞最多的人?
浙大 80 后学生研制出“隐身衣”?!好强大!结果一件“隐身衣”引来国内三家大学“哄抢”

赖昌星“自述”
一项重大原始创新何以大难不死——北京东方微点公司起死回生始末 ,杀毒业大丑闻如何炮制? 瑞星行贿多家公司作假。唉,以前安全行业是娱乐圈只有圈内人知道,现在安全行业是娱乐圈大家都知道了。
北京江民新技术有限公司、北京金山软件股份有限公司、北京启明星辰信息技术有限公司等反病毒公司据称曾为此案出具虚假“病毒爆发”证据。
强制拆迁引官民之争,成都成华区政府出钱请人告自己。难道政府只有面对这样的威胁的时候才会认真想办法合理的解决问题?天啊~~ V 字仇杀队的面具居然有卖!!真想收藏一个!
著名黑客称奥巴马“超级加密”黑莓手机可以被攻破。
蒙牛特仑苏添 OMP 物质被质检总局叫停,既然是“IGF-1 物质也未列入食品添加剂使用标准,人为添加不符合法律法规”为什么不是非法呢?不符合法律法规,没有走相应的审批流程就直接上市,不用承担相应的责任么?

如果我是攻击者,我将把目标指向奥巴马周围的朋友,家人和同事,并试图入侵他们家里的机器,并获得奥巴马的黑莓email地址,黑客的目标应该是有权和奥巴马通信的人,因为他们的网络比起奥巴马的网络安全行相对比较低。
不知道会不会有“传统黑客”将奥巴马的黑莓当成自己的目标?
最近相撞的“交通事故”太多了,高空有卫星相撞,深海有核潜艇相撞,随便哪天都可能是灾难日啊!
日本秋叶原的裙底女装电脑!WoW 好强啊~
DNA 样本可能足以重建面部图像?那下一代的长相呢?能不能从双亲的 DNA 中取得?
德国考虑用中国式尺度屏蔽网络色情

《跌荡一百年》

看完了《跌荡一百年》,对里面关于甲午战争以及其带来的后果仍然唏嘘不已、心痛不已。
当时的国民党政府在日本侵占东北的时候,居然还大量进口日本产品,甚至对日本进口的大宗产品大幅降低关税 ………… 天哪!
美国胡佛的总统居然是靠在中国骗走了开平煤矿局而开始发迹;罗斯福新政暂时采用银本位引起了当时大洋彼岸中国的金融危机
当时国民党政府在证券等各种交易市场上做的事情比现在 TG 做的事情凶险太多了!
不过就这本书而言,感觉没有《激荡三十年》好,估计还是作者投入的时间和精力的差距吧。

阅读时间 – 20090215

欧盟出资打算模拟所有游戏!哇!!欧洲果然是文化人~ 我好多游戏不能运行了 …… 包括以前很喜欢玩的《十字军战士:无怨无悔》
把“血汗工厂”帽子扣给微软,环球时报太不负责任!这个更大的责任应该是当地政府,但是 HP、Dell、Microsoft 这些公司有一个供应商管理不严的问题。
澳大利亚即将启动网络内容过滤系统
传其来自华为员工疑因工作压力大跳楼亡
韩媒称中国黑客通过网银盗取韩国储户存款,网银大盗成功出口韩国?!
美俄卫星太空相撞,铱星和俄罗斯卫星相撞。看样子,以后所有上了天的东西,只要还有存量动力,攻击力还是很强大的啊~ 再加上之前有新闻说过中国已经有技术通过利用快到使用期限的卫星来构建全球定位系统,并且购买了多颗即将到期的卫星。这样看来,中国应该多囤积一些这样的快到期的二手卫星。
劣质装修毁了前门大街和我前门步行街走马观花过程中的感觉一样~
赛门铁克即将推出个人云计算存储备份服务
《魔术》这篇文章很不错~
看到 coolc 的发的《蒙牛关于 OMP 牛奶的回应》,心里真是无限鄙视蒙牛!这要是国外,消费者告他个虚假宣传,要求赔偿之类的,也得让他吃不了兜着走~
维基百科捏造事实导致了一个死循环,于是 Wiki 这个 Web 2.0 的排头兵去中心化失败?维基百科将巨变,网民修改须交给权威编辑审批。
中国在非洲最大投资交易受阻。西方联合起来强迫第三方国家修改和中国的协议 …… 唉~
Welcome on board ?《美中将在金融事务上展开合作》
经济适用男,貌似挺符合啊~
苹果与中国移动谈判详情浮现 王建宙要求运营应用程序商店,传联通与苹果谈 iPhone 入华事宜
俞敏洪称受乳业危机与百度风波影响刺激,看样子新东方的品牌也被良莠不齐的老师稀释得差不多了。
央视新址的配楼着火,希望没有人员伤亡。另外,舆论控制、火灾原因、烟花燃放等问题要解决好,给大家看到点希望。

新宠物 – 壁虎

多了只新宠物 —— 壁虎
什么??你说照片??没有啊~~ 在家散养状态,这会儿不知道趴在哪里呢?我倒是想圈养起来,但是个体太小了,貌似面包虫都吃不下。我怕给我圈养养死了 ……
看样子不用担心家里的蚊子、蟑螂什么的了~

设置 php 的 mysqli 扩展的缺省编码

最近写一个小程序,用 PHP 的 mysqli 扩展连数据库的时候写入 mysql 数据库里面的内容中文字符始终是乱码。最终,发现我的 mysqli 缺省编码是 latin1 。
获取当前编码

1
2
$charset = $mysqli->character_set_name();
printf ("Current character set is %s\n", $charset);

设置缺省编码

1
2
3
4
5
if (!$mysqli->set_charset("utf8")) {
printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
printf("Current character set: %s\n", $mysqli->character_set_name());
}

执行 SQL 语句

1
2
3
4
$query = iconv(”, ‘UTF-8′, $query);
if (!$mysqli->query($query)) {
printf("Error: %s\n", $mysqli->error);
}

央视新楼着火了!(欢迎猛击链接!有图有真相!!)

欢迎猛击链接!有图有真相!!

CCTV 新址“大裤衩”的配楼着火了!元宵节啊~ 不知道什么原因。

有些消息说前些时间的卫星信号中断是大火所致,这是谣言。第一,第一配楼主要是演播厅和酒店;第二,卫星信号中断是上午。

一个很“恶”的想法

前两天,一个朋友跟我说 WebSense 刚收购了 DEFENCEIO 这家公司。我看了这家公司对外提供的 API,他们提供的服务貌似很简单:blog 之类的 web 2.0 站点把用户提交的 comment 之类的交互数据通过 API 提交到 DEFENCEIO 这家公司,然后这家公司返回一个计算值,客户的应用可以通过这个计算值确认此交互数据是否为 spam 。个人觉得很好奇 —— 这样的细分市场的公司,居然也能在国外生存下去?!朋友说,这样的公司还相当多 ……
不过,我觉得这个思路还蛮有意思的,至少在国内可以做一个很恶心的应用 —— 网络发布审查工具。国家强力部门可以要求所有的 ICP 在发布信息时将数据(包括 ICP 自己发布的和用户发布的)提交到国家提供的某个网络服务,然后这个网络服务自动从返回审查结果, ICP 可以根据这个审查结果来判断内容的“和谐度”,避免过度的自我审查。审查服务可以通过人工智能来实现,而且审核集中户自动化,随着技术的进步,可以扩展到图片、音频和视频。怎么样?很邪恶吧??
这样的主动管理工具才是最好的“舆情监控系统”,比所谓的“搜索引擎”技术 NB 多了。所谓的“搜索引擎”技术,最多只能算是这个系统的查漏补缺罢了~

  • 分类

  • Google Connect

  • 最近评论