CN104506542A - 安全认证方法和安全认证系统 - Google Patents

安全认证方法和安全认证系统 Download PDF

Info

Publication number
CN104506542A
CN104506542A CN201410837071.7A CN201410837071A CN104506542A CN 104506542 A CN104506542 A CN 104506542A CN 201410837071 A CN201410837071 A CN 201410837071A CN 104506542 A CN104506542 A CN 104506542A
Authority
CN
China
Prior art keywords
application program
information
sign
authority
access
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.)
Pending
Application number
CN201410837071.7A
Other languages
English (en)
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.)
ZTE ICT Technologies Co Ltd
Original Assignee
ZTE ICT Technologies 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 ZTE ICT Technologies Co Ltd filed Critical ZTE ICT Technologies Co Ltd
Priority to CN201410837071.7A priority Critical patent/CN104506542A/zh
Publication of CN104506542A publication Critical patent/CN104506542A/zh
Pending legal-status Critical Current

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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

本发明提供了一种安全认证方法和一种安全认证系统,其中,安全认证方法包括:在接收到对应用程序的访问请求时,通过代理服务器获取应用程序的地址中的预设单点登录信息;根据预设单点登录信息,确定与预设单点登录信息对应的应用程序IP和端口信息,以供根据应用程序IP和端口信息访问应用程序;在访问应用程序的过程中,根据内存数据库中预存的会话数据,进行安全认证。通过本发明的技术方案,一方面,实现了服务代理,提高了安全认证系统的安全性,还使该系统具有日志审计和权限控制的功能,另一方面,实现了会话共享,有效地避免了访问不同服务器带来的会话信息不一致的问题。

Description

安全认证方法和安全认证系统
技术领域
本发明涉及通信技术领域,具体而言,涉及一种安全认证方法和一种安全认证系统。
背景技术
在相关技术中,SAML(Security Assertion Markup Language,安全断言标记语言)是一个基于XML(Extensible Markup Language,可扩展标记语言)的标准,用于在不同的安全域(Security Domain)之间做交换认证和授权数据。SAML标准定义了身份提供者(Identity Provider)和服务提供者(Service Provider),这两者构成了前面所说的不同的安全域。另外,SAML是结构化信息标准促进组织的安全服务技术委员会的产品。
如图1所示,下面详细介绍相关技术中的安全认证系统的原理:
登录认证接口102:为用户提供用户名、密码、图形验证码、短信验证码、第三方安全认证码等信息校验,校验通过生成一个随机字母数字组成的SSOToken(令牌凭据)存储在session(会话)中并返回到前台登录页面。
断言认证接口104:为用户进行第二次信息验证,前台登录页面通过解析XML中携带的SSOToken信息,携带该SSOToken信息调用断言认证接口进行信息比对,若比对通过,该接口将用户基本信息通过XML文件传输到前台登录,若不通过则提示相应的错误信息。
透明登录接口106:为第三方应用系统中的应用程序提供单点登录的入口,第三方应用集中到4A前台页面,若用户需要访问相应的应用程序,通过透明登录接口判断用户是否已经通过4A认证,若通过则生成随机字母数字组成的SSOToken凭据给对应的应用程序,若不通过则返回4A前台登录界面进行再次登录。
会话保持接口:4A前台和后台交互session会话保持自定义为30分钟,用户超过30分钟未使用4A认证系统则会话失效,用户再次使用时需要重新登录认证。若在30分钟以内再次使用4A认证系统则会重置session。
其中,上述提到的4A是指Authentication(认证)、Account(账号)、Authorization(授权)、Audit(审计),中文名称为统一安全管理平台解决方案,即将身份认证、授权、审计和账号定义为网络安全的四大组成部分,从而确立了身份认证在整个网络安全系统中的地位与作用。
在相关技术中的认证系统实现的4A认证是对于第三方应用系统而言,但是,当认证通过进入第三方应用系统之后,对该第三方应用系统的日志和行为监控力度不够,同时也不具备对第三方应用系统的内部授权管理。除此之外,相关技术中的SAML认证服务支持集群部署,但不支持对后台跨服务器的session共享。例如,当用户通过服务器A进行认证通过之后,跳转到服务器B时,由于服务器B没有服务器A认证通过的session信息,从而导致在访问服务器B时认证失败,则需要重新认证。
因此需要一种新的技术方案,不仅可以加强对应用程序的日志和行为的监控力度,还可以控制用户访问应用程序的权限,同时,还可以避免访问不同服务器带来的session信息不一致的问题。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,不仅可以加强对应用程序的日志和行为的监控力度,还可以控制用户访问应用程序的权限,同时,避免访问不同服务器带来的session信息不一致的问题。
有鉴于此,本发明的一方面提出了一种安全认证方法,包括:在接收到对应用程序的访问请求时,通过代理服务器获取所述应用程序的地址中的预设单点登录信息;根据所述预设单点登录信息,确定与所述预设单点登录信息对应的应用程序IP和端口信息,以供根据所述应用程序IP和所述端口信息访问所述应用程序;在访问所述应用程序的过程中,根据内存数据库中预存的会话数据,进行安全认证。
在该技术方案中,当应用程序在接入4A平台进行单点登录(SingleSign On,简称SSO)时,根据应用程序提供的单点登录信息,在代理服务器中配置与单点登登录信息相对应的IP(Internet Protocol,网络互连协议)的端口信息,从而可以实现服务代理,即用户只要和4A平台网络保持互通即可,不需要关心其与应用程序的网络资源是否可用,所有的网络请求都交予4A平台的代理服务器去执行。另外,用户在访问应用程序的过程中,内存数据库中预存有会话数据,从而实现对4A后台跨服务器的session共享,有效避免访问不同服务器带来的session信息不一致的问题,还可以保证用户登录的唯一性,即当前有且只能同一个用户在一处登录,有效降低用户访问的数量,最后再进行安全认证,从而实现基于SAML的安全认证。
在上述技术方案中,优选地,在所述在接收到对应用程序的访问请求时,通过代理服务器获取所述应用程序的地址中的预设单点登录信息之前,还包括:根据接收到的设置命令,通过所述代理服务器为所述应用程序设置预设单点登录信息;以及将所述应用程序的所述预设单点登录信息、所述应用程序IP和所述端口信息关联存储。
在该技术方案中,可以在代理服务器中为应用程序配置与其相对应的单点登录信息,该单点登录信息与应用程序的IP和端口信息关联并存储,例如,4A平台的访问地址为:http://sso.com.cn/ssoname......,应用程序提供的单点登录的地址:http://ip:port/projectname/......,其中,projectname为应用程序工程名。在代理服务器中进行配置,确定应用程序的IP:port(端口信息)=ssoname(单点登录信息名称),再将ssoname、应用程序的单点登录信息(如projectname)和端口信息相关联并一一对应,此时对应用程序配置完成后,在4A平台进行单点登录的地址变成http://sso.com.cn/ssoname/projectname/......。当用户在访问应用程序时,代理服务器会去截取该地址的ssoname信息,根据ssoname信息去找到对应的IP和端口信息,并和projectname进行匹配,以防地址被改动。
在上述技术方案中,优选地,在所述通过代理服务器获取所述应用程序的地址中的预设单点登录信息之前,还包括:确定所述访问请求的发出方是否具有访问所述应用程序的权限;当确定所述发出方具有所述权限时,允许所述发出方通过所述代理服务器访问所述应用程序。
在该技术方案中,在代理服务器中将用户(请求的发出方)访问应用程序中的角色关联并存储起来,当用户在访问应用程序的某个模块或链接时,代理服务器根据用户的单点登录信息去判断该用户是否拥有访问应用程序中的资源的权限,若没有权限则阻止用户对应用程序进行访问,从而有效地控制用户访问的资源,即基于SAML的安全认证方法具有系统级别鉴权的功能,从而保证所有的资源都是被有相应权限的用户访问。
在上述技术方案中,优选地,所述根据内存数据库中预存的会话数据,进行安全认证,具体包括:根据所述访问请求,进行所述登录认证,并生成令牌凭据;对所述令牌凭据进行解析;根据解析结果,调用断言认证接口确定所述令牌凭据是否与所述内存数据库中的所述会话数据中的目标令牌凭据一致,以进行所述断言认证。
在该技术方案中,根据用户对应用程序的访问请求,进行登录认证,包括:为用户提供用户名、密码、图形验证码、短信验证码、第三方安全认证码等信息校验,并且校验通过后生成一个随机字母数字组成的令牌SSOToken存储在session中并返回到4A平台的前台登录页面,然后为用户进行第二次信息认证(断言认证),前台登录页面通过解析XML中携带的令牌凭据,携带该令牌凭据调用断言认证接口进行令牌凭据的比对,若比对通过,该接口将用户基本信息通过XML文件传输到前台登录页面,并登录应用程序,若不通过则提示相应的错误信息。
在上述技术方案中,优选地,所述内存数据库包括但不限于日志型分布式存储数据库或分布式内存对象缓存数据库,以及所述安全认证包括但不限于登录认证和断言认证。
在该技术方案中,所述内存数据库包括但不限于日志型分布式存储数据库或分布式内存对象缓存数据库,典型的日志型分布式存储数据库如redis数据库,典型的分布式内存对象缓存数据库如memcached数据库。通过内存数据库存储session,满足了高并发的用户的需求,从而提高了4A平台的使用性能。其中,memcached数据库应用于高性能的分布式内存对象缓存系统,可以通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高数据库驱动网站的速度。而redis数据库是一种可基于内存亦可持久化的日志型分布式存储数据库,可提供多种语言的应用程序编程接口。
本发明的另一方面提出了一种安全认证系统,包括:获取单元,在接收到对应用程序的访问请求时,通过代理服务器获取所述应用程序的地址中的预设单点登录信息;访问单元,根据所述预设单点登录信息,确定与所述预设单点登录信息对应的应用程序IP和端口信息,以供根据所述应用程序IP和所述端口信息访问所述应用程序;认证单元,在访问所述应用程序的过程中,根据内存数据库中预存的会话数据,进行安全认证。
在该技术方案中,当应用程序在接入4A平台进行单点登录时,根据应用程序提供的单点登录信息,在代理服务器中配置与单点登登录信息相对应的IP的端口信息,从而可以实现服务代理,即用户只要和4A平台网络保持互通即可,不需要关心其与应用程序的网络资源是否可用,所有的网络请求都交予4A平台的代理服务器去执行。另外,用户在访问应用程序的过程中,内存数据库中预存有会话数据,从而实现对4A后台跨服务器的session共享,有效避免访问不同服务器带来的session信息不一致的问题,还可以保证用户登录的唯一性,即当前有且只能同一个用户在一处登录,有效降低用户访问的数量,最后再进行安全认证,从而实现安全认证。
在上述技术方案中,优选地,还包括:设置单元,在所述在接收到对应用程序的访问请求时,通过代理服务器获取所述应用程序的地址中的预设单点登录信息之前,根据接收到的设置命令,通过所述代理服务器为所述应用程序设置预设单点登录信息;以及存储单元,将所述应用程序的所述预设单点登录信息、所述应用程序IP和所述端口信息关联存储。
在该技术方案中,可以在代理服务器中为应用程序配置与其相对应的单点登录信息,该单点登录信息与应用程序的IP和端口信息关联并存储,例如,4A平台的访问地址为:http://sso.com.cn/ssoname......,应用程序提供的单点登录的地址:http://ip:port/projectname/......,其中,projectname为应用程序工程名。在代理服务器中进行配置,确定应用程序的IP:port(端口信息)=ssoname(单点登录信息名称),再将ssoname、应用程序的单点登录信息(如projectname)和端口信息相关联并一一对应,此时对应用程序配置完成后,在4A平台进行单点登录的地址变成http://sso.com.cn/ssoname/projectname/......。当用户在访问应用程序时,代理服务器会去截取该地址的ssoname信息,根据ssoname信息去找到对应的IP和端口信息,并和projectname进行匹配,以防地址被改动。在上述技术方案中,优选地,还包括:确定单元,在所述通过代理服务器获取所述应用程序的地址中的预设单点登录信息之前,确定所述访问请求的发出方是否具有访问所述应用程序的权限,其中,当确定所述发出方具有所述权限时,允许所述发出方通过所述代理服务器访问所述应用程序。
在该技术方案中,在代理服务器中将用户(请求的发出方)访问应用程序中的角色关联并存储起来,当用户在访问应用程序的某个模块或链接时,代理服务器根据用户的单点登录信息去判断该用户是否拥有访问应用程序中的资源的权限,若没有权限则阻止用户对应用程序进行访问,从而有效地控制用户访问的资源,即安全认证方法具有系统级别鉴权的功能,从而保证所有的资源都是被有相应权限的用户访问。
在上述技术方案中,优选地,所述认证单元具体用于:根据所述访问请求,进行所述登录认证,并生成令牌凭据,以及对所述令牌凭据进行解析,并根据解析结果,调用断言认证接口确定所述令牌凭据是否与所述内存数据库中的所述会话数据中的目标令牌凭据一致,以进行所述断言认证。
在该技术方案中,根据用户对应用程序的访问请求,进行登录认证,包括:为用户提供用户名、密码、图形验证码、短信验证码、第三方安全认证码等信息校验,并且校验通过后生成一个随机字母数字组成的令牌SSOToken存储在session中并返回到4A平台的前台登录页面,然后为用户进行第二次信息认证(断言认证),前台登录页面通过解析XML中携带的令牌凭据,携带该令牌凭据调用断言认证接口进行令牌凭据的比对,若比对通过,该接口将用户基本信息通过XML文件传输到前台登录页面,并登录应用程序,若不通过则提示相应的错误信息。
在上述技术方案中,优选地,所述内存数据库包括但不限于日志型分布式存储数据库或分布式内存对象缓存数据库,以及所述安全认证包括但不限于登录认证和断言认证。
在该技术方案中,所述内存数据库包括但不限于日志型分布式存储数据库或分布式内存对象缓存数据库,典型的日志型分布式存储数据库如redis数据库,典型的分布式内存对象缓存数据库如memcached数据库。通过内存数据库存储session,满足了高并发的用户的需求,从而提高了4A平台的使用性能。其中,memcached数据库应用于高性能的分布式内存对象缓存系统,可以通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高数据库驱动网站的速度。而redis数据库是一种可基于内存亦可持久化的日志型分布式存储数据库,可提供多种语言的应用程序编程接口。
通过以上技术方案,一方面,实现了服务代理,从而提高了安全认证系统的安全性,避免应用程序的资源遭到泄漏,还使该系统具有日志审计和权限控制的功能,提高了应用程序中资源的利用效率,另一方面,实现了session共享,有效地避免了访问不同服务器带来的session信息不一致的问题。
附图说明
图1示出了相关技术中的安全认证系统的原理示意图;
图2示出了根据本发明的一个实施例的安全认证方法的流程图;
图3示出了根据本发明的一个实施例的安全认证系统的框图;
图4示出了根据本发明的一个实施例的安全认证系统的原理示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图2示出了根据本发明的一个实施例的安全认证方法的流程图。
如图2所示,根据本发明的一个实施例的安全认证方法,包括:
步骤202,在接收到对应用程序的访问请求时,通过代理服务器获取应用程序的地址中的预设单点登录信息。
步骤204,根据预设单点登录信息,确定与预设单点登录信息对应的应用程序IP和端口信息,以供根据应用程序IP和端口信息访问应用程序。
步骤206,在访问应用程序的过程中,根据内存数据库中预存的会话数据,进行安全认证。
在该技术方案中,当应用程序在接入4A平台进行单点登录时,根据应用程序提供的单点登录信息,在代理服务器中配置与单点登登录信息相对应的IP的端口信息,从而可以实现服务代理,即用户只要和4A平台网络保持互通即可,不需要关心其与应用程序的网络资源是否可用,所有的网络请求都交予4A平台的代理服务器去执行。另外,用户在访问应用程序的过程中,内存数据库中预存有会话数据,从而实现对4A后台跨服务器的session共享,有效避免访问不同服务器带来的session信息不一致的问题,还可以保证用户登录的唯一性,即当前有且只能同一个用户在一处登录,有效降低用户访问的数量,最后再进行安全认证,从而实现基于SAML的安全认证。
在上述技术方案中,优选地,在步骤202之前,还包括:根据接收到的设置命令,通过代理服务器为应用程序设置预设单点登录信息;以及将应用程序的预设单点登录信息、应用程序IP和端口信息关联存储。
在该技术方案中,可以在代理服务器中为应用程序配置与其相对应的单点登录信息,该单点登录信息与应用程序的IP和端口信息关联并存储,例如,4A平台的访问地址为:http://sso.com.cn/ssoname......,应用程序提供的单点登录的地址:http://ip:port/projectname/......,其中,projectname为应用程序工程名。在代理服务器中进行配置,确定应用程序的IP:port(端口信息)=ssoname(单点登录信息名称),再将ssoname、应用程序的单点登录信息(如projectname)和端口信息相关联并一一对应,此时对应用程序配置完成后,在4A平台进行单点登录的地址变成http://sso.com.cn/ssoname/projectname/......。当用户在访问应用程序时,代理服务器会去截取该地址的ssoname信息,根据ssoname信息去找到对应的IP和端口信息,并和projectname进行匹配,以防地址被改动。在上述技术方案中,优选地,在通过代理服务器获取应用程序的地址中的预设单点登录信息之前,还包括:确定访问请求的发出方是否具有访问应用程序的权限;当确定发出方具有权限时,允许发出方通过代理服务器访问应用程序。
在该技术方案中,在代理服务器中将用户(请求的发出方)访问应用程序中的角色关联并存储起来,当用户在访问应用程序的某个模块或链接时,代理服务器根据用户的单点登录信息去判断该用户是否拥有访问应用程序中的资源的权限,若没有权限则阻止用户对应用程序进行访问,从而有效地控制用户访问的资源,即基于SAML的安全认证方法具有系统级别鉴权的功能,从而保证所有的资源都是被有相应权限的用户访问。
在上述技术方案中,优选地,步骤206具体包括:根据访问请求,进行登录认证,并生成令牌凭据;对令牌凭据进行解析;根据解析结果,调用断言认证接口确定令牌凭据是否与内存数据库中的会话数据中的目标令牌凭据一致,以进行断言认证。
在该技术方案中,根据用户对应用程序的访问请求,进行登录认证,包括:为用户提供用户名、密码、图形验证码、短信验证码、第三方安全认证码等信息校验,并且校验通过后生成一个随机字母数字组成的令牌SSOToken存储在session中并返回到4A平台的前台登录页面,然后为用户进行第二次信息认证(断言认证),前台登录页面通过解析XML中携带的令牌凭据,携带该令牌凭据调用断言认证接口进行令牌凭据的比对,若比对通过,该接口将用户基本信息通过XML文件传输到前台登录页面,并登录应用程序,若不通过则提示相应的错误信息。
在上述技术方案中,优选地,内存数据库包括但不限于日志型分布式存储数据库或分布式内存对象缓存数据库,以及安全认证包括但不限于登录认证和断言认证。
在该技术方案中,所述内存数据库包括但不限于日志型分布式存储数据库或分布式内存对象缓存数据库,典型的日志型分布式存储数据库如redis数据库,典型的分布式内存对象缓存数据库如memcached数据库。通过内存数据库存储session,满足了高并发的用户的需求,从而提高了4A平台的使用性能。其中,memcached数据库应用于高性能的分布式内存对象缓存系统,可以通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高数据库驱动网站的速度。而redis数据库是一种可基于内存亦可持久化的日志型分布式存储数据库,可提供多种语言的应用程序编程接口。
图3示出了根据本发明的一个实施例的安全认证系统的框图。
如图3所示,根据本发明的一个实施例的安全认证系统300,包括:获取单元302,在接收到对应用程序的访问请求时,通过代理服务器获取应用程序的地址中的预设单点登录信息;访问单元,根据预设单点登录信息,确定与预设单点登录信息对应的应用程序IP和端口信息,以供根据应用程序IP和端口信息访问应用程序;认证单元306,在访问应用程序的过程中,根据内存数据库中预存的会话数据,进行安全认证。
在该技术方案中,当应用程序在接入4A平台进行单点登录时,根据应用程序提供的单点登录信息,在代理服务器中配置与单点登登录信息相对应的IP的端口信息,从而可以实现服务代理,即用户只要和4A平台网络保持互通即可,不需要关心其与应用程序的网络资源是否可用,所有的网络请求都交予4A平台的代理服务器去执行。另外,用户在访问应用程序的过程中,内存数据库中预存有会话数据,从而实现对4A后台跨服务器的session共享,有效避免访问不同服务器带来的session信息不一致的问题,还可以保证用户登录的唯一性,即当前有且只能同一个用户在一处登录,有效降低用户访问的数量,最后再进行安全认证,从而实现基于SAML的安全认证。
在上述技术方案中,优选地,还包括:设置单元308,在在接收到对应用程序的访问请求时,通过代理服务器获取应用程序的地址中的预设单点登录信息之前,根据接收到的设置命令,通过代理服务器为应用程序设置预设单点登录信息;以及存储单元310,将应用程序的预设单点登录信息、应用程序IP和端口信息关联存储。
在该技术方案中,可以在代理服务器中为应用程序配置与其相对应的单点登录信息,该单点登录信息与应用程序的IP和端口信息关联并存储,例如,4A平台的访问地址为:http://sso.com.cn/ssoname......,应用程序提供的单点登录的地址:http://ip:port/projectname/......,其中,projectname为应用程序工程名。在代理服务器中进行配置,确定应用程序的IP:port(端口信息)=ssoname(单点登录信息名称),再将ssoname、应用程序的单点登录信息(如projectname)和端口信息相关联并一一对应,此时对应用程序配置完成后,在4A平台进行单点登录的地址变成http://sso.com.cn/ssoname/projectname/......。当用户在访问应用程序时,代理服务器会去截取该地址的ssoname信息,根据ssoname信息去找到对应的IP和端口信息,并和projectname进行匹配,以防地址被改动。在上述技术方案中,优选地,还包括:确定单元312,在通过代理服务器获取应用程序的地址中的预设单点登录信息之前,确定访问请求的发出方是否具有访问应用程序的权限,其中,当确定发出方具有权限时,允许发出方通过代理服务器访问应用程序。
在该技术方案中,在代理服务器中将用户(请求的发出方)访问应用程序中的角色关联并存储起来,当用户在访问应用程序的某个模块或链接时,代理服务器根据用户的单点登录信息去判断该用户是否拥有访问应用程序中的资源的权限,若没有权限则阻止用户对应用程序进行访问,从而有效地控制用户访问的资源,即基于SAML的安全认证方法具有系统级别鉴权的功能,从而保证所有的资源都是被有相应权限的用户访问。
在上述技术方案中,优选地,认证单元306具体用于:根据访问请求,进行登录认证,并生成令牌凭据,以及对令牌凭据进行解析,并根据解析结果,调用断言认证接口确定令牌凭据是否与内存数据库中的会话数据中的目标令牌凭据一致,以进行断言认证。
在该技术方案中,根据用户对应用程序的访问请求,进行登录认证,包括:为用户提供用户名、密码、图形验证码、短信验证码、第三方安全认证码等信息校验,并且校验通过后生成一个随机字母数字组成的令牌SSOToken存储在session中并返回到4A平台的前台登录页面,然后为用户进行第二次信息认证(断言认证),前台登录页面通过解析XML中携带的令牌凭据,携带该令牌凭据调用断言认证接口进行令牌凭据的比对,若比对通过,该接口将用户基本信息通过XML文件传输到前台登录页面,并登录应用程序,若不通过则提示相应的错误信息。
在上述技术方案中,优选地,内存数据库包括但不限于日志型分布式存储数据库或分布式内存对象缓存数据库,以及安全认证包括但不限于登录认证和断言认证。
在该技术方案中,所述内存数据库包括但不限于日志型分布式存储数据库或分布式内存对象缓存数据库,典型的日志型分布式存储数据库如redis数据库,典型的分布式内存对象缓存数据库如memcached数据库。通过内存数据库存储session,满足了高并发的用户的需求,从而提高了4A平台的使用性能。其中,memcached数据库应用于高性能的分布式内存对象缓存系统,可以通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高数据库驱动网站的速度。而redis数据库是一种可基于内存亦可持久化的日志型分布式存储数据库,可提供多种语言的应用程序编程接口。
图4示出了根据本发明的一个实施例的安全认证系统的原理示意图。
如图4所示,根据本发明的一个实施例的安全认证系统400(相当于图3示出的实施例的安全认证系统300),可以实现服务代理和session共享。
下面详细介绍基于SAML的安全认证系统是如何实现服务代理和session共享的。
当4A平台的访问地址为:http://sso.com.cn/ssoname......时,基于SAML的安全认证系统实现服务代理需要满足以下两项:
1、配置要求。第三方应用系统中的应用程序在接入4A平台进行单点登录时,针对应用程序提供的SSO地址http://ip:port/projectname/......,可以在代理服务器中进行相应的配置。具体地,可以为该应用配置一个相对应的单点登录信息名称,该信息与应用的IP和端口信息关联起来,即IP:port=ssoname,再将ssoname与projectname一一关联,配置完成之后,在4A平台进行SSO登录的地址变成http://sso.com.cn/ssoname/projectname/......。当用户在访问第三方应用系统中的应用程序时,代理服务器会去截取该地址的ssoname信息,根据ssoname信息去找到对应的IP和port,和projectname进行匹配,以防地址被人为改动。
2、权限控制,在代理服务器端可以将用户与第三方应用系统的应用程序的角色关联存储起来。当用户在访问应用程序的某个模块或链接时,代理服务器根据用户信息去判断用户是否拥有访问该资源的权限,若用户没有权限则阻止用户进行访问。
基于SAML的安全认证系统实现session共享时,需要将session数据保存在高性能的分布式内存对象缓存系统的memcached、redis之类的内存数据库中,memcached数据库是基于内存存储数据的,性能很高,由于内存数据的读取速度很快,与磁盘读取的速度不是一个数量级,因此,在用户并发量很大的时候尤其合适。另外,使用内存存储还可以方便统计在线人数,内存的速度比磁盘访问速度快,内存数据库系统能够控制内存中的过期数据自动失效。memcached处理的原子是每一个key-value(键值对),key(键值)会通过一个hash(哈希)算法转化成hash-key(哈希键),便于查找和对比,并实现尽可能的散列。同时,memcached用的是一个二级散列,通过一张大哈希表来维护。memcached由服务端和客户端两个核心组件组成,在一个memcached的查询中,客户端先通过计算key的hash值来确定key-value对所处在的服务端的位置,客户端就会发送一个查询请求给对应的服务端,让它来查找确切的数据。因为这之间没有交互以及多播协议,所以,memcached交互带给网络的影响是最小化的。
综上所述,本发明的技术方案主要包括:
1、根据代理功能开发出相应代理服务,与SAML认证接口结合起来,实现用户请求代理服务。
2、配置应用程序的SSO地址和用户系统权限角色对应表。
3、在服务器端开发session共享功能模块,结合应用部署平台、4A认证平台实现负载过程中4A认证信息在服务器端共享。
通过该技术方案,可以实现以下有益效果:
1、提升安全性,用户对第三方应用系统中的应用程序的每一次操作都需要经过4A平台的严格验证,从而保护了资源不被泄露。
2、实现日志审计,用户对应用程序的所有操作都被日志监控并记录,方便对用户的行为日志审计。
3、实现权限控制,对用户需要访问的资源有效控制,即系统级别鉴权,保证所有的资源都是被有相应权限的用户访问。
4、实现服务代理,用户只要和4A平台网络保持互通即可,不需要关心其与应用程序的网络资源是否可用,所有的网络请求都交予4A平台的代理服务器去执行。
5、基于内存存储session,性能高,对于高并发用户很合适。
6、达到会话共享,有效避免访问不同服务器带来的session信息不一致的问题。
7、可以保证用户登录的唯一性,即当前有且只能同一个用户在一处登录,有效降低用户访问数量。
以上结合附图详细说明了本发明的技术方案,通过以上技术方案,一方面,实现了服务代理,从而提高了基于SAML的安全认证系统的安全性,避免应用程序的资源遭到泄漏,还使该系统具有日志审计和权限控制的功能,提高了应用程序中资源的利用效率,另一方面,实现了session共享,有效地避免了访问不同服务器带来的session信息不一致的问题。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种安全认证方法,其特征在于,包括:
在接收到对应用程序的访问请求时,通过代理服务器获取所述应用程序的地址中的预设单点登录信息;
根据所述预设单点登录信息,确定与所述预设单点登录信息对应的应用程序IP和端口信息,以供根据所述应用程序IP和所述端口信息访问所述应用程序;
在访问所述应用程序的过程中,根据内存数据库中预存的会话数据,进行安全认证。
2.根据权利要求1所述的安全认证方法,其特征在于,在所述在接收到对应用程序的访问请求时,通过代理服务器获取所述应用程序的地址中的预设单点登录信息之前,还包括:
根据接收到的设置命令,通过所述代理服务器为所述应用程序设置预设单点登录信息;以及
将所述应用程序的所述预设单点登录信息、所述应用程序IP和所述端口信息关联存储。
3.根据权利要求2所述的安全认证方法,其特征在于,在所述通过代理服务器获取所述应用程序的地址中的预设单点登录信息之前,还包括:
确定所述访问请求的发出方是否具有访问所述应用程序的权限;
当确定所述发出方具有所述权限时,允许所述发出方通过所述代理服务器访问所述应用程序。
4.根据权利要求1所述的安全认证方法,其特征在于,所述根据内存数据库中预存的会话数据,进行安全认证,具体包括:
根据所述访问请求,进行所述登录认证,并生成令牌凭据;
对所述令牌凭据进行解析;
根据解析结果,调用断言认证接口确定所述令牌凭据是否与所述内存数据库中的所述会话数据中的目标令牌凭据一致,以进行所述断言认证。
5.根据权利要求1至4中任一项所述的安全认证方法,其特征在于,所述内存数据库包括日志型分布式存储数据库或分布式内存对象缓存数据库,以及
所述安全认证包括登录认证和断言认证。
6.一种安全认证系统,其特征在于,包括:
获取单元,在接收到对应用程序的访问请求时,通过代理服务器获取所述应用程序的地址中的预设单点登录信息;
访问单元,根据所述预设单点登录信息,确定与所述预设单点登录信息对应的应用程序IP和端口信息,以供根据所述应用程序IP和所述端口信息访问所述应用程序;
认证单元,在访问所述应用程序的过程中,根据内存数据库中预存的会话数据,进行安全认证。
7.根据权利要求6所述的安全认证系统,其特征在于,还包括:
设置单元,在所述在接收到对应用程序的访问请求时,通过代理服务器获取所述应用程序的地址中的预设单点登录信息之前,根据接收到的设置命令,通过所述代理服务器为所述应用程序设置预设单点登录信息;以及
存储单元,将所述应用程序的所述预设单点登录信息、所述应用程序IP和所述端口信息关联存储。
8.根据权利要求7所述的安全认证系统,其特征在于,还包括:
确定单元,在所述通过代理服务器获取所述应用程序的地址中的预设单点登录信息之前,确定所述访问请求的发出方是否具有访问所述应用程序的权限,其中,当确定所述发出方具有所述权限时,允许所述发出方通过所述代理服务器访问所述应用程序。
9.根据权利要求6所述的安全认证系统,其特征在于,所述认证单元具体用于:
根据所述访问请求,进行所述登录认证,并生成令牌凭据,以及对所述令牌凭据进行解析,并根据解析结果,调用断言认证接口确定所述令牌凭据是否与所述内存数据库中的所述会话数据中的目标令牌凭据一致,以进行所述断言认证。
10.根据权利要求6至9中任一项所述的安全认证系统,其特征在于,所述内存数据库包括日志型分布式存储数据库或分布式内存对象缓存数据库,以及
所述安全认证包括登录认证和断言认证。
CN201410837071.7A 2014-12-29 2014-12-29 安全认证方法和安全认证系统 Pending CN104506542A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410837071.7A CN104506542A (zh) 2014-12-29 2014-12-29 安全认证方法和安全认证系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410837071.7A CN104506542A (zh) 2014-12-29 2014-12-29 安全认证方法和安全认证系统

Publications (1)

Publication Number Publication Date
CN104506542A true CN104506542A (zh) 2015-04-08

Family

ID=52948257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410837071.7A Pending CN104506542A (zh) 2014-12-29 2014-12-29 安全认证方法和安全认证系统

Country Status (1)

Country Link
CN (1) CN104506542A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282145A (zh) * 2015-09-14 2016-01-27 浪潮集团有限公司 一种多数据中心用户访问控制的方法及系统
CN106709315A (zh) * 2015-11-13 2017-05-24 北京神州泰岳软件股份有限公司 一种应用系统的登录信息验证方法和装置
CN107977570A (zh) * 2017-11-21 2018-05-01 福建中金在线信息科技有限公司 信息验证方法、装置、电子设备及存储介质
CN108306877A (zh) * 2018-01-30 2018-07-20 泰康保险集团股份有限公司 基于node js的用户身份信息的验证方法、装置和存储介质
CN108632241A (zh) * 2018-03-07 2018-10-09 湖南小步科技有限公司 一种多应用系统统一登录方法和装置
CN108664778A (zh) * 2018-03-26 2018-10-16 苏州科达科技股份有限公司 用户身份认证方法、装置及电子设备
CN109033877A (zh) * 2018-08-02 2018-12-18 杭州启博科技有限公司 一种分布式用户权限处理方法及系统
CN109302379A (zh) * 2018-08-10 2019-02-01 深圳市佰仟金融服务有限公司 身份认证方法、装置、服务器及介质
CN109615380A (zh) * 2018-10-26 2019-04-12 深圳壹账通智能科技有限公司 用户身份认证的方法、装置、计算机设备和存储介质
CN109718557A (zh) * 2019-01-24 2019-05-07 苏州仙峰网络科技股份有限公司 一种跨服登录方法
CN109787940A (zh) * 2017-11-14 2019-05-21 北京神州泰岳信息安全技术有限公司 一种基于机器人客服的用户数据处理方法及装置
CN111274590A (zh) * 2020-01-17 2020-06-12 北京达佳互联信息技术有限公司 请求处理方法、装置、电子设备及存储介质
CN111327574A (zh) * 2018-12-14 2020-06-23 英业达科技有限公司 允许网络地址变动的单机登录系统及其方法
CN111399787A (zh) * 2020-03-25 2020-07-10 中孚安全技术有限公司 一种分布式打印审核系统及审核方法
CN112836189A (zh) * 2021-02-26 2021-05-25 深圳证券交易所 第三方应用的访问方法、终端及计算机可读存储介质
CN114003943A (zh) * 2021-12-31 2022-02-01 北京国信网联科技有限公司 一种用于机房托管管理的安全双控管理平台
CN116865982A (zh) * 2022-03-22 2023-10-10 西安即刻易用网络科技有限公司 一种应用管理平台及登录认证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030074395A1 (en) * 2001-10-17 2003-04-17 Kave Eshghi Allowing requests of a session to be serviced by different servers in a multi-server data service system
CN101277193A (zh) * 2008-05-05 2008-10-01 北京航空航天大学 基于面向服务架构认证服务代理的信息门户单点登录和访问系统
CN101656609A (zh) * 2008-08-22 2010-02-24 华为技术有限公司 一种单点登录方法、系统及装置
CN101951366A (zh) * 2010-08-31 2011-01-19 深圳市络道科技有限公司 一种基于字符终端的单点登录方法及系统
CN102857484A (zh) * 2011-07-01 2013-01-02 阿里巴巴集团控股有限公司 一种实现单点登录的方法、系统及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030074395A1 (en) * 2001-10-17 2003-04-17 Kave Eshghi Allowing requests of a session to be serviced by different servers in a multi-server data service system
CN101277193A (zh) * 2008-05-05 2008-10-01 北京航空航天大学 基于面向服务架构认证服务代理的信息门户单点登录和访问系统
CN101656609A (zh) * 2008-08-22 2010-02-24 华为技术有限公司 一种单点登录方法、系统及装置
CN101951366A (zh) * 2010-08-31 2011-01-19 深圳市络道科技有限公司 一种基于字符终端的单点登录方法及系统
CN102857484A (zh) * 2011-07-01 2013-01-02 阿里巴巴集团控股有限公司 一种实现单点登录的方法、系统及装置

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282145A (zh) * 2015-09-14 2016-01-27 浪潮集团有限公司 一种多数据中心用户访问控制的方法及系统
CN106709315B (zh) * 2015-11-13 2020-03-06 北京神州泰岳软件股份有限公司 一种应用系统的登录信息验证方法和装置
CN106709315A (zh) * 2015-11-13 2017-05-24 北京神州泰岳软件股份有限公司 一种应用系统的登录信息验证方法和装置
CN109787940A (zh) * 2017-11-14 2019-05-21 北京神州泰岳信息安全技术有限公司 一种基于机器人客服的用户数据处理方法及装置
CN107977570A (zh) * 2017-11-21 2018-05-01 福建中金在线信息科技有限公司 信息验证方法、装置、电子设备及存储介质
CN108306877A (zh) * 2018-01-30 2018-07-20 泰康保险集团股份有限公司 基于node js的用户身份信息的验证方法、装置和存储介质
CN108306877B (zh) * 2018-01-30 2020-11-10 泰康保险集团股份有限公司 基于node js的用户身份信息的验证方法、装置和存储介质
CN108632241A (zh) * 2018-03-07 2018-10-09 湖南小步科技有限公司 一种多应用系统统一登录方法和装置
CN108632241B (zh) * 2018-03-07 2021-05-25 湖南小步科技有限公司 一种多应用系统统一登录方法和装置
CN108664778A (zh) * 2018-03-26 2018-10-16 苏州科达科技股份有限公司 用户身份认证方法、装置及电子设备
CN108664778B (zh) * 2018-03-26 2021-03-30 苏州科达科技股份有限公司 用户身份认证方法、装置及电子设备
CN109033877A (zh) * 2018-08-02 2018-12-18 杭州启博科技有限公司 一种分布式用户权限处理方法及系统
CN109302379A (zh) * 2018-08-10 2019-02-01 深圳市佰仟金融服务有限公司 身份认证方法、装置、服务器及介质
CN109615380A (zh) * 2018-10-26 2019-04-12 深圳壹账通智能科技有限公司 用户身份认证的方法、装置、计算机设备和存储介质
CN111327574B (zh) * 2018-12-14 2022-05-06 英业达科技有限公司 允许网络地址变动的单机登录系统及其方法
CN111327574A (zh) * 2018-12-14 2020-06-23 英业达科技有限公司 允许网络地址变动的单机登录系统及其方法
CN109718557A (zh) * 2019-01-24 2019-05-07 苏州仙峰网络科技股份有限公司 一种跨服登录方法
CN109718557B (zh) * 2019-01-24 2022-02-08 苏州仙峰网络科技股份有限公司 一种跨服登录方法
CN111274590A (zh) * 2020-01-17 2020-06-12 北京达佳互联信息技术有限公司 请求处理方法、装置、电子设备及存储介质
CN111399787A (zh) * 2020-03-25 2020-07-10 中孚安全技术有限公司 一种分布式打印审核系统及审核方法
CN111399787B (zh) * 2020-03-25 2023-04-21 中孚安全技术有限公司 一种分布式打印审核系统及审核方法
CN112836189A (zh) * 2021-02-26 2021-05-25 深圳证券交易所 第三方应用的访问方法、终端及计算机可读存储介质
CN112836189B (zh) * 2021-02-26 2023-11-14 深圳证券交易所 第三方应用的访问方法、终端及计算机可读存储介质
CN114003943A (zh) * 2021-12-31 2022-02-01 北京国信网联科技有限公司 一种用于机房托管管理的安全双控管理平台
CN114003943B (zh) * 2021-12-31 2022-11-08 北京国信网联科技有限公司 一种用于机房托管管理的安全双控管理平台
CN116865982A (zh) * 2022-03-22 2023-10-10 西安即刻易用网络科技有限公司 一种应用管理平台及登录认证方法

Similar Documents

Publication Publication Date Title
CN104506542A (zh) 安全认证方法和安全认证系统
US10055561B2 (en) Identity risk score generation and implementation
CN106612290B (zh) 一种面向系统集成的跨域单点登录方法
US8719900B2 (en) Validating updates to domain name system records
CN106936853B (zh) 基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法
US10484385B2 (en) Accessing an application through application clients and web browsers
US10171455B2 (en) Protection of application passwords using a secure proxy
US8544069B1 (en) Methods systems and articles of manufacture for implementing user access to remote resources
US20100274910A1 (en) Hosted application sandbox model
CN115021991A (zh) 未经管理的移动设备的单点登录
JP2013522795A (ja) 仮想機械によるソフトウェアテストを用いた電子ネットワークにおけるクライアントシステムの遠隔保守のためのシステム及び方法
CN112597472A (zh) 单点登录方法、装置及存储介质
US10757092B2 (en) Controlling access to personal data
EP4158518A1 (en) Secure resource authorization for external identities using remote principal objects
CN109286620B (zh) 用户权限管理方法、系统、设备和计算机可读存储介质
CN110086813A (zh) 访问权限控制方法和装置
CN109962892A (zh) 一种登录应用的认证方法及客户端、服务器
CN115484155A (zh) 一种面向多web微服务应用的管理系统
CN112583834A (zh) 一种通过网关单点登录的方法和装置
AU2017301441A1 (en) Login proxy for third-party applications
CN116484338A (zh) 数据库访问方法及装置
CN113901429A (zh) 多租户系统的访问方法及装置
CN113901428A (zh) 多租户系统的登录方法及装置
CN111062023A (zh) 多应用系统实现单点登录的方法及装置
Tanmoy Single Sign-On Feature for Customer Life-Cycle Management Application

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150408

RJ01 Rejection of invention patent application after publication