RFID 卡片防复制

这里的卡指的 MIFARE Classic 系列 或 NTAG 系列的卡。其它的卡没接触过,不了解。

防伪有两层意义:

  1. 卡片防复制。比如小区卡被复制,使得出入小区的人员管理更困难了。这是需要防范的事情
  2. 卡片数据被破解。比如公交卡或食堂饭卡,如果破解了其中的数据,就可以篡改金额。

复制会产生盗刷问题,需要在第一层解决。而卡内数据加密是应用层的工作,方式方法多种多样。

这里讨论卡片防复制,以小区卡为场景。

只使用卡UID系统

这种就是没有加密了。把卡当作 ID 卡来用。

复制方法:

读出原卡 UID。 找一张可以擦写 UID 的特殊卡,写入 UID。

一般从厂商出来的卡片第0扇区第0块不可写,在这块中存储UID和厂商信息。但是块0可重复擦写的卡也可以找到,只是对于普通人稍微有点难度而已。

对于小区卡来,被复制会带来隐患,比如:

用户可以随意复制卡,卡片最后流通就不一定是小区的住户了。
如果被小区以外的人有一张复制卡,则可随意进出小区,带来安全隐患

使用卡中的数据,且数据被加密,加密使用 UID 作因子

因为不再只使用 UID,这样系统设计时可以把用户权限写在卡里,从而不需要向门禁设备里同步了。

用法稍微高级一点。卡中的数据别人看不懂,但并没有加大卡片被复制的难度。

复制方法同上:

读出原卡所有数据。 找一张可以擦写 UID 的特殊卡,写入包括 UID 在内的所有数据。

别人无法破解卡中的数据,但还是有方法复制一张卡

在上一步基础上,使用卡片本身的加密方法

  1. MIFARE CLASSIC 系统的卡,每个扇区都是独立加密的。需要 KEYA, KEYB 校验正确才能读
  2. NTAG 系列的卡,有一个 32 bits 的 password 功能。可以配置成通过密码验证之后才允许读

以 NTAG 为例。

每张卡有 32 bits 的密码,只可校验,读出只能得到 0。
在发卡时,以 UID 再组合特定的密钥因子,为这张卡生成 32 bits 的 password。
每张卡的密码不同,密码不能复制,密码校验不通过就不能读卡。

在这种机制下,想复制一张卡的难度就进一步加大了。

结论

  1. 结合卡 UID 对数据加密,提高复制成本
  2. 使用卡片的加密功能,防复制

参考文章

RFID安全技术探讨
RFID的安全与隐私
NFC标签如何实现防伪?

RFID 卡片防复制的更多相关文章

  1. [No000080]右键解锁增强Chrome插件开发,破除防复制

    昨天用360极速(虽然我不喜欢360.)浏览器,登陆知乎查阅一些东西,突然感觉有些观点很赞同,想copy转载一下,我了个去,它丫的居然不让我复制. 地址:https://www.zhihu.com/q ...

  2. 微信浏览器返回刷新,监听微信浏览器返回事件,网页防复制,移动端禁止图片长按和vivo手机点击img标签放大图片

    以下代码都经过iphone7,华为MT7 ,谷歌浏览器,微信开发者工具,PC端微信验证.如有bug,还请在评论区留言. demo链接:https://pan.baidu.com/s/1c35mbjM ...

  3. 360个人图书馆 轻松解除网页防复制 (转自老D)

    360个人图书馆会自动采集一些比较好的文章,我的博客文章也被采集过几篇,用过360个人图书馆的人都知道要复制别人的文章需要先收藏到自己的图书馆才可以复制,没有账号右键复制它会直接弹出一个提示登录框.不 ...

  4. 低成本安全硬件(二):RFID on PN532

    引言 鉴于硬件安全对于大多数新人是较少接触的,而这方面又非常吸引我,但是部分专业安全研究设备较高的价格使人望而却步.在该系列中,笔者希望对此感兴趣的读者在花费较少金钱的情况下体会到硬件安全的魅力所在. ...

  5. 一次蜿蜒曲折的RFID破解之路

    前言 早一段时间看到一篇看雪论坛关于逻辑嗅探破解接触式IC卡口令的文章,激起鄙人对rfid的兴趣.遂准备拿学校的卡一展身手. 0×00 前期准备 经过初步了解,学校的rfid卡片分为两种.校园卡采用M ...

  6. wordpress怎么禁止文章复制

    登陆你的网站后台--点击菜单栏的"外观"--点击"编辑"--在右侧,找到footer.php,打开它--在</body>之前加入以下代码: 1.禁止 ...

  7. 前端er怎样操作剪切复制以及禁止复制+破解等

    前言 有时候我们经常会碰到这些场景:玩掘金.知乎的时候复制一段文字,总是会在内容后面加上一些版权信息,以及像小说网站等都有禁止选中,禁止复制这种功能,还有点击自动复制账号的功能. 我也经常遇到这些场景 ...

  8. LEANGOO卡片

    转自:https://www.leangoo.com/leangoo_guide/leangoo_cards.html#toggle-id-10 Leangoo的卡片可以是需求.目标.任务.问题.缺陷 ...

  9. PSAM 卡的应用操作方法

    PSAM 卡的应用        PSAM 功能 终端安全存储模块        PASM  常用于 脱机交易的 安全认证        脱机交易的流程          1.卡片对持卡人的认证(防止 ...

随机推荐

  1. 学习 WebService 第四步:利用WSDL(URL)生成WebService客户端<初级>

    我用的是最简单的方法,利用jdk的命令wsimport -keep -p 包路径 -d 代码存放位置 WSDL网址 蓝色是命令,粉色是存放位置,橘色是URL C:\Program Files\IBM\ ...

  2. 答题小程序开发之socket编程 微信小程序答题 直播答题开发 直播弹幕使用web socket编程

    最近有一个项目很火,那就是直播答题的,接到公司的这个任务,开发直播答题的聊天室功能.在线的人相互聊天.之前做过类似的,当时都是使用的ajax轮询的,这种非常的耗费服务器.所以这次就开始使用socket ...

  3. Linux System Programming 学习笔记(二) 文件I/O

    1.每个Linux进程都有一个最大打开文件数,默认情况下,最大值是1024 文件描述符不仅可以引用普通文件,也可以引用套接字socket,目录,管道(everything is a file) 默认情 ...

  4. 洛谷 [P2886] 牛继电器Cow Relays

    最短路 + 矩阵快速幂 我们可以改进矩阵快速幂,使得它适合本题 用图的邻接矩阵和快速幂实现 注意 dis[i][i] 不能置为 0 #include <iostream> #include ...

  5. js 实现点击复制文本内容

    js  实现点击复制文本内容 <table> <tr><td>姓名:<span onclick="copyContent(this);" ...

  6. LeetCode OJ——Longest Valid Parentheses

    http://oj.leetcode.com/problems/longest-valid-parentheses/ 最大括号匹配长度,括号是可以嵌套的 #include <string> ...

  7. Drupal 有用的模块

    投票模块drigg https://www.drupal.org/project/drigg

  8. Codeforces Round #321 (Div. 2) Kefa and Dishes 状压+spfa

    原题链接:http://codeforces.com/contest/580/problem/D 题意: 给你一些一个有向图,求不超过m步的情况下,能获得的最大权值和是多少,点不能重复走. 题解: 令 ...

  9. PHP平均整数红包算法

    <?php function RandomMoney( $money,$num ){ $arr = array(); $total_money = 0; $this_money = $money ...

  10. 一个能让你了解所有函数调用顺序的Android库

    http://mobile.51cto.com/android-536059.htm 原理 本库其实并没有什么黑科技,本库也没有java代码,核心就是2个build.gradle中的task.首先,原 ...