一.便携化:

随着智能设备的普及化以及功能的集成化,现在人们出行只需要一部手机就可以了。但是如果你是在大学的话,就会知道,大学有校园卡这一说。学校会将校园的服务认证。集成到一张卡里面,只有通过卡片进行认证,才能获得学校的相关服务,例如:借书,洗澡,购物,吃饭,打水等等。

这种校园一卡通一般都是联网的,也就是说卡片的使用记录是会被存储到数据库中的,使用记录是可以查询的,金额是可以通过网络进行实时纠正的。这样的话,对于学校来说,学校的财产安全是得到保障的,不会被别有用心的人“偷钱用”,也就是不能通过更改卡中的金额数据来消费。数据库会对卡片中的金额进行纠正,当卡片中的金额与数据库中金额不匹配时,卡中的数据就会被修改成正确数据,来避免“盗刷”。

但是,这种卡对于学生来说,并不是很友好。卡片本身比较容易丢失,而且补办非常麻烦,且补办的费用也不便宜(可以说是暴利)。其实,丢失的风险是可以避免的,我们只要找到合理的方式就可以了。

下面我谈谈我的想法,最容易想到的就是把卡夹在手机壳后面。如果是软壳的话,放下一张卡是没有问题的,但如果是硬壳的话,根本不可能放得下。如果是多张卡的话,那完蛋了,软壳也是放不下的。

而且,就算软壳手机后面能放下卡,但是手机本身会对射频的读写产生影响,导致卡在手机后面是无法读写的,使用的时候还是要从后面拿出来,虽然不容易掉了,但还是很不方便。

所以我想到了这个解决方案:https://blog.csdn.net/C1664510416/article/details/93408450,这个方案是在长期的摸索中,总结出来的,虽然看着一目了然,但是整个思路过程并不是一下子就能想出来的。

二.关于M1卡:

要想对卡进行改造,必须对卡的工作原理有一定的了解,改造越大,创意越新颖,对卡的内部结构的了解就要越深(要想做出前所未有的创造,得学多少东西呢?)。

M1卡的内部结构:

(1)Mifare1卡由16个扇区组成,每个扇区在有4个数据块组成,按照顺序将数据块进行编码,其地址编码为0~63

(2)在扇区1的第0数据块,存放张卡片制造厂家信息,这个扇区的信息已经固化,不能修改。

(3)每个扇区的4个数据块,功能不同。数据块0~2是用于存储数据。这3个数据块主要应用于数据存储和数据读操作。

这里存储的数据,可以进行数值初始化、加、减、读操作。

(4)块区3作为控制块存在,用于存放:密钥A、存储控制(这里要注意,控制位的写入要慎重,特别是写入锁死功能,对于M1卡来说,控制位的写入锁死一旦写入,这个扇区就不可能再被修改!!!!)和密钥B。

(5)每个扇区内数据块3中的密码和存储控制全部独立存在(也就是说M1卡可以验证多台设备实现多种功能),用户可以根据的需求进行设置。存储控制限定在4 B,32 bit 。对每个扇区中的每个数据中的每个数据的存取条件均是由密码和存储控制共同确定的,每个存储控制由三个控制位组成。

(6)控制位是以正反形式存储于控制字节中,确定了数字块的访问权限。例如,进行加值操作须验证KEY B,进行减值操作须验证KEY A。

###控制位的数值理解起来比较困难,有一个软件叫:M1+卡控制字节生成工具(https://download.csdn.net/download/c1664510416/11369060)。可以帮我们很好的理解控制位的含义。

知识拓展:

小细节:

IC卡数据0扇区0块的第6字节代表着芯片类型,普通的IC卡SAK类型为:08,CPU模拟卡为:28,纯CPU卡

为:20

验证漏洞:

      验证漏洞是目前使用最多的Mofare M1破解手段,在读卡器尝试去读取一个扇区时,卡会首先发一个随机数给读卡器,读卡器接到随机数之后利用自身的算法加密这个随机数再反馈回给卡,卡再用自己的算法计算一次,发现结果一致的话就认为读卡器是授权了的,然后就用开始自己的算法加密会话并跟读卡器进行传送数据。这时候问题就来了,当再次尝试去访问另一个扇区,卡片又会重复刚才那几个步骤,但此时卡跟读卡器之间的数据交换已经是被算法加密了的,而这个算法又是由扇区的密钥决定的,所以密钥就被泄露出来了。因此验证漏洞要求至少知道一个扇区的密钥,但目前大部分的扇区都没有全部加密,所以很容易就会被破解。

 重放攻击:

重放攻击是基于Mofare M1卡的PRNG算法漏洞实现的,当卡接近读卡器获得能量的时候,就会开始生成随机数序列,但这有一个问题,因为是被动式卡,本身不带电源,所以断电后数据没办法保存,这时基于LSRF的PRNG算法缺陷就出来了,每次断电后再重新接入电,卡就会生成一模一样的随机数序列,所以就有可能把这个序列计算出来,所以只要控制好时间,就能够知道在获得能量后的某一刻时间的随机数是多少,然后进行重放攻击,就有可能篡改正常的数据。如果卡的所有权在手上时,甚至不需要花费太多的时间就可以实现。

更多细节: 地址:https://wwa.lanzous.com/i7k6ffpfarc   密码:   6666

地址:https://wwa.lanzous.com/idnxFfpinqh  密码:  6666

参考文章:[1]  Mifare卡安全性和破解技术_陈威

关于校园一卡通的便携化及Mifare M1卡的内部结构相关推荐

  1. 金融卡与校园一卡通的发展趋势

    早期银行卡通过磁条记录帐号等信息,本身存储容量小,没有计算功能不能加密解密,所以安全性差.交易时必须通过ATM机,POS机等连接到主服务器,进行交易.卡片本身只起记录帐号的作用.这类磁条银行卡使用范围 ...

  2. 【2017年第2期】基于校园一卡通数据好友发现及应用

    鲁鸣鸣, 张丹, 王建新 中南大学信息科学与工程学院,湖南 长沙 410083 摘要:教育大数据是近年来的研究热点.利用分布式文件系统对校园一卡通数据进行存储.预处理和分布式计算.在此基础上,提出学生 ...

  3. Mifare S50(M1)卡的内部结构

    (1)Mifare M1卡由16个扇区组成,每个扇区在有4个数据块组成,按照顺序将数据块进行编码,其地址编码为0~63. (2)在扇区1的第0数据块,存放张卡片制造厂家信息,这个扇区的信息已经固化,不 ...

  4. 基于Android的校园一卡通App平台

    演示视频信息: A6604基于Android的校园一卡通 一.研究背景.目的及意义 (一)研究背景         二十一世纪是信息化的时代,信息化建设成为我们的首要任务.当前我国大力发展信息产业,在 ...

  5. 一卡通android文档,基于Android平台的校园一卡通的设计

    基于Android手机的校园一卡通设计 在信息化"十二五"规划中,浙江大学首次提出"智慧校园"的概念."智慧校园"指通过云计算,虚拟化和物联 ...

  6. 校园一卡通的快速破解

    原文:http://bbs.pediy.com/showthread.php?t=162099 校园一卡通的快速破解 校园一卡通在高校被广泛使用,能够方便地实现转账消费一体化.在学校内可用于食堂,浴室 ...

  7. 图书管理系统c++_校园一卡通学生如何使用,图书馆分系统演示步骤,系统间资源共享...

    哈喽,今日头条的小伙伴们大家好,我是你们的好朋友IT咨询顾问.小编曾参与一些高校校园网的建设,其中包括校园一卡通系统,今天整理校园一卡通系统在图书馆子系统验收方案.校园一卡通系统简单来说,就是使全校所 ...

  8. 湘教云实名服务平台怎样认证_【i通知】小贝喊你来校园一卡通微信支付实名认证!...

    随着北理珠校内食堂一卡通 全面支付微信支付的普及 我们的一卡通信息安全也愈发重要 为了保护大家的校园信息安全且便于管理 学校让各位同学们 完成校园一卡通微信支付实名登记 快来跟着小贝来看看 究竟是怎么 ...

  9. 毕业设计-基于微信小程序的校园一卡通应用系统

    目录 前言 课题背景与简介 实现设计思路 一.校园一卡通原理 二.校园卡应用系统的发展 三.微信小程序设计 实现效果样例 更多帮助 前言

最新文章

  1. Unity easyTouch移动代码(参考)
  2. Timer和TimerTask
  3. java--jdbc
  4. Object::connect: No such slot (QT槽丢失问题)
  5. Mybatis怎么能看是否执行了sql语句
  6. linux显卡驱动未加载,Linux下无显卡驱动的解决办法
  7. java.sql.SQLException: Protocol violation 问题解析
  8. CA的建立与证书的颁发
  9. eclipse创建maven项目的创建
  10. matlab图形标注名称_matlab入门(三)图像可视化
  11. Word怎么转PDF?看完这篇你就知道了
  12. android 动画完成后不可点击事件,android – TranslateAnimation后按钮不可点击
  13. svg 地图_用于Power BI的SVG省市地图(带数据标签,含下载)
  14. 坚持写博客,以身说法——我与CSDN的1234
  15. Java如何进行文件上传与下载
  16. pytorch-YOLOv3移植到寒武纪
  17. Worktile官网下载
  18. 温度传感器采集温度数据通过网关上传至ThingsBoard平台
  19. [python][Bug记录]特殊16进制转成对应的语言
  20. 在前端中清除IE浏览器缓存问题

热门文章

  1. Ubuntu 14.04安装WPS
  2. 达梦数据库 分区表实例
  3. VBox增强工具安装
  4. RactNative---react-native-storage使用
  5. 嵌入式开发工具——嵌入式Qt连接mysql
  6. juce: 跨平台的C++用户界面库
  7. 51学习-矩阵按键篇
  8. 2018考研数学一解析 ​​​
  9. PDF文件打开密码忘记了,怎么办?
  10. 【大话三国】揭秘蜀汉五虎将的真相