从安全的角度来看,借记卡(信用卡)支付是否天生就被破坏了?

信息安全 信用卡 支付
2021-08-18 12:59:05

TL;博士

我多年来一直使用借记卡,对安全问题知之甚少。然而,从逻辑上思考,我发现通过提供卡数据(即卡号、有效日期、CVV 代码、持卡人姓名)进行支付的做法从安全角度来看本质上是被破坏的。我想了解我的推理是否正确,如果正确,为什么系统会这样设计。或者,如果我错了,我的推理有什么问题。

背景

在一些在线服务/离线业务中,可以通过直接向供应商提供借记(信用卡)卡数据(卡号、有效日期、CVV 代码、持卡人姓名)进行支付。(我认为也是离线的,通过写在纸上,或通过电话口述。)然后,供应商将使用这些数据向帐户收费。(我想,基本上,他将这些数据连同要收取的金额一起传递给信用卡公司,例如 Visa 或 Master,它们会检查它们是否有效,然后指示银行收取的金额。)

我看到(至少)这个过程有两个问题:

  • 没有什么能保证我,供应商将真正收取商定的金额,而不是更多。
  • 没有什么可以保证供应商(现在知道必要的数据)不会再次向我的卡收费。
  • (让我们暂时忘记卡数据泄露等问题。)

如果我想将其与现金支付进行比较,在我看来流程是这样的:

  1. 我把我的整个钱包都给了供应商。

  2. 我走出房间。

  3. 小贩从我的钱包里拿出他认为正确的东西。

  4. 我回去,拿回我的钱包,只在我在家时才数剩余的钱,而不是在小贩面前。(如果有问题,我可以稍后再回去投诉,但与此同时,供应商已经有我的钱了。)

  5. 从现在开始,供应商可以无限制地访问我的钱包,他可以随时取款。

可能的解决方案

我认为这是一个足够安全的解决方案:每当有人试图向我的卡收费时,我都会收到一个一次性令牌发送给我(例如通过 SMS)。为了使交易成功,我也必须提供这个令牌。这个解决方案看起来很简单,但它可以防止(或至少使更难)大多数信用卡欺诈。该过程如下所示:我收到一条带有令牌的短信。我是否为短信中写的服务付费?是的 --> 我将代币交给我的银行,以确认交易。否 --> 我向银行报告了欺诈企图。

评论

  • 我知道如果取款是欺诈性的,就有可能发生拒付。但是,为什么不完全防止上述欺诈的可能性呢?
  • 另外,我知道您可以为交易设置限制,但它仍然不能消除至少损失一些钱的风险。
  • 我也知道,您可以拥有例如用于在网络上支付的虚拟卡。您可以将相应的帐户始终保持为空,并且仅在您想用该卡购买东西时才将钱存入其中。但是,在您已将钱存入卡但尚未花掉的小时间窗口内,有人会窃取您的钱的可能性仍然很小。(在所有情况下,这都是一种解决方法,而不是解决根本问题。)
  • 在卡上添加额外的安全代码(例如 CVV)在这方面没有多大帮助(供应商会得到它,如果他愿意,可以重复使用它)。
  • 这个问题虽然相关,但在我看来并不是重复的。原因是,该问题提出了另一种解决方案(中间人),据我所知,它归结为规定供应商不应存储信用卡数据的规则/法律。(但我的问题是:为什么供应商必须接收他愿意随时重复使用的数据?)
  • 同样从上述问答中,我了解到有法律禁止供应商存储(和重复使用)卡数据。但这似乎很弱。这就像说有法律禁止供应商从我的钱包里拿走比他应得的更多的钱,而我没有看……
  • 一些酒店/汽车租赁等有一些(在我看来非常可疑/不道德)的做法,即预先授权商定的价格,然后最终再次收取价格。(预授权交易最终会被清除,但与此同时,卡的用户可能数周都无法使用他的钱。)通过我的一次性令牌建议,这也可以很容易地阻止(我会简单地拒绝第二笔交易)。

问题

(您可以在答案中明确解决的这些问题越多越好。)

  • 我的理解是否正确,这种支付方式的安全性被破坏了?它是否像我认为的那样被破坏了?

  • 如果是,那么以这种方式设计卡片的原因是什么?

  • 如果不是,那我的推理哪里错了?(特别是,用我的卡支付所有数据(持卡人姓名,卡号,有效日期,CVV)与将我的钱包交给某人,以便他自己取出钱,这有什么区别,而我没看?我能想到的唯一区别是,与卡的交易至少记录在某个地方。)

  • 我要问的问题有一个众所周知的名字吗?(当然,在来之前我尝试过用谷歌搜索信用卡安全,但我只得到了非常特殊的结果,比如芯片的安全问题,并且没有一个在模型中解决这个问题。)

  • 为什么银行不使用我上面建议的为银行生成一次性令牌的(看似微不足道的)方法?这对于汇款非常有效(至少在我的银行中,我总是通过短信获得一个唯一的号码,我必须用它来确认转账)。那么为什么这个问题的答案也不适用于汇款呢?(换句话说,为什么银行使用一次性代币进行转账?为什么他们不让任何转账交易默认成功,如果交易被证明是欺诈性的,有可能要求退款? )

4个回答

没有完整的答案,只需要考虑一些想法:

  1. 信用卡最初必须在完全离线的环境中工作(这意味着买家既没有可用于接收一次性令牌的手机,也没有商家与信用卡公司连接的数据线)。

  2. 信用卡之所以成功,是因为它们易于使用,而且所有者不必承担欺诈风险。大多数使欺诈变得更加困难的尝试,包括您的尝试,都使它们更难使用。很难向您的客户解释为什么他们突然不得不跳过所有这些障碍而没有任何明显的好处。

  3. 虽然信用卡欺诈显然是一个大问题,但它并没有超过信用卡公司赚取的利润,尽管他们抱怨欺诈损失了多少钱。所以这是一个优化问题:我们可以使支付过程复杂多少而不会失去这么多客户,以至于我们最好承担欺诈造成的利润损失?尤其是因为持卡人似乎愿意支付当前的信用卡费用,而客户不承担风险,但商家却愿意承担风险——因此,当欺诈发生时,甚至连信用卡公司也经常赔钱,而是商家。而且由于商户往往别无选择,只能通过信用卡支付,欺诈行为会在所有商户之间传播,所以'

  4. 信用卡公司正在研究使欺诈更加困难的解决方案。例如看这个问题万事达卡想用自拍替换密码;这如何提高安全性? 以及我对此的回答。

  5. 他们可能会回避您的 SMS 解决方案,因为首先他们需要每秒发送大约 1700 条 SMS (这大约是 VISA 声称它正在执行的交易数量),如果每条 SMS 花费他们一分钱(只需VISA)每年大约十亿美元。我认为这比他们通过欺诈“损失”的要少得多,但也不便宜。其次,它并不总是有效,因为不是每个人都有电话,如果他/她在国外,也不是每个人都可以使用他/她的手机等等。所以如果你想付款,你启用了短信验证并且你的手机已经运行,会发生什么没电了?哎呀。没有喜悦。所以他们冒着有很多很多愤怒的客户的风险,这是不好的。

确实,鉴于第三方了解以下所有内容:

  • 你的名字
  • 卡的全号
  • CVV代码

他们可以向您的卡收取费用。

现在您提出的解决方案实际上称为3d-secure(恭喜)。这是 2FA 的一种形式,卡的所有者必须确认尝试通过短信或在线电话等方式向相关卡收费……这在商业上以各种名称而闻名,例如 « Verified by Visa » 或简单的 3D 安全。

这是一个不完美的解决方案,将很大一部分负担放在个别商家身上,因此只有为该功能付费的人才会在向您的卡收费时触发确认。请注意,这是为保护商家而设计和销售的,以保护商家免受不那么谨慎的“客户”在享受服务或收到商品后宣布欺诈性收费。

假设该计划将受益于更加普遍,并且不需要交易的一方积极注册(即默认开启)。这也有自己的问题,比如不能当场确认怎么办(电池没电了,手机没信号……)?商家不能让您承担取消收费的风险,因此交易失败。

因此,归根结底,鉴于技术解决方案不完善,这归结为信任问题。你相信与你交易的人会诚实和负责任地行事吗?他们是否相信您回家后不会退款?如果发生欺诈,谁会受到伤害?卡系统旨在抵御这种情况,尽管资金因欺诈而损失,但仍低于整体利润,因此银行接受承担欺诈负担,使普通人能够使用借记卡/信用卡并获得在欺诈的情况下退还他们的钱。这也是你会信任的。

总之,卡是为了方便使用而不是完全安全的。这是为了遵守整个系统而做出的妥协。您缺乏安全性可以通过信任以及发卡机构的一些必要备份来弥补。

现在就您的一些观点提出一些想法:

  • CVV 代码旨在防止有人在您的卡上拍照或在肩上冲浪并获取正面的姓名和号码。它的设计目的不是为了防止任何知情的人。

  • 冻结您账户上的资金不是“双重收费”。这是商家为确保您有足够的钱购买商品或服务而采取的预防措施。钱不会离开账户,也不会进入他们的账户。这是一个正常的程序,但确实可以更快地释放。否认实际指控(你称之为“第二次指控”)本身就是欺诈。

  • 为什么银行不积极实施普遍的 2FA 系统?金钱(昂贵),营销困难,客户拒绝改变,交易失败可能导致业务损失,整体缺乏激励(高利润)

虽然在抽象层面上,该设计有一些优点,但基于 SMS 的设计反而破坏了目标。SMS 是一种尽最大努力交付的异步消息传递协议,与基于 GPRS/LTE 的 IP 相比,SMS (至少在欧洲)非常昂贵(就带宽而言,提供商收取的费用大约高出 10000 倍)。即它昂贵且不符合要求。

您的下一个问题是,要获得有效的支付标准,参与的每个人都必须同时(或足够接近)同意它。银行已经尝试解决芯片和引脚的问题——这种设计存在一些令人头疼的技术缺陷——需要几十年的时间才能推出。尽管存在这些缺陷,但它仍然解决了设计中的关键问题。然而,尽管 chip&pin 被认为已很好地嵌入欧洲并且几乎在美国,支付处理行业仍然尊重 CNP 交易(CNP = 客户不存在 = 通过电话提供您的详细信息)。即仍然有太多用例无法解决。

感谢所有花时间回答的人。你给了我非常有用的见解和新知识。根据您的意见,我将尝试自己回答我的问题。

如果有人可以评论它,我会很高兴,看看我是否误解了什么。

我的理解是否正确,这种支付方式的安全性被破坏了?它是否像我认为的那样被破坏了?

是的,也不是 :) 是的,任何拥有借记卡(信用卡)数据的人都可以发起交易。然而,这个类比并不是 100% 正确的。

如果是,那么以这种方式设计卡片的原因是什么?

三个原因:

  • 历史:当他们第一次推出信用卡时,建立这样的机制会更加困难,因为当时手机还没有那么普及(如果有的话?)。

  • 对用户的舒适感:对于许多使用卡片的人来说,突然必须执行更多步骤会很麻烦。

  • 成本:对于银行/卡公司来说,支付因欺诈而损失的钱比支付引入这一全新机制的费用要便宜。(好吧,我从三个原因中猜想这是真正的原因;))。

如果不是,那我的推理哪里错了?(特别是,用我的卡支付所有数据(持卡人姓名,卡号,有效日期,CVV)与将我的钱包交给某人,以便他自己取出钱有什么区别,而我没看?我能想到的唯一区别是,与卡的交易至少记录在某个地方。)

区别如下:

  • 所有交易都由独立的第三方记录,因此至少可以很容易地证明花费给定金额的行为。

  • 如果发生欺诈,银行(或信用卡公司)会承担损失而不是卡的用户(至少在理论上 - 我的经验不同(*))。

我要问的问题有一个众所周知的名字吗?(当然,在来之前我尝试过用谷歌搜索信用卡安全,但我只得到了非常特殊的结果,比如芯片的安全问题,并且没有一个在模型中解决这个问题。)

仍然开放,我不敢相信在我徘徊过这个问题之前没有人......

为什么银行不使用我上面建议的为银行生成一次性令牌的(看似微不足道的)方法?这对于汇款非常有效(至少在我的银行中,我总是通过短信获得一个唯一的号码,我必须用它来确认转账)。那么为什么这个问题的答案也不适用于汇款呢?(换句话说,为什么银行使用一次性代币进行转账?为什么他们不让任何转账交易默认成功,如果交易被证明是欺诈性的,有可能要求退款? )

另见上文。简而言之:它比银行/信用卡公司带来的成本更高。(这个成本还包括大多数用户的满意度,他们更关心舒适而不是安全......)

没有人解决的问题,但我可以推断出答案是:为什么我们要对汇款进行两步验证呢?而且我想,答案是“因为防止欺诈性转移比承担风险更便宜”顺便说一句,我不确定在欺诈性转移的情况下,谁承担风险(我认为是客户,但是我不确定),但我想这并没有太大关系,因为即使是客户,它仍然会以客户满意度的形式对银行产生“成本”。

(*)最后是关于“从欺诈性交易中收回款项”的最后评论。

根据以前的经验,我有点怀疑这在现实中如何/是否真的有效。正如我在其中一个评论中所写的,我曾经有一个类似欺诈的案例,类似于这个(即汽车租赁公司预授权 100 欧元,然后在单独的交易中收取 100 欧元,然后让第一次预授权到期。) 还车 1-2 天后,我才注意到我少了 100 欧元在我的余额中,但我无法在网上银行看到这是什么原因(可能第二笔交易是预先授权的,但当时尚未预订)。

这个例子的要点如下:我去了我的银行,想知道发生了什么(我首先想知道至少谁做了第二次扣款,时间和原因)。他们无法告诉我这些信息(他们说他们无法访问卡系统或类似的东西),更不用说阻止我认为是欺诈性的交易了。所以,我所能做的就是,根据金额,猜测这是汽车租赁公司。银行基本上让我去找商家和他们讨论这个问题。(他们不能也不想对此做任何事情。)

所以,我想如果一旦我注意到我的卡上丢失了一笔金额(这次是 100% 欺诈),那么银行就会张开双臂说“对不起,我们对此无能为力;试试联系滥用您卡的欺诈者”。

(备注:我知道,如上所述,汽车租赁/酒店有时会进行的这种“双重收费”(或者更确切地说是预授权 + 在新交易中收费 + 让预授权过期)不被视为欺诈,如果银行已经告诉我了(即“抱歉,我们看到汽车租赁公司向您收取了两次费用;这是不幸的,但不是非法行为”),我会发现这种解释是可以接受的。我担心的是他们告诉我: 1. 我们不知道是谁/何时/为什么发起了这个待处理的交易 2. 我们不能也不想做任何事情来阻止这个可疑的待处理交易。)

因此,在某处记录/审计交易信息,这一切都很好,理论上银行承担风险,但如果在实践中我无法取回我的钱以防万一我没有发起交易,那么这是不值得的很多。

长话短说:当我在某处输入我的卡数据时,我仍然想把我的整个钱包交给商家,然后转身离开;)