校验支付数据的方法及设备的制造方法
【技术领域】
[0001]本发明涉及通信领域,更为具体而言,涉及校验支付数据的方法及设备。
【背景技术】
[0002]随着电子商务的推动,我国网上支付的市场规模发展迅速。伴随着市场的飞速发展,安全威胁也正在呈现上升趋势。《2014移动安全报告》显示,截至2014年12月,我国存在支付风险的用户占比达到21.8%,超过5800万户,平均每5个使用移动支付的用户中就有I个面临着支付安全风险。其中最为常见的支付风险为篡改支付数据:在缺乏必要的安全防范措施的情况下,攻击者可以通过修改互联网传输中的支付数据,譬如修改付款银行卡号、修改支付金额、修改收款人账号等,以达到谋利目的。
【发明内容】
[0003]为解决上述技术问题,本发明提供一种校验支付数据的方法及设备。
[0004]—方面,本发明的实施方式提供了一种校验支付数据的方法,所述方法包括:
[0005]接收客户端发送的支付数据;
[0006]读取与所述支付数据对应的校验数据的值;
[0007]校验所述支付数据的值与所述校验数据的值是否一致;
[0008]若一致,则确定对所述支付数据的校验通过。
[0009 ]相应地,本发明实施方式提供了一种服务器,所述服务器包括:
[0010]接收模块,用于接收客户端发送的支付数据;
[0011]读取模块,用于读取与所述接收模块接收到的支付数据对应的检验数据的值;
[0012]校验模块,用于执行下述处理:校验所述接收模块接收到的支付数据的值与所述读取模块读取到的校验数据的值是否一致,在识别为一致的情形下,确定对所述支付数据的校验通过。
[0013]实施本发明提供的校验支付数据的方法及设备,可以通过将客户端所发送的支付数据与校验数据进行校验来防止支付数据被篡改。
【附图说明】
[0014]图1是根据本发明实施方式的一种校验支付数据的方法的流程图;
[0015]图2是根据本发明实施方式的另一种校验支付数据的方法的流程图;
[0016]图3是根据本发明实施方式的一种服务器的结构示意图;
[0017]图4是根据本发明实施方式的另一种服务器的结构示意图;
[0018]图5示出了图4所示的生成模块100’的一种实施方式;
[0019]图6示出了图4所示的生成模块100’的另一种实施方式。
【具体实施方式】
[0020]为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
[0021]图1是根据本发明实施方式的一种校验支付数据的方法的流程图。参见图1,所述方法包括:
[0022]SlOO:接收客户端发送的支付数据。
[0023]其中,所述支付数据的属性例如为支付金额、付款银行卡号、收款人账号或者订单号等,参与校验的关键支付数据可以由支付系统根据需要动态配置。
[0024]S200:读取与所述支付数据对应的校验数据的值。
[0025]S300:校验所述支付数据的值与所述校验数据的值是否一致,若是,则执行S400,若否,则执行S500。
[0026]S400:确定对所述支付数据的校验通过。
[0027]S500:确定对所述支付数据的校验不通过。
[0028]图2是根据本发明实施方式的另一种校验支付数据的方法的流程图。如图2所示,所述方法包括:
[0029]S100’:生成与所述支付数据的属性对应的支付数据采集页面。
[0030]S200’:将所述支付数据采集页面发送给所述客户端以便于所述客户端通过该支付数据采集页面采集用户输入的支付数据。
[0031]S300’至S700’:同上述的SlOO至S500,在此不再赘述。
[0032]在本发明的一种实施方式中,上述处理SlOO’可以通过以下方式实现:获取与所述支付数据采集页面对应的初始页面,对获取到的初始页面中至少两项输入域的名称进行修改以生成所述支付数据采集页面。
[0033]在本发明的另一种实施方式中,上述处理S100’也可以通过以下方式实现:获取与所述支付数据采集页面对应的初始页面;向获取到的初始页面中插入一个或多个无效输入域以生成所述支付数据采集页面。
[0034]在本发明的实施方式中,在执行处理S200(或S400’)之前,预先获取所述校验数据,具体可以通过以下方式实现:接收商户应用发送的支付请求,从所述支付请求中解析出所述校验数据。为了提高安全性,该校验数据可以以密文的形式进行存储。
[0035]为降低支付风险,在本发明的一种实施方式中,在从所述支付请求中解析出所述校验数据之前,可以对所述支付请求进行风险评估以获得风险评估值,将所述风险评估值与预定阈值进行比较,在所述风险评估值小于或等于所述预定阈值的情形下执行处理:从所述支付请求中解析出所述校验数据。
[0036]在本发明的另一种实施方式中,在从所述支付请求中解析出所述校验数据之前,也可以识别所述支付请求是否过期,在所述支付请求未过期的情形下执行处理:从所述支付请求中解析出所述校验数据。
[0037]其中,识别所述支付请求是否过期的处理例如可以通过以下方式实现:从所述支付请求中解析出时间戳信息,识别当前时间点和解析出的时间戳信息所标识的时间点之间的间隔时长是否小于或等于预定阈值,在所述间隔时长小于或者等于所述预定阈值的情形下,识别出所述支付请求未过期。
[0038]下面结合具体例子对本发明的实施方式进行具体说明。
[0039]步骤1:商户应用向支付系统的服务器发送支付请求。
[0040]为提高安全性,在本发明的一种实施方式中可以对该支付请求进行全参数加密,加密密钥为该商户应用私有且可随时更新。支付请求中包括:域名、IP (InternetProtocol,网络之间互连的协议)、时间戳以及一种或多种支付数据(例如:订单号、金额或者账号等)。其中,该时间戳用于控制支付请求的有效期,有效期例如为I分钟,当然本领域的技术人员可以根据实际需要对所述有效期进行其他合理设置。在本发明的一种实施方式中,所述商户应用例如可以在发起支付请求前先从支付系统获取当前的时间戳。
[0041 ]步骤2:该服务器在接收支付请求后,通过该时间戳来识别该支付请求是否过期,若识别为已过期,则结束,若识别为未过期,则执行步骤3。
[0042]该步骤2可以通过以下方式实现:将当前时间点与时间戳所标识的时间点之间的间隔时长与预定阈值(例如I分钟)进行比较,若所述间隔时长小于或者等于所述预定阈值,则识别为未过期,若所述间隔时长大于所述预定阈值,则识别为已过期。
[0043]步骤3:该服务器对该支付请求进行风险评估以获得风险评估值,将获得的风险评估值与预定阈值进行比较,若所述风险评估值大于所述预定阈值,则结束,若所述风险评估值小于或等于所述预定阈值,则执行步骤4。
[0044]步骤4:该服务器从该支付请求中解析出关键的支付数据并据此生成校验串作为后续客户端所发送的相应支付数据的校验数据。
[0045]在本发明的一种实施方式中可以将解析出的支付数据以密文的形式进行存储。
[0046]步骤5:该服务器根据该支付请求获取相应的页面(一级页面)。
[0047]步骤6:该服务器对获取到的页面执行下述处理中的任何一种或者多种的组合:
[0048]I)对该获取到的页面中至少两项输入域的名称进行修改;
[0049]2)向该获取到的页面中插入一个或多个无效输入域。
[0050]通过采取修改页面中至少两项输入域的名称或者向页面中插入无效输入域的方式,可以增大不法分子窃取用户信息和篡改支付数据的难度。
[0051]步骤7:该服务器将经上述处理的页面发送给该支付系统的客户端以便于用户输入相应的支付数据。
[0052]步骤8:该客户端根据用户输入的支付数据生成校验请求并将该校验请求发送给所述服务器。
[0053]步骤9:该服务器接收所述客户端发送的校验请求,并识别接收到的校验请求中的支付数据是否为关键数据,若是,则执行步骤10,若否,跳转到步骤12。
[0054]步骤10:该服务器读取与接收到的支付数据对应的校验数据的值,并识别接收到的支付数据的值与读取出的校验数据的值是否一致,若一致,则执行步骤11,若不一致,则结束。
[0055]步骤11:该服务器确定对该接收到的支付数据的校验通过。
[0056]步骤12:该服务器识别上述一级页面是否存在未发送的衍生页面,若是,则执行步骤13,若否,则跳转到步骤14。
[0057]步骤13:该服务器获取一个衍生页面,并返回执行步骤6。
[0058]步骤14:该服务器根据接收的全部支付数据进行支付处理,并将处理结果反馈给所述商户应用。
[0059]通过采用上述的实施方式可以对支付流程中的每个环节进行链条式的安全加固,并且对多种安全风险进行全方面的多点防范,有效降低了支付的安全风险。
[0060]图3是根据本发明实施方式的一种服务器的结构示意图。参见图3,所述服务器1000包括:接收模块100、读取模块200以及校验模块300,具体地:
[0061 ]接收模块100用于接收客户端发送的支付数据。
[0062]其中,所述支付数据的属性例如为支付金额、付款银行卡号、收款人账号或者订单号等,参与校验的关键支付数据可以由支付系统根据需要动态配置。
[0063]读取模块200用于读取与所述接收模块100接收到的支付数据对应的检验数据的值。
[0064]校验模块300用于执行下述处理:校验所述接收模块100接收到的支付数据的值与所述读取