深入了解密钥管理组件KMC
前端=>https =>后端=> DB
1.一个用户认证的网站开发,那些是敏感数据?
数据库密码
证书私钥
用户登录密码
2.在非信用网络之间进行敏感数据传输必须采用安全传输通道或者加密后传输,有标准协议规定的除外。
1.base64,hex 编码
2.sha256 哈希
3. pdkdf2 密码派生,单向 sha256gcm 加密算法,双向,转换后长度不变
1.必须使用公开的加密算法
2. 密码必须分层(公密钥+主密钥+加密密钥)
初始化=》加密或解密=》去初始化
kmc接口
初始化
内部生成 mk
keActiveNewKeyEx
获取keyID
keyGetMaxMkIDEx
获取mk明文
keyGetKeyByIDEx
导入主密钥
keRegisterByteKeyEx
加密
KeEncryptByDomainEx
解密
KeDecryptByDomainEx
更新主密钥
keCheckAndUpdateMkEx
typedef struct TagSdpCipherHeaderEx {
WsecUnit32 cipherVersion;
WsecUint32 hmacFlg;
WsecUint32 domainId;
WsecUint32 cipherAlgId;
unsigned char mkHashId[WSEC_MK_HASH_REC_LEN]
unsigned char salt[SDP_SALT_LEN_V2];
unsigned char iv[16];
unsigned char kdfAlgId;
unsigned char iter[3];
WsecUint32 extLen;
WsecUint32 ciphertextLen;
} SdpCipherHeaderEx;
本文来自博客园,作者:易先讯,转载请注明原文链接:https://www.cnblogs.com/gongxianjin/p/17391113.html