符合 PSD2 的两因素身份验证

信息安全 验证 多因素 银行 规定
2021-08-21 13:44:14

根据 PSD2,多因素身份验证的元素必须是独立的,因此一个元素的妥协不会危及另一个元素。

这是指令中的文章:

*第 9 条

元素的独立性,

  1. 支付服务提供者应确保对第六条、第七条和第八条所述强客户认证要素的使用在技术、算法和参数等方面采取措施,确保违反其中一项要素不损害其他元素的可靠性。
  2. 通过手机、平板电脑等多用途设备使用强客户认证要素或认证码的,支付服务提供者应采取安全措施,降低多用途设备被盗用的风险。
  3. 就第 2 款而言,缓解措施应包括以下各项: (a) 通过安装在多用途设备内的软件使用单独的安全执行环境;(b) 确保软件或设备未被付款人或第三方更改的机制,或减轻此类更改后果的机制。*

问题是在这种情况下什么可以被认为是独立的?

让我们想象以下场景:

客户使用他/她的手机浏览器访问网上银行网站。身份验证需要密码和另一个元素(基于拥有)。

如果第二个因素是通过 SMS 向手机发送一次性密码,则一个恶意软件就足以破坏手机,安装键盘记录程序来窃取密码,并在 SMS 到达时窃取它。

基于此通过 SMS 的 OTP 是不行的。

现在让我们假设 SMS OTP 被推送通知取代(客户应事先安装银行的移动应用程序)。确切实施的可能性很小:

  • 通过推送发送 OTP

  • 弹出一个批准窗口,用户需要点击批准按钮(就像谷歌一样)

  • 弹出一个验证码,用户需要解决它

  • 使用软令牌生成 OTP

  • 等等。

在上述任何一种解决方案的情况下,如果攻击者可以利用手机操作系统中的漏洞并获得root权限,他就可以窃取客户密码并至少在理论上使用第二个身份验证因素来验证交易(通过安装一些一种远程访问工具)。

由于用户体验的原因,硬令牌也不可行。

Android 和 iOS 使用的单独沙箱是否可以被视为满足指令以下部分的安全执行环境?

通过安装在多功能设备内的软件使用分离的安全执行环境

什么是既符合法规又方便客户的有效解决方案?

1个回答

tl;博士; 没有人可以肯定地说,这值得商榷

小历史:从“可信执行环境”到“安全执行环境”的转变。它记录在这里:https://www.eba.europa.eu/documents/10180/1761863/Final+draft+RTS+on+SCA+and+CSC+under+PSD2+(EBA-RTS-2017-02)。 pdf

大多数行业(据我所知)都同意这意味着基于硬件的 TEE 不是必需的。该文档中提供了一些原因:

第 6 条第 2 款(现为第 9 条第 2 款)没有提及隔离,只有第 2.2.b 条提及。见评论[10]和[11]。因此,EBA 没有对文章进行任何更改。然而,关于评论 i),EBA 同意 PSP 只能减轻其能力范围内的风险。EBA 已对第 6 条第 3 款(现为第 9 条第 3 款)进行了更改,以指定重点是 PSP 使用的软件而不是硬件本身。

EBA 拒绝了多个关于如何实现执行环境分离的更具体的请求。由此我们可以理解,您应该只关心正确的软件实施,但这意味着什么?让我们深入挖掘。

有这个较旧的文件,语言不那么模糊: https ://www.eba.europa.eu/documents/10180/1548183/Consultation+Paper+on+draft+RTS+on+SCA+and+CSC+%28EBA-CP -2016-11%29.pdf

  1. 此外,认证程序应确保在认证程序的所有阶段(包括认证码的生成、传输和使用)显示给付款人的信息的机密性、真实性和完整性。为此,显示交易金额和收款人信息的渠道、设备或移动应用程序应独立于或隔离于用于发起支付的渠道、设备或移动应用程序。例如,这可以通过独立渠道来完成,以防止通过支付交易的启动过程对交易细节进行任何操纵。

考虑到这一切,我认为使用平台沙箱是一个完全兼容的解决方案。不过,这可能不是最安全的。说到移动平台,这一切都说得通,Web 环境更加混乱,因为它没有任何沙箱。