马宪敏,张晓宇
(1.黑龙江外国语学院,哈尔滨150025;2.中国电子科技集团公司第四十七研究所,沈阳110032)
支付系统的安全性研究
马宪敏1,张晓宇2
(1.黑龙江外国语学院,哈尔滨150025;2.中国电子科技集团公司第四十七研究所,沈阳110032)
随着信息技术的不断发展与更新,支付的方式也随之发生着巨大的变化。便捷支付方式给人们的生活带来便利的同时,也给人们带来了相应的安全隐患。从描述支付形式的变革及发展趋势出发,阐述了支付系统安全性研究,分别从支付系统涉及到的几个层面讲述了如何做好安全控制,最后给出了主流的支付系统安全架构与支付流程。
支付系统;JAVA语言;系统安全;防钓鱼措施;安全校验;安全架构
从一开始人们只能带着现金出门购物、交易,到后来发展成带着银行卡,刷卡付款,支付越来越简单,直到今天移动支付时代的到来,人们带着手机通过扫描二维码就可以完成支付了,甚至可以通过NFC技术支付实现随时的为卡充值等业务。相信未来的支付会变得更加简单、便捷,上述的支付方式实现也更便捷,但是依然依赖于支付介质,比如银行卡、手机等,随着科学技术的不断演进,相信虹膜支付、声波支付等无现金、无介质的时代已经离人们的生活不远了[1]。最近支付宝宣布告别手机的时代即将开启,意味着距离无现金支付的目标更近了一步。支付宝与上海虹桥停车场联合推出了无感支付停车场,用户驶出停车场的时候不需要拿出现金,也不需要拿出手机,甚至不需要停车,当车朝着出口开过来的时候摄像头会扫描车牌,这时支付宝会自动的在车主绑定的支付宝里扣款,这让支付变得更简单了,用户根本感知不到付款的过程,也节省了用户的时间。
对于消费者来说支付之所以可以变得这样简便,是因为央行、银联等社会组织以及提供支付服务解决方案的企业,利用互联网科学技术搭建了支付平台,让快捷支付影响了人们的衣食住行[2]。人们生活中的各个环节都离不开支付,随着支付方式的不断演变,支付的安全问题也浮出水面,便捷的支付也承担着巨大的安全压力。
支付系统对安全性的要求是非常高的,支付过程中,用户对支付不良的安全问题是不能容忍的,因此在设计与开发支付系统的时候要站在用户的角度考虑,哪些是用户最关注的点,解决用户的痛点也是逐渐完善支付系统的必要过程。用户在支付的过程中发生资金损失的原因是比较复杂的,资金安全保障是支付系统全链路都需要关注的事情。
支付系统要从底层到顶层各个环节都要保证数据的安全。在系统内部,用户登录、支付相关的数据都是敏感的,包括从数据库和管理系统都不能明文展示,因此除了用户自己之外的任何人都不能通过支付系统获取用户的私密数据;在应用层面,存在多付、少付等资金风险,导致这个问题最大的风险就是程序的并发,这也是大部分支付系统在优化过程中遇到的问题,这个问题只要发生了就会造成或大或小的损失,因此要从根本解决问题就要在应用逻辑中做好相应的控制;在底层服务器层面,保证公网限制访问,只能通过代理等方式访问服务器,确保服务器的安全访问,加强防火墙控制,避免受到服务器攻击[3]。分布式支付系统中每个节点的部署都是隔离的,保证服务器某个节点宕机,不影响其他的节点,保证其他节点可以正常服务。在数据库服务器层面定制良好的数据备份机制和容灾机制,保证数据的完整性。总而言之支付系统做好安全保障,是一个系统性的工程,支付系统还要在完善安全的道路上做更多的付出。
网上支付或者移动支付都是通过互联网进行数据的传输。因此需要高度关注通信层面和传输层面的安全性。首先在通信层面对支付系统最基本的要求就是全站使用https访问,充分利用数字证书,避免安全隐患;其次,数据传输层,由于互联网的开放性导致了数据传输的脆弱性,因此传输层对数据也是非常敏感的,需要使用加密机对数据、报文进行加密,确保交易报文是完整的,而且没有被篡改过,当然接收请求时需要验证发送方的身份,确保消息来源的可靠性[4]。
对于支付系统来说没有什么比安全更重要,一套健全的支付系统必须保证用户的信息安全,同时也更应该保证用的资金安全,不管是资金流还是数据流每一个节点都必须是安全的。然而每个支付平台都希望是高可用、高并发,当然要想实现这两点并不简单,要对每一个环节都有缜密的逻辑控制。
首先从技术层面来说,自身系统中应该做到对用户的敏感信息做加密处理,比如,登录密码、交易密码等等,显示数据的时候要做到敏感数据脱敏,保护用户的信息不被获取和侵犯。在与外界系统交互的时候也要对数据进行加密,当前使用最广泛加密算法是MD5不可逆加密算法和RSA非对称加密算法,这时就需要甲乙双方妥善保管自己的私钥和公钥,一旦让不法分子获取到相应的数据时,就可以组装报文,模拟支付请求,这带来的后果可想而知。其次从业务层次,更应该做到数据精确,逻辑缜密,从发起订单,到订单校验,订单落地,接收前台通知,后台通知,订单查询等等每个环节都要谨慎处理,避免造成不必要的损失,安全机制不完善的支付系统可能会酿成严重的后果。因此支付系统应该在技术和业务层面做好安全控制[5]。
完整的支付服务解决方案,不仅仅要提供完善的支付系统,同时还需要有为交易服务的外围系统,包括:监控系统、风控系统、报警系统、日志系统等等,通过这些外围的辅助系统可以更早的、更方便的发现支付过程中存在问题,进而得到及时的解决,这从某种程度上提高了支付系统的安全性和可靠性[6]。
钓鱼网站是不法分子用来盗取用户支付信息并且欺诈用户钱财的网站,也是大部分不法分子的作案手段。为了防止被钓鱼,作为提供支付服务解决方案的支付平台一定要在技术和业务上杜绝钓鱼行为[7]。防钓鱼流程如下:钓鱼者仿照正规商户网站来设计自己的钓鱼网站,并进行大量的推广和宣传,让用户能在网上搜索到,并可以进行正常浏览,然后钓鱼者通过浏览、访问正规商户平台,获取请求报文,当用户误认为所进入的网站是自己想要消费的正规网站时,用户会在该网站购买商品,进行下单,并且支付,这时钓鱼网站会将组装好的支付报文发送到支付平台,由于钓鱼者获取了正规商户平台的交易报文,因此支付平台正常的进行了相应的扣款,支付完成后支付平台会给正规的被模仿的商户平台发送支付通知,这时钓鱼者就会拦截此通知,并为用户展示支付完成。制造完整的交易过程,用户完成了付款,但是并不会收到购买商品,进入钓鱼网站只会让用户钱财两空,既花了钱,又收不到商品,可想而知受害最大的是用户,为了避免这种情况的发生,防钓鱼措施就应运而生,保护用户的钱财,为用户带来安全的支付流程和良好的支付体验。
主流的防钓鱼方式有三种。第一:设置服务器请求白名单,支付平台对接银行时,需要向银行提供请求的服务器地址,把相应的地址配置为白名单,当一笔交易请求发送时检查到请求服务器并没有存在于白名单列表中,这时应该返回无交易权限,或者交易失败等信息,这样钓鱼网站即使模拟了正常的交易报文也没有办法继续支付。第二:校验时间戳。在支付请求参数中添加请求时间戳信息,这样在下一个支付环节中都要校验上次请求的时间戳信息,并且整个支付环节需要在一定的时间内完成,否则拒绝此次交易。当钓鱼者在正规商户平台做交易时,已经向支付平台发送了时间戳信息,而利用这次交易信息在钓鱼网站进行支付时已经超过了规定的时间,因此这样可以有效的避免被钓鱼。第三:请求IP检查。每次交易请求时检查请求IP是否是常用IP,因为任何一个支付平台都不会轻易改变请求IP,因此一旦发现请求IP并非是常用IP时,大多是钓鱼网站的模拟支付请求,这时应拒绝继续交易,尽最大程度保护用户的资金安全[8]。
交易订单是每笔支付的唯一凭证,因此在处理订单的每一个过程都要小心谨慎,尤其是在设置订单状态以及更新账户金额的时候逻辑更要缜密,需要做多重校验。处理订单时要遵守相应的原则并且做有效的校验[9]。
首先,幂等性校验。保证对同一笔订单的处理,不管是刷新或者重复请求多少次,只有一种处理结果,针对同一笔订单来说,并不会因为请求次数的不同,处理结果也不同;
其次在接收上游服务商通知的时候,不单单要通过订单号去检索该笔交易,同时也要校验该笔订单的金额是否是当初交易报文发送的金额,此时的交易金额校验包括对正负符号的校验;
最后,没有订单核对环节的支付系统是不完整的,也是不健全的,因为订单不能仅仅依靠异步通知来处理状态和金额,而是一定要在特定的时间内请求上游服务商查询最终的订单信息,并且与系统中的订单信息做全面的核对,保证订单的准确性。而且订单核对环节可以尽早的发现异常订单,及时做补救处理,有效的减少了用户投诉和资金损失。在支付系统中,为了保证资金的安全,针对不同的业务要做到以下两点:入金类订单不要随便设置成功,出款类订单不要随便设置失败。虽然处理效率有可能会有所降低,但是却能有效的保证资金的安全。
支付系统是为人们的生活提供便利的平台,不能让其成为不法分子犯罪的工具,因此支付系统的安全要得到更高的重视。当然,支付系统也随着技术和业务的发展不断的演变,逐渐成熟、稳定,安全性能也逐渐的提高,但是在完善和健全支付系统的道路上还有很多事情要做。
[1]肖荣,张云华,章依凌.基于WAP的移动电子商务支付系统安全性改进[J].计算机系统应用,2010,(3):25-29.Xiao Rong,Zhang Yunhua,Zhang Yiling.Security Improvement of Mobile E-commerce Payment System Based on WAP[J].Computer System Application,2010,(3):25-29.
[2]董天喆,刘衍珩,王健,等.基于WPKI的在线支付系统的安全性设计[J].计算机工程与设计,2010,(24):5168-5171.Dong Tianzhe,Liu Yanheng,Wang Jian,ect..Security Design of Online Payment System Based on WPKI[J].Computer Engineering and Design,2010,(24):5168-5171.
[3]刘永磊,金志刚,高天迎.移动支付系统安全性研究综述[J].信息网络安全,2017,(2):1-5.Liu Yonglei,Jin Zhigang,Gao Tianying.Overview of Mobile Payment System Security Research[J].Information Network Security,2017,(2):1-5.
[4]张超.基于互联网的电子支付系统[J].电子测试,2014,(3):54-55.Zhang Chao.Electronic Payment System Based on Internet[J].Electronic Test,2014,(3):54-55.
[5]张祎.基于互联网的电子支付系统[J].商业经济与管理,2001,(5):23-25.Zhang Yi.Electronic Payment System Based on Internet[J].Business Economics and Management,2001,(5):23-25.
[6]王树乔,王惠.淮安农村商业银行应用电子支付系统分析[J].农业网络信息,2013,(6):95-101.Wang Shuqiao,Wang Hui.Analysis of the Application of Electronic Payment System in Huaian Rural Commercial Banks[J].AgriculturalNetwork Information,2013,(6):95-101.
[7]李早水.电子支付系统的安全问题分析及对策研究[J].信息与电脑:理论版,2011,(1):3-4.Li Zaoshui.Security Analysis and Countermeasure Research of Electronic Payment System[J].Information and Computer:Theoretical Edition,2011,(1):3-4.
[8]黑珍珍.移动支付现状及发展研究[J].电子世界,2017,(7):86-87.Hei Zhenzhen.Current Situation and Development of Mobile Payment[J].Electronic World,2017,(7):86-87.
[9]陈颖.对移动支付发展的探讨[J].长沙通信职业技术学院学报,2013,(1):19-22.Chen Ying.Discussion on the Development of Mobile Payment[J].Journal of Changsha Tel&Tec Vocational College,2013,(1):19-22.
Research on Security of Payment System
Ma Xianmin1,Zhang Xiaoyu2
(1.Heilongjiang International University,Harbin 150025,China;2.The 47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China)
with the continuous development and updating of information technology,the way of payment has also changed dramatically.While the convenient payment method brings convenience to people's life,it also brings corresponding security risks to people.The paper starts with describing the change and development trend of payment form,this paper expounds the security of payment system,and expounds how to do the security control from several aspects involved in payment system,and finally gives the security architecture and payment process of the mainstream payment system.
Payment system;JAVA language;System security;Anti phishing measures;Security check;Security architecture
10.3969/j.issn.1002-2279.2017.05.020
B
1002-2279-(2017)05-0077-03
马宪敏(1979—),女,山东省日照市人,副教授,硕士,主研方向:大数据,信息安全,软件工程。