密码技术是信息安全领域的重要组成部分,随着人工智能、物联网、5G网络等新兴技术快速发展,服务器在内的终端设备基本处于白盒环境下,攻击者可任意使用调试工具对终端设备发起攻击,在反编译后的程序中寻找加密算法,在运行时的内存中寻找密钥并对加密数据进行破解,从而获取信息。面临这样的信息泄露威胁,仅仅依靠传统密码技术是无法完成保护的。
针对当前密码技术在白盒环境下面临的严峻形势,市面上已衍生出多种密钥白盒保护方案,有的能力强、保护效果好,有的仅仅是沾点边、并没有实际密钥保护能力,但都掩盖在“密钥白盒”概念下,迷惑性极强,很难分辨。
传统密码技术面临的安全风险
密码算法的安全性前提是假定加解密过程处于黑盒中,即攻击者不会以调试程序的方式进行破解,只能观察到一些外部信息或者操作,这些信息包括系统内的明文(输入)或者密文(输出),并且认为代码执行以及动态加密不可被观察,也就是密码算法假设通讯的两端和计算平台是安全的。
随着密码技术应用场景的多样化、复杂化,软件做为密码载体,其所处的运行环境也越来越不可控、不安全,手机、终端设备、服务器、机顶盒、路由器、汽车,以及随身穿戴眼镜、手表等设备,大多处在攻击者可随意访问、操作、控制的白盒环境下(攻击者可以随时逆向分析代码、查看调试运行环境,以及观察和修改任意的内部操作和数据,这样的运行环境称为白盒环境),攻击者可轻易截取密码计算、传递的中间信息,进而破解、还原密钥并对保护数据进行解密,最终完成白盒攻击过程。
白盒密码技术与白盒环境保护技术的区别
- 通过查找表(LUT)等数学层面技术来保护运行在不可信环境中应用的密钥和关键数据,其输入、输出的数据与标准算法相同,但实现方式与标准算法完全不同;
- 受到白盒密码技术保护的算法密钥,在代码中始终不会以明文形式出现(抗静态分析),在内存中始终不会以明文形式出现(抗动态分析) ,防止黑客通过代码逆向、动态调试等手段提取用于加密、解密、签名、验签等功能的密钥。
白盒环境保护技术是一种软件加固保护技术,旨在保护应用程序的安全性,防止恶意攻击者对应用程序进行逆向、篡改、破解、调试等攻击行为,并不是直接对密钥的保护技术。主要技术特点:
- 通过代码加壳、混淆、虚拟化保护软件程序不被静态分析;
- 通过防调试、防 hook、环境危险检测等技术,防止软件程序被动态分析。
密钥攻击方式 |
白盒密码技术 |
白盒环境保护技术 |
静态密钥攻击 |
高强度,静态代码内不存在原始密钥 |
低强度,仅简单的混淆应用代码,可被轻易分析、提取。 |
动态密钥攻击 |
高强度,内存中不存在原始密钥 |
低强度,内存中存在明文的原始密钥,通过防调、防 hook 功能无法保证密钥安全。 |
表1 两者密钥保护能力的差异
梆梆密盾为企业构建密钥防护壁垒
梆梆安全密盾自主研发完成多种对称、非对称算法白盒密码技术,以保护原始“密钥” 安全为目的,保障原始密钥在白盒环境下即使遭受到白盒攻击也不会出现密钥明文,有效保障密钥安全,进而保护数据安全。同时,在整个密钥的安全保护链条里实现对应用程序、通信协议等的加密保护,构建多层次的整体防护壁垒。
核心优势:
1. 真白盒保护,全程无原始密钥
对原始密钥进行隐藏,确保在数据的加密、解密过程中不会出现原始密钥,让攻击者无法识别、提取、盗用原始密钥进行仿真攻击。
2. 支持一次一密,动态替换
支持动态替换白盒密钥或原始密钥,可以满足客户一次一密或一机一密等高安全使用场景。
3. 支持对称与非对称算法
支持 SM4、SM2、AES、DES、3DES、RSA 等多种对称与非对称算法的白盒化保护。
4. 全平台支持,多种解决方案
支持 Android、iOS、H5、小程序、Linux_86、Linux_arm32等移动互联网、物联网、车联网主要系统平台,可按需要在性能、安全性之间进行调节。
近年来,关于使用商用密码进行保护的标准陆续出台,梆梆密盾密钥安全保护软件的安全能力目前已覆盖Android、iOS、Linux、小程序等多平台,赋能各行业不断加强自身网络安全规划与建设能力,保护密钥安全与数据安全。
原文始发于微信公众号(梆梆安全):警惕白盒“李鬼”,莫让您的密钥处在风险之中!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论