張祖國, 蘇銳丹
?
智能制造虛擬組織的服務聯合安全研究
張祖國1,2, 蘇銳丹3
(1.中國科學院 空間科學與應用研究中心,北京 100190; 2.中國船舶重工集團第七一四研究所,北京 100101;3. 西安電子科技大學 計算機學院,陜西 西安 710071)
工業互聯網時代的智能制造不僅體現在企業內部的智能化,而且強調企業通過虛擬組織進行制造資源和服務能力的社會化協作,跨企業域的服務聯合中的安全認證與授權控制尤為重要。基于VO服務聯合安全需求及去中心化自組織特征,利用OAuth 2.0、OpenID Connect協議規范設計的虛擬組織(VO)服務聯合安全方案滿足跨域服務聯合、同域服務聯合和公共服務聯合的需要。文章詳細解釋了跨域服務聯合、同域服務聯合與公共服務聯合的安全認證與授權實現流程,并結合海洋裝備制造案例說明了制造聯盟中服務聯合應用過程。最后探討了方案中涉及到的隱私保護問題。
智能制造;虛擬組織;服務聯合;OAuth2.0;OpenID Connect
工業互聯網是互聯網與工業生產相結合而形成的交集,主要由智能機器、高級分析、工作人員三個元素構成。現實世界中的機器、設備、團隊和網絡通過傳感器、控制器和軟件應用程序連接起來,并使用基于物理的分析法、預測算法、自動化和材料科學,電氣工程及其他關鍵學科知識來理解機器與大型系統的運作方式[1-2]。工業互聯網的價值不僅僅體現于企業內部的基于大數據形成的智能制造能力,更為產業界的資源分享與制造能力的協作提供了基礎模式。智能制造需要突破單一企業的邊界,制造資源與生產力的社會化分享促進了企業間合作聯盟的形成,通過產業鏈實現資源的彈性化組織和應用。在此產業鏈的構成過程中,涉及到設計者、制造者、銷售者、集成與咨詢者、服務者和運維者。上述所有對象通過信息-物理空間系統(cyber-physical system,CPS)構成完整協同平臺,在CPS中,企業之間并非具有從屬特性,對象之間的聯合也不具有恒定的合作關系[3]。他們之間通過虛擬組織(virtual organization,VO)的臨時關系來定義。
對各制造服務提供商而言,VO的跨域服務聯合帶來的安全性需求可能會高于業務邏輯本身。長久以來,國際上許多機構都在積極推動跨組織認證和授權的標準化工作,并制定了安全聲明標記語言(security assertion markup language,SAML)[4]和WS-Security系列標準。基于這些標準,文獻[5]提出跨域服務聯合安全框架,闡述跨域服務聯合中的安全功能,包括信任拓撲管理、跨域認證及授權、隱私保護等。文獻[6]提出智能制造的社會化協同機制,闡述了跨域松耦合聯盟與緊耦合制造集團間的授權信息集成方法。
OAuth 2.0[7-8]是OAuth協議的下一版本,關注服務請求方的簡易性,為Web應用、移動設備等提供專門的認證流程。它使得服務請求方通過經由用戶授權而獲得的訪問令牌(access token)來使用用戶在服務提供方的資源和服務,代表用戶執行相關操作,從而避免了直接將用戶的憑據(如口令)交給服務請求方。建立在OAuth 2.0上的OpenID Connect(OIDC)[9],是OpenID的下一版本,提供了開放的身份認證,其跨域工作的方式,很適合VO中不同服務提供商之間的用戶共享。
VO是一個以動態市場機會為基礎的各種核心能力的統一體,組織內各成員異地、異構、無產權聯系,相互之間的合作關系是動態的,完全突破了以內部組織制度為基礎的傳統組織結構。合作是VO存在的基礎,但由于VO各成員保持著自己原有的風格松散耦合,彼此間由于信任產生的安全問題尤為突出。
為清晰闡述VO服務聯合安全問題,本文給出了一組服務聯合典型示例,如圖1所示。
A、B與C為三個彼此獨立的域。A1、A2、A3、A4是A域的服務,B域和C域的服務類似,其中B2是一項與用戶無關的公共服務。各個域有自己獨立的授權服務器AS(含認證功能),并可選地提供OpenID服務。Third Party OP/IDP (OpenID Provider)為第三方OpenID服務提供方。示例中包含三種典型的服務聯合場景:A域的服務A1調用了本域了服務A2和外域的服務B1,A2和B1又分別跨域調用了服務C1和A3,是典型的跨域服務聯合;C域中的服務C2依賴本域服務C3、C4和C5,屬于同一安全域/信任域的服務聯合,即同域服務聯合;服務A4對服務B2的調用產生了(跨域)公共服務聯合場景。
傳統服務提供方僅對外提供安全的核心業務服務接口,僅需要在本域邊界進行有效地防范即可確保本域的整體安全。加入VO的各成員組織出于跨域服務聯合的需要,原本各自獨立的安全邊界遭到破壞,為VO服務聯合引入了以跨域認證及授權為核心的安全問題。其中,跨域認證將可信的用戶標識信息跨域共享,從而避免用戶跨域使用服務資源時的重復認證;跨域授權則允許服務提供方和資源所有者對來自外域的資源使用請求進行授權控制。概括而言,服務聯合場景中涉及四類安全問題:
1)服務聯合建立:為了使用戶的認證與授權信息和服務資源能夠在跨域環境下進行共享,跨域服務聯合的建立就是要根據服務調用關系構建多域環境下的關聯關系,從而形成由一系列服務分享與使用所形成的VO。
2)單點登錄(single sign-on,SSO):在跨域服務聯合中,用戶只需要完成一次身份認證流程,即可訪問所有服務,無需執行多次認證。
3)聯合退出(federated sign-out):在跨域服務聯合中,用戶主動退出時,清理該服務聯合中各服務相關的緩存數據,結束會話以保證會話安全。
4)訪問控制:受VO的松散耦合、分布式特點影響,跨域服務聯合中需要對服務的跨組織訪問進行嚴格明確地約束,以防止未授權訪問。
OAuth 2.0 和OIDC分別將授權與認證操作從業務邏輯中抽象出來,構成VO服務聯合安全方案的基礎。
OAuth 2.0能使VO服務聯合場景中服務使用方代表自身或者通過引導用戶(服務/資源所有者)與服務提供方進行一系列的授權交互后代表用戶獲取受限的服務,授權信息以Access Token形式返回給服務使用方作為訪問受保護資源的憑據,每一個Access Token授權其持有者在特定的時間段內使用特定的服務。
OIDC作為OAuth 2.0協議授權過程的擴展,其身份認證結果為JWT(JSON web token)形式的ID Token。ID Token包含著認證相關的信息,而認證用戶詳細信息的獲取則融入了授權流程,需要使用通過用戶授權后得到的Access Token從資源服務器(resource server,RS)的UserInfo Endpoint處獲取。
跨域服務聯合、同域服務聯合和公共服務聯合由于安全域跨越和業務本身的不同,導致對授權的安全需求不同。本方案權衡安全性需求和授權流程的靈活性與授權效率,為VO的三種服務聯合場景選用了不同的授權模式:
1)在跨域服務聯合中,服務使用方需要跨越安全域獲得用戶授權,安全需求最高,采用的是OAuth 2.0四種授權模式中功能完整、流程最為嚴密的授權碼模式(authorization code);
2)在同域服務聯合中,由于服務使用方與服務提供方處于同一個安全域中,彼此存在一定的信任基礎,服務訪問的授權可在用戶身份驗證后使用本域內的訪問控制策略;
3)在公共服務聯合中,服務使用方以自身身份使用資源,并不涉及用戶身份認證和請求用戶授權的過程,服務提供方僅需對服務使用方身份進行認證即可,授權采用OAuth 2.0授權模式中的客戶端模式(client credentials)。
基于OAuth 2.0和OIDC的用戶認證授權過程受TLS的保護,能確保認證授權過程的安全。用于身份認證的ID Token使用了JWS(JSON web signature)來確保信息的完整性和可認證性,并且可采用JWE(JSON web encryption)加密以獲得機密性保證。包含授權信息的Access Token由授權服務器(authorization server,AS)定義,通過數字簽名機制確保無法篡改和偽造。
2.1 跨域服務聯合
VO跨域服務聯合場景中,首次進行跨域服務調用或后續服務調用時已有授權失效(授權過期或用戶取消授權)的情況下,都需要用戶進行身份認證后對服務請求方所請求資源/服務的訪問進行授權。在用戶通過身份認證并進行授權后,授權信息以Access Token形式返回給服務請求方。服務請求方在之后進行的服務調用請求中,攜帶該Access Token作為服務使用的的授權憑證。服務提供方則首先對請求信息中的Access Token進行有效性認證,在確認其完整性、有效性且授權涵蓋本次服務請求后,再向服務請求方提供服務。
在圖1展示的跨域服務聯合場景中,直接面向用戶的服務A1需要使用外域服務以完成業務邏輯。由于業務流程分散在A、B、C三個域中,為統一用戶管理,需要協商使用同一個OP/IDP(A、B、C三個域的IDP之一或第三方IDP)提供的身份認證服務,本文以選擇第三方IDP為例進行描述。
以OIDC及OAuth 2.0的認證授權為基礎動態建立的虛擬組織中各成員之間是松散耦合的。各VO成員獨立提供授權服務(Authentication Service)、業務服務,并根據需求可選地提供OpenID服務。
跨域服務聯合建立的前提是根據服務調用產生基于注冊的關聯關系。此場景中,由業務邏輯產生的跨域服務調用有
用戶首次使用服務A1時,認證與授權流程如圖 2所示。

圖2 跨域服務聯合流程Fig.2 Dataflow of cross-domain service federation
1)用戶首次訪問A域的服務A1,且無法提供有效的身份信息,A1根據協商結果引導用戶前往第三方IDP處進行身份認證并同時攜帶所需的用戶身份信息請求;
2)第三方IDP首先對用戶身份進行合法性認證,認證成功后,引導用戶對A1所請求的用戶自身身份信息進行訪問授權并根據用戶的授權分發授權碼(authorization code)給A1。A1通過此授權碼從第三方IDP處換取用戶身份標識令牌(ID Token)和訪問令牌(Access Token),此訪問令牌可用于從IDP處獲取用戶授權訪問的用戶自身身份信息;
3)A1對服務A2的調用屬于同域服務調用,僅需在服務調用請求中攜帶從步驟2)獲取的ID Token即可,詳細步驟參見2.2節;
4)A2初次跨域調用C1時,并沒有用戶對服務C1的使用授權,需要向C1發送授權請求,請求內容為A2需要以用戶的身份在C1處使用的服務/資源;
5)用戶在C域并未進行登錄認證,故C1需要引導用戶前往第三方IDP出進行認證操作并同時攜帶所需的用戶身份信息請求;
6)由于步驟1)中用戶已經在IDP處認證過(短時間內,會話未失效),通過OIDC的會話管理功能[10],用戶在此步驟將直接通過身份認證進入OIDC的用戶身份信息授權流程,之后的流程與步驟2)類似,C1得到ID Token和授權用于訪問用戶身份信息的Access Token;
7)C1引導用戶對A2請求的資源進行訪問授權并根據用戶授權分發授權碼給A2,A2獲得授權碼并進一步從C1得到Access Token。A2在之后代表該用戶對C1的服務請求中攜帶該Access Token作為訪問憑證;
8)~11)與步驟4)~7)類似;
12)B1初次調用服務A3,需要向A3發送授權請求,請求內容為B1需要以用戶的身份在A3處使用的資源;
13)此步驟中,用戶已經在A域通過身份認證,會話有效,故直接進入用戶授權操作流程,其余流程與步驟7)類似。
以上流程涉及A、B、C三個域對用戶身份的認證和三次跨域服務調用,顯式的授權操作需要進行三次(不含身份認證過程中用戶對訪問自身身份信息的授權),每次跨域服務調用對應一次授權過程;共三個域的身份認證需求僅需要用戶在第三方IDP處進行一次登錄認證,實現了單點登錄。
單點登錄功能基于OIDC協議的會話管理擴展部分,通過特定方法讓A、B、C三個域共享了第三方OP/IDP的認證會話,從而可以使VO跨域服務聯合實現單點登錄和聯合退出。
OAuth 2.0協議特有的與用戶交互、由用戶顯式對特定資源訪問進行授權的過程使得基于該協議的跨域資源/服務訪問控制十分靈活,是細粒度的、用戶可知可控的,并可隨時增加、修改和撤銷授權。
2.2 同域服務聯合
同域環境中各服務間的彼此調用協作也可視為服務聯合的一種,由于各服務處于同一個信任域/安全域,服務聯合的建立與訪問控制都可根據本地策略靈活進行,本節僅對同域環境中基于OIDC的各服務身份認證方案進行描述。
即使處于同一個信任域,各服務同樣可能具有互不相同的底層安全基礎設施,且同域的特殊條件使得一致的身份驗證策略和可靠的身份驗證框架十分必要。耶魯大學提出的CAS(central authentication service)是解決此問題的經典協議。以下針對內部實現有IDP的企業和組織給出了基于OIDC的解決方法。
圖 3展示了同域服務聯合的典型場景,用戶在使用服務C2時,C3、C4由于間接被調用而需要驗證用戶身份。引入2.1節的基于OIDC會話管理無疑可以解決問題,但基于同一安全域中各服務間基本的信任關系可以更簡便地傳遞可驗證的用戶身份信息。域C使用本域中的OP/IDP進行用戶的統一認證,用戶首次訪問C2服務時,C2引導用戶前往本域的ODP處進行身份認證,在成功通過身份認證后獲得ID Token;C2在之后請求C3、C4服務時攜帶該ID Token作為可認證用戶身份標識;C3、C4接收到ID Token后,通過ID Token信息及其有效性驗證結果即可獲知用戶身份及用戶通過了身份認證這一事實。
該方法通過使用IDP統一了同域身份認證,并借助ID Token在同域服務之間傳遞了用戶身份認證信息,該信息可驗證(無法偽造)。值得注意的是,該方法以同域服務不會泄露ID Token這一假設為安全基礎。

圖3 同域服務聯合流程Fig.3 Dataflow of shared domain service federation
2.3 公共服務聯合
跨域條件下的公共服務聯合由于沒有用戶這一角色的參與,故不存在單點登錄和聯合退出問題,授權流程為OAuth 2.0協議授權模式的客戶端模式。如圖 4所示,A域的服務A4需要使用B域的公共服務B2。服務聯合建立時,A4在B2處注冊并得到自身身份標識與認證憑據,典型地,此處的憑據為一個公私鑰對,私鑰A4持有,公鑰由B2保存。A4在需要使用B2服務時,針對待訪問資源/服務發起授權請求,并在請求中攜帶私鑰對該請求的數字簽名;B2收到授權請求并成功驗證簽名信息后,分發Access Token給A4作為授權結果;A4通過在之后的請求中攜帶該Access Token來使用B2提供的服務。

圖4 同域服務聯合流程Fig.4 Dataflow of shared domain service federation
船舶與海洋裝備制造是高端制造業的典型代表,具有整體長周期、單件少批量、離散制造與局部流程制造的混合形態特征。智能制造的全制造服務周期[11]涵蓋了從研發設計到運維服務的全過程。在船舶與海洋裝備的制造過程中,服務環節眾多,其流程如圖5所示。
海洋裝備制造流程中的各服務環節由多個企業提供,參與制造流程的不同企業構成臨時服務于某個項目任務的VO。裝備制造流程主要包括設計服務、總裝服務和制造分包服務,其社會化協作的趨勢是:提供總體設計CAD(computer-aided design)、工藝設計CAPP(computer-aided process planning)服務的各個企業之間聯合構成獨立的VO共享彼此的設計智慧;提供分段制造與配套裝備服務的不同企業在總裝集成企業的任務驅動下依據工藝設計交付相應的配套中間產品。在總裝制造環節和分段制造環節中,企業資源計劃ERP(enterprise resource planning)、產品生命周期管理PLM(product lifecycle management)、供應鏈管理SCM(supply chain management)、客戶關系管理CRM(customer relationship management)、制造執行系統MES(manufacturing execution system)、數控機床網絡DNC(distributed numerical control)以及其他內部服務形成縱向緊耦合集成。
上述案例涉及的VO服務聯合如圖6所示。

圖6 船舶與海洋裝備制造的VO服務聯合Fig.6 Service federation in offshore equipment manufacturing

圖5 海洋裝備制造流程Fig.5 Manufacturing flow for offshore equipment
位于域G的總裝集成企業ERP服務通過調用本域內PLM、CRM、SCM及外域的CAD、CAPP等服務驅動整個制造流程,對外提供船舶與海洋設備制造服務,用戶(甲方)通過訪問域 G的服務來實時了解并操控制造流程。流程中的總體設計環節、工藝設計環節分別由域 B提供的CAD服務和域F提供的CAPP服務負責。域G的ERP服務根據設計結果,調用域 H、I、J的MES服務完成部分分段制造與配套設備業務,再基于外域和本域(總裝集成企業也可能負責部分中間產品的制造)的分段制造與配套產品進行最終的總裝集成。
在圖6所示的VO服務聯合場景中,域 G、H、I、J中都存在同域服務聯合,比如域 H中MES與DNC服務通過彼此調用以對外提供分段制造與配套設備服務;跨域的服務聯合更是普遍存在。
用戶通過域G啟動的VO服務聯合裝備制造流程及相應的服務聯合類型描述如下,根據服務聯合類型即可采用第2節給出的相應認證與授權方案。
1)域 G的ERP服務調用域 B的CAD設計服務,對應圖中步驟1),屬跨域服務聯合,使用2.1節的跨域服務聯合認證授權方案;
2)域 B的CAD服務調用域 A、C相同行業的CAD服務,獲取其相關設計經驗,形成總體設計圖紙,屬于跨域服務聯合;
3)域 F的CAPP服務調用域 B的CAD服務獲得總體設計圖紙用于工藝設計服務本身,對應步驟2),屬跨域服務聯合;
4)域F的CAPP服務共享域 D、E的工藝設計,形成工藝設計圖紙,屬于跨域服務聯合;
5)域 G的ERP服務調用域 F的CAPP服務獲得工藝設計圖紙,對應步驟3),屬跨域服務聯合;
6)域 G的ERP服務根據工藝設計圖紙,調用自身的MES、DNC等服務(同域服務聯合)和域 H、I、J的MES服務(對應步驟4),屬跨域服務聯合)實現裝備的分段制造;
7)最后,域 G根據分段制造的中間件完成設備的總裝集成,提供給用戶。
需要說明的是,出于避免重復勞動和降低成本的考慮,域 B與同樣提供CAD服務的域 A、C以某種約定的機制組成獨立的VO以實現復用設計文件,共享彼此經驗、技術等智慧成果。這種相同行業構成的VO,通過跨域服務聯合進行智慧成果或生產能力的分享是一種典型的社會化協作,避免了信息孤島的出現和生產能力的局限,為VO成員帶來了更大的價值回報。
本文基于VO服務聯合安全需求及OAuth 2.0、OpenID Connect協議,設計了VO服務聯合安全方案,詳細描述了跨域服務聯合、同域服務聯合與公共服務聯合的實現流程,并通過船舶與海洋裝備制造的同域及跨域協同案例進行了具體應用過程說明。方案具有開放與實用的特點。
在此方案基礎上還需要進一步研究是:
1)基于OpenID Connect協議的認證過程獲得ID Token可能會直接或間接暴露用戶身份相關的敏感信息。對VO服務聯合中的OpenID Providers而言,隱私保護(privacy protection)意味著不能在ID Token和Access Token中暴露用戶ID及其他個人身份信息PII(personally identifiable information)。其提供的OpenID也應為PPID(pairwise pseudonymous identifier),從而消除不同域獲得的用戶身份標識的關聯。
2)在服務聯合實現后,需要建立服務間的合理付費機制,有助于提高虛擬企業在智能制造協同中的制造服務分享動機。
[1]EVANS P C, ANNUNZIATA M. Industrial internet: pushing the boundaries of minds and machines[EB/OL]. USA: General Electric Company, [2012-11-26]. http://www.ge.com/docs/chapters/Industrial_Internet.pdf.
[2]BULLINGER T A. The industrial internet[EB/OL]. USA: International Council on Systems Engineering, [2013-05-16]. http://www.incose.org/flc/events/Documentation/IndustrialInternet.pdf.
[3]KAGERMANN H, WAHLSTER W, HELBIG J. Recommendations for implementing the strategic initiative INDUSTRIE 4.0[EB/OL]. German: National Academy of Science and Engineering, [2013-04-16]. http://www.acatech.de/fileadmin/user_upload/Baumstruktur_nach_Website/Acatech/root/de/Material_fuer_Sonderseiten/Industrie_4.0/Final_report__Industrie_4.0_accessible.pdf.
[4]OASIS. Security assertion markup language specifications 2.0[EB/OL]. USA: Organization for the Advancement of Structured Information Standards. [2013-05-28]. http://saml.xml.org/saml-specifications.
[5]蘇銳丹. 電子政務安全工程若干關鍵技術研究[D]. 西安: 西安電子科技大學, 2010.
SU Ruidan. Research on key technologies of e-government security engineering[D]. Xi′an: Xidian University, 2010.
[6]張祖國. 基于社會化的協同智能制造系統研究[D]. 北京: 中國科學院大學, 2016. ZHANG Zuguo. Research on SNS-based collaborative intelligent manufacturing system[D]. Beijing: The University of Chinese Academy of Sciences, 2016.
[7]HARDT D. The OAuth 2.0 Authorization Framework[EB/OL]. [2012-10-12]. http://tools.ietf.org/html/rfc6749.
[8]JONES M, HARDT D. The OAuth 2.0 Authorization framework: bearer token usage[EB/OL]. [2012-10-12]. http://tools.ietf.org/html/rfc6750.
[9]SAKIMURA N, BRADLEY J, JONES M, et al. OpenID connect core 1.0[EB/OL]. [2014-11-20]. http://openid.net/specs/openid-connect-core-1_0.html.
[10]SAKIMURA N, BRADLEY J, JONES M, et al. OpenID connect discovery 1.0[EB/OL]. [2014-11-21]. http://openid.net/specs/openid-connect-discovery-1_0.html.
[11]SAKIMURA N, BRADLEY J, JONES M, et al. OpenID connect session management 1.0[EB/OL]. [2014-11-21]. http://openid.net/specs/openid-connect-session-1_0.html.
[12]馬晨, 陳雪波. 基于包含原理的多智能體一致性協調控制[J]. 智能系統學報, 2014, 9(4): 468-473.
MA Chen, CHEN Xuebo. Coordinated control of the consensus of a multi-agent system based on the inclusion principle[J]. CAAI transactions on intelligent systems, 2014, 9(4): 468-473.
Research on service federation security of a virtual organization for intelligent manufacturing
ZHANG Zuguo1,2,SU Ruidan3
(1.Center for Space Science and Applied Research, Chinese Academy Science , Beijing 100190, China;2.The 714 Research Institute of CSIC, Beijing 100101, China;3. Key Laboratory of Computer Network and Information Security of the Ministry of Education, Xidian University, Xi'an 710071, China)
Intelligent manufacturing in the era of the industrial internet is embodied in intelligent management inside an enterprise. It emphasizes the socialized cooperation of manufacturing resources and service ability of an enterprise via a virtual organization. The safety certification and authorization control plays an important role in cross-domain service federation. This paper analyzes critical security requirements of service federation for a virtual organization and proposes a security scheme suitable for VO service federation based on OAuth 2.0 and OpenID Connect specifications. Several fundamental security functions such as cross-domain service federation, service federation in shared domain and public service federation were also clarified. The application of service federation in the manufacturing VO was demonstrated in the case of offshore equipment manufacturing. Also, the privacy protection issue was discussed.
Intelligent manufacturing; virtual organization; service federation; OAuth 2.0; OpenID connect
2015-04-23.
日期:2016-08-29.
國家高技術支撐計劃(2012BAF10B06).
張祖國(1971-), 男, 研究員,博士研究生;
蘇銳丹(1978-), 男, 副教授.
張祖國,E-mail:homer_chang@163.com.
10.11990/jheu.201504052
網絡出版地址:http://www.cnki.net/kcms/detail/23.1390.u.20160829.1421.056.html
TP399
A
1006-7043(2016)10-1341-06
張祖國, 蘇銳丹. 智能制造虛擬組織的服務聯合安全研究[J]. 哈爾濱工程大學學報, 2016, 37(10): 1341-1346.
ZHANG Zuguo,SU Ruidan. Research on service federation security of a virtual organization for intelligent manufacturing[J]. Journal of Harbin Engineering University, 2016, 37(10): 1341-1346.