Mr20x20/digital-signature-fim-tool
GitHub: Mr20x20/digital-signature-fim-tool
基于 Python 的文件完整性监控学习工具,通过 SHA-256 哈希和 RSA 数字签名检测文件是否被未授权篡改。
Stars: 0 | Forks: 0
# digital-signature-fim-tool🔐
一个基于 Python 的文件完整性监控工具,使用 **RSA 数字签名** 和 **SHA-256 哈希**。
## 📌 概述
本项目是一个简单但功能强大的 **文件完整性监控 (FIM)** 工具。
它通过以下方式验证文件完整性,以确保文件未被篡改:
* SHA-256 哈希
* RSA 数字签名(公钥/私钥加密)
即使攻击者修改了文件内容,该工具也能检测到未经授权的更改。
## ⚙️ 功能
* 生成 RSA 密钥对(2048 位)
* 为文件创建数字签名
* 使用公钥验证文件完整性
* 检测未经授权的文件修改
* 适用于任何文本/二进制文件
* 简单的基于 CLI 的界面
## 🧠 工作原理
1. 根据文件内容生成 SHA-256 哈希
2. 使用 **RSA 私钥** 对哈希进行签名
3. 签名在本地保存
4. 随后,重新计算文件的哈希并使用 **公钥** 进行验证
5. 如果有任何更改 → 验证失败
## 🚀 使用方法
### 1. 生成密钥(运行一次)
```
python secure_monitor.py generate-keys
```
### 2. 保存文件签名(基线)
```
python secure_monitor.py save config.txt
```
### 3. 检查文件完整性
```
python secure_monitor.py check config.txt
```
## 📂 示例
```
config.txt → original file
config.txt.sig → signature file
```
## ⚠️ 重要说明
* 必须妥善保管私钥
* 如果 `.sig` 文件被修改或删除 → 完整性检查将失败
* 本工具仅供 **教育目的** 使用
## 🛠 使用的技术
* Python 3
* hashlib (SHA-256)
* cryptography (RSA, PSS 签名)
## 📚 涵盖的安全概念
* 哈希 (SHA-256)
* 公钥加密技术 (RSA)
* 数字签名
* 文件完整性监控 (FIM)
* 基础蓝队概念
## 📈 未来改进
* 目录监控(递归扫描)
* 实时文件监控
* 基于 JSON 的清单存储
* 报警系统(电子邮件 / 日志系统)
* Linux daemon 版本
## 🧑💻 作者
本项目作为网络安全学习项目而开发,旨在了解现实世界中的完整性系统是如何工作的。
标签:CVE, Python, RSA加密, TLS, 哈希校验, 子域名变形, 数字签名, 无后门, 系统运维, 逆向工具, 防御工具