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, 哈希校验, 子域名变形, 数字签名, 无后门, 系统运维, 逆向工具, 防御工具