tencentyun / qcloud-documents

腾讯云官方文档

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

关于使用白盒密钥保护SecretKey的问题

TjFish opened this issue · comments

commented
  • 相关文档: 白盒密钥管理

  • 背景描述:SecretKey是用于建立客户端程序与服务端程序安全通讯的密钥。如果直接写死在代码里,攻击者可以分析源代码从而轻易的获取密钥。

  • 解决思路:是对SecretKey进行加密保护,在客户端程序中,SecretKey以密文形式存储。在客户端程序运行过程中,执行解密程序对SecretKey密文进行动态解密。

  • 问题描述:在目前的“白盒密钥保护SecretKey”的方案中,解密程序由白盒密码实现,并以二进制文件的形式部署到客户端程序中。
    关于白盒密码的使用存在一个问题:

    • 一方面,假设攻击者可以窃取到解密程序的二进制文件,就可以对代码中写死的SecretKey密文进行解密,从而得到SecretKey。
    • 另一方面,假设攻击者无法截取到解密程序的二进制文件,那么为什么不使用传统的密码学算法如AES、SM4,将解密密钥写入到文件中,然后部署到服务器上呢?

综上,使用白盒密钥保护SecretKey是有必要的么?白盒密钥在当前场景下相比于传统方案又有哪些优势呢?

希望能得到您的解答,谢谢!

尊敬的腾讯云用户,您好!
非常感谢您的反馈,解密二进制文件对密钥进行了混淆,无法直接作为传统加解密算法的密钥来使用。
另外,密钥管理系统的白盒密钥支持对物理环境进行绑定,绑定后解密只能在指定 IT 环境中。
如果遇到产品使用等相关问题,您可以咨询 在线客服提交工单 来寻求帮助。
另外,您也可以拨打 4009100100 联系我们的客服人员,非常感谢!