CN105634743B - 用于开放接口调用的认证方法 - Google Patents
用于开放接口调用的认证方法 Download PDFInfo
- Publication number
- CN105634743B CN105634743B CN201511009440.4A CN201511009440A CN105634743B CN 105634743 B CN105634743 B CN 105634743B CN 201511009440 A CN201511009440 A CN 201511009440A CN 105634743 B CN105634743 B CN 105634743B
- Authority
- CN
- China
- Prior art keywords
- call request
- open interface
- key
- token
- authentication method
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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 a third party or a trusted authority
- H04L9/3213—Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
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)
- Telephonic Communication Services (AREA)
Abstract
本发明提出了用于开放接口调用的认证方法,所述方法包括:在发起首次调用请求之前,运行于用户终端上的应用在开放接口服务运行平台上执行初始注册操作以获得ID和key;在发起调用请求时,所述应用基于随机参数动态地创建令牌,并结合所创建的令牌以及所述ID和Key构建调用请求,随之将所述调用请求传送至开放接口提供方服务器;所述开放接口提供方服务器在接收到所述调用请求后将其传送至认证服务器以对其进行认证,并且在所述认证服务器传送回认证成功的消息的情况下向所述应用提供所述调用请求所要求的开放接口。本发明所公开的方法具有高的安全性并且便于操作。
Description
技术领域
本发明涉及认证方法,更具体地,涉及用于开放接口调用的认证方法。
背景技术
目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,通过基于云计算的应用调用开放接口(即由第三方平台提供的实现通用性功能的接口,诸如短信功能、邮件功能以及验证码功能等等)以更有效率的实现特定的功能变得越来越重要。
在现有的技术方案中,通常采用如下方式实现对应用所发出的调用请求的认证:(1)用户终端中的应用在发出调用请求之前向运行于该用户终端中的认证客户端发出请求医获取由所述认证客户端签发的令牌(Token);(2)将携带该令牌的调用请求发送至提供开放接口服务的第三方平台;(3)所述第三方平台将所述令牌传送至认证服务期以请求对该令牌进行认证;(4)该认证服务器验证该令牌的有效性,并且如果验证通过,则向所述第三方平台返回指示验证通过的信息;(5)在接收到指示验证通过的信息后,所述第三方平台提供该调用请求所请求的开放接口服务。
然而,上述现有的技术方案存在如下问题:(1)由于通过运行于用户终端中的认证客户端签发令牌,故令牌信息存在被截获并被恶意盗用的风险;(2)由于不同的第三方平台需要开发不同的认证客户端并驻留于用户终端上,故操作繁琐,效率较低。
因此,存在如下需求:提供具有高的安全性并且便于操作的用于开放接口调用的认证方法。
发明内容
为了解决上述现有技术方案所存在的问题,本发明提出了具有高的安全性并且便于操作的用于开放接口调用的认证方法。
本发明的目的是通过以下技术方案实现的:
一种用于开放接口调用的认证方法,所述用于开放接口调用的认证方法包括下列步骤:
(A1)在发起首次调用请求之前,运行于用户终端上的应用在开放接口服务运行平台上执行初始注册操作以获得ID和key;
(A2)在发起调用请求时,所述应用基于随机参数动态地创建令牌,并结合所创建的令牌以及所述ID和Key构建调用请求,随之将所述调用请求传送至开放接口提供方服务器;
(A3)所述开放接口提供方服务器在接收到所述调用请求后将其传送至认证服务器以对其进行认证,并且在所述认证服务器传送回认证成功的消息的情况下向所述应用提供所述调用请求所要求的开放接口。
在上面所公开的方案中,优选地,所述ID和key具有预定的使用期限,并且在所述预定的使用期限期间所述ID是固定的。
在上面所公开的方案中,优选地,在所述预定的使用期限期间,所述key能够被周期性地更新。
在上面所公开的方案中,优选地,所述令牌是由当前系统日期、当前系统时间、8字节递增数以及8字节随机数组成的字符串,其中,所述8字节递增数在一天之内不重复,由此确保用于任一个调用请求的令牌的唯一性。
在上面所公开的方案中,优选地,所述认证服务器拒绝使用同一个令牌的第二次调用请求。
在上面所公开的方案中,优选地,所述key是字符串形式的密钥。
在上面所公开的方案中,优选地,以如下方式结合所述令牌以及所述ID和Key:将所述令牌以及所述ID和Key拼接并通过MD5加密模式定义的Hash散列得到16位的校验值,并将该校验值作为数字签名Sign来构成该调用请求的一部分。
在上面所公开的方案中,优选地,所述认证服务器以如下方式验证所述调用请求:
(1)解析所述调用请求以获取该调用请求中的ID以及令牌;
(2)根据所述ID从数据库查询该ID对应的Key;
(3)根据查询出的Key以及所述调用请求所包含的令牌生成验证签名;
(4)将所述验证签名与所述调用请求中包含的签名相比较,如果两者一致,则验证通过,否则,验证失败。
在上面所公开的方案中,优选地,所述认证服务器和所述开放接口提供方服务器由所述开放接口服务运行平台维护和管理。
本发明所公开的用于开放接口调用的认证方法具有以下优点:(1)由于应用自身生成令牌并且以加密的方式构建签名,故避免了认证信息被截获并被恶意盗用的风险,从而具有高的安全性;(2)由于不需要不同的第三方平台开发不同的认证客户端,故操作简便,效率较高。
附图说明
结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:
图1是根据本发明的实施例的用于开放接口调用的认证方法的流程图。
具体实施方式
图1是根据本发明的实施例的用于开放接口调用的认证方法的流程图。如图1所示,本发明所公开的用于开放接口调用的认证方法包括下列步骤:(A1)在发起首次调用请求之前,运行于用户终端(例如移动终端或个人计算机)上的应用在开放接口服务运行平台(例如用于云计算环境的Paas平台)上执行初始注册操作以获得ID(身份识别)和key(密钥);(A2)在发起调用请求时,所述应用基于随机参数动态地创建令牌,并结合所创建的令牌以及所述ID和Key构建调用请求,随之将所述调用请求传送至开放接口提供方服务器;(A3)所述开放接口提供方服务器在接收到所述调用请求后将其传送至认证服务器以对其进行认证,并且在所述认证服务器传送回认证成功的消息的情况下向所述应用提供所述调用请求所要求的开放接口。
优选地,在本发明所公开的用于开放接口调用的认证方法中,所述ID和key具有预定的使用期限,并且在所述预定的使用期限期间所述ID是固定的。
优选地,在本发明所公开的用于开放接口调用的认证方法中,在所述预定的使用期限期间,所述key能够被周期性地更新。
优选地,在本发明所公开的用于开放接口调用的认证方法中,所述令牌是由当前系统日期、当前系统时间、8字节递增数以及8字节随机数组成的字符串,其中,所述8字节递增数在一天之内不重复,由此确保用于任一个调用请求的令牌的唯一性。
优选地,在本发明所公开的用于开放接口调用的认证方法中,所述认证服务器拒绝使用同一个令牌的第二次调用请求。由此,即使令牌被非法截取,其也不能被用于调用开放接口提供方服务器提供的开放接口。
优选地,在本发明所公开的用于开放接口调用的认证方法中,所述key是字符串形式的密钥。
优选地,在本发明所公开的用于开放接口调用的认证方法中,以如下方式结合所述令牌以及所述ID和Key:将所述令牌以及所述ID和Key拼接并通过MD5加密模式定义的Hash散列得到16位的校验值,并将该校验值作为数字签名Sign来构成该调用请求的一部分。
优选地,在本发明所公开的用于开放接口调用的认证方法中,所述认证服务器以如下方式验证所述调用请求:(1)解析所述调用请求以获取该调用请求中的ID以及令牌;(2)根据所述ID从数据库查询该ID对应的Key;(3)根据查询出的Key以及所述调用请求所包含的令牌生成验证签名;(4)将所述验证签名与所述调用请求中包含的签名相比较,如果两者一致,则验证通过,否则,验证失败。
优选地,在本发明所公开的用于开放接口调用的认证方法中,所述认证服务器和所述开放接口提供方服务器由所述开放接口服务运行平台(例如用于云计算环境的Paas平台)维护和管理。
示例性地,在本发明所公开的用于开放接口调用的认证方法中,所述开放接口提供方服务器提供下列通用性功能中的一个或多个:短信功能、邮件功能、水印功能、以及验证码功能。
由上可见,本发明所公开的用于开放接口调用的认证方法具有下列优点:(1)由于应用自身生成令牌并且以加密的方式构建签名,故避免了认证信息被截获并被恶意盗用的风险,从而具有高的安全性;(2)由于不需要不同的第三方平台开发不同的认证客户端,故操作简便,效率较高。
尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。
Claims (6)
1.一种用于开放接口调用的认证方法,所述用于开放接口调用的认证方法包括下列步骤:
(A1)在发起首次调用请求之前,运行于用户终端上的应用在开放接口服务运行平台上执行初始注册操作以获得ID和密钥;
(A2)在发起调用请求时,所述应用基于随机参数动态地创建令牌,并结合所创建的令牌以及所述ID和密钥构建调用请求,随之将所述调用请求传送至开放接口提供方服务器,以如下方式结合所述令牌以及所述ID和密钥:将所述令牌以及所述ID和密钥拼接并通过MD5加密模式定义的Hash散列得到16位的校验值,并将该校验值作为数字签名来构成该调用请求的一部分;
(A3)所述开放接口提供方服务器在接收到所述调用请求后将其传送至认证服务器以对其进行认证,并且在所述认证服务器传送回认证成功的消息的情况下向所述应用提供所述调用请求所要求的开放接口;其中所述认证服务器和所述开放接口提供方服务器由所述开放接口服务运行平台维护和管理;
所述认证服务器以如下方式验证所述调用请求:
(1)解析所述调用请求以获取该调用请求中的ID以及令牌;
(2)根据所述ID从数据库查询该ID对应的密钥;
(3)根据查询出的密钥以及所述调用请求所包含的令牌生成验证签名;
(4)将所述验证签名与所述调用请求中包含的签名相比较,如果两者一致,则验证通过,否则,验证失败。
2.根据权利要求1所述的用于开放接口调用的认证方法,其特征在于,所述ID和密钥具有预定的使用期限,并且在所述预定的使用期限期间所述ID是固定的。
3.根据权利要求2所述的用于开放接口调用的认证方法,其特征在于,在所述预定的使用期限期间,所述密钥能够被周期性地更新。
4.根据权利要求1所述的用于开放接口调用的认证方法,其特征在于,所述令牌是由当前系统日期、当前系统时间、8字节递增数以及8字节随机数组成的字符串,其中,所述8字节递增数在一天之内不重复,由此确保用于任一个调用请求的令牌的唯一性。
5.根据权利要求1所述的用于开放接口调用的认证方法,其特征在于,所述认证服务器拒绝使用同一个令牌的第二次调用请求。
6.根据权利要求1所述的用于开放接口调用的认证方法,其特征在于,所述密钥是字符串形式的密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511009440.4A CN105634743B (zh) | 2015-12-30 | 2015-12-30 | 用于开放接口调用的认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511009440.4A CN105634743B (zh) | 2015-12-30 | 2015-12-30 | 用于开放接口调用的认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105634743A CN105634743A (zh) | 2016-06-01 |
CN105634743B true CN105634743B (zh) | 2019-10-25 |
Family
ID=56049299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511009440.4A Active CN105634743B (zh) | 2015-12-30 | 2015-12-30 | 用于开放接口调用的认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105634743B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918731A (zh) * | 2016-10-11 | 2018-04-17 | 百度在线网络技术(北京)有限公司 | 用于控制对开放接口进行访问的权限的方法和装置 |
CN106850231A (zh) * | 2017-02-22 | 2017-06-13 | 济南浪潮高新科技投资发展有限公司 | 一种保护接口安全的方法、服务端及系统、一种客户端 |
CN107241308A (zh) * | 2017-04-27 | 2017-10-10 | 努比亚技术有限公司 | 一种实现安全校验的方法、装置及移动终端 |
CN108243188B (zh) * | 2017-12-29 | 2021-05-07 | 苏州朗润创新知识产权运营有限公司 | 一种接口访问、接口调用和接口验证处理方法及装置 |
CN108259502B (zh) * | 2018-01-29 | 2020-12-04 | 平安普惠企业管理有限公司 | 用于获取接口访问权限的鉴定方法、服务端及存储介质 |
CN110362412A (zh) * | 2018-04-09 | 2019-10-22 | 华为技术有限公司 | 一种服务api调用方法和相关装置 |
CN109246092B (zh) * | 2018-08-22 | 2021-08-10 | 北京旷视科技有限公司 | 接口管理方法、装置、系统、计算机可读存储介质 |
CN109309667B (zh) * | 2018-08-28 | 2021-08-13 | 东软集团股份有限公司 | 接口调用的认证方法和装置,存储介质和电子设备 |
CN109492358A (zh) * | 2018-09-25 | 2019-03-19 | 国网浙江省电力有限公司信息通信分公司 | 一种开放接口统一认证方法 |
CN110309645A (zh) * | 2019-04-16 | 2019-10-08 | 网宿科技股份有限公司 | 一种对api进行安全防护的方法、设备和系统 |
CN112242901B (zh) * | 2019-07-16 | 2023-09-19 | 中国移动通信集团浙江有限公司 | 服务验证方法、装置、设备及计算机存储介质 |
CN113810197A (zh) * | 2021-09-17 | 2021-12-17 | 上海市信产通信服务有限公司 | 基于OpenAPI的服务调用方法及其系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051628A (zh) * | 2012-12-21 | 2013-04-17 | 微梦创科网络科技(中国)有限公司 | 基于服务器获取认证令牌的方法及系统 |
CN103701761A (zh) * | 2012-09-28 | 2014-04-02 | 中国电信股份有限公司 | 开放接口调用的认证方法与系统 |
CN103795692A (zh) * | 2012-10-31 | 2014-05-14 | 中国电信股份有限公司 | 开放授权方法、系统与认证授权服务器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011127863A2 (zh) * | 2011-05-20 | 2011-10-20 | 华为技术有限公司 | 开放应用程序编程接口调用方法及设备 |
US10360543B2 (en) * | 2012-04-23 | 2019-07-23 | Grubhub Holdings Inc. | Scraping resistant system and method for placing orders through an internet shopping service |
US9396046B2 (en) * | 2013-10-31 | 2016-07-19 | International Business Machines Corporation | Graph based data model for API ecosystem insights |
-
2015
- 2015-12-30 CN CN201511009440.4A patent/CN105634743B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701761A (zh) * | 2012-09-28 | 2014-04-02 | 中国电信股份有限公司 | 开放接口调用的认证方法与系统 |
CN103795692A (zh) * | 2012-10-31 | 2014-05-14 | 中国电信股份有限公司 | 开放授权方法、系统与认证授权服务器 |
CN103051628A (zh) * | 2012-12-21 | 2013-04-17 | 微梦创科网络科技(中国)有限公司 | 基于服务器获取认证令牌的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105634743A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105634743B (zh) | 用于开放接口调用的认证方法 | |
US10484185B2 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
CN109067539B (zh) | 联盟链交易方法、设备及计算机可读存储介质 | |
EP2657871B1 (en) | Secure configuration of mobile application | |
US9419806B2 (en) | Trusted certificate authority to create certificates based on capabilities of processes | |
CN103067402B (zh) | 数字证书的生成方法和系统 | |
CN110958111B (zh) | 一种基于区块链的电力移动终端身份认证机制 | |
CN103078742B (zh) | 数字证书的生成方法和系统 | |
CN105007279A (zh) | 认证方法和认证系统 | |
EP3082086A1 (en) | Secure network accessing method for pos terminal, and system thereof | |
US9331995B2 (en) | Secure configuration of mobile application | |
CN111680324A (zh) | 用于区块链的凭证验证方法、管理方法以及签发方法 | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
CN104125565A (zh) | 一种基于oma dm实现终端认证的方法、终端及服务器 | |
CN107528877B (zh) | 基于区块链结构的安全性电子文件处理系统及方法 | |
WO2020057314A1 (zh) | 一种在线签发eSIM证书的方法、装置及系统 | |
CN108886530B (zh) | 企业移动管理中移动设备的激活方法和移动设备 | |
WO2020020008A1 (zh) | 一种鉴权方法及鉴权系统 | |
WO2023093500A1 (zh) | 一种访问验证方法及装置 | |
KR102063033B1 (ko) | 클라우드 서비스를 사용하는 사용자 단말기, 단말기의 보안 통합 관리 서버 및 단말기의 보안 통합 관리 방법 | |
US11681513B2 (en) | Controlled scope of authentication key for software update | |
CN113824566A (zh) | 证书认证方法、码号下载方法、装置、服务器及存储介质 | |
CN113434882A (zh) | 应用程序的通讯保护方法、装置、计算机设备及存储介质 | |
CN102833214A (zh) | 一种基于令牌的网页登陆系统以及方法 | |
WO2018018419A1 (zh) | 一种配置文件批量获取、下载方法、服务器及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |