移动钱包如何在“ Mir Pay”应用程序示例中工作

如您所知,2015年我们启动了Mir支付系统,并且Mir卡在俄罗斯各地都得到接受。当然,这非常酷,但是现在使用移动钱包支付购物的费用越来越受欢迎。据统计,到2019年,所有交易中有19%是使用智能手机付款。在2017年,只有3%。在2018年,Mir Pay付款系统还展示了自己的付款应用程序Mir PayMir PayKotlin编写,可以在支持NFCAndroid 6.0及更高版本的手机上运行







我叫Valery Bogdanov,我是NSPK信息技术部门移动支付团队测试小组的负责人,我将以我们的Mir Pay应用程序为例,向您介绍移动钱包的工作原理



首先,让我们看看使用塑料卡付款的方式。在经典情况下,发卡行将卡发行给持卡人。在这种情况下,内存受保护区域中的卡将存储与发行方共享的MK-AC密钥应用密码主密钥)。在付款时(如果在线操作)基于MK-AC会话密钥SK-AC应用程序密码会话密钥)生成地图,并在其上使用地图数据和从终端接收的有关操作的数据生成密码ARQC授权请求密码)。密码的生成基于3DES算法三重DES)。在一般情况下,交易数据从卡发送到终端,然后发送到收款银行的主机(即为商人提供服务),然后发送到支付系统,并在最后阶段发送到发卡银行(即,发行卡),用于授权。







发行者通过根据ARQC随附的交易数据自己生成密码并将其与接收到的数据中的值进行比较来检查密码。发卡银行可以根据卡数据,密码,已确定的限额,风险评估和其他参数的分析结果来批准或拒绝该操作。



现在,让我们看一下使用手机钱包付款之间的区别。在这里,发卡银行不会向钱包持有者提供任何东西(当然,除了卡以外,它并不直接参与付款),而是持卡人将其数据输入到钱包中,然后“出现”在其中,或者不是,而是一个特殊令牌。 -profile基于此地图生成。已经很清楚,将无法像传统情况那样组织付款,因为电话缺少卡数据和发行者的密钥MK-AC-使用令牌配置文件及其特殊密钥来代替它们。在处理付款之前,让我们了解将卡“添加”到手机钱包后会发生什么。







持卡人将数据输入到应用程序中(1)它通过移动钱包服务提供商(WSP-钱包服务提供商的主机以加密形式(稍后会详细介绍)将它们传输到支付系统。在Mir Pay的情况下钱包服务提供商是NSPK,因此数据立即转到支付系统(2)。在移动支付平台(PMP)上进行进一步处理。 PMP解密数据,通过卡号确定由其发行的发行者,并要求他确认将卡添加到钱包的可能性(3)。如果该卡的答案是肯定的(4),则生成令牌配置文件(5)并将其发送到电话(6)的过程...因此,代替卡数据,移动设备将存储与该卡和该设备相关联的令牌简档。请注意,无法在移动支付平台之外将令牌配置文件转换为原始卡数据。在将令牌配置文件保存在用户设备上之后,Mir Pay向PMP (7)请求一包一次性密钥,该密钥将由应用程序在购买时用作会话密钥,类似于上述SK-AC。顾名思义,一次密钥不能使用超过一次,因此,在使用期间,Mir Pay应用程序会定期从PMP下载密钥的新部分。这样就完成了将地图添加到应用程序的操作。



现在,让我们看看与使用塑料卡付款相比,付款流程有何变化。







第一阶段几乎相同,仅使用令牌配置文件数据而非卡数据,并且在从PMP作为会话SK-AC接收的一次性密钥上生成ARQC密码Mir Pay和塑料卡之间的另一个区别是,当生成密码而不是3DES时,将使用更现代的对称块密码算法AES高级加密标准)。



此外,关于操作的数据还经过终端,收款银行的主机并进入支付系统。通过令牌编号(来自令牌配置文件),支付系统确定它不是在处理普通卡,而是在处理令牌,然后将操作发送到PMP以验证密码和所谓的去令牌化-将令牌转换回真实的卡数据。是的,现在加密不是由发行者验证,而是由PMP验证,因为生成这些一次性密钥和令牌配置文件是在平台的深度。此外,将已经具有卡数据的操作发送到发行银行以进行授权。在返回的方式上-反向转换。



Mir Pay使用具有一次性密钥的方案,但是还有另一种方法-将一个密钥存储在设备上。这种方法需要设备上的安全元素,并且在某些设备具有这种安全元素的情况下,某些钱包可能会应用它。在我们的案例中,鉴于Android手机种类繁多这简直是​​无法实现的。这种特异性解释了所选择的方案。



考虑到上述的令牌化过程,可以注意到一个微妙的地方:当使用钱包付款时,使用令牌配置文件的数据,但是当添加卡时,其数据将发送到支付系统的主机,并且此数据严格保密。保护Mir Pay中的卡数据提供了一种多级保护系统。在启动时,会自动启用用于控制应用程序完整性和检查环境的机制,该机制不允许使用未经授权的人员修改的虚假应用程序。如果检测到重大风险,则应用程序会将此通知用户,并自动删除所有存储的令牌配置文件。此外,还将在PMP一侧分析这些检查的结果。



用于交换PMP和Mir Pay的机密数据生成密钥对并交换公共组件。由于我们不能100%信任内置密钥存储,因此开发了一种方案,其中将不同的密钥组件存储在不同的位置:既在密钥存储中,又在RAM中。也就是说,要启动欺诈操作,首先必须提取所有这些密钥的密码,其次还需要解密!但这不是那么容易,也不是很有效,因为严格使用一次性密钥进行操作。而且只有在Mir Pay之后和PMP交换了公钥,也就是说,他们实际上创建了一个安全通道,允许传输敏感数据,并使用抗加密算法对其进行加密。通过这种机制,令牌配置文件和用于执行操作的一次性密钥以及有关已完成的操作的数据将传递到用户的设备。



从该说明中可以看出,基于移动钱包的支付安全性不仅保持在塑料卡级别,甚至在某些情况下甚至超过了!Mir Pay应用程序符合国际和国内安全要求,并允许Mir卡持卡人使用其手机付款,而不必担心个人数据泄露。



目前Mir Pay的发展继续-在短时间内发布了第一个版本,我们已经在应用程序中引入了新的发展,而不是忘记改进已经完成的工作。



有很多方面需要发展-您需要考虑到最近发布和计划中的,没有Google服务的智能手机模型-转向俄罗斯同行或开发自己的解决方案。



All Articles