基于OpenID Connect的工业互联网平台认证与授权方案

2020-09-02 07:00纪健全姚英英常晓林
网络空间安全 2020年7期
关键词:数字证书身份认证

纪健全 姚英英 常晓林

摘   要:随着制造业与互联网、大数据、云计算技术的融合,工业互联网平台正快速发展。平台中新软件程序不断涌现,以满足工业应用场景的多样化需求,这导致用户的身份认证问题愈发严峻。为避免对用户身份的重复鉴别,实现在确保云中资源数据安全性的前提下,提升用户体验的目标。文章提出了一种基于OpenID Connect的工业互联网平台认证与授权方案。该方案采用基于名单的过滤方法,在认证请求之前对第三方客户端和用户进行信任筛查,拦截可疑请求;其次对OIDC认证与授权协议进行优化,通过在OIDC协议上构建SSL安全通信信道,确保在实现身份认证与授权功能的同时,保证数据传输的安全性。方案从身份认证与数据传输两方面,对工业互联网平台进行安全防护,最终达到提升平台安全性的目的。

关键词:工业互联网平台;身份认证;授权;OpenID Connect;数字证书

中图分类号: TP309          文献标识码:A

Abstract: With the integration of manufacturing industry with internet, big data and cloud computing technology, industrial internet platform is developing rapidly. In order to satisfy the requirements of diversified industrial application scenarios, a large number of software programs have been developed in the platform. As a result, the issue of user identity authentication becomes even more complex and critical. In order to avoid the repeated identification of user identity and realize the goal of improving user experience on the premise of ensuring the security of resource data in the cloud, this paper pro-poses an industrial internet platform authentication and authorization scheme based on OpenID Connect. The scheme adopts the list-based filtering method to screen the trust of third-party clients and users before the authentication re-quest, and intercept the suspicious request. Secondly, the scheme optimizes the OIDC certification and authorization pro-tocol. By constructing SSL security communication channel on OIDC protocol, it ensures the security of data transmission while realizing the functions of identity authentication and authorization. This scheme protects the industrial internet platform from two aspects of identity authentication and data transmission, and finally improves the security of the plat-form.

Key words: industrial internet platform; identity authentication; authorization; OpenID Connect; digital certificate

1 引言

隨着工业互联网[1]的快速发展,通过融合云计算[2]而构建的工业互联网平台,打破了传统工业的封闭环境,实现物理设备、供应商和客户的紧密连接,使工业系统愈发趋向于智能化、数字化和网络化[3]。与此同时,依托于工业互联网平台的百亿级物理设备在网络中相互连接,大量的信息资源被部署在云端,为支撑工业互联网平台智能化的应用,保证业务的平稳运行,工业APP、小程序被不断开发与创新,满足不同工业应用场景的特定需求,实现了人与工业互联网平台的通信交互。

然而,这也意味着构建安全高效的身份认证机制,成为确保平台中资源数据安全的必要前提。构建于云环境下的工业互联网平台,受虚拟化、分布式等特点影响,各个云服务器提供商属于不同信任域,因此针对用户的跨域认证是实现多域系统间安全访问的关键。与此同时,云服务请求中,使用第三方应用账户登录已经成为标配,尤其是平台中涉及生产、管理、服务的网站或APP,使用第三方授权登录避免了传统服务中繁琐的注册过程,减少因身份凭证遗忘和滥用所导致的安全问题,提升了用户体验[4]。

因此,本文提出了一种基于OpenID Connect的工业互联网平台身份认证与授权方案。首先通过名单过滤机制对认证请求进行前期限制,防止恶意软件程序对平台资源的非法窃取;之后利用OpenID Connect(以下简称OIDC)协议实现为第三方客户端提供用户身份认证,并解决授权第三方应用访问平台中资源数据的问题;与此同时,构建SSL加密信道来提升OIDC协议通信的安全性。

2 相关身份认证与授权协议

目前,随着工业互联网的快速发展,位于平台工业SaaS层中的应用系统逐渐增加,为确保服务提供商能够为用户信息数据提供安全防护,同时避免重复的身份鉴别功能,统一身份认证与授权方式正被广泛应用,通过这种方式,应用系统可保证云服务的安全与便捷。本节将根据统一身份认证的特点,介绍当前应用于互联网中的主流身份认证与授权协议[5]:OAuth2.0和SAML。

(1)OAuth2.0

OAuth(Open Authorization,开放授权)是一个开放标准,它允许用户通过第三方应用来访问该用户在网站中的存储数据,而无需给第三方应用平台提供用户名和密码[6]。OAuth2.0则是OAuth协议的扩展版本,图1为目前应用最广泛的OAuth2.0协议授权码模式,其具体流程为:

1)用户请求访问客户端时,客户端会重定向到认证服务器;

2)认证服务器返回界面,询问用户是否同意给予客户端授权;

3)若用户同意授权,认证服务器会将用户重定向到客户端事先指定的位置,并附上授权码;

4)客户端收到授权码后,会通过授权码向认证服务器申请访问令牌;

5)认证服务器经确认无误后,向客户端发送访问令牌;

6)客户端使用访问令牌请求访问用户资源。

从上述授权流程可知,OAuth2.0协议在身份认证方面存在一定的不足[7]。因此,为完善这一功能,OIDC协议被提出。其在OAuth2.0基础上构建了一个身份层,从而达到认证功能目的,对于OIDC协议的具体认证流程将在下一节介绍。

(2)SAML

安全断言标记语言(SAML)是一种开放标准,它使用XML数据格式为当事方之间提供标准化的通信。该标准既能用于认证也能用于授权[8]。在验证用户身份时,服务提供商会向身份认证服务器发送一个以XML格式进行传输的SAML认证请求,请求中包含了服务提供商希望用于身份认证的方式;身份认证服务器验证通过后,返回包含有用户信息和相关属性的SAML响应,并确保对信息进行数字签名;服务提供商收到SAML断言后,验证消息来源的可靠性,确认无误后解析认证信息。

尽管SAML已经是很成熟的登录方案,但其主要应用于浏览器。在目前广泛使用移动设备的大环境下,SAML本身略显巨大和繁琐,从而容易导致手机客户端无法解析SAML流程下的令牌信息,因此本文选择了轻量级的认证协议,并考虑OAuth2.0认证功能的缺陷,提出了基于OIDC的工业互联网平台身份认证与授权方案。

3 工业互联网平台架构与安全分析

工业互联网平台[9]可以看作工业云平台的延伸扩展,它将工业互联网与云计算、大数据、物联网相结合,构建出的具有存储、集成、计算、分析、管理等一体化功能的新平台,最终以工业APP的形式来实现各类创新应用。平台作为工业互联网的核心内容,保证安全性是工业互联网健康发展的重要前提[10]。

如图2所示,工业互联网平台分为四层:边缘层、工业IaaS层(Infrastructure as a Service,基础设施即服务)、工业PaaS层(Platform as a Service,平台即服务)、工业SaaS层(Software as a Service,软件即服务)。

2.1边缘层

边缘层首先通过各类通信手段完成底层物理设备的接入工作,从而完成海量数据的采集;之后利用边缘计算设备实现对底层数据的集成处理。然而,由于智能传感器等底层终端设备的计算资源有限,因此恶意攻击者往往会利用设备自身漏洞实施对平台网络攻击;同時,会对数据采集进行非法窃听与拦截,从而造成数据泄露、丢失,威胁平台安全。

2.2 工业IaaS层

工业IaaS层利用虚拟化、分布式存储等技术对计算、存储等物理资源进行池化处理,从而对海量资源实施动态调整、按需部署,为用户提供云基础设施服务[11]。IaaS采用共享技术来提供网络、服务器、存储等资源的共享服务,这些共享技术可能存在漏洞,会带来极大的安全隐患,例如跨虚拟机信道攻击、镜像篡改等新型攻击。此外,目前越来越多的企业使用第三方提供商的云基础设施服务,这也导致了安全责任边界的难以确定,从而带来其他的安全问题。

2.3 工业PaaS层

工业PaaS层也被视为平台层,它作为工业互联网平台的核心,在原有的IaaS基础之上,构建了一个可扩展的操作系统,提供了云服务所需要的各类中间组件,为之后应用软件的快速开发与部署搭建了一个基础平台。由于应用开发工具所存在的自身漏洞,攻击者的恶意入侵很可能导致敏感数据的泄露,从而带来安全隐患。

2.4 工业SaaS层

工业SaaS层为平台的应用层,其主要是形成满足不同应用场景下的各类工业APP。工业SaaS层与各类消费者和第三方开发者进行通信交互,旨在为用户提供安全可靠的应用服务,是工业互联网平台的最终价值体现。然而,其面临的安全威胁也十分严重[12],登录用户的管理控制、工业APP存在的安全缺陷、第三方开发者的恶意代码注入等诸多问题日益显现。因此,为保证基于工业SaaS层的应用服务安全可靠,身份认证与授权技术尤为重要。

4 工业互联网平台下的身份认证与授权方案

为满足工业互联网平台应用层上软件程序对用户身份认证的需求,本文设计了一种基于OIDC协议的身份认证与授权方案,为平台提供安全、高效、灵活的认证与授权服务。

4.1 方案内容

工业互联网平台的应用层实现了与用户、企业间的直接信息交互,基于云的工业APP被广泛开发使用。因此,为保证其应用服务的安全性,避免用户敏感信息的泄露,安全可靠的身份认证技术必不可少。

(1)基于名单的过滤方法

在计算机安全中,很多应用软件都会使用黑白名单规则。黑名单用来防止已知的恶意程序或用户,例如垃圾邮件过滤器往往依赖于黑名单技术[13]。但是由于黑名单策略只能用来防御已知的有害程序,因此需要服务器快速更新。而白名单恰好与之相反,它体现了已知信用良好的实体,从而不阻止特定程序的运行。方案通过结合黑白名单策略,对平台应用层中的身份认证请求实体进行前期过滤,拦截恶意用户,保护应用服务的安全性,如图3所示展示了基于名单的过滤流程。

(2)OIDC身份认证与授权协议优化

随着工业互联网平台的快速发展,为满足不同场景下特定的工业互联网需求,位于SaaS层中的应用软件被大量开发。因此,在确保不泄露用户名密码的同时,用户授权第三方应用及软件服务提供商获取资源数据的OAuth2.0协议被广泛使用。同时,出于对工业APP中基于第三方的应用账户登录考虑,结合单点登录思想[14],实现允许用户创建一个用户名和密码便可访问多个应用程序。这样的设计,对用户而言在确保自身信息数据不被泄露的前提下,避免了申请多个用户名和密码的繁琐过程;同时对于SaaS层中的服务提供商,可以避免管理大量的用户信息,而只需依托大型软件服务提供商的用户资源数据。

因此本节将介绍基于OAuth2.0的扩展协议OIDC[15],并将其应用于平台SaaS层,之后通过将数字证书与SSL结合构建加密信道来保证用户的信息和传输安全性。

(3)基于SaaS层的OIDC协议

由于OAuth2.0协议在身份认证方面存在一定缺陷,因此OIDC作为OAuth2.0的扩展协议被提出。OIDC协议在原有访问令牌的基础之上身份令牌用于认证功能[16],身份令牌中包含有用户、服务提供商等信息并加以签名,从而完善了OAuth2.0协议在认证方面的不足,图4为基于授权码的OIDC协议工作流程,具体过程为:

1)用户访问第三方应用客户端请求登录时,客户端重定向到认证服务器,并通过发送用户身份标识、响应类型、重定向地址等相关必要参数向服务器发起认证请求;

2)认证服务器收到请求后对请求参数进行验证鉴定终端用户身份。验证通过后引导用户进行身份认证并同意授权;

3)若用户同意授权,认证服务器将发送授权码等相关参数到客户端事先指定的回调地址;

4)客户端使用上一步收到的授权码向认证服务器请求身份令牌;

5)认证服务器返回已经签名和加密的身份令牌给客户端,身份令牌包含有提供认证信息者的唯一标识、用户标识、令牌过期时间等相关信息,如有需要访问令牌也会一并发送;

6)客户端需要对令牌进行验证并获得该用户的个人信息,之后可以使用收到的访问令牌请求用户资源。

由OIDC协议工作流程可知,认证服务器在返回授权码的过程中很容易遭到恶意窃取,导致授权码丢失;同时这一过程也会阻塞用户与服务器之间的通信交互,致使用户二次申请授权码。此外,使用OIDC协议还容易遭受针对令牌授权过程的恶意攻击[17],攻击者对服务器端进行监听,从而窃取访问令牌,造成用户信息数据的泄露。

(4)SSL安全信道的构建

为确保客户端与云服务器之间信息交互的安全性和完整性,除了对授权码、令牌的自身加密以外,使用SSL安全协议[18]建立可靠的通信信道也是关键所在。因此,为防止授权码与令牌等关键信息被非法窃取,方案在使用签名和加密技术的同时,建立一条基于SSL协议的安全通道,实现用户、客户端与服务器之间的安全通信,此外利用数字证书与SSL相结合的方法验证双方的真实身份,进一步增强平台应用层的安全性。具体创建过程分为三步。

1)CA机构颁发数字证书

證书颁发机构CA利用自身私钥对签发者、客户端/服务器的加密算法、公钥、证书到期时间等信息进行加密,从而生成数字证书分别发送给客户端和服务器,如图5所示。

2)协商加密算法

客户端将选择自身支持的SSL版本、加密算法、MAC算法等,同时附加一个客户端随机数发送给服务器;服务器确认支持的加密算法,并将包含自身公钥、颁发机构等信息的数字证书与服务器随机数一同发送给客户端,如图6所示。

3)生成会话密钥

客户端在确认数字证书的可靠性之后,生成一串随机数密码,通过使用解密出服务器公钥加密新生成的随机数密码并发送给服务器;之后服务器利用私钥解密出密码,客户端与服务器利用协商的加密算法对之前各自生成的随机数与新得到的密码进行计算,从而生成会话密钥,以此来加密之后的通信内容,生成一条安全的加密信道,如图7所示。

4.2 优势分析

首先,本方案将OIDC协议应用于工业互联网云平台,实现在使用原有平台应用层的身份认证机制下,增加新的授权模式,解决多系统之间的身份认证问题,减少重复的注册与鉴别过程,提升用户体验。同时,协议的开放性使得各企业机构都可方便使用,尤其在针对不同工业应用场景下大量开发的多种应用软件,方案提供了轻量级的身份认证服务,满足当前环境需求。

其次,针对工业互联网平台中的第三方应用软件,使用基于OIDC协议的认证授权服务在不暴露用户账户信息的前提下,通过用户允许授权的方式,实现了对平台中资源数据的获取。同时,利用SSL加密信道,确保认证与授权通信过程的安全性。

此外,方案在认证服务前,使用基于名单的过滤机制对认证请求进行限制,防止恶意用户或应用程序对平台的攻击,以便后续为信誉良好的实体提供认证服务。

4.3 安全性分析

本方案指定了一些安全措施,包括建立基于名单的过滤方法、SSL加密通道,同时依赖于OIDC协议本身的安全机制,基于OIDC的工业互联网平台身份认证与授权方案可以实现较强的安全性。下面文章将从机密性、完整性、请求限制三方面对方案整体安全性进行分析。

(1)机密性

基于OIDC协议在认证授权过程中,使用授权码、令牌等关键信息来完成身份鉴别。因此,为保证通信数据的机密性[19],方案中利用在应用客户端与服务器之间构建SSL加密信道,对OIDC协议进行优化。

SSL协议首先通过设置数字证书来验证客户端与服务器身份的真实性;之后通信双方采用非对称加密体制协商加密算法与密钥,根据应用的不同寻找强度不同的加密算法;最后利用定义好的会话密钥对通信数据进行加密,保证数据的机密性。

(2)完整性

为防止用户信息数据在传输中被恶意篡改,OIDC协议中包含有用户、软件提供商、认证服务提供商等敏感信息的身份令牌,通过Base64编码之后会进行签名操作,最后被发送给认证服务的参与方,客户端通过验证签名来确保身份鉴别凭证的真实性和完整性。

同时,在SSL信道的构建过程中,客户端与服务器的每一次交互都使用随机数进行标示,从而防止重放攻击。其本身也提供了完整性检查,防止信息数据被恶意篡改。

(3)请求限制

由于工业互联网平台的快速发展,依托于平台的应用软件被大量开发,为分担认证请求压力,防止恶意用户或程序对平台资源的非法窃取,使用基于名单的过滤方法对服务请求进行初步限制。平台为存在于白名单中的第三方应用和用户提供认证服务,而拒绝存在于黑名单中的应用,同时针对不存在于名单中的应用软件发出预警信息,并在认证服务后及时更新名单,降低平台被恶意攻击的危险性。

4.4 性能分析

在基于OIDC协议的工业互联网平台认证与授权方案中,当客户端发送令牌,请求资源访问时,资源服务器会通过调用认证服务器的令牌解析功能最终判断令牌信息的真实有效性。而存在于工业互联网平台中的客户端访问量十分庞大,当服务器在面临大量的令牌解析请求时,性能负担逐渐加重。因此,为减少对认证服务器的消耗,方案中资源服务器可以通过缓存令牌有效性信息来提升整体性能,同时也应对失效令牌信息进行及时更新,确保方案安全性。

此外,方案通过建立SSL加密信道保证传输数据的安全,但运行加密算法而带来的昂贵开销也将必不可少,尤其是非对称密码加密算法对CPU资源的大量消耗。因此,针对选择合适的算法与密钥,应在保证安全性的前提下,尽可能地提高方案性能。例如,一般情况下RSA算法的验证过程往往比DSA快得多。所以,根据服务器硬件、网络环境的不同,将构建SSL加密信道所产生的性能影响降到最低,也是可以实现的。

5 结束语

随着云计算、大数据等新型技术的快速发展,工业互联网平台将成为国家工业、制造业等领域发展的重要依托。作为工业互联网平台的最终价值实现,基于SaaS层中的应用服务被大力开发和创新,实现了用户和平台云服务之间的信息交互,为保证用户资源被合法访问利用,避免平臺中信息数据被恶意窃取,同时提升用户体验,本文提出了一种基于OIDC的工业互联网平台身份认证与授权方案。文章首先介绍了目前应用于统一身份认证系统的主流认证与授权技术,并且对工业互联网平台架构及其面临的安全威胁进行分析;之后提出了一种基于名单的过滤方法,防止恶意软件或用户的可疑入侵;同时,针对平台SaaS层中存在的大量应用软件,使用OIDC协议对用户进行身份认证,并在此基础之上构建基于SSL加密的通信信道实现对协议的进一步优化,最终从身份认证与授权技术和数据传输两方面对SaaS层进行安全防护,达到提升工业互联网平台安全性的目的。

目前,我国的工业互联网平台尚不成熟,其面临诸多安全挑战。平台中存在大量不同种类的安全机制且平台有跨企业特点,各个企业间接口不一,这也导致安全边界难以确定,协议互通难度加大,安全漏洞日益显现[20]。同时存储于平台上的数据繁杂,资源常常分布在多种设施之上,仅依托单点、离散的数据保护难以保证其安全性,一旦遭受恶意攻击,不只对用户、企业造成损害,对工业生产乃至国民经济都可能带来巨大损失。因此,未来基于工业互联网平台的安全将会是研究的重点方向。

参考文献

[1] Ma Y, Li Z, Liu Y, et al. Discussion on the Application of Industrial Internet[M]// Artificial Intelligence and Security. 2019.

[2] Tabassam S. Security and Privacy Issues in Cloud Computing Environment[J]. Journal of Information Technology and Software Engineering, vol. 7, no. 5, pp. 1-6, 2017.

[3] Jansen J, van der Merwe A. A Framework for Industrial Internet of Things[M]. In: Hattingh M., Matthee M., Smuts H., Pappas I., Dwivedi Y., M?ntym?ki M. (eds) Responsible Design, Implementation and Use of Information and Communication Technology. I3E 2020. Lecture Notes in Computer Science, vol 12066, pp 138-150.

[4] Ghazizadeh E, Manan J L A, Zamani M, et al. A survey on security issues of federated identity in the cloud computing[C]// IEEE International Conference on Cloud Computing Technology & Science. IEEE, 2012.

[5] Naik N and Jenkins P. Securing digital identities in the cloud by selecting an apposite Federated Identity Management from SAML, OAuth and OpenID Connect[C]. 2017 11th International Conference on Research Challenges in Information Science (RCIS), Brighton, 2017, pp. 163-174.

[6] Leiba B. OAuth Web Authorization Protocol[J]. Internet Computing, IEEE, 2012, 16(1): pp.74-77.

[7] Ferry E, O Raw J, Curran K. Security evaluation of the OAuth 2.0 framework[J]. Information and Computer Security, 2015, 23(1):73-101.

[8] Wilson Y, Hingnikar A. SAML 2.0[M]. In: Solving Identity Management in Modern Applications. Apress, Berkeley, CA, 2019: 99-111.

[9] Chai X, Hou B, Zou P, Zeng J and Zhou J. INDICS: An Industrial Internet Platform[C]. 2018 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/ SCALCOM/ UIC/ ATC/CBDCom/IOP/SCI), Guangzhou, 2018, pp. 1824-1828.

[10] Wu Y and Hu X. Many Measures to Solve Industrial Internet Security Problems[C]. 2019 2nd International Conference on Safety Produce Informatization (IICSPI), Chongqing, China, 2019, pp. 6-11.

[11] W. Dawoud, I. Takouna, C. Meinel. Infrastructure as a Service Security: Challenges and Solutions[C]// International Conference on In-formatics & Systems. IEEE, 2010.

[12] G, Sahoo, and Mehfuz S. Securing Software as a Service Model of Cloud Computing: Issues and Solutions[J]. International Journal on Cloud Computing: Services and Architecture 3.4 (2013): 1–11. Crossref. Web.

[13] Agrawal N and Singh S. Origin (dynamic blacklisting) based spammer detection and spam mail filtering approach[C]. 2016 Third Interna-tional Conference on Digital Information Processing, Data Mining, and Wireless Communications (DIPDMWC), Moscow, 2016, pp. 99-104.

[14] Zakaria N H, Al-Ghushami A H, Katuk N, et al. Analysis of Single Sign-On Protocols from the Perspective of Architecture Deployment, Security and Usability[C]// 9th International Conference on IT in Asia 2015 (CITA'15). 2015.

[15] Navas J, Beltran M. Understanding and mitigating OpenID Connect threats[J]. Computers & Security, 2019, 84(JUL.):1-16.

[16] Wilson Y, Hingnikar A. OpenID Connect[M]. In: Solving Identity Management in Modern Applications. Apress, Berkeley, CA, 2019: 77-97.

[17] Li W, Mitchell C J. Analysing the Security of Google's Implementation of OpenID Connect[C]// International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. Springer-Verlag New York, Inc. 2016.

[18] Rhodes B, Goerzen J. TLS/SSL[M]. In: Foundations of Python Network Programming. Apress, Berkeley, CA, pp 93-114, 2014.

[19] Li W, Mitchell C J, Chen T. OAuthGuard: Protecting User Security and Privacy with OAuth 2.0 and OpenID Connect[J]. 2019.

[20] Mentsiev A U, Guzueva E R, Magomaev T R. Security challenges of the Industry 4.0[J]. Journal of Physics Conference Series, 2020, 1515:032074.

作者簡介:

纪健全(1998-),女,汉族,河北保定人,北京交通大学,在读硕士;主要研究方向和关注领域:工业互联网安全、云计算。

姚英英(1994-),女,汉族,山东青岛人,北京交通大学,在读博士;主要研究方向和关注领域:物联网安全、区块链。

常晓林(1971-),女,汉族,福建福清人,香港科技大学,博士,北京交通大学,教授;主要研究方向和关注领域:云计算安全、物联网安全。

猜你喜欢
数字证书身份认证
教育云平台的敏感信息保护技术研究
云电子身份管理与认证系统中的关键技术优化改进
校园网云盘系统存在的安全问题及对策
基于指纹身份认证的固定通信台站干部跟班管理系统设计
基于PKI与基于IBC的认证技术比较
PKI技术在SSLVPN中的应用
Kerberos身份认证协议的改进
基于USB存储设备的透明监控系统
数字签名保护Word文档