CN114598481B - 一种授权认证方法、装置、电子设备及存储介质 - Google Patents
一种授权认证方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114598481B CN114598481B CN202011301384.2A CN202011301384A CN114598481B CN 114598481 B CN114598481 B CN 114598481B CN 202011301384 A CN202011301384 A CN 202011301384A CN 114598481 B CN114598481 B CN 114598481B
- Authority
- CN
- China
- Prior art keywords
- license
- certificate
- authorization
- service
- verification
- 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
- 238000013475 authorization Methods 0.000 title claims abstract description 218
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000012795 verification Methods 0.000 claims abstract description 112
- 230000004044 response Effects 0.000 claims abstract description 53
- 230000032683 aging Effects 0.000 claims description 19
- 238000010200 validation analysis Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000002431 foraging effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000013478 data encryption standard Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001550 time effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种授权认证方法、装置、电子设备及存储介质。该方法包括:通过在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;基于封装的失效许可提供文件对所述授权证书进行校验,得到校验结果,从而实现了对授权证书的认证;若所述校验结果为通过,生成服务响应信息发送至目标客户端,从而实现仅在授权证书校验通过时提供服务,提高网络应用程序接口服务的安全性,避免了网络应用程序接口被非法部署到未授权的服务器上。
Description
技术领域
本发明实施例涉及程序设计与编码技术领域,尤其涉及一种授权认证方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的发展,客户端和服务器端硬件性能的提升,网页上呈现的应用程序功能日渐丰富。从桌面端的客户程序到移动端的手机应用,都使用HTTP协议来传输网页应用,而HTTP协议是无状态的,所有的授权认证请求都基于服务器端,传统的session认证和cookie认证在单台服务器上运行良好,但随时服务器规模的扩大,共享session虽然可以解决多服务器间迁移和复制的问题,但随着服务器数量的不断增加,性能会急剧下降。现代WEB应用引入了前后端分离的技术,服务器端不保存用户会话的上下文,而是通过特定算法生成token(令牌)对象,客户端请求数据时使用token完成身份的校验工作。
随着基于HTTP协议、token认证或Restful样式来构建服务的分布式应用的开发普及,医院信息化***架构的更新,以及***间互联互通要求的提出,通过WEBAPI(WEBApplication Programming Interface,网络应用程序接口)的形式对外提供业务服务逐渐成为标准,如医院信息,病人信息,医保信息等基础HIS(Hospital Information System,医院信息***)信息服务。目前业界主流的做法都是通过WEBAPI的形式,使用token校验,来满足授权服务要求。
然而,对于信息化***厂商来说,一旦WEBAPI服务部署完毕,就失去了对WEBAPI的控制,无法避免WEBAPI被非法部署到未授权的服务器上,难以保证WEBAPI服务的安全。
发明内容
本发明提供一种授权认证方法、装置、电子设备及存储介质,以实现对授权证书的校验,从而提高网络应用程序接口服务的安全性,解决了网络应用程序接口被非法部署到未授权的服务器上的问题。
第一方面,本发明实施例提供了一种授权认证方法,包括:
在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;
基于封装的失效许可提供文件对所述授权证书进行校验,得到校验结果;
若所述校验结果为通过,生成服务响应信息发送至目标客户端。
第二方面,本发明实施例还提供了一种授权认证装置,该装置包括:
证书加载模块,用于在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;
证书校验模块,用于基于封装的失效许可提供文件对所述授权证书进行校验,得到校验结果;
响应生成模块,用于若所述校验结果为通过,生成服务响应信息发送至目标客户端。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例提供的授权认证方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的授权认证方法。
上述发明中的实施例具有如下优点或有益效果:
通过在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;基于封装的失效许可提供文件对所述授权证书进行校验,得到校验结果,从而实现了对授权证书的认证;若所述校验结果为通过,生成服务响应信息发送至目标客户端,从而实现仅在授权证书校验通过时提供服务,提高网络应用程序接口服务的安全性,避免了网络应用程序接口被非法部署到未授权的服务器上。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1为本发明实施例一所提供的一种授权认证方法的流程示意图;
图2为本发明实施例二所提供的一种授权认证方法的流程示意图;
图3为本发明实施例二所提供的一种授权认证方法的流程示意图;
图4为本发明实施例二所提供的一种授权认证过程示意图;
图5为本发明实施例三所提供的一种授权认证装置的结构示意图;
图6为本发明实施例四所提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种授权认证方法的流程示意图,本实施例可适用于需要在目标客户端发送登录请求时,对授权证书进行校验并根据校验结果生成服务响应的情形,该方法可以由授权认证装置来执行,该装置可以由硬件和/或软件来实现,该方法具体包括如下步骤:
S110、在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书。
其中,目标客户端指可以向网络应用程序接口发起服务请求的应用程序,目标客户端还可以和目标用户进行交互,并为目标用户提供可视的用户界面,以使在监测到目标用户触发用户界面上的业务控件时,向网络应用程序接口发起业务对应的服务请求。当目标客户端需要向网络应用程序接口发起服务请求时,目标客户端根据目标用户的登录信息生成登录请求,将登录请求发送至网络应用程序接口,以请求网络应用程序接口提供对应服务。授权证书指由信息化***厂商提前部署在服务器中,针对网络应用程序接口的授权许可数据。示例性的,授权证书的具体数据内容可以包含以下字段:接口代码|接口名称|医院代码|医院名称|授权有效开始日期|授权有效截止日期|接口有效开始日期|接口有效截止日期|控制模式|使用有效期类型,其中,接口代码、接口名称分别为网络应用程序接口的编号与名称,医院代码、医院名称分别指部署该网络应用程序接口的服务器所属医院的编号及名称,授权有效开始日期、授权有效截止日期分别为针对该网络应用程序接口的授权起始以及终止日期,接口有效开始日期、接口有效截止日期分别指该网络应用程序接口的有效起始日期及终止日期,控制模式为该网络应用程序接口的控制标识位,控制模式为0时为提示模式,为1时表示禁止使用,使用有效期类型指该网络应用程序接口的授权时间的类型,如永久授权、临时授权或期限内授权等。授权证书中的内容可以在每次授权校验之后进行更新。
需要说明的是,本实施例中的网络应用程序接口指WEBAPI,尤其特指.NET平台的Restful API。Restful API指用URI表示资源,用HTTP方法(GET、POST、PUT、DELETE)表征对资源的操作的API,即Restful API要求目标客户端以一种预定义的语法格式(如JSON格式)发送请求,服务端只需定义一个统一的响应接口,无需单独解析各个目标客户端发送的数据的格式。
在本实施例中,对授权证书的加载以及校验的过程均使用.NET框架。具体的,采用.NET平台组件库LicenseProvider对象,位于System.dll中,空间名称为:System.ComponentModel。其中,服务许可提供文件指.NET框架授权结构中的具备许可缓存功能的类,如ServerLicenseProvider.cs,服务许可提供文件可以采用C#代码自定义封装而成,可以在许可缓存中查找网络应用程序接口的授权证书,从.lic文本文件加载授权证书的数据,其中,.lic文件存储在网络应用程序根目录中的Licenses目录中。
可选的,基于封装的服务许可提供文件加载授权证书,包括:调用预先创建的服务许可提供文件中的证书获取方法来加载证书,其中,证书获取方法由服务许可提供文件继承自许可提供对象获得。
其中,证书获取方法指.NET框架授权结构中的服务许可提供文件所提供的的加载证书的方法,如GetLicense方法。许可提供对象指许可提供类中的对象,许可提供类指在.NET框架中可以实现发放和验证授权证书的类,如LicenseProvider。需要说明的是,证书获取方法由许可提供类提供,而服务许可提供文件可以通过继承许可提供类中的对象,来获取证书获取方法。示例性的,通过调用证书获取方法GetLicense来加载授权证书的语句如下:protected virtual string GetLicenseData(Type type),该语句表示通过从许可流中的第一行数据开始读取,从许可流中检索出授权证书数据并进行加载。GetLicense来加载授权证书还可以使用其它派生的方法,以便从不基于流的其它许可存储中读取授权证书数据。在本实施例中,通过调用预先创建的服务许可提供文件中的证书获取方法,实现了对授权证书的加载,从而提高了授权证书的加载速度,进一步的,提高了授权证书的验证速度。
S120、基于封装的失效许可提供文件对授权证书进行校验,得到校验结果。
其中,失效许可提供文件指.NET框架授权结构中的具备许可认证功能的类,如ExpiringLicenseProvider.cs,失效许可提供文件可以采用C#代码自定义封装而成。失效许可提供文件是由服务许可提供文件派生的,即失效许可提供文件可以继承服务许可提供文件中的对象,获取服务许可提供文件加载的授权证书,对授权证书进行校验。具体的,校验的方法可以是通过判断授权证书中网络应用程序接口的已使用次数是否超过指定次数,来确定授权证书的校验结果,需要说明的是,在每次进行校验之前,将递增授权证书中网络应用程序接口的已使用次数。示例性的,校验的方法还可以是通过获取授权证书中网络应用程序接口的授权开始日期和授权截止日期,来判断当前时间是否处于授权期内,从而得到授权证书的校验结果。示例性的,校验的方法还可以是通过判断授权证书中的特定字段的内容是否与预设内容相匹配,若是,则确定授权证书校验通过。
需要说明的是,在对授权证书进行校验之前,使用LicenseProviderAttribute来修饰WEBAPI的控制器(Controller),其中,LicenseProviderAttribute对象位于System.dll中,名称空间为:System.ComponentModel。
可选的,基于封装的失效许可提供文件对授权证书进行校验,包括:调用预先创建的失效许可提供文件中的验证许可方法来校验证书,其中,验证许可方法由失效许可提供文件继承自服务许可提供文件获得。
其中,验证许可方法指.NET框架授权结构中的服务许可提供文件所提供的的验证证书的方法,即ValidateLicense方法,ValidateLicense方法通过检查授权证书的元数据来得到授权证书的校验结果。需要说明的是,验证许可方法由服务许可提供文件提供,而失效许可提供文件可以通过继承服务许可提供文件,来获取验证许可方法。示例性的,通过调用验证许可方法ValidateLicense来校验证书的语句如下:protected virtual boolValidataLicenseData(Type type,string licenseData),该语句表示在授权证书的数据有效时,则返回True,授权证书的校验通过。若授权证书的数据无效,则将许可异常验证结果传递到调用代码中,从而生成验证失败响应发送至目标客户端。在本实施例中,通过调用预先创建的失效许可提供文件中的验证许可方法,实现了对授权证书的校验,从而提高了授权证书的校验速度与校验结果的准确性。
可选的,调用预先创建的失效许可提供文件中的验证许可方法来校验证书,包括:通过授权关键字来判断是否为有效证书;调用业务网页接口中引入的许可管理组件中的时效验证方法来校验证书是否超过服务期时效。
其中,将验证许可方法对授权证书的校验过程分为两部分,即校验授权证书是否有效,以及校验授权证书是否超过服务器时效。其中,授权关键字具体用于与授权证书各字段中的内容一一进行匹配,若授权证书中包含授权关键字,则授权关键字与授权证书的部分内容匹配成功,确定授权证书为有效证书。授权关键字可以是指定的接口代码、接口名称、医院代码、医院名称或使用有效期类型内容。示例性的,若指定授权关键词为接口名称内容,如“CA标准接口服务”,通过授权关键字来判断是否为有效证书的语句如下:
在本实施例中,业务网页接口指网络应用程序接口,许可管理组件指.NET框架中的LicenseManager组件,LicenseManager位于System.dll中,名称空间为:System.ComponentModel。时效验证方法指.NET框架中的LicenseManager组件提供的静态方法IsValid方法。示例性的,IsValid方法来校验授权证书是否超过服务期时效的语句为:LicenseManager.IsValid(typeof(UserController)),由语句返回授权证书是否超过服务期时效的判断结果。其中,UserController为WEBAPI的业务控制器,在对授权证书进行校验之前,在业务控制器中预先创建修饰属性,如:[LicenseProvider(typeof(ExpiringLicenseProvider))]public class UserController:ApiController。需要说明的是,通过授权关键字来判断是否为有效证书。在本实施例中,通过将授权证书的校验过程分为判断证书是否有效,以及证书是否超过服务器时效,实现了对授权证书的二次校验,从而提高了授权证书的校验结果的准确性,避免网络应用程序接口被非法部署到未授权的服务器上,保障了网络应用程序接口服务的安全性。
可选的,调用业务网页接口中引入的许可管理组件中的时效验证方法来校验证书是否超过服务期时效,包括:通过业务网页接口中引入的许可管理组件中的时效验证方法调用失效许可提供文件中的过期验证方法,以使过期验证方法判断证书是否超过服务期时效。
其中,过期验证方法指.NET框架提供的失效许可提供文件中的IsExpired方法。IsExpired方法可以利用授权证书中的授权有效开始日期和授权有效截止日期来判断授权证书是否超过服务器时效,还可以利用授权证书中的接口有效开始日期和接口有效截止日期来进行判断。示例性的,IsExpired方法利用授权有效开始日期和授权有效截止日期,判断证书是否超过服务期时效的语句如下:
其中,DateTime.Now指当前时间,可以是开始验证的时间,也可以是接收到目标客户端发送的登录请求的时间,_start表示授权有效开始日期,_end表示授权有效截止日期,DateTime.Now<_start||DateTime.Now>_end表示当前时间小于授权有效开始日期或当前时间大于授权有效截止日期,若当前时间小于授权有效开始日期或当前时间大于授权有效截止日期,则返回1,表示授权证书超过服务期时效,校验结果不通过。
在本实施例中,通过调用失效许可提供文件中的过期验证方法,以使过期验证方法判断证书是否超过服务期时效,实现了基于授权证书的具体信息来判断否超过服务期时效,从而提高了授权证书的校验结果的准确性。
可选的,若过期验证方法判断证书超过服务期时效,可以根据授权证书中的使用有效期类型,对授权证书的服务期进行更新,将更新后的授权证书存储至服务器中的许可缓存中,以使在接收到下次登录请求时,对许可缓存中更新的授权证书进行加载,进一步验证更新后的授权证书。示例性的,若使用有效期类型为临时授权,则可以根据临时授权的期限更新授权证书中的授权有效开始日期以及授权有效截止日期,和/或更新授权证书中的接口有效开始日期以及接口有效截止日期。通过对授权证书的服务期进行更新,实现了为WEBAPI提供二次授权,进一步的,有效控制了WEBAPI的服务时效。
S130、若校验结果为通过,生成服务响应信息发送至目标客户端。
其中,网络应用程序接口在对授权证书进行校验后,根据校验结果生成反馈信息发送至目标客户端。其中,若校验结果无误,则生成服务响应信息作为反馈信息发送至目标客户端,以为目标客户端提供业务对应的服务;若校验结果有误,则生成验证失败信息作为反馈信息发送至目标客户端,以拒绝为目标客户端提供业务对应的服务。
本实施例的技术方案,通过在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;基于封装的失效许可提供文件对所述授权证书进行校验,得到校验结果,从而实现了对授权证书的认证;若所述校验结果为通过,生成服务响应信息发送至目标客户端,从而实现仅在授权证书校验通过时提供服务,提高网络应用程序接口服务的安全性,避免了网络应用程序接口被非法部署到未授权的服务器上。
实施例二
图2为本发明实施例二提供的一种授权认证方法的流程示意图,本实施例在上述各实施例的基础上,增加了“对目标客户端发送登录请求中的携带令牌进行校验”。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,本实施例提供的一种授权认证方法包括:
S210、在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书。
S220、基于封装的失效许可提供文件对授权证书进行校验,得到校验结果。
可选的,在基于封装的失效许可提供文件对授权证书进行校验之前,还包括:通过对称加密算法对授权证书进行解密;相应的,基于封装的失效许可提供文件对解密后的授权证书进行校验。
需要说明的是,若授权证书是以明文文件的方式存在于许可缓存中,那么应用程序开发人员可以较为容易的对授权证书中的数据进行修改,从而将WEBAPI部署在非法服务器中,信息化***厂商也会失去对WEBAPI的控制。因此,通过对授权证书进行加密,可以提高授权证书的安全性。授权证书可以采用对称加密算法进行加密,并通过对称加密算法对加密后的授权证书进行解密。其中,对称加密算法指加密和解密过程使用相同密钥的加密算法,如DES(Data Encryption Standard)、3DES(Triple DES)或AED(AdvancedEncryption Standard)等。由于DES的加密、解密速度较快,适用于对大量数据进行加密和解密的场合,因此,优选采用DES加密算法。具体的,采用.NET框架提供的DESCryptoServiceProvider来实现对授权证书的加密与解密。其中,加密密钥作为私有字段encryptionKeyBytes嵌入到EncryptedLicenseProvider类本身,以提高修改授权证书的数据的困难程度。
示例性的,加密后的授权证书的内容如下:6200000000000000D52AF38605AC9919BBD4861CD1525E51EEA18E838DDECD1AEBCD95F3BB0C332901A8A23794C7FD13A82E45578DFC812B44D8B5C16854EAA90662E8781CCF31D0D1ADDFE4805C62BAF428D626AFB461D72E1000CE1E2AE80F7D9F6EB5DF830E1AF66EDB7EA5DC10FAFFF17433B8397F1F;通过加密对称算法得到的解密授权证书为:251566|CA标准接口服务|234567|虚拟第一医院|20201001|20230930|20201001|20230930|0|2。在本实施例中,通过采用对称加密算法对授权证书进行解密,并对解密后的授权证书进行校验,从而实现了授权证书的加解密,避免了授权证书被篡改,同时,提高了网络应用程序接口服务的安全性。
S230、若校验结果为通过,对目标客户端发送登录请求中的携带令牌进行校验。
其中,携带令牌指由服务器生成的作为目标客户端请求标识,并由目标客户端在发起登录请求时携带的字符串,即token。具体的,目标客户端在发起首次登录请求时,服务器通过验证首次登录请求中的用户账号信息,在验证通过时生成一个token返回至目标客户端,以使目标客户端在后续发起登录请求时,携带该token,无需携带用户账号信息。Token可以是基于目标客户端的设备mac地址生成,也可以基于首次会话session生成。需要说明的是,若目标客户端发送登录请求中未携带令牌,则认为目标客户端是首次发起登录请求,或之前发起的登录请求中的用户账号信息的校验均未通过,此时需要对目标客户端发送登录请求中的用户账号信息进行校验。具体的,对token的校验过程为:基于token中的header密文和payload密文进行HS256运算,生成签名;将生成的签名与token中携带的签名进行比对,若一致则表明token的校验无误。
S240、若校验无误,则生成服务响应信息发送至目标客户端。
其中,如图3所示,当授权证书以及token的校验均通过时,获取WEBAPI业务信息作为服务响应信息发送至目标客户端,若校验授权证书或token时出现校验不通过,则生成请求失败信息发送至客户端并结束对本次登录请求的响应过程。具体的,目标用户、信息化***厂商、医院与WEBAPI之间的交互过程如图4所示,其中,信息化***厂商为WEBAPI提供授权证书,目标用户在发起登录请求时为WEBAPI的校验过程提供token。WEBAPI还与医院的医院信息***相连接,以使在对授权证书及token的校验均通过时,WEBAPI可以获取医院信息***的数据,并为目标用户提供相应的业务服务。可以理解的是,在本实施例中,S220和S230的顺序不分先后,即本实施例对校验授权证书和校验token的顺序不进行限定,如图3所示,可以先校验授权证书,当授权证书校验通过时再校验token;也可以先校验token,当token校验通过时再校验授权证书。
本实施例的技术方案,通过基于封装的失效许可提供文件对授权证书进行校验,并对目标客户端发送登录请求中的携带令牌进行校验,仅在授权证书与携带令牌均校验通过时,生成服务响应信息发送至目标客户端,实现了授权证书与令牌的二次校验,在避免网络应用程序接口被非法部署的同时,进一步的提高了网络应用程序接口服务的安全性,为用户使用服务增加了安全保障。
实施例三
图5为本发明实施例三提供的一种授权认证装置的结构示意图,本实施例可适用于需要在目标客户端发送登录请求时,对授权证书进行校验并根据校验结果生成服务响应的情形,该装置具体包括:证书加载模块510、证书校验模块520以及响应生成模块530。
证书加载模块510,用于在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;
证书校验模块520,用于基于封装的失效许可提供文件对授权证书进行校验,得到校验结果;
响应生成模块530,用于当校验结果为通过时,生成服务响应信息发送至目标客户端。
在本实施例中,通过证书加载模块在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;通过证书校验模块基于封装的失效许可提供文件对所述授权证书进行校验,得到校验结果,从而实现了对授权证书的认证;基于响应生成模块当校验结果为通过时,生成服务响应信息发送至目标客户端,从而实现仅在授权证书校验通过时提供服务,提高网络应用程序接口服务的安全性,避免了网络应用程序接口被非法部署到未授权的服务器上。
在上述装置的基础上,可选的,证书加载模块具体用于调用预先创建的服务许可提供文件中的证书获取方法来加载证书,其中,证书获取方法由服务许可提供文件继承自许可提供对象获得。
可选的,证书校验模块包括许可调用单元,许可调用单元用于调用预先创建的失效许可提供文件中的验证许可方法来校验证书,其中,验证许可方法由失效许可提供文件继承自服务许可提供文件获得。
可选的,许可调用单元包括:
有效验证子单元,用于通过授权关键字来判断是否为有效证书;
失效验证子单元,用于调用业务网页接口中引入的许可管理组件中的时效验证方法来校验证书是否超过服务期时效。
可选的,失效验证子单元具体用于通过业务网页接口中引入的许可管理组件中的时效验证方法调用失效许可提供文件中的过期验证方法,以使过期验证方法判断证书是否超过服务期时效。
可选的,上述授权认证装置还包括:
证书解密模块,用于通过对称加密算法对授权证书进行解密;相应的,证书校验模块520用于基于封装的失效许可提供文件对解密后的授权证书进行校验。
可选的,上述授权认证装置还包括:
令牌校验模块,用于在响应生成模块530生成服务响应信息发送至目标客户端之前,对目标客户端发送登录请求中的携带令牌进行校验;相应的,响应生成模块530在携带令牌校验无误时生成服务响应信息发送至目标客户端。
本发明实施例所提供的授权认证装置可执行本发明任意实施例所提供的授权认证方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述***所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
实施例四
图6为本发明实施例四提供的一种电子设备的结构示意图。图6示出了适于用来实现本发明实施例实施方式的示例性电子设备60的框图。图6显示的电子设备60仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备60以通用计算设备的形式表现。电子设备60的组件可以包括但不限于:一个或者多个处理器或者处理单元601,***存储器602,连接不同***组件(包括***存储器602和处理单元601)的总线603。
总线603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
电子设备60典型地包括多种计算机***可读介质。这些介质可以是任何能够被电子设备60访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器602可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)604和/或高速缓存存储器605。电子设备60可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***606可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线603相连。存储器602可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块607的程序/实用工具608,可以存储在例如存储器602中,这样的程序模块607包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块607通常执行本发明所描述的实施例中的功能和/或方法。
电子设备60也可以与一个或多个外部设备609(例如键盘、指向设备、显示器610等)通信,还可与一个或者多个使得用户能与该电子设备60交互的设备通信,和/或与使得该电子设备60能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口611进行。并且,电子设备60还可以通过网络适配器612与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器612通过总线603与电子设备60的其它模块通信。应当明白,尽管图6中未示出,可以结合电子设备60使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元601通过运行存储在***存储器602中的程序,从而执行各种功能应用以及数据处理,例如实现本发实施例所提供的一种授权认证方法步骤,该方法包括:
在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;
基于封装的失效许可提供文件对授权证书进行校验,得到校验结果;
若校验结果为通过,生成服务响应信息发送至目标客户端。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的授权认证方法的技术方案。
实施例五
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的授权认证方法步骤,该方法包括:
在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;
基于封装的失效许可提供文件对授权证书进行校验,得到校验结果;
若校验结果为通过,生成服务响应信息发送至目标客户端。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (6)
1.一种授权认证方法,其特征在于,包括:
在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;
基于封装的失效许可提供文件对所述授权证书进行校验,得到校验结果;
若所述校验结果为通过,生成服务响应信息发送至目标客户端;
所述基于封装的失效许可提供文件对所述授权证书进行校验,包括:
调用预先创建的失效许可提供文件中的验证许可方法来校验证书,其中,所述验证许可方法由所述失效许可提供文件继承自所述服务许可提供文件获得;
所述调用预先创建的失效许可提供文件中的验证许可方法来校验证书,包括:
通过授权关键字来判断是否为有效证书;
调用业务网页接口中引入的许可管理组件中的时效验证方法来校验证书是否超过服务期时效;
所述调用业务网页接口中引入的许可管理组件中的时效验证方法来校验证书是否超过服务期时效,包括:
通过业务网页接口中引入的许可管理组件中的时效验证方法调用所述失效许可提供文件中的过期验证方法,以使所述过期验证方法判断证书是否超过服务期时效;
在对所述授权证书进行校验之前,使用LicenseProviderAttribute来修饰WEBAPI的控制器(Controller),其中,LicenseProviderAttribute对象位于System.dll中,名称空间为:System.ComponentModel;
在所述生成服务响应信息发送至目标客户端之前,还包括:
对目标客户端发送登录请求中的携带令牌进行校验;
若校验无误,则生成服务响应信息发送至目标客户端。
2.根据权利要求1中所述的方法,其特征在于,所述基于封装的服务许可提供文件加载授权证书,包括:
调用预先创建的服务许可提供文件中的证书获取方法来加载证书,其中,所述证书获取方法由所述服务许可提供文件继承自许可提供对象获得。
3.根据权利要求1中所述的方法,其特征在于,在所述基于封装的失效许可提供文件对所述授权证书进行校验之前,还包括:
通过对称加密算法对所述授权证书进行解密;
相应的,基于封装的失效许可提供文件对解密后的授权证书进行校验。
4.一种授权认证装置,其特征在于,包括:
证书加载模块,用于在接收到目标客户端发送登录请求时,基于封装的服务许可提供文件加载授权证书;
证书校验模块,用于基于封装的失效许可提供文件对所述授权证书进行校验,得到校验结果;
响应生成模块,用于若所述校验结果为通过,生成服务响应信息发送至目标客户端;
所述证书校验模块包括许可调用单元,其中:
所述许可调用单元,用于调用预先创建的失效许可提供文件中的验证许可方法来校验证书,其中,验证许可方法由失效许可提供文件继承自服务许可提供文件获得;
所述许可调用单元包括有效验证子单元、失效验证子单元,其中:
所述有效验证子单元,用于通过授权关键字来判断是否为有效证书;所述失效验证子单元,用于调用业务网页接口中引入的许可管理组件中的时效验证方法来校验证书是否超过服务期时效;
所述失效验证子单元具体用于通过业务网页接口中引入的许可管理组件中的时效验证方法调用失效许可提供文件中的过期验证方法,以使过期验证方法判断证书是否超过服务期时效;
所述证书校验模块,包括在对所述授权证书进行校验之前,使用来修饰WEBAPI的控制器(Controller),其中,LicenseProviderAttribute对象位于System.dll中,名称空间为:System.ComponentModel;
令牌校验模块,用于在响应生成模块生成服务响应信息发送至目标客户端之前,对目标客户端发送登录请求中的携带令牌进行校验;
所述响应生成模块,用于在所述携带令牌校验无误时生成服务响应信息发送至目标客户端。
5.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一项所述的授权认证方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一项所述的授权认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011301384.2A CN114598481B (zh) | 2020-11-19 | 2020-11-19 | 一种授权认证方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011301384.2A CN114598481B (zh) | 2020-11-19 | 2020-11-19 | 一种授权认证方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114598481A CN114598481A (zh) | 2022-06-07 |
CN114598481B true CN114598481B (zh) | 2024-05-31 |
Family
ID=81802378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011301384.2A Active CN114598481B (zh) | 2020-11-19 | 2020-11-19 | 一种授权认证方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598481B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114896621B (zh) * | 2022-07-15 | 2022-10-14 | 深圳竹云科技股份有限公司 | 应用服务的获取方法、加密方法、装置、计算机设备 |
CN116684467B (zh) * | 2023-08-02 | 2023-10-27 | 武汉吧哒科技股份有限公司 | 数据获取方法、电子设备及存储介质 |
CN117574333A (zh) * | 2024-01-16 | 2024-02-20 | 四川精容数安科技有限公司 | 一种备份软件License有效期的校验方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111410A (zh) * | 2011-01-13 | 2011-06-29 | 中国科学院软件研究所 | 一种基于代理的单点登录方法及*** |
CN107689944A (zh) * | 2016-08-05 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 身份认证方法、装置和*** |
WO2018120913A1 (zh) * | 2016-12-28 | 2018-07-05 | 华为技术有限公司 | 一种获取证书、鉴权的方法及网络设备 |
CN109379336A (zh) * | 2018-09-18 | 2019-02-22 | 中汇信息技术(上海)有限公司 | 一种统一认证方法、分布式***和计算机可读存储介质 |
CN110213276A (zh) * | 2019-06-05 | 2019-09-06 | 宁波深擎信息科技有限公司 | 一种微服务架构下的授权验证方法、服务器、终端及介质 |
CN110535851A (zh) * | 2019-08-27 | 2019-12-03 | 浪潮云信息技术有限公司 | 一种基于oauth2协议的用户认证*** |
CN111066284A (zh) * | 2017-10-09 | 2020-04-24 | 华为技术有限公司 | 一种业务证书管理方法、终端及服务器 |
CN111147525A (zh) * | 2020-02-27 | 2020-05-12 | 深圳市伊欧乐科技有限公司 | 基于api网关的认证方法、***、服务器和存储介质 |
CN111428213A (zh) * | 2020-03-27 | 2020-07-17 | 深圳融安网络科技有限公司 | 双因子的认证设备及其方法和计算机可读存储介质 |
CN111769939A (zh) * | 2020-06-29 | 2020-10-13 | 北京海泰方圆科技股份有限公司 | 业务***的访问方法、装置、存储介质及电子设备 |
CN111800378A (zh) * | 2020-05-21 | 2020-10-20 | 视联动力信息技术股份有限公司 | 一种登录认证方法、装置、***和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130218779A1 (en) * | 2012-02-21 | 2013-08-22 | Rawllin International Inc. | Dual factor digital certificate security algorithms |
-
2020
- 2020-11-19 CN CN202011301384.2A patent/CN114598481B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111410A (zh) * | 2011-01-13 | 2011-06-29 | 中国科学院软件研究所 | 一种基于代理的单点登录方法及*** |
CN107689944A (zh) * | 2016-08-05 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 身份认证方法、装置和*** |
WO2018120913A1 (zh) * | 2016-12-28 | 2018-07-05 | 华为技术有限公司 | 一种获取证书、鉴权的方法及网络设备 |
CN111066284A (zh) * | 2017-10-09 | 2020-04-24 | 华为技术有限公司 | 一种业务证书管理方法、终端及服务器 |
CN109379336A (zh) * | 2018-09-18 | 2019-02-22 | 中汇信息技术(上海)有限公司 | 一种统一认证方法、分布式***和计算机可读存储介质 |
CN110213276A (zh) * | 2019-06-05 | 2019-09-06 | 宁波深擎信息科技有限公司 | 一种微服务架构下的授权验证方法、服务器、终端及介质 |
CN110535851A (zh) * | 2019-08-27 | 2019-12-03 | 浪潮云信息技术有限公司 | 一种基于oauth2协议的用户认证*** |
CN111147525A (zh) * | 2020-02-27 | 2020-05-12 | 深圳市伊欧乐科技有限公司 | 基于api网关的认证方法、***、服务器和存储介质 |
CN111428213A (zh) * | 2020-03-27 | 2020-07-17 | 深圳融安网络科技有限公司 | 双因子的认证设备及其方法和计算机可读存储介质 |
CN111800378A (zh) * | 2020-05-21 | 2020-10-20 | 视联动力信息技术股份有限公司 | 一种登录认证方法、装置、***和存储介质 |
CN111769939A (zh) * | 2020-06-29 | 2020-10-13 | 北京海泰方圆科技股份有限公司 | 业务***的访问方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114598481A (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9871821B2 (en) | Securely operating a process using user-specific and device-specific security constraints | |
CN114598481B (zh) | 一种授权认证方法、装置、电子设备及存储介质 | |
CN101771689B (zh) | 通过管理性引擎进行企业网单点登录的方法和*** | |
US9747425B2 (en) | Method and system for restricting execution of virtual application to a managed process environment | |
US7681238B2 (en) | Remotely accessing protected files via streaming | |
EP2549401B1 (en) | Method and System for Provision of Cryptographic Services | |
EP3092775B1 (en) | Method and system for determining whether a terminal logging into a website is a mobile terminal | |
JP6286034B2 (ja) | プロセス認証とリソースパーミッション | |
US8160247B2 (en) | Providing local storage service to applications that run in an application execution environment | |
US7178163B2 (en) | Cross platform network authentication and authorization model | |
KR100996784B1 (ko) | 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체 | |
JP4916584B2 (ja) | 呼び出しのプログラムについての秘密の封印のための方法 | |
CN111262889B (zh) | 一种云服务的权限认证方法、装置、设备及介质 | |
US9336369B2 (en) | Methods of licensing software programs and protecting them from unauthorized use | |
CN109981680B (zh) | 一种访问控制实现方法、装置、计算机设备及存储介质 | |
US9129098B2 (en) | Methods of protecting software programs from unauthorized use | |
CN106992978B (zh) | 网络安全管理方法及服务器 | |
JP5474091B2 (ja) | ライブラリに対するガジェットアクセスを安全にする方法 | |
US8850602B2 (en) | Method for protecting application and method for executing application using the same | |
US7694154B2 (en) | Method and apparatus for securely executing a background process | |
CN116032627A (zh) | 一种基于微服务架构的统一认证授权方法及装置 | |
US20130219510A1 (en) | Drm/cas service device and method using security context | |
EP3036674B1 (en) | Proof of possession for web browser cookie based security tokens | |
JP2001216043A (ja) | サービスの実装に課する制約を決定するための機構 | |
US20240080195A1 (en) | Managing composite tokens for content access requests |
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 |