SuperAPI AI 工具集

crypto-best-practices

安全与审计

查看项目

更新于 10-15 22:11

技能介绍

用途:该技能为 CIA 平台提供密码学实现指导,覆盖加密、哈希、数字签名与密钥管理,确保符合 NIST、OWASP 与 Hack23 ISMS 密码学政策。

适用场景:静态敏感数据加密(数据库、文件)、用户认证密码哈希、传输中数据保护(TLS 配置)、生成安全令牌或会话 ID、实现数字签名、API 认证机制、加密密钥管理。

核心原则:不要自行实现加密算法、哈希函数、随机数生成器或密码学协议,应使用成熟库,如 Java Cryptography Architecture(JCA)、Bouncy Castle、Spring Security Crypto、Apache Commons Crypto。

推荐算法:对称加密用 AES-256-GCM 或 ChaCha20-Poly1305,非对称用 RSA-4096;通用哈希用 SHA-256/384/512,密码用 bcrypt(cost 12+)或 Argon2id;密钥派生用 PBKDF2(SHA-256,10 万次以上迭代)或 Argon2id。避免 DES、3DES、RC4、AES-ECB、MD5、SHA-1 及无盐简单哈希。

主要能力:提供 BCrypt 密码编码与校验、密码强度校验(长度 12 位以上、大小写、数字、特殊字符、常见密码检查)、AES-256-GCM 静态数据加解密、自定义 AES/GCM 实现(128 位 tag、12 字节 IV、256 位密钥)、TLS 配置(Tomcat、Spring Security、Nginx 反向代理)、JWT RS256 签名与校验、SecureRandom 安全随机数与令牌生成、密钥生成与轮换策略。

使用方式:通过 Spring 配置类定义 PasswordEncoder、TextEncryptor、BytesEncryptor 等 Bean;密钥从环境变量或密钥管理服务加载,禁止硬编码或提交到 git。密钥生成可用 openssl 命令,如 openssl rand -base64 32、openssl genrsa -out private-key.pem 4096。

限制:资料未提供具体版本兼容性、性能基准、完整密钥轮换实现及部署环境要求,部分代码为占位示例。