一种基于应用数字签名认证的开放api公共授权访问控制的方法

文档序号:7889231阅读:208来源:国知局
专利名称:一种基于应用数字签名认证的开放api公共授权访问控制的方法
技术领域
本发明涉及通信技术领域,具体涉及一种基于应用数字签名认证的开放API公共授权访问控制的方法。
背景技术
目前,开放已经成为移动互联网领域的主旋律。在移动终端智能化飞速发展的同时,出现了明显的智能终端“云手机”化特征,移动互联网更加强调开放平台对用户提供的云端服务的价值。移动应用的开发正在从以智能终端平台为中心逐渐向以网络开放平台为中心转移。互联网开放平台所聚集的开发者和应用的巨大力量已经开始释放。然而,目前的开放环境还是不够成熟和完善,还存在着一些问题。互联网开放平台企业正在形成一些小的、松散的联盟,他们希望建立多种方式的合作,从而能够灵活有效地组合更丰富的应用,同时聚集和共享开发者队伍,共享用户资源。通常,只有在这样的联盟内部才会实现用户的跨平台一点登录以及面向Web应用的一站式用户资源的授权。而对于用户来说,也希望在面对整个互联网资源时能够做到这些。虽然全面的融合是今后移动互联网开放平台发展的大趋势,但目前互联网开放平台各自为政,网络信息和能力开放的水平参差不齐,API的授权方式不统一,Web应用和开放平台通过API进行互联互通的时候还存在很多问题:一方面,应用开发者在使用这些开放能力时候,需要与各个开放平台单独实现API的授权对接,大量重复的工作是影响应用开发创新的障碍之一;另一方 面,互联网上基于各类开放平台的Web应用不断出现,但获得API授权的方式并不统一。由于目前的授权协议中缺乏对Web应用的合法性或者可信性进行判断的机制,有些恶意第三方应用能够在用户不知情或者用户不注意的情况下,完成API的授权,造成用户信息的安全隐患。因此,构建可信计算环境,是解决移动互联网信息安全问题的主流方向。

发明内容
针对现有技术中存在的缺陷和不足,本发明提出了一种基于应用数字签名认证的开放API公共授权访问控制的方法,能够在对Web应用或者应用软件产品使用联盟或者第三方公共服务平台内部的开放API的请求授权之前,先对Web应用或者应用软件产品的数字签名证书进行判断。为了达到上述目的,本发明提出了一种基于应用数字签名认证的开放API公共授权访问控制的方法,包括:步骤1:用户开始登录,由应用软件产品客户端向联盟或者第三方公共服务平台的公共授权服务器发起授权请求;步骤2:所述公共授权服务器根据所述应用软件产品客户端标识和数字签名证书进行鉴权判断,如果客户端标识和数字签名证书在联盟或者第三方公共服务平台的数据库中有备案记录,则执行步骤3,如果客户端标识和数字签名证书在联盟或者第三方公共服务平台的数据库中没有备案记录,则返回步骤I ;步骤3:所述公共授权服务器向所述应用软件产品客户端回复授权码;步骤4:所述应用软件产品客户端使用所述授权码获取用户登录所述应用软件产品需要访问的开放API的所属资源的授权令牌,并使用所述授权令牌访问所述资源的开放API,从而完成用户登录。进一步地,在所述步骤I之前,还包括步骤0,所述步骤O具体包括:步骤01:联盟或者第三方公共服务平台经过对应用软件产品测试、认证,为所述应用软件产品分配客户端标识及颁发数字签名证书,并将所述客户端标识和数字签名证书在联盟或者第三方公共服务平台的数据库中成对备案;步骤02:将所述应用软件产品打包成安装包,并在所述安装包中集成数字签名证书。进一步地,与所述步骤01同时进行的还包括:步骤0Γ:当所述应用软件产品需要使用的开放API的所属资源中至少一个不属于联盟或者第三 方公共服务平台的成员时,所述应用软件产品不能获得联盟或者第三方公共服务平台颁发的数字签名证书。进一步地,所述步骤02之后还包括:步骤03:将所述安装包在联盟或者第三方公共服务平台的应用软件产品库中备案,并随时给各应用商店供货;步骤04:将所述安装包放在应用商店的架上销售;步骤05:用户从应用商店购买应用软件产品,下载、运行所述安装包,安装所述应用软件产品。进一步地,所述步骤4具体包括如下步骤:步骤41:所述应用软件产品客户端使用所述授权码向所述资源发起获取所述资源的开放API授权令牌的请求;步骤42:所述资源获知所述授权码是由联盟或者第三方公共服务平台的公共授权服务器发放的,向所述应用软件产品客户端回复授权令牌,允许所述应用软件产品客户端对所述资源的开放API的调用;步骤43:所述应用软件产品客户端使用所述授权令牌访问所述资源的开放API,从而完成登录过程。进一步地,所述应用软件产品的代码中调用一个或多个需要授权的API。进一步地,所述步骤05中在安装所述应用软件产品时,提示用户所述应用软件产品所带的数字签名证书的来源。进一步地,所述授权令牌在有效期内。本发明提供的基于应用数字签名认证的开放API公共授权访问控制的方法,能够在对Web应用或者应用软件产品使用联盟或者第三方公共服务平台内部的开放API的请求授权之前,先对Web应用或者应用软件产品的数字签名证书进行判断,从而构建可信的计算机环境,实现可信的访问控制。下面结合附图,对本发明的具体实施方式
作进一步的详细说明。对于所属技术领域的技术人员而言,从对本发明的详细说明中,本发明的上述和其他目的、特征和优点将显而易见。


图1为本发明基于应用数字签名认证的开放API公共授权访问控制的方法的流程示意图;图2为本发明优选实施例的流程示意图。
具体实施例方式如图1所示,本发明提出了一种基于应用数字签名认证的开放API公共授权访问控制的方法,包括:步骤1:用户开始登录,由应用软件产品客户端向联盟或者第三方公共服务平台的公共授权服务器发起授权请求;在本步骤中,用户可以是智能移动终端的使用者,该用户在登录时,应用软件客户端首先获取公共授权服务器的信息,并向联盟或者第三方公共服务平台的公共授权服务器发起授权请求。步骤2:公共授·权服务器根据应用软件产品客户端标识和数字签名证书进行鉴权判断,如果客户端标识和数字签名证书在联盟或者第三方公共服务平台的数据库中有备案记录,则执行步骤3,如果客户端标识和数字签名证书在联盟或者第三方公共服务平台的数据库中没有备案记录,则返回步骤I ;本步骤可以根据步骤I中由应用软件客户端发出的授权请求中所带的数字签名证书,在公共授权服务器的数据库中进行查询,根据查询结果判定是否对该授权请求进行授权,从而在对应用软件产品的登录授权过程中增加了对可信性进行判断的机制。步骤3:公共授权服务器向应用软件产品客户端回复授权码;本步骤是在步骤2中的鉴权判断后,公共授权服务器对于在数据库中已有备案记录的应用软件产品客户端,认为是经过公共授权服务器认证的,由公共授权服务器向该应用软件产品客户端回复授权码,从而确保经过认证的应用软件产品客户端能够获得授权。步骤4:应用软件产品客户端使用授权码获取用户登录应用软件产品需要访问的开放API的所属资源的授权令牌,并使用授权令牌访问资源的开放API,从而完成用户登录。在本步骤中,用户登录应用软件需要访问的开放API的所属资源收到由应用软件产品客户端发起的获取开放平台API的授权令牌的请求后,可获知授权码是由联盟或者第三方公共服务平台的公共服务器发放的,认为该客户端是可信任的客户端,则向该客户端发送授权令牌,允许该应用软件产品客户端对该资源的开放API的调用,从而实现可信的访问控制。本发明提供的基于应用数字签名认证的开放API公共授权访问控制的方法,能够在对Web应用或者应用软件产品使用联盟或者第三方公共服务平台内部的开放API的请求授权之前,先对Web应用或者应用软件产品的数字签名证书进行判断,从而构建可信的计算机环境,实现可信的访问控制。
在步骤I之前,还可以包括步骤0,步骤O具体包括:步骤01:联盟或者第三方公共服务平台经过对应用软件产品测试、认证,为应用软件产品分配客户端标识及颁发数字签名证书,并将客户端标识和数字签名证书在联盟或者第三方公共服务平台的数据库中成对备案;步骤02:将应用软件产品打包成安装包,并在安装包中集成数字签名证书。与步骤01同时进行的还可以包括:
步骤0Γ:当应用软件产品需要使用的开放API的所属资源中至少一个不属于联盟或者第三方公共服务平台的成员时,应用软件产品不能获得联盟或者第三方公共服务平台颁发的数字签名证书。步骤02之后还可以包括:步骤03:将安装包在联盟或者第三方公共服务平台的应用软件产品库中备案,并随时给各应用商店供货;步骤04:将安装包放在应用商店的架上销售;步骤05:用户从应用商店购买应用软件产品,下载、运行安装包,安装应用软件产品O步骤4可以优选包括如下步骤:步骤41:应用软件产品客户端使用授权码向资源发起获取该资源的开放API授权令牌的请求;步骤42:该资源获知授权码是由联盟或者第三方公共服务平台的公共授权服务器发放的,向应用软件产品客户端回复授权令牌,允许应用软件产品客户端对资源的开放API的调用;步骤43:应用软件产品客户端使用授权令牌访问资源的开放API,从而完成登录过程。进一步地,应用软件产品的代码中可以调用一个或多个需要授权的API。进一步地,为了使用户更加安全可信地使用应用软件产品,步骤05中在安装应用软件产品时,可以提示用户应用软件产品所带的数字签名证书的来源。进一步地,授权令牌在有效期内。进一步地,应用软件产品需要使用的开放API的所属资源可以是开放平台、运营商或其他资源。以下为本发明提出的基于应用数字签名认证的开放API公共授权访问控制的方法的一个优选实施例,在本实施例中,以联盟实验室的形式为例,建立开放API的共享授权机制,只有经过联盟实验室认证的应用软件产品才可以被授权使用联盟实验室内的开放API。在本实施例中,开发者完成了一个应用软件的开发,该应用软件产品的代码中调用了一个或多个需要授权的API,其中开放平台A的API为a,运营商B的API为b,并且,开放平台A和运营商B都是联盟实验室的成员。如图2所示,一种基于应用数字签名认证的开放API公共授权访问控制的方法,包括如下具体步骤:步骤S1:联盟实验室经过测试认证应用软件产品,为该应用软件产品分配客户标识及颁发数字签名证书,并将客户标识和数字签名证书在联盟实验室的数据库中成对备案;
步骤S2:将该应用软件产品打包成安装包,在安装包中集成数字签名证书,并在联盟实验室的应用软件产品库中备案,随时给各应用商店供货;步骤S3:将该应用软件产品的安装包放在某应用商店的架上销售;步骤S4:智能终端用户从应用商店中购买这个应用软件产品,下载、运行安装包,在智能终端上安装该应用软件产品,在安装时提示用户该应用软件产品所带的数字签名证书的来源;步骤S5:用户开始登录步骤,客户端首先获取授权服务器信息,并向联盟实验室的公共授权服务器发起授权请求;步骤S6:联盟实验室的公共授权服务器根据该应用软件的客户端标识和数字签名证书进行判断,决定是否给这个请求授权;步骤S7:客户端标识和数字签名证书在联盟实验室有备案记录,说明是在联盟实验室进行过应用软件产品测试认证的产品,由联盟实验室的公共授权服务器向该应用软件的客户端回复授权码;步骤S8:智能终端上的应用软件产品客户端使用授权码向开放平台发起获取开放平台API授权令牌的请求,向运营商发起获取运营商API授权令牌的请求;步骤S9:开放平台A获知授权码是由联盟实验室发放的,为可信任的客户端,则向应用软件产品客户端回复第一授权令牌,允许应用软件产品客户端对API (a)的调用;同样,运营商B获知授权码是由联盟实验室发放的,为可信任的客户端,则向应用软件产品客户端回复第二授权令牌,允许软件产品客户端对API (b)的调用;步骤SlO:应用软件产品客户端获取了开放平台A的第一授权令牌和运营商B的第二授权令牌,在这些令牌的有效期内,可以使用第一授权令牌访问开放平台的API (a),并使用第二授权令牌访问运营·商的API (b),从而完成登录过程。在上述实施例中,公共授权服务器对应用软件产品授权的过程可以进一步包括:当开放平台A和运营商B中的至少一个不属于联盟实验室的成员时,该应用软件产品将不能获得联盟实验室颁发的数字签名证书;当没有在公共授权服务器上获取授权码时,应用软件客户端可以再次向公共授权服务器发起授权码的请求。本发明提供的基于应用数字签名认证的开放API公共授权访问控制的方法,能够在对Web应用或者应用软件产品使用联盟或者第三方公共服务平台内部的开放API的请求授权之前,先对Web应用或者应用软件产品的数字签名证书进行判断,使用户在可信的计算机环境下使用联盟或者第三方公共服务平台内部的开放API,从而实现可信的访问控制。虽然,本发明已通过以上实施例及其附图而清楚说明,然而在不背离本发明精神及其实质的情况下,所属技术领域的技术人员当可根据本发明作出各种相应的变化和修正,但这些相应的变化和修正都应属于本发明的权利要求的保护范围。
权利要求
1.一种基于应用数字签名认证的开放API公共授权访问控制的方法,其特征在于,包括: 步骤1:用户开始登录,由应用软件产品客户端向联盟或者第三方公共服务平台的公共授权服务器发起授权请求; 步骤2:所述公共授权服务器根据所述应用软件产品客户端标识和数字签名证书进行鉴权判断,如果客户端标识和数字签名证书在联盟或者第三方公共服务平台的数据库中有备案记录,则执行步骤3,如果客户端标识和数字签名证书在联盟或者第三方公共服务平台的数据库中没有备案记录,则返回步骤I ; 步骤3:所述公共授权服务器向所述应用软件产品客户端回复授权码; 步骤4:所述应用软件产品客户端使用所述授权码获取用户登录所述应用软件产品需要访问的开放API的所属资源的授权令牌,并使用所述授权令牌访问所述资源的开放API,从而完成用户登录。
2.根据权利要求1所述的基于应用数字签名认证的开放API公共授权访问控制的方法,其特征在于,在所述步骤I之前,还包括步骤O,所述步骤O具体包括: 步骤Ol:联盟或者第三方公共服务平台经过对应用软件产品测试、认证,为所述应用软件产品分配客户端标识及颁发数字签名证书,并将所述客户端标识和数字签名证书在联盟或者第三方公共服务平台的数据库中成对备案; 步骤02:将所述应用软件产品打包成安装包,并在所述安装包中集成数字签名证书。
3.根据权利要求2所述的基于应用数字签名认证的开放API公共授权访问控制的方法,其特征在于,与 所述步骤01同时进行的还包括: 步骤01':当所述应用软件产品需要使用的开放API的所属资源中至少一个不属于联盟或者第三方公共服务平台的成员时,所述应用软件产品不能获得联盟或者第三方公共服务平台颁发的数字签名证书。
4.根据权利要求2所述的基于应用数字签名认证的开放API公共授权访问控制的方法,其特征在于,所述步骤02之后还包括: 步骤03:将所述安装包在联盟或者第三方公共服务平台的应用软件产品库中备案,并随时给各应用商店供货; 步骤04:将所述安装包放在应用商店的架上销售; 步骤05:用户从应用商店购买应用软件产品,下载、运行所述安装包,安装所述应用软件产品。
5.根据权利要求1所述的基于应用数字签名认证的开放API公共授权访问控制的方法,其特征在于,所述步骤4具体包括如下步骤: 步骤41:所述应用软件产品客户端使用所述授权码向所述资源发起获取所述资源的开放API授权令牌的请求; 步骤42:所述资源获知所述授权码是由联盟或者第三方公共服务平台的公共授权服务器发放的,向所述应用软件产品客户端回复授权令牌,允许所述应用软件产品客户端对所述资源的开放API的调用; 步骤43:所述应用软件产品客户端使用所述授权令牌访问所述资源的开放API,从而完成登录过程。
6.根据权利要求1所述的基于应用数字签名认证的开放API公共授权访问控制的方法,其特征在于,所述应用软件产品的代码中调用一个或多个需要授权的API。
7.根据权利要求4所述的基于应用数字签名认证的开放API公共授权访问控制的方法,其特征在于,所述步骤05中在安装所述应用软件产品时,提示用户所述应用软件产品所带的数字签名证书的来源。
8.根据权利要求1或5所述的基于应用数字签名认证的开放API公共授权访问控制的方法,其特征在于,所述授权令牌 在有效期内。
全文摘要
本发明提供了一种基于应用数字签名认证的开放API公共授权访问控制的方法。以联盟或者第三方公共服务平台的形式建立开放API的公共授权机制,只有经过联盟或者公共服务平台认证的Web应用或者应用软件产品才可以被授权使用联盟或者第三方公共服务平台内部的开放API。用户在使用Web应用或者应用软件产品进行网络API的调用时,Web应用或者应用软件产品客户端发起的API授权请求中带有其数字证书信息,公共授权服务器在对该数字证书进行判断之后,再完成API的授权。基于对Web应用或者应用软件产品的数字签名证书进行判断,对Web应用或者应用软件产品客户端使用开放API的行为进行授权,从而实现可信的访问控制。
文档编号H04L9/32GK103248481SQ201210030329
公开日2013年8月14日 申请日期2012年2月10日 优先权日2012年2月10日
发明者吴伟, 逄淑宁, 闵栋, 崔媛媛, 蒋晓琳, 刘东明 申请人:工业和信息化部电信传输研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1