深入了解密钥管理组件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;

 

 

 

 

 

 

 

 

posted @ 2023-05-11 15:29  易先讯  阅读(334)  评论(0编辑  收藏  举报