密码学原语=>业务安全
我们有了数学证明正确的工具(加密算法、哈希、数字签名),但疑问随之而来:
在把任何密钥材料真正变成可用状态之前,必须同时验证三件事:
身份 (Who)
完整性 (What)
机密性 (How)
数学工具的完美假设:
“只要密钥不泄露,使用该密钥的加密/签名就是安全的。”
业务场景的现实推论:
“假设密钥完成安全分发,不考虑重放攻击... 只要保护好密钥,业务就是安全的。”
而现实是: 密钥需要分发、存储、使用,会面临泄露、篡改、冒用等风险。
密钥 (Key) 一串随机比特,安全的根源。
使用权 (Access Right) PIN、口令、ACL。绑定“实体→密钥”,但不透露密钥。
消息鉴别 (Message Auth) 用MAC/HMAC证明消息完整性。风险:密钥与身份绑定,泄露即等同身份泄露。
数字签名 (Digital Signature) 用私钥签名,公钥验证。实现完整性与不可否认性。身份通过证书与公钥绑定。
身份鉴别 (Identity Auth) 通过协议(如TLS握手)现场证明“拥有私钥使用权者即为声称实体”。 关键:私钥不离开安全区域(如HSM)。
将“密钥本身 / 使用权 / 消息完整性 / 身份鉴别”逐层解耦。 任何单点的安全失效,都不会导致整个信任体系的崩溃。
学习密码学,正是学习如何运用这些工具,在充满威胁的环境中系统地构建、传递和验证信任。