CN107135073A - 接口调用方法和装置 - Google Patents

接口调用方法和装置 Download PDF

Info

Publication number
CN107135073A
CN107135073A CN201610109498.4A CN201610109498A CN107135073A CN 107135073 A CN107135073 A CN 107135073A CN 201610109498 A CN201610109498 A CN 201610109498A CN 107135073 A CN107135073 A CN 107135073A
Authority
CN
China
Prior art keywords
interface interchange
verification
interface
request
random number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610109498.4A
Other languages
English (en)
Other versions
CN107135073B (zh
Inventor
李俊林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610109498.4A priority Critical patent/CN107135073B/zh
Publication of CN107135073A publication Critical patent/CN107135073A/zh
Application granted granted Critical
Publication of CN107135073B publication Critical patent/CN107135073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了接口调用方法和装置。所述方法的一具体实施方式包括:接收接口调用请求;对接口调用请求进行安全校验,安全校验包括参数签名校验和消息重放攻击校验;若安全校验成功,则对接口调用请求进行响应。该实施方式可以提高接口调用的安全性。

Description

接口调用方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及应用安全技术领域,尤其涉及接口调用方法和装置。
背景技术
随着互联网技术的飞速发展,各个应用程序之间或程序与服务器之间都可以通过HTTP(Hypertext Transfer Protocol,超文本传输协议)接口调用的方式进行交互,并通过这种方式来拓展自身的功能。
在现有技术中,HTTP接口的提供者会给调用者分配一个程序标识(AppID)和对应的令牌(Token),调用者在请求HTTP接口时将AppID、Token作为参数传递给接口提供者。接口提供者接收到调用者的AppID、Token参数和本地保存的Token进行匹配,如果能匹配上则认为请求有效,否则认为请求无效。在这种安全校验过程中,由于Token需要作为请求参数一起传递,因此存在Token被非法请求者窃取的风险,并且攻击者还可能篡改相关的请求参数,极大地影响了接口调用的安全性。
发明内容
本申请的目的在于提出一种接口调用方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种接口调用方法,所述方法包括:接收接口调用请求;对所述接口调用请求进行安全校验,所述安全校验包括参数签名校验和消息重放攻击校验;若所述安全校验成功,则对所述接口调用请求进行响应。
在一些实施例中,所述方法还包括:在接收所述接口调用请求的同时,接收程序标识、随机数、时间戳、业务请求参数和待校验参数签名。
在一些实施例中,对所述接口调用请求进行所述参数签名校验,包括:对所述程序标识、随机数、时间戳、业务请求参数,以及分配给接口调用端的令牌进行加密运算,得到基准参数签名;若所述待校验参数签名与所述基准参数签名相匹配,则确认所述参数签名校验成功。
在一些实施例中,对所述接口调用请求进行所述消息重放攻击校验,包括:按照预定的时间周期,对生成所述随机数的数据库进行更新;检测接收的所述随机数是否包括在与所述时间戳对应的数据库内;若是,则确认所述消息重放攻击校验成功。
在一些实施例中,所述方法还包括:确定与所述程序标识对应的敏感数据;判断对所述接口调用请求进行响应的响应数据中,是否包含所述敏感数据;若是,则屏蔽所述响应数据中的所述敏感数据。
在一些实施例中,所述安全校验还包括:网络地址校验、超时校验、访问次数校验和访问权限校验中的一项或多项。
第二方面,本申请提供了一种接口调用装置,所述装置包括:接收模块,用于接收接口调用请求;校验模块,用于对所述接口调用请求进行安全校验,所述安全校验包括参数签名校验和消息重放攻击校验;响应模块,用于若所述安全校验成功,则对所述接口调用请求进行响应。
在一些实施例中,所述接收模块进一步用于:在接收所述接口调用请求的同时,接收程序标识、随机数、时间戳、业务请求参数和待校验参数签名。
在一些实施例中,所述校验模块包括:加密单元,用于对所述程序标识、随机数、时间戳、业务请求参数,以及分配给接口调用端的令牌进行加密运算,得到基准参数签名;匹配单元,用于若所述待校验参数签名与所述基准参数签名相匹配,则确认所述参数签名校验成功。
在一些实施例中,所述校验模块包括:更新单元,用于按照预定的时间周期,对生成所述随机数的数据库进行更新;检测单元,用于检测接收的所述随机数是否包括在与所述时间戳对应的数据库内;确认单元,用于若是,则确认所述消息重放攻击校验成功。
在一些实施例中,所述装置还包括:确定模块,用于确定与所述程序标识对应的敏感数据;判断模块,用于判断对所述接口调用请求进行响应的响应数据中,是否包含所述敏感数据;屏蔽模块,用于若是,则屏蔽所述响应数据中的所述敏感数据。
在一些实施例中,所述安全校验还包括:网络地址校验、超时校验、访问次数校验和访问权限校验中的一项或多项。
本申请提供的接口调用方法和装置,在接收到接口调用请求后,可以对该接口调用请求进行参数签名校验和消息重放攻击校验,只有当上述两类校验都通过时,才对上述接口调用请求进行响应。通过两种校验方式同时对接口调用请求的安全性进行验证,可以明显提高接口调用的安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是本申请接口调用方法的一个实施例的流程图;
图3是本申请接口调用方法的另一个实施例的流程图;
图4是本申请接口调用装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的接口调用方法或接口调用装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102,网络103和服务器104、105。网络103可以在终端设备101、102和服务器104、105之间提供通信链路的介质,也可以在终端设备101和102之间或服务器104和105之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102通过网络103与服务器104、105交互,以接收或发送消息等。终端设备101、102上可以安装有各种通讯客户端应用,例如电子商务类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。这些应用可以开放部分HTTP接口给第三方系统进行调用。
终端设备101、102可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器104、105可以是提供各种服务的服务器,例如对终端设备101、102上运行的应用提供支持的后台服务器。当终端设备101、102上运行的第一应用需要调用第二应用的接口时,第一应用的服务器例如服务器104,可以向第二应用的服务器例如服务器105发起接口调用请求,服务器105可以通过网络103接收该接口调用请求。
需要说明的是,本申请实施例所提供的接口调用方法一般由服务器104、105执行,相应地,接口调用装置一般设置于服务器104、105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的接口调用方法的一个实施例的流程200。所述的接口调用方法,包括以下步骤:
步骤201,接收接口调用请求。
在本实施例中,接口调用方法运行于其上的电子设备(例如图1所示的服务器)可以作为接口提供端,通过有线连接方式或者无线连接方式,接收接口调用端(例如其他服务器或终端设备)发送的接口调用请求。
在跨平台、跨语言的不同软件程序间,经常存在进行数据交互的需求。在实践中,可以通过接口调用的方式来实现不同软件模块间的数据交互。软件程序可以将自身的某些服务以HTTP应用程序接口(Application Program Interface,API)的方式开放出来,供外部的第三方系统调用,从而通过这种方式拓展自身业务能力的应用范围。当某一个应用程序需要调用其他应用程序的接口时,就可以向这个接口的提供端发送一个接口调用请求。具体地,可以根据接口的名称和地址等信息,将接口调用请求发送给相应的接口提供端。
在本实施例的一种可选实现方式中,在接收上述接口调用请求的同时,还可以通过有线连接方式或者无线连接方式,接收程序标识、随机数、时间戳、业务请求参数和待校验参数签名。具体地,接口的提供端在接收上述接口调用请求的同时,还会接收与该接口调用请求相关的一些参数,包括程序标识、随机数、时间戳、业务请求参数和待校验参数签名等。
程序标识即AppID,用于对发送接收调用请求的软件程序即接口的调用者进行标识。随机数可以是由接口的调用端直接随机生成的一个数,也可以是从一个预设的随机数数据库中选取的一个数。时间戳可以用于记录发送上述接口调用请求的时间信息。业务请求参数可以用于记载和接口请求相关的业务信息。例如,当接口请求是要求登陆进某个系统时,业务请求参数可以包括用户名和相应的登陆密码。
待校验参数签名的值可以是通过对上述AppID、随机数、时间戳、业务请求参数和Token进行加密运算得到。其中,合法的Token是由接口提供端预先分配给合法的接口调用端的,每个合法的接口调用端都可以对应唯一的Token。而非法的接口调用端则无法得到合法的Token。需要说明的是,本实施例中的加密运算可以是现有技术中常用的加密算法,例如MD5(Message-Digest Algorithm 5,信息-摘要算法5)。
需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202,对接口调用请求进行安全校验,安全校验包括参数签名校验和消息重放攻击校验。
在本实施例中,上述电子设备(例如图1所示的服务器)在接收到接口调用请求后,可以首先对该请求进行安全校验,以确定是否对该请求进行响应。具体地,本实施例中进行的安全校验方法可以包括两种,即参数签名校验和消息重放攻击校验。其中,参数签名校验主要用于验证接口调用端的Token是否合法,而消息重放攻击校验主要用于验证接口调用请求是否为恶意或欺诈性地重复数据。
在本实施例的一些可选实现方式中,对上述接口调用请求进行参数签名校验可以包括:对上述程序标识、随机数、时间戳、业务请求参数,以及分配给接口调用端的令牌进行加密运算,得到基准参数签名;若待校验参数签名与基准参数签名相匹配,则确认参数签名校验成功。在本实施例中,接口提供端在接收到接口调用端所发送的程序标识、随机数、时间戳、业务请求参数和待校验参数签名后,可以首先对程序标识、随机数、时间戳、业务请求参数和接口提供端预先分配给接口调用端的合法令牌即Token进行加密运算,得到基准参数签名。
需要说明的是,基准参数签名加密算法应该与接收到的待校验参数签名的加密算法保持一致。由于上述两个签名在进行加密时,所使用的程序标识、随机数、时间戳和业务请求参数是完全一样的,因此在将二者进行匹配时,就可以确定出二者的Token是否一致。具体地,如果接口提供端接收到的待校验参数签名,与自己计算出的基准参数签名匹配,也就是说二者完全一致,则说明接口调用端使用的Token就是由接口提供端分配的合法Token,因此数签名校验成功,可以对接口调用请求进行响应。相反地,如果待校验参数签名与基准参数签名不匹配,则说明接口调用端使用的Token不是由接口提供端分配的合法Token,而是非法的Token,此时数签名校验失败,不能对接口调用请求进行响应。
在本实施例的一些可选实现方式中,对上述接口调用请求进行消息重放攻击校验可以包括:按照预定的时间周期,对生成随机数的数据库进行更新;检测接收的随机数是否包括在与时间戳对应的数据库内;若是,则确认消息重放攻击校验成功。重放攻击又称重播攻击、回放攻击或新鲜性攻击,是指攻击者发送一个接口提供者已接收过的接口调用请求,来达到欺骗系统的目的,主要用于身份认证过程,可以破坏认证的正确性。这种攻击会不断恶意或欺诈性地重复一个有效的数据传输,攻击者利用网络监听或者其他方式盗取合法的接口调用请求,之后再把它重新发给接口提供者。从这个解释上理解,加密可以有效防止会话劫持,但是却防止不了重放攻击。因此,在本实施例中还需要对接口调用请求进行消息重放攻击校验。
具体地,当接口调用端发送的随机数是通过一个随机数的数据库生成时,可以按照一定的时间周期对这个数据库进行更新。例如,可以每一分钟更新一次数据库。这样在接收到随机数和时间戳后,可以首先确定与这个时间戳所对应的数据库,然后再检测随机数是否在该数据库中。如果某个接口调用请求是通过消息重放攻击发送的,说明攻击者预先截取了一个之前的接口调用请求并将其再次发送给接口提供端,再次发送时的时间戳与原始接口调用请求的时间戳肯定是不一样的,但是两次使用的随机数却是一样的。因此,可以通过验证随机数是否包括在与时间戳对应的数据库内,来验证接口调用请求不是通过消息重放攻击发送的。当随机数包括在与时间戳对应的数据库内时,说明随机数与时间戳是对应的,此时的接口调用请求是合法的,可以确认消息重放攻击校验成功。当随机数不包括在与时间戳对应的数据库内时,说明随机数与时间戳是对不上的,此时的接口调用请求很可能是通过消息重放攻击再次发送的,因此可以确认消息重放攻击校验失败。
步骤203,若安全校验成功,则对接口调用请求进行响应。
在本实施例中,接口调用方法运行于其上的电子设备在上述步骤202中进行的安全校验成功后,也就是参数签名校验和消息重放攻击校验都成功后,才能对上述接口调用请求进行响应。而如果参数签名校验和消息重放攻击校验中有任意一项校验不成功,则认为安全校验失败,而不能对上述接口调用请求进行响应。
具体在对接口调用请求进行响应时,可以向接口调用端开放相应接口对应的功能模块,通过该功能模块对接口调用端发送来的业务请求参数进行处理,并将处理结果返回给接口调用端。
本申请的上述实施例提供的接口调用方法,在接收到接口调用请求后,可以对该接口调用请求进行参数签名校验和消息重放攻击校验,只有当上述两类校验都通过时,才对上述接口调用请求进行响应。通过两种校验方式同时对接口调用请求的安全性进行验证,可以明显提高接口调用的安全性。
进一步继续参考图3,示出了根据本申请的接口调用方法的另一个实施例的流程300。所述的接口调用方法,包括以下步骤:
步骤301,接收接口调用请求。
在本实施例中,接口调用方法运行于其上的电子设备(例如图1所示的服务器)可以作为接口提供端,通过有线连接方式或者无线连接方式,接收接口调用端(例如其他服务器或终端设备)发送的接口调用请求。
在本实施例中,在接收上述接口调用请求的同时,还可以接收由接口调用端发送的程序标识、随机数、时间戳、业务请求参数和待校验参数签名。
步骤302,对接口调用请求进行安全校验,安全校验包括参数签名校验和消息重放攻击校验。
在本实施例中,上述电子设备(例如图1所示的服务器)在接收到接口调用请求后,可以首先对该请求进行安全校验,以确定是否对该请求进行响应。具体地,本实施例中进行的安全校验包括两种即参数签名校验和消息重放攻击校验。其中,参数签名校验主要用于验证接口调用端的Token是否合法,而消息重放攻击校验主要验证接口调用请求是否为恶意或欺诈性地重复数据。其具体校验方法与图2中的步骤202相同,在此不再赘述。
在本实施例的一些可选实现方式中,上述安全校验还可以包括:网络地址校验、超时校验、访问次数校验和访问权限校验中的一项或多项。
网络地址就是指IP(Internet Protocol,网络协议)地址。在进行网络地址校验时,可以判断接口调用端的网络地址是否在预先设置的IP地址白名单内。若是,则可以认为网络地址校验成功,否则网络地址校验失败。
在进行超时校验时,可以将接收到的时间戳与接口提供端的本地时间进行比较,如果时间戳相对于本地时间的超时在允许的超时时间范围(例如5秒)内,则可以认为超时校验成功,否则超时校验失败。
在进行访问次数校验时,接口提供端可以对接口调用端的每次请求操作进行记录,并判断接口调用端的请求次数是否超出预定的请求次数。若未超出,则可以认为访问次数校验成功,否则访问次数校验失败。
在进行访问权限校验时,可以通过接收到的程序标识确定与该标识对应的接口权限,若当前接收到的接口调用请求在该权限范围内,则可以认为访问权限校验成功,否则访问权限校验失败。
需要说明的,上述IP地址白名单、允许的超时时间范围、预定的请求次数以及接口权限的具体内容都可以由用户根据实际需要自行设置,本申请对此不做限定。
步骤303,若安全校验成功,则对接口调用请求进行响应。
在本实施例中,上述电子设备在接口调用方法运行于其上的电子设备在上述步骤302中进行的安全校验成功后,也就是参数签名校验和消息重放攻击校验,以及网络地址校验、超时校验、访问次数校验和访问权限校验中的一项或多项都成功后,才能对上述接口调用请求进行响应。而如果其中有任意一项校验不成功,则认为安全校验失败,而不能对上述接口调用请求进行响应。
步骤304,确定与程序标识对应的敏感数据。
在本实施例中,接口调用方法运行于其上的电子设备在对接口调用请求进行响应时,还可以进一步确定与程序标识对应的敏感数据。具体地,可以预先设置一个程序标识与敏感数据的对应关系表,在接收到接口调用端发送的程序标识后,就可以从上述对应关系表中获取相关的敏感数据。
步骤305,判断对接口调用请求进行响应的响应数据中,是否包含敏感数据。
在本实施例中,当在上述步骤304中确定出的与程序标识对应的敏感数据后,可以进一步判断对接口调用请求进行响应的响应数据中,是否包含敏感数据。具体地,可以将敏感数据与响应数据进行匹配,若匹配成功,则可以认为响应数据中包含有敏感数据。
步骤306,若是,则屏蔽响应数据中的敏感数据。
在本实施例中,上述电子设备在判断出响应数据中包含有敏感数据后,可以进一步将响应数据中的敏感数据进行屏蔽,以实现对敏感数据进行过滤的目的。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
从图3中可以看出,与图2对应的实施例相比,本实施例中进一步具体描述了在对接口调用请求进行响应时,如何进行敏感数据过滤的方法。通过屏蔽响应数据中的敏感数据,能够进一步提高接口调用的安全性。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种接口调用装置的一个实施例,该装置实施例与图2-3所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例所述的接口调用装置400包括:接收模块410、校验模块420和响应模块430。其中,接收模块410,用于接收接口调用请求;校验模块420,用于对接口调用请求进行安全校验,安全校验包括参数签名校验和消息重放攻击校验;响应模块430,用于若安全校验成功,则对接口调用请求进行响应。
在本实施例中,接口调用装置400的接收模块410可以通过有线连接方式或者无线连接方式,接收接口调用端(例如其他服务器或终端设备)发送的接口调用请求。
在本实施例中,接口调用装置400的校验模块420可以首先对接口调用请求进行安全校验,以确定是否对该请求进行响应。具体地,本实施例中进行的安全校验包括两种即参数签名校验和消息重放攻击校验。其中,参数签名校验主要用于验证接口调用端的Token是否合法,而消息重放攻击校验主要验证接口调用请求是否为恶意或欺诈性地重复数据。
在本实施例中,接口调用装置400的响应模块430,可以在参数签名校验和消息重放攻击校验都成功后,对上述接口调用请求进行响应。
在本实施例的一些可选的实现方式中,接收模块410进一步用于:在接收接口调用请求的同时,接收程序标识、随机数、时间戳、业务请求参数和待校验参数签名。
在本实施例的一些可选的实现方式中,校验模块420包括:加密单元,用于对程序标识、随机数、时间戳、业务请求参数,以及分配给接口调用端的令牌进行加密运算,得到基准参数签名;匹配单元,用于若待校验参数签名与基准参数签名相匹配,则确认参数签名校验成功。
在本实施例的一些可选的实现方式中,校验模块420包括:更新单元,用于按照预定的时间周期,对生成随机数的数据库进行更新;检测单元,用于检测接收的随机数是否包括在与时间戳对应的数据库内;确认单元,用于若是,则确认消息重放攻击校验成功。
在本实施例的一些可选的实现方式中,接口调用装置400还包括:确定模块,用于确定与程序标识对应的敏感数据;判断模块,用于判断对接口调用请求进行响应的响应数据中,是否包含敏感数据;屏蔽模块,用于若是,则屏蔽所述响应数据中的所述敏感数据。
在本实施例的一些可选的实现方式中,安全校验还包括:网络地址校验、超时校验、访问次数校验和访问权限校验中的一项或多项。
本领域技术人员可以理解,上述接口调用装置400还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图4中未示出。
本实施例所提供的接口调用装置,在接收到接口调用请求后,可以对该接口调用请求进行参数签名校验和消息重放攻击校验,只有当上述两类校验都通过时,才对上述接口调用请求进行响应。通过两种校验方式同时对接口调用请求的安全性进行验证,可以明显提高接口调用的安全性。
下面参考图5,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统500的结构示意图。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、校验模块和响应模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,接收模块还可以被描述为“用于接收接口调用请求的模块”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收接口调用请求;对所述接口调用请求进行安全校验,所述安全校验包括参数签名校验和消息重放攻击校验;若所述安全校验成功,则对所述接口调用请求进行响应。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种接口调用方法,其特征在于,包括:
接收接口调用请求;
对所述接口调用请求进行安全校验,所述安全校验包括参数签名校验和消息重放攻击校验;
若所述安全校验成功,则对所述接口调用请求进行响应。
2.根据权利要求1所述的接口调用方法,其特征在于,所述方法还包括:
在接收所述接口调用请求的同时,接收程序标识、随机数、时间戳、业务请求参数和待校验参数签名。
3.根据权利要求2所述的接口调用方法,其特征在于,对所述接口调用请求进行所述参数签名校验,包括:
对所述程序标识、随机数、时间戳、业务请求参数,以及分配给接口调用端的令牌进行加密运算,得到基准参数签名;
若所述待校验参数签名与所述基准参数签名相匹配,则确认所述参数签名校验成功。
4.根据权利要求2所述的接口调用方法,其特征在于,对所述接口调用请求进行所述消息重放攻击校验,包括:
按照预定的时间周期,对生成所述随机数的数据库进行更新;
检测接收的所述随机数是否包括在与所述时间戳对应的数据库内;
若是,则确认所述消息重放攻击校验成功。
5.根据权利要求2所述的接口调用方法,其特征在于,所述方法还包括:
确定与所述程序标识对应的敏感数据;
判断对所述接口调用请求进行响应的响应数据中,是否包含所述敏感数据;
若是,则屏蔽所述响应数据中的所述敏感数据。
6.根据权利要求1至5任一项所述的接口调用方法,其特征在于,所述安全校验还包括:网络地址校验、超时校验、访问次数校验和访问权限校验中的一项或多项。
7.一种接口调用装置,其特征在于,包括:
接收模块,用于接收接口调用请求;
校验模块,用于对所述接口调用请求进行安全校验,所述安全校验包括参数签名校验和消息重放攻击校验;
响应模块,用于若所述安全校验成功,则对所述接口调用请求进行响应。
8.根据权利要求7所述的接口调用装置,其特征在于,所述接收模块进一步用于:
在接收所述接口调用请求的同时,接收程序标识、随机数、时间戳、业务请求参数和待校验参数签名。
9.根据权利要求8所述的接口调用装置,其特征在于,所述校验模块包括:
加密单元,用于对所述程序标识、随机数、时间戳、业务请求参数,以及分配给接口调用端的令牌进行加密运算,得到基准参数签名;
匹配单元,用于若所述待校验参数签名与所述基准参数签名相匹配,则确认所述参数签名校验成功。
10.根据权利要求8所述的接口调用装置,其特征在于,所述校验模块包括:
更新单元,用于按照预定的时间周期,对生成所述随机数的数据库进行更新;
检测单元,用于检测接收的所述随机数是否包括在与所述时间戳对应的数据库内;
确认单元,用于若是,则确认所述消息重放攻击校验成功。
11.根据权利要求8所述的接口调用装置,其特征在于,所述装置还包括:
确定模块,用于确定与所述程序标识对应的敏感数据;
判断模块,用于判断对所述接口调用请求进行响应的响应数据中,是否包含所述敏感数据;
屏蔽模块,用于若是,则屏蔽所述响应数据中的所述敏感数据。
12.根据权利要求7至11任一项所述的接口调用装置,其特征在于,所述安全校验还包括:网络地址校验、超时校验、访问次数校验和访问权限校验中的一项或多项。
CN201610109498.4A 2016-02-26 2016-02-26 接口调用方法和装置 Active CN107135073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610109498.4A CN107135073B (zh) 2016-02-26 2016-02-26 接口调用方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610109498.4A CN107135073B (zh) 2016-02-26 2016-02-26 接口调用方法和装置

Publications (2)

Publication Number Publication Date
CN107135073A true CN107135073A (zh) 2017-09-05
CN107135073B CN107135073B (zh) 2021-05-25

Family

ID=59720682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610109498.4A Active CN107135073B (zh) 2016-02-26 2016-02-26 接口调用方法和装置

Country Status (1)

Country Link
CN (1) CN107135073B (zh)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107835193A (zh) * 2017-11-30 2018-03-23 郑州云海信息技术有限公司 一种基于签名机制的安全通讯系统及方法
CN107885605A (zh) * 2017-11-09 2018-04-06 郑州云海信息技术有限公司 一种控制api单位时间内调用频次的系统及方法
CN107888656A (zh) * 2017-10-09 2018-04-06 北京京东尚科信息技术有限公司 服务端接口的调用方法和调用装置
CN108650093A (zh) * 2018-03-30 2018-10-12 深圳市富途网络科技有限公司 一种基于幂等性的接口实现方法
CN108667617A (zh) * 2018-05-04 2018-10-16 深圳市沃特沃德股份有限公司 app接口防重放方法及服务器
CN109246092A (zh) * 2018-08-22 2019-01-18 北京旷视科技有限公司 接口管理方法、装置、系统、计算机可读存储介质
CN109309667A (zh) * 2018-08-28 2019-02-05 东软集团股份有限公司 接口调用的认证方法和装置,存储介质和电子设备
CN109450888A (zh) * 2018-11-01 2019-03-08 泰康保险集团股份有限公司 业务调用方法及装置
CN109471740A (zh) * 2018-10-31 2019-03-15 深圳智链物联科技有限公司 内部系统与第三方系统软件对接方法、装置及终端设备
CN109492358A (zh) * 2018-09-25 2019-03-19 国网浙江省电力有限公司信息通信分公司 一种开放接口统一认证方法
CN109525613A (zh) * 2019-01-16 2019-03-26 湖南快乐阳光互动娱乐传媒有限公司 一种请求处理系统及方法
CN110049041A (zh) * 2019-04-17 2019-07-23 北京网聘咨询有限公司 招聘网站开放平台的接口调用方法和接口调用系统
CN110417615A (zh) * 2019-06-21 2019-11-05 中国平安财产保险股份有限公司 校验开关控制方法、装置、设备及计算机可读存储介质
CN110554895A (zh) * 2018-05-31 2019-12-10 北京京东尚科信息技术有限公司 一种数据调用的方法和装置
CN110674376A (zh) * 2019-09-09 2020-01-10 中国平安财产保险股份有限公司 接口参数校验方法、装置、设备及计算机可读存储介质
CN110855624A (zh) * 2019-10-18 2020-02-28 平安科技(深圳)有限公司 基于web接口的安全校验方法及相关设备
CN111045841A (zh) * 2019-12-12 2020-04-21 福建天晴在线互动科技有限公司 一种基于Api接口的营销发放管理系统
CN111142960A (zh) * 2018-11-02 2020-05-12 中国电信股份有限公司 接口提供方法、装置和系统
CN111277418A (zh) * 2020-02-17 2020-06-12 福建天晴在线互动科技有限公司 一种实现Api接口安全性的方法
CN111581223A (zh) * 2020-04-11 2020-08-25 北京城市网邻信息技术有限公司 一种数据更新方法、装置、终端设备及存储介质
CN111800409A (zh) * 2020-06-30 2020-10-20 杭州数梦工场科技有限公司 接口攻击检测方法及装置
CN112751857A (zh) * 2020-12-28 2021-05-04 山东浪潮通软信息科技有限公司 一种云端应用和企端应用的数据安全交换方法及设备
CN112968910A (zh) * 2021-03-30 2021-06-15 中国建设银行股份有限公司 一种防重放攻击方法和装置
CN113395269A (zh) * 2021-06-04 2021-09-14 上海浦东发展银行股份有限公司 一种数据交互方法、装置
CN113938328A (zh) * 2021-12-18 2022-01-14 中建电子商务有限责任公司 一种接口验签的方法和系统
CN114401110A (zh) * 2021-12-13 2022-04-26 杭州安恒信息技术股份有限公司 请求认证方法、系统、计算机设备和可读存储介质
CN114697132A (zh) * 2022-04-24 2022-07-01 平安科技(深圳)有限公司 重复访问请求攻击拦截方法、装置、设备及存储介质
CN114760133A (zh) * 2022-04-15 2022-07-15 中国电信股份有限公司 RESTful接口认证方法、装置、系统、设备及介质
CN116055053A (zh) * 2022-10-01 2023-05-02 广州洋葱时尚集团有限公司 接口调用方法、装置和计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873249A (zh) * 2012-12-17 2014-06-18 上海格尔软件股份有限公司 基于非对称算法的证书介质在线格式化与解锁方法
US20150100637A1 (en) * 2013-10-03 2015-04-09 Tata Consultancy Services Limited Identifying one or more peer devices in a peer-to-peer communication
CN104780176A (zh) * 2015-04-28 2015-07-15 中国科学院微电子研究所 安全调用表述性状态转移应用编程接口的方法和系统
CN104866383A (zh) * 2015-05-29 2015-08-26 北京金山安全软件有限公司 一种接口调用方法、装置及终端
CN105306534A (zh) * 2015-09-21 2016-02-03 拉扎斯网络科技(上海)有限公司 一种基于开放平台的信息校验方法和开放平台

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873249A (zh) * 2012-12-17 2014-06-18 上海格尔软件股份有限公司 基于非对称算法的证书介质在线格式化与解锁方法
US20150100637A1 (en) * 2013-10-03 2015-04-09 Tata Consultancy Services Limited Identifying one or more peer devices in a peer-to-peer communication
CN104780176A (zh) * 2015-04-28 2015-07-15 中国科学院微电子研究所 安全调用表述性状态转移应用编程接口的方法和系统
CN104866383A (zh) * 2015-05-29 2015-08-26 北京金山安全软件有限公司 一种接口调用方法、装置及终端
CN105306534A (zh) * 2015-09-21 2016-02-03 拉扎斯网络科技(上海)有限公司 一种基于开放平台的信息校验方法和开放平台

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107888656A (zh) * 2017-10-09 2018-04-06 北京京东尚科信息技术有限公司 服务端接口的调用方法和调用装置
CN107888656B (zh) * 2017-10-09 2020-11-20 北京京东尚科信息技术有限公司 服务端接口的调用方法和调用装置
CN107885605A (zh) * 2017-11-09 2018-04-06 郑州云海信息技术有限公司 一种控制api单位时间内调用频次的系统及方法
CN107835193A (zh) * 2017-11-30 2018-03-23 郑州云海信息技术有限公司 一种基于签名机制的安全通讯系统及方法
CN108650093A (zh) * 2018-03-30 2018-10-12 深圳市富途网络科技有限公司 一种基于幂等性的接口实现方法
CN108667617A (zh) * 2018-05-04 2018-10-16 深圳市沃特沃德股份有限公司 app接口防重放方法及服务器
CN110554895A (zh) * 2018-05-31 2019-12-10 北京京东尚科信息技术有限公司 一种数据调用的方法和装置
CN109246092B (zh) * 2018-08-22 2021-08-10 北京旷视科技有限公司 接口管理方法、装置、系统、计算机可读存储介质
CN109246092A (zh) * 2018-08-22 2019-01-18 北京旷视科技有限公司 接口管理方法、装置、系统、计算机可读存储介质
CN109309667A (zh) * 2018-08-28 2019-02-05 东软集团股份有限公司 接口调用的认证方法和装置,存储介质和电子设备
CN109309667B (zh) * 2018-08-28 2021-08-13 东软集团股份有限公司 接口调用的认证方法和装置,存储介质和电子设备
CN109492358A (zh) * 2018-09-25 2019-03-19 国网浙江省电力有限公司信息通信分公司 一种开放接口统一认证方法
CN109471740A (zh) * 2018-10-31 2019-03-15 深圳智链物联科技有限公司 内部系统与第三方系统软件对接方法、装置及终端设备
CN109450888A (zh) * 2018-11-01 2019-03-08 泰康保险集团股份有限公司 业务调用方法及装置
CN109450888B (zh) * 2018-11-01 2021-08-13 泰康保险集团股份有限公司 业务调用方法、装置、电子设备及存储介质
CN111142960A (zh) * 2018-11-02 2020-05-12 中国电信股份有限公司 接口提供方法、装置和系统
CN111142960B (zh) * 2018-11-02 2023-11-14 中国电信股份有限公司 接口提供方法、装置和系统
CN109525613A (zh) * 2019-01-16 2019-03-26 湖南快乐阳光互动娱乐传媒有限公司 一种请求处理系统及方法
CN109525613B (zh) * 2019-01-16 2021-11-09 湖南快乐阳光互动娱乐传媒有限公司 一种请求处理系统及方法
CN110049041A (zh) * 2019-04-17 2019-07-23 北京网聘咨询有限公司 招聘网站开放平台的接口调用方法和接口调用系统
CN110417615B (zh) * 2019-06-21 2022-04-12 中国平安财产保险股份有限公司 校验开关控制方法、装置、设备及计算机可读存储介质
CN110417615A (zh) * 2019-06-21 2019-11-05 中国平安财产保险股份有限公司 校验开关控制方法、装置、设备及计算机可读存储介质
CN110674376A (zh) * 2019-09-09 2020-01-10 中国平安财产保险股份有限公司 接口参数校验方法、装置、设备及计算机可读存储介质
CN110855624A (zh) * 2019-10-18 2020-02-28 平安科技(深圳)有限公司 基于web接口的安全校验方法及相关设备
CN111045841B (zh) * 2019-12-12 2023-04-21 福建天晴在线互动科技有限公司 一种基于Api接口的营销发放管理系统
CN111045841A (zh) * 2019-12-12 2020-04-21 福建天晴在线互动科技有限公司 一种基于Api接口的营销发放管理系统
CN111277418A (zh) * 2020-02-17 2020-06-12 福建天晴在线互动科技有限公司 一种实现Api接口安全性的方法
CN111277418B (zh) * 2020-02-17 2023-05-12 福建天晴在线互动科技有限公司 一种实现Api接口安全性的方法
CN111581223A (zh) * 2020-04-11 2020-08-25 北京城市网邻信息技术有限公司 一种数据更新方法、装置、终端设备及存储介质
CN111581223B (zh) * 2020-04-11 2023-08-22 北京城市网邻信息技术有限公司 一种数据更新方法、装置、终端设备及存储介质
CN111800409A (zh) * 2020-06-30 2020-10-20 杭州数梦工场科技有限公司 接口攻击检测方法及装置
CN112751857A (zh) * 2020-12-28 2021-05-04 山东浪潮通软信息科技有限公司 一种云端应用和企端应用的数据安全交换方法及设备
CN112751857B (zh) * 2020-12-28 2022-07-12 山东浪潮通软信息科技有限公司 一种云端应用和企端应用的数据安全交换方法及设备
CN112968910A (zh) * 2021-03-30 2021-06-15 中国建设银行股份有限公司 一种防重放攻击方法和装置
CN113395269B (zh) * 2021-06-04 2023-02-17 上海浦东发展银行股份有限公司 一种数据交互方法、装置
CN113395269A (zh) * 2021-06-04 2021-09-14 上海浦东发展银行股份有限公司 一种数据交互方法、装置
CN114401110A (zh) * 2021-12-13 2022-04-26 杭州安恒信息技术股份有限公司 请求认证方法、系统、计算机设备和可读存储介质
CN114401110B (zh) * 2021-12-13 2024-05-28 杭州安恒信息技术股份有限公司 请求认证方法、系统、计算机设备和可读存储介质
CN113938328A (zh) * 2021-12-18 2022-01-14 中建电子商务有限责任公司 一种接口验签的方法和系统
CN114760133A (zh) * 2022-04-15 2022-07-15 中国电信股份有限公司 RESTful接口认证方法、装置、系统、设备及介质
CN114760133B (zh) * 2022-04-15 2023-10-03 中国电信股份有限公司 RESTful接口认证方法、装置、系统、设备及介质
CN114697132A (zh) * 2022-04-24 2022-07-01 平安科技(深圳)有限公司 重复访问请求攻击拦截方法、装置、设备及存储介质
CN114697132B (zh) * 2022-04-24 2023-08-22 平安科技(深圳)有限公司 重复访问请求攻击拦截方法、装置、设备及存储介质
CN116055053A (zh) * 2022-10-01 2023-05-02 广州洋葱时尚集团有限公司 接口调用方法、装置和计算机设备

Also Published As

Publication number Publication date
CN107135073B (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN107135073A (zh) 接口调用方法和装置
US20220116372A1 (en) System and method for providing controlled application programming interface security
CN107070735B (zh) 异步接口测试的方法、测试终端及系统
CN105050081B (zh) 网络接入设备接入无线网络接入点的方法、装置和系统
US8949935B2 (en) Secure account creation
CN108322416B (zh) 一种安全认证实现方法、装置及系统
TWI679556B (zh) 用於虛擬實境環境的交易方法、裝置及系統
CN103200176A (zh) 一种基于银行独立通信渠道的认证方法、装置及系统
CN108605037B (zh) 传输数字信息的方法
CN107743067A (zh) 数字证书的颁发方法、系统、终端以及存储介质
CN106027574A (zh) 身份认证方法和装置
CN107360187A (zh) 一种网络劫持的处理方法、装置及系统
CN114513373B (zh) 可信数据交换方法、装置、系统、电子设备和存储介质
CN106549919A (zh) 一种信息注册、认证方法及装置
CN107342966A (zh) 权限凭证发放方法和装置
CN109861947B (zh) 一种网络劫持处理方法及装置、电子设备
CN105635164B (zh) 安全认证的方法和装置
CN112380501B (zh) 设备运行方法、装置、设备和存储介质
CN109657170A (zh) 网页加载方法、装置、计算机设备及存储介质
TWI546698B (zh) 基於伺服器的登入系統、登入驗證伺服器及其驗證方法
CN110430213A (zh) 业务请求处理方法、装置及系统
CN107342971A (zh) 服务调用方法和装置
CN113822664B (zh) 用于开通离线支付的方法、装置、系统、终端、服务器和介质
CN107483465A (zh) 验证请求的方法
CN107086918A (zh) 一种客户端验证方法和服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant