这发生在 Visa/MasterCard/American Express 等中。我尝试检查许多支付应用程序和支付网关,如果我输入正确的借记卡号码、姓名、有效日期和错误的 CVV 号码,我就能收到 OTP。但是,由于最后验证了错误的 CVV,因此交易不成功。
但它不应该在我得到 OTP 之前进行验证吗?什么原因,是不是安全问题?
这发生在 Visa/MasterCard/American Express 等中。我尝试检查许多支付应用程序和支付网关,如果我输入正确的借记卡号码、姓名、有效日期和错误的 CVV 号码,我就能收到 OTP。但是,由于最后验证了错误的 CVV,因此交易不成功。
但它不应该在我得到 OTP 之前进行验证吗?什么原因,是不是安全问题?
但它不应该在我得到 OTP 之前进行验证吗?什么原因,是不是安全问题?
这绝对不是安全问题!恰恰相反,它是一种保护。
让我们来看看这些步骤。
当且仅当所有付款的组合都正确时,才会处理付款。
现在假设一个场景,它在 2FA 之前告诉你 CVV 是错误的,这只会让攻击者有机会更好地攻击。现在攻击者知道 CVV 是错误的并且可以简单地改变它。而在正确的场景中攻击者将不得不打破 2 因素身份验证才能获得该信息
除了过早拒绝不向攻击者提供信息的一般规则外,还有一些特定于支付行业的事情有些相关。
尽管经常以强制性的方式向客户提供,但付款的身份验证信息通常用于评估风险和分配责任。
例如:
两种情况下安全性的降低都是为了给客户带来方便。新版本的 3-D Secure(品牌为“Visa Secure”和“MasterCard ID Check”)明确地围绕这一理念设计,预先捕获大量自动信息,这意味着如果交易已经被认为是低风险的。输入的 CVV 现在只是这个复杂分析中的一个数据。
开发商在这里。我曾使用过几个发送 OTP 的系统。两者都不需要CVV来发送它。
根据Vipul Nair 的回答,最好不要让攻击者知道某些输入到最后是错误的,以免泄露可能出错的内容。我想补充一点,通常在线商店可能会将您的 PAN 和其他数据保存在他们的数据库中,但不允许(法律或发卡机构)存储您的 CVV。在某些(并非全部)情况下,是商店发送 OTP,因此他们无论如何都无法使用您的 CVV 进行验证。
不,这不是安全漏洞。相反,它增强了安全性。以下2个案例说明了原因。
案例 1:仅当 CVV 正确时才会收到 OTP:由于 CVV 通常是 3 位数字,因此很容易破解 - 只有大约 1000 种可能的组合。黑客可能会尝试所有可能的组合,因为破解它不会花费太多时间。因此,一旦您获得 OTP,就可以认为您的 CVV 已被黑客入侵。现在黑客只需要破解你的 OTP,通常是(~ 6 位数字 = 1000000 组合)。破解您的帐户所需的组合总数 1000000+1000 = 1001000 个组合。生成这些组合不需要太多时间。因此,该卡很容易被黑客入侵
案例2:即使CVV不正确也收到OTP 在这种情况下,您需要得到正确的CVV(3位)和OTP(9位)的组合。因此,组合的总数为 10^9。这大约是上述情况所需组合的 1000 倍。更多数量的组合 => 需要更多时间来破解,因此很难破解。