您当前的位置:   首页 > 新闻中心
移动银行和支付应用程序的安全存储和密钥保护
发布时间:2020-03-14 08:17:06   阅读次数:

移动银行和支付应用程序的安全存储和密钥保护(图1)

在本文中,我们将重点介绍在移动银行和支付应用程序的上下文中用于保护密钥以及通常用于加密机密的技术。


问题概述

密码机密存储的安全性对于确保使用这些机密的密码协议的整个链的安全性至关重要。对于任何人来说,如果可以定位、提取和读取用于此操作的密码机密,对数据进行加密或签名似乎毫无意义。


尽管该语句很容易理解,但仍有许多开发人员,尤其是在移动世界中,直接在其代码内部对对称加密密钥或私钥进行硬编码。如果没有对应用程序数据进行深入的混淆(“通用”混淆器是不够的),则几乎就像放弃密钥并将其发布到任何人都可以找到它们的地方。


许多开发人员缺乏逆向工程的文化,并且不了解逆向工程师用来反汇编、反编译和重构软件应用程序的工具和技术。有一个很好的说法:“业余爱好者谈论加密。专业人士专注于密钥管理


例如,开发人员可能认为加密密码秘密就足够了。但是反向工程师并不难理解机密的加密机制并找到相应的密钥加密密钥(KEK)等。


旨在使密钥变得模糊的基本“家庭酿造”机制几乎没有机会成功应对严重的攻击。将密钥与其他数据进行异或运算似乎很复杂。但是,对于经验丰富的移动反向工程师来说,打败他们是小孩子的游戏。


一旦找到并提取了加密密钥,应用程序的整个安全性就会崩溃。因此,应大力保护他们。


下面,我们将列出移动开发中用于保护此类机密的几种可能的技术。


混淆

混淆可能是控制密钥访问和使用的最实用选择。想法是隐藏、拆分、修改、标记化和混淆密钥,以致于尝试在代码中定位并重建它们在时间和资源上都非常昂贵,甚至是不可能的。


当然,正如我们提到的,基本技术不起作用。为了成功进行密钥的混淆,需要大量的混淆,而且复杂度很高。 


没有关于加密密钥混淆的标准。因此,由设计者和专家来决定最好的方法,以确保有足够的安全性来防止倒车。


可能的关键混淆技术包括: 

  • 创建复杂的重建机制以生成密钥;

  • 将密钥分为多个子密钥,以重建随机位于二进制文件中的密钥;

  • 将密钥隐藏到虚拟密钥池中(欺骗技术);

  • 建立工厂以生成大量用于重建技术的虚拟密钥;

  • 使用隐写技术。例如,隐藏一些将密钥重构为位图或伪数据所需的数据的密钥;

  • 计算二进制中给定模式的出现次数,以生成重构密钥所需的数据。


复杂的重建机制可能涉及自定义哈希或加密功能,例如,使用通过使用伪随机生成的数字来设计块的算法,该种子本身取决于其他复杂的参数。这样做会产生非常好的安全性。


安全密钥存储器  

保护密钥安全的最佳方法是将其存储并在安全的存储硬件单元中生成它们。安全(加密)内存通常是受防篡改系统保护的某种类型的内存。它们可能还包括防DPA,防SPA保护等,并且通常链接到提供安全有条件访问权限的加密处理器单元和内存加密控制器。


安全内存通常位于:

  • 硬件安全模块HSM)的加密核心;

  • 智能卡-包括EMV芯片卡和SIM卡;

  • 装有它的计算机的可信平台模块(TPM);

  • NFC设备的安全元件;

  • 安全的协处理器(例如通常配备EFTPOS终端,ATM等的协处理器)。


通常,密钥是在此类内存中生成的,不允许将其保留下来,从而无法提取此类机密。在许多实现中,密钥是通过PKCS#11操作访问的。


安全存储器通常是EEPROM存储器,不同于“标准”计算机和SATA磁盘、闪存、RAM等通用设备中的平均存储器。


对于移动应用程序,可以自然访问移动设备上的SIM卡或安全元素,这些存储可以用作安全存储器。在这种情况下,应用程序应安全地生成机密并将其加载到安全的内存中,以防止入侵和篡改。


可信执行环境

可信执行环境(TEE)通常链接到安全内存,但实际上是一个不同的概念。TEE是一个并行环境,独立于主操作系统运行,并充当受信任区域。在TEE中存储秘密(如果存在)通常是一个好主意。


密钥库

KeyStore通常是Java KeyStore,是Android中提供的软件API。除其他技术外,它还可用于安全地连接密码机密。 


安全飞地 

Secure Enclave是仅IOS的系统,充当具有TEE之类功能的基于硬件的密钥管理器。它还为密钥存储提供了可接受的安全性。


用户输入/验证

最后,保护对密码机密的访问的一种好方法是利用用户对某些机密的了解来重建密码机密。用户可能需要密码、几何图案、符号组合来重建密码秘密。


该技术只能与其他技术一起使用,因为它不能保证攻击者无法通过使用社交工程技术来窃取用户密码。


综上所述

对于移动银行和支付应用程序,必须安全地存储诸如机密密钥或私钥之类的加密机密。在所有情况下,都应使用模糊处理(例如模糊处理)来增加安全性。



揽阁信息可提供的部分安全产品和解决方案信息

联系揽阁信息,您可以获取到更多满足全球合规性要求的信息安全产品资料,以及相关的整体解决方案的相关资料。如:


您还可以得到揽阁信息所提供的优质服务。

揽阁信息 · 值得您信赖的信息安全顾问!


相关阅读

购买咨询电话
021-54410609