mcpField
I
implementing-end-to-end-encryption-for-messaging

implementing-end-to-end-encryption-for-messaging

github.com/mukul975安全35.2k50 次安装8 周前更新
代码仓库

关于 implementing-end-to-end-encryption-for-messaging

用于实现简化版 Signal Protocol 风格消息加密的安全技能,涵盖 X3DH 和 Double Ratchet。面向开发加密消息功能及开展安全评估的人员,重点包括逐条消息密钥和乱序传递处理。

主要功能

  1. 01X25519 密钥交换
  2. 02X3DH 会话协商
  3. 03Double Ratchet 密钥管理
  4. 04AES-256-GCM 消息加密
  5. 05前向保密
  6. 06处理乱序消息

适用场景

  1. 01构建加密消息会话
  2. 02测试消息加解密
  3. 03评估前向保密行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill implementing-end-to-end-encryption-for-messaging

安装后在 Claude Code 中输入/implementing-end-to-end-encryption-for-messaging确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

详细介绍

为消息传递实现端到端加密

概述

端到端加密(E2EE)确保只有通信双方能够读取消息,任何中间方(包括服务器)都无法解密。本技能实现了 Signal Protocol 的 Double Ratchet 算法的简化版本,使用 X25519 进行密钥交换、HKDF 进行密钥派生,并使用 AES-256-GCM 进行消息加密。

何时使用

  • 在环境中部署或配置为消息传递实现端到端加密的能力时
  • 在建立符合合规要求的安全控制时
  • 在为该领域构建或改进安全架构时
  • 在开展需要此实现的安全评估时

前置条件

  • 熟悉密码学概念与工具
  • 可访问用于安全执行的测试或实验环境
  • 已安装所需依赖的 Python 3.8+
  • 对任何测试活动具有适当的授权

目标

  • 实现用于会话建立的 X25519 Diffie-Hellman 密钥交换
  • 构建 Double Ratchet 密钥管理算法
  • 使用每条消息独立的密钥加密和解密消息
  • 实现前向保密(当前密钥泄露不会暴露过往消息)
  • 处理乱序消息投递
  • 使用 X3DH(扩展三重 Diffie-Hellman)实现密钥协商

关键概念

Signal Protocol 组件
组件用途算法
X3DH初始密钥协商X25519
Double Ratchet持续密钥管理X25519 + HKDF + AES-GCM
Sending Chain每条消息的加密密钥HMAC-SHA256 链
Receiving Chain每条消息的解密密钥HMAC-SHA256 链
Root Chain在 DH ratchet 时派生新的链密钥HKDF
前向保密

每条消息都使用由棘轮链派生的唯一加密密钥。密钥使用后即被删除,确保当前状态泄露不会暴露先前发送/接收的消息。

安全注意事项

  • 解密后立即删除消息密钥
  • 实现消息排序与重放保护
  • 对所有消息使用认证加密(AES-GCM)
  • 使用设备级安全保护身份密钥
  • 通过带外方式验证身份密钥(安全码)

验证标准

  • X25519 密钥交换生成共享密钥
  • 消息在双方之间正确加密和解密
  • 不同的消息产生不同的密文
  • 前向保密:旧密钥无法解密新消息
  • 乱序消息可以解密
  • 被篡改的消息会被认证拒绝

评论

支持 Markdown