基于操作系统授权证书的面向服务的接口认证方法技术方案

技术编号:14135729 阅读:70 留言:0更新日期:2016-12-10 03:20
本发明专利技术提供一种基于操作系统授权证书的面向服务的接口认证方法,其使用操作系统授权证书作为应用平台接口授权认证的唯一认证数据源,即,一方面利用操作系统授权证书验证该操作系统是否已被授权,另一方面利用操作系统授权证书作为应用平台认证第三方应用程序的认证数据源。在应用平台启动和运行过程中,不间断检测当前操作系统的授权证书是否有效的同时,应用平台在接收第三方应用程序的接口调用请求时,要求第三方应用程序传入用户认证信息,应用平台使用操作系统授权证书来验证用户认证信息是否有效,验证第三方应用程序是否授权。本发明专利技术的方法在保证接口调用方认证的同时,也可以对接口提供方所在的操作系统(OS)进行认证。

【技术实现步骤摘要】

本专利技术涉及一种接口认证方法,尤其是一种基于操作系统授权证书的面向服务的接口认证方法,其在保证接口调用方认证的同时,也可以对接口提供方所在的操作系统(OS)进行认证。
技术介绍
目前市场上主流的开放平台的接口认证方法均采用OAuth2.0的接口认证框架实现。OAuth2.0接口认证框架目的是为了第三方应用程序在使用开放平台接口时不能获取终端用户的个人认证信息,OAuth2.0认证框架使用独立的认证中心和资源中心,并结合授权码(auth_code)、访问授权码(access_token)、刷新授权码(refresh_token)等概念实现。OAuth2.0的接口认证流程如下:a)终端用户使用第三方应用程序时,第三方应用程序要求用户给予授权;b)终端用户同意给予第三方应用程序授权;c)认证中心对第三方应用程序授权后,同意发放auth_code;d)第三方应用程序使用auth_code,向资源中心申请获取资源;e)资源中心确认auth_code有效后,同意向第三方应用程序开放资源。现有技术的认证方法存在如下不足:λOAuth2.0接口认证框架不仅对第三方应用程序有认证功能,而且还兼有授权功能,而本文主要关注开放平台对第三方应用程序的认证,如果基于OAuth2.0接口认证框架,则增加了无用的工作量;λOAuth2.0接口认证框架在集成时需要修改第三方应用程序的处理逻辑,这样增加了第三方应用程序使用开放平台的难度,增加了集成时间,可能会造成第三方应用程序开发者的流失;λOAuth2.0接口认证框架要求有独立的、在开放平台提供方内部运行的认证中心,且要求认证中心对第三方应用程序提供外部Web接口。由于目前在很多客户场景下,开放平台是部署和运行在客户集群环境的局域网内部,与当前市场上OAuth2.0的面向互联网的应用模式不同,导致了OAuth2.0并不适用于此场景;λOAuth2.0接口认证框架使用的是集中化的认证中心,而且认证数据源存储在数据库中,而在目前主流的应用场景下,认证数据源是分散在各个客户局域网的各个操作系统的授权证书里,导致OAuth2.0接口认证框架无法与操作系统授权证书对接,所以此场景下OAuth2.0接口认证框架无法正常工作。
技术实现思路
为了克服现有技术的上述缺陷,本专利技术的目的是提供一种基于操作系统授权证书的面向服务的接口认证方法,其在保证接口调用方认证的同时,也可以对接口提供方所在的操作系统(OS)进行认证,令非法操作系统无法使用接口提供方,使得其可防止未经授权的第三方应用程序访问开放平台接口,同时可防止开放平台运行在未经授权的操作系统上。本专利技术的主要设计思路是:为了保证一个开放平台仅能运行在已授权的操作系统上,同时保证只有已授权的第三方应用程序才能使用开放平台的接口,特设计一种基于操作系统授权证书的面向服务的接口认证方法。在此方法中开放平台使用操作系统授权证书作为认证数据源,在开放平台启动和运行过程中,
不间断检测当前操作系统的授权证书是否有效;同时开放平台在接收第三方应用程序的接口调用请求时,要求第三方应用程序传入用户认证信息,开放平台使用操作系统授权证书来验证用户认证信息是否有效,验证第三方应用程序是否已授权。为了达到上述目的,本专利技术提供的主要技术方案包括:一种基于操作系统授权证书的面向服务的接口认证方法,其使用操作系统授权证书作为应用平台接口授权认证的唯一认证数据源,即,一方面利用操作系统授权证书验证该操作系统是否已被授权,另一方面利用操作系统授权证书作为应用平台认证第三方应用程序的认证数据源。使得在对接口调用方进行认证的同时,还可以对第三方应用程序(如接口提供程序)的操作系统进行认证;使得未经授权的操作系统,即使安装了接口提供程序,也无法正常使用。即,可以避免经授权的接口提供程序被移用至未经授权的操作系统上。其中,应用平台在检测当前运行的操作系统是否已授权的同时,检测调用应用平台接口的第三方应用程序是否已授权。其中,为了保证当操作系统授权证书过期、停用或删除后,接口提供方程序立刻停止对任何接口调用方提供服务,优选为,在应用平台启动和运行过程中,不间断检测当前操作系统的授权证书是否有效,以实现当操作系统证书不可用后,操作系统提供的任何程序/服务均不可用。其中,不间断检测当前操作系统的授权证书是否有效的同时,应用平台在接收第三方应用程序的接口调用请求时,要求第三方应用程序传入用户认证信息,应用平台使用操作系统授权证书来验证用户认证信息是否有效,验证第三方应用程序是否授权。其中,所述操作系统授权证书中加密存储有用户ID和秘钥
(secret_key)、所部署计算机网卡的MAC地址、授权证书的有效时间。上述任一种基于操作系统授权证书的面向服务的接口认证方法,所述应用平台为一开放平台(面向服务的开放平台:指一种将系统的主要功能以外部Web接口的方式提供给第三方应用程序、用于第三方系统集成的平台,简称开放平台),所述操作系统授权证书的认证方法为:使用分配给用户的ID和secret_key,以及六位随机数(random)或当前时间(time),对这三个参数的值进行自然序排序,将结果进行拼接后使用SHA-1算法进行摘要计算,将得到加密字符串(encypted_str),并将ID和encypted_str,以及random或time传递给开放平台,在开放平台端使用同样的算法计算临时加密字符串(tmp_encypted_str)与传入的encypted_str是否相同,如果相同,则认证通过,否则认证失败。为了进一步提高安全性,所述操作系统授权证书的认证方法为:使用分配给用户的ID、secret_key、六位随机数random和当前时间time,对这四个参数的值进行自然序排序,将结果进行拼接后使用SHA-1算法进行摘要计算,将得到encypted_str,并将ID、encypted_str、random和time传递给开放平台,在开放平台端使用同样的算法计算tmp_encypted_str与传入的encypted_str是否相同,如果相同,则认证通过,否则认证失败。上述任一种基于操作系统授权证书的面向服务的接口认证方法,所述应用平台为一开放平台,其主要步骤包括:S1、为第三方应用程序调用者分配唯一ID,用于标示用户,并分配唯一的secret_key,表示该ID用户的秘钥,同时将ID和secret_key,以及第三方应用程序调用者要部署操作系统的计算机的网卡MAC地址、授权有效的开始时间和截止时间,作为输入数据,使用授权证书生成工具生成授权证书;S2、在操作系统内安装开放平台,并启动开放平台,开放平台在启动时首先启动操作系统授权证书检测线程,循环调用授权证书函数库,检测当前操作系统的授权证书是否有效;当无效时,开放平台即认为当前操作系统授权证书无效,然后退出;S3、第三方应用程序调用者在访问开放平台的接口前,先生成一个六位随机整数random和当前时间time,然后把ID、random、time三个参数与secret_key的值按照自然序排序,然后拼接成一个字符串tmp_str,然后使用SHA-1算法对tmp_str做摘要得到encypted_str,然后在访问接口时将r本文档来自技高网
...
基于操作系统授权证书的面向服务的接口认证方法

【技术保护点】
一种基于操作系统授权证书的面向服务的接口认证方法,其特征在于:使用操作系统授权证书作为应用平台接口授权认证的唯一认证数据源,即,一方面利用操作系统授权证书验证该操作系统是否已被授权,另一方面利用操作系统授权证书作为应用平台认证第三方应用程序的认证数据源。

【技术特征摘要】
1.一种基于操作系统授权证书的面向服务的接口认证方法,其特征在于:使用操作系统授权证书作为应用平台接口授权认证的唯一认证数据源,即,一方面利用操作系统授权证书验证该操作系统是否已被授权,另一方面利用操作系统授权证书作为应用平台认证第三方应用程序的认证数据源。2.如权利要求1所述的基于操作系统授权证书的面向服务的接口认证方法,其特征在于:应用平台在检测当前运行的操作系统是否已授权的同时,检测调用应用平台接口的第三方应用程序是否已授权。3.如权利要求1所述的基于操作系统授权证书的面向服务的接口认证方法,其特征在于:在应用平台启动和运行过程中,不间断检测当前操作系统的授权证书是否有效。4.如权利要求3所述的基于操作系统授权证书的面向服务的接口认证方法,其特征在于:不间断检测当前操作系统的授权证书是否有效的同时,应用平台在接收第三方应用程序的接口调用请求时,要求第三方应用程序传入用户认证信息,应用平台使用操作系统授权证书来验证用户认证信息是否有效,验证第三方应用程序是否授权。5.如权利要求1所述的基于操作系统授权证书的面向服务的接口认证方法,其特征在于:所述操作系统授权证书中加密存储有用户ID和秘钥、所部署计算机网卡的MAC地址、授权证书的有效时间。6.如权利要求1、2、3、4或5所述的基于操作系统授权证书的面向服务的接口认证方法,其特征在于,所述操作系统授权证书的认证方法为:使用分配给用户的ID和秘钥,以及六位随机数和/或当前时间,对这三个/四个参数的值进行自然序排序,将结果进行拼接后使用SHA-1算
\t法进行摘要计算,将得到加密字符串,并将用户的ID和加密字符串,以及六位随机数和/或当前时间这几个参数传递给应用平台,在应用平台端使用同样的算法计算新的加密字符串与传入的加密字符串参数是否相同,如果相同,则认证通过,否则认证失败,其中,所述应用平台为一开放平台。7.如权利要求1、2、3、4或5所述的基于操作系统授权证书的面向服务的接口认证方法,其特征在于,其主要步骤包括:S1、为第三方应用程序调用者分配唯一ID,用于标示用户,并分配唯一的秘钥,表示该ID用户的秘钥,同时将ID和秘钥,以及第三方应用程序调用者要部署操作系统的计算机的网卡MAC地址、授权有效的开始时间和截止时间,作为输入数据,使用授权证书生成工具生成授权证书;S2、在操作系统内安装开放平台,并启动开放平台,开放平台在启动时首先启动操作系统授权证书检测线程,循环调用授权证书函数库,检测当前操作系统的授权证书是否有效;当无效时,开放平台即退出;S3、第三方应用程序调用者在访问开放平台的接口前,先生成一个六位随机整数和当前时间,然后把用户的I...

【专利技术属性】
技术研发人员:马俊杰乔咏赵峰宋潇豫申利飞
申请(专利权)人:中标软件有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1