M1 card crack

news2024/9/22 17:32:28

判断卡片类型

这张卡就是本次实现的对象 ,一张废弃的校园卡,以下所有操作都以此卡展开
在这里插入图片描述

我们使用flipper的NFC功能扫描该卡片。我们直接read
![[Pasted image 20240831075934.png]]

![[Pasted image 20240831080255.png]]

我们得出最终结果该卡是M1 1K卡,也就是S50卡 。
Mifare 1卡是属于非接触式逻辑加密卡。MIFARE MF1是符合ISO/IEC 14443A的非接触智能卡。其通讯层(MIFARE RF 接口)符合ISO/IEC 14443A标准的第2和第3部分。其安全层支持域检验的CRYPTO1数据流加密。而CRYPTO1算法早已经在2015年宣布理论死亡。

以下是Crypto1 Stream Cipher 的初始化过程。在 Crypto1 加密细节公开后,对于一个 Stream Cipher 而言,只要能弄清内部状态是如何初始化的,我们就能生成一模一样的 keystream。

![[Pasted image 20240831080556.png]]

图上可以看到,Crypto1 是利用 ( K, uid⊕nT, nR) 来初始化内部状态的,这也是为什么前面提到,只要 nT⊕uid 的值相同, nR⊕ks1 就是固定的 (由于 PRNG 的漏洞,我们可以通过控制上电时间生成一样的 Nonce)。

如果我们有一张要复制的 M1 卡,用来初始化内部状态的 ( K, uid⊕nT, nR) 几个参数中,它的密钥 K 和 UID 都是固定的。由于我们已经知道了 Crypto1 的算法细节,我们可以通过收集一些 Nonce,来反复初始化 Crypto1 的状态,通过遍历尝试 239 种可能的密钥 K ,如果生成的 keystream 一模一样,说明我们尝试对 K 了。但是尝试 239 种可能实在是太慢了,有没有办法减少需要尝试的 K 数量呢?

下面这张图是 Crypto1 生成 Keystream 的流程,我们可以看到它竟然只用奇数位生成 Keystream,例如 9,11,13,15 … 47 位。我们这样就可以把奇数位和偶数位分开,例如先固定 20 位偶数位,再固定 19 位奇数位,这样就只需要尝试 220+219=1572864≈220.58 种可能。

假如在 CPU 上计算,尝试一种可能需要 5ms (实际会更快), 1572864∗5=7864320 毫秒,大约只需要 2 小时,这已经是可以接受的破解时间了。
![[Pasted image 20240831080711.png]]

破解的流程

  1. 利用 Nested Authentication 漏洞,搜集足够多的 Nonce。例如,M1 卡有 64 个 Block,不一定全部存满了数据,没有记录数据的 Block 通常用的出厂默认密钥,我们可以通过认证这个 Block 来读取别的未知 Block 数据。

  2. 利用 Sum Property 和 Filter Flip 来减少搜寻空间,减少可能的密钥数量

  3. 暴力破解,遍历剩余可能的所有密钥。
    其中,第一步利用了 Authentication 的漏洞,最后一步是因为 Crypto1 的算法加密细节被逆向工程完全公开,导致我们可以在高性能计算机上快速尝试可能的密钥。最重要的是第二步,Sum Property 和 Filter Flip 大大减少了搜寻空间,以至于我们可以在个人笔记本上,只花1分钟就能计算完所有剩余的密钥。
    这是最后破解完的部分数据。
    ![[Pasted image 20240831081835.png]]

这是破解出来的密钥
![[a4adcc7a89f1a166202b2ac43d036efa.png]]

参考文献:CRYPTO1: 密码分析学 (门禁卡破解) - 知乎 (zhihu.com)

本文仅为技术讨论和研究提供参考 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2090933.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

锂电池基本知识与设计

目录 摘要 充电过程 18650规格书分享 摘要 应用:笔记本电脑、智能手机等设备。 优点:较高能量密度和较长使用寿命,放电率低,可进一步延长充电间隔时间。 缺点:过度充电或者放电会产生不可逆的损伤,性…

让PDF格式为LLM应用做好准备:探索Marker开源工具

在如今的大数据时代,高质量的数据可谓是LLM(大语言模型)应用成功与否的关键因素。然而,大多数文本数据通常以PDF格式存在。这不仅适用于企业文档,也包括个人文件。然而,对于LLM而言,处理PDF文件…

全局页面数据渲染--SAAS本地化及未来之窗行业应用跨平台架构

一、代码 /* 未来之窗通用数据渲染// 定义了一个名为"未来之窗_人工智能_前端口_数据渲染到界面"的函数 function 未来之窗_人工智能_前端口_数据渲染到界面(obj, 前置参数) {// 开启一个控制台分组,用于组织相关的输出信息console.group("未来之窗…

多参数遥测终端科技守护水电站生态流量下泄

随着我国水电事业的蓬勃发展,水电站在推动地方经济快速增长、缓解能源压力方面发挥了不可替代的作用。然而带来的生态环境问题日益凸显,因水电站下泄流量不足造成部分河段减水、脱水甚至干涸,影响了河流的正常生态功能和居民的生产、生活。因…

【 html+css 绚丽Loading 】 000027 旋风破云扇

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 &#x1f495…

《机器学习》数据分析之关键词提取、TF-IDF、项目实现 <下>

目录 一、内容回顾 1、核心算法 2、算法公式 3、拆分文本 二、再次操作 1、取出每一卷的地址和内容 得到下列结果:(此为DF类型) 2、对每一篇文章进行分词 3、计算TF-IDF值 得到以下数据: 三、总结 1、关键词提取 1&a…

【Spring MVC】MVC设计模式的Java Web框架

Spring MVC框架 MVC框架简介:MVC三层架构MVC流行框架MVC框架好处: Spring MVC框架组件分析 处理器开发1. 定义处理器2. 处理请求3. 处理请求参数4. 返回视图或数据5. 异常处理 MVC框架简介: 谈及Spring MVC框架之前,我们先了解一…

C语言基础(二十九)

1、快速排序&#xff1a; #include "date.h" #include <stdio.h> #include <stdlib.h> #include <time.h> // 函数声明 void quickSort(int *arr, int low, int high); void swap(int *xp, int *yp); void printArray(int *arr, int s…

CSRF漏洞的预防

目录 CSRF漏洞预防措施 深入研究 CSRF Token的工作原理是什么&#xff1f; 为什么仅依靠Referer头字段来防范CSRF攻击不是完全可靠&#xff1f; SameSite cookie属性如何防止CSRF攻击&#xff1f; SameSite Cookie属性的作用 如何通过SameSite属性防止CSRF攻击 导图 CS…

JavaWeb JavaScript ⑧ DOM编程

在光芒万丈之前&#xff0c;我们都要欣然接受眼下的难堪和不易&#xff0c;接受一个人的孤独和无助&#xff0c;认真做好眼前的每一件事&#xff0c;你想要的都会有 —— 24.8.29 一、什么是DOM编程 简单来说&#xff1a;DOM(Document obiect Model)编程就是使用document对象的…

Python 如何进行密码学操作(cryptography模块)

Python 的密码学操作可以通过 cryptography 模块来实现&#xff0c;这个模块是一个功能强大的库&#xff0c;它提供了现代密码学的基本工具&#xff0c;包括加密、解密、密钥生成、签名等操作。cryptography 模块易于使用&#xff0c;并且安全性高&#xff0c;适合在各种场景下…

【软件测试】8. 测试分类

目录 1. 为什么要对软件测试进行分类&#xff1f; 2.按照测试目标分类 2.1 界面测试 2.2 功能测试 2.3 性能测试 2.4 可靠性测试 2.5 安全性测试 2.6 易用性测试 3.按照执行方式分类 3.1 静态测试 3.2 动态测试 4. 按照测试方法 4.1 白盒测试 4.2 黑盒测试 4.3灰…

【WiFi协议的发展学习1】

WiFi协议的发展 WiFi协议的发展2. WiFi协议发展3. WiFi协议发展小结3.1. 发展归纳3.2. 未来展望4. WiFi产品的特点/功能WiFi协议的发展 自20世纪90年代以来, WiFi技术得到了迅猛发展,已成为人们日常生活、工作和学习中不可或缺的组成部分。WiFi协议的发展不仅推动了无线通信…

TL-Tomcat 整体架构和处理请求流程解析

我们写一个servlet后&#xff0c;在web.xml里配上我们的路径。然后把项目打包成war包放入webapps目录下 然后这样就返回了 这个war包里面的东西和这个文件夹其实是一样的&#xff1a; 那么最终我们把war包删掉 还有原来文件夹下其他的东西 只剩下这么个.class文件 其实这…

TikTok流量推送逻辑与IP的关系

在探讨TikTok流量推送逻辑时&#xff0c;很多用户都好奇这一机制是否与用户的IP地址紧密相关。TikTok作为全球知名的短视频社交平台&#xff0c;其流量推送算法无疑是平台成功的关键因素之一。那么&#xff0c;TikTok的流量推送逻辑究竟是如何运作的&#xff1f;它与IP地址之间…

C语言 | Leetcode C语言题解之第385题迷你语法分析器

题目&#xff1a; 题解&#xff1a; struct NestedInteger* helper(const char * s, int * index){if (s[*index] [) {(*index);struct NestedInteger * ni NestedIntegerInit();while (s[*index] ! ]) {NestedIntegerAdd(ni, helper(s, index));if (s[*index] ,) {(*index…

使用InternLM实现谁是卧底游戏

环境 # 创建虚拟环境 conda create -n spy python3.10 -y conda activate spy pip install streamlit1.37.0 openai1.37.1 git clone https://github.com/sci-m-wang/Spy-Game.git cd Spy-Game 修改脚本who_is_the_spy.py中的client 部分 if "client" not in …

pdf转cad软件,5款快速上手转换软件分享

在当今快节奏的工作环境中&#xff0c;图纸文件的格式转换成为设计师、工程师等职业群体日常工作中不可或缺的一环。尤其是将PDF文件转换为CAD格式&#xff0c;不仅能够提升工作效率&#xff0c;还能确保设计数据的准确性和可编辑性。下面给大家分享5款能够快速上手转换软件&am…

快蜗牛OZON数据分析工具,快蜗牛OZON选品工具

现在电商行业蓬勃发展的时代&#xff0c;OZON是俄罗斯及东欧边相当重要的电商平台&#xff0c;它背后的数据里藏着超多商业机会。快蜗牛数据专门针对 OZON 平台搞数据分析的&#xff0c;能帮咱们卖家看透市场&#xff0c;还能指导商家怎么做生意。接下来看快蜗牛对 OZON 的数据…

物理机安装Centos后无法连接网络(网线网络)怎么办?-呕心沥血总结版-超简单

问题情境 高高兴兴的在物理机上装了个centos7,打开一看,哇,网卡没有我的局域网IP,怎么办,已经插上网线了呀,灯也在闪烁,怎么没有网络呀? 其实,是缺少网卡驱动! 问题解决: 1.查询网卡版本 在服务器上输入命令: lspci | grep Ethernet可以看到,我的网卡是RTL8…