摘要:對EPCIS的權限管理問題作了初步探討,并提出一種基于擴展權利描述語言(XrML),易于與現有的EPCIS架構無縫整合的權限管理機制。該機制可有效地阻止對EPCIS系統和資源的非授權訪問,從而確保對EPCIS訪問的安全性。
關鍵詞: 擴展權利描述語言; EPC信息服務; 權限管理; 射頻識別; 物理標志語言
中圖法分類號:TP393.08文獻標識碼:A
文章編號:1001-3695(2007)01-0177-03
隨著全球經濟一體化和信息網絡化進程的加快,在技術革新迅猛發展的背景下,為滿足對單個產品的標志和高效識別,美國麻省理工大學Auto ID中心在美國統一代碼委員會(UCC)的支持下,提出了產品電子代碼(EPC)的概念。
EPC系統,即實物物聯網(簡稱物聯網),它是在計算機互聯網的基礎上,利用射頻識別(RFID)、無線數據通信等技術,構造的一個實現全球物品信息實時共享的“Internet of things”。它將成為繼條碼技術之后,再次變革商品零售結算、物流配送及產品跟蹤管理模式的一項新技術[1]。EPC系統主要由EPC標簽、讀寫器、RFID中間件、ONS服務器和EPC信息服務(EPCIS)組成。其中,EPCIS主要用于存儲EPC碼對應的信息,它定義了訪問EPC相關信息的標準接口,是在整個供應鏈范圍內企業之間分享、交換產品信息的一種有效途徑[2]。
本文在分析分布式EPCIS基本模式、信息存儲方式的基礎上,提出了一種基于擴展權利描述語言(eXtensible right Markup Language,XrML),易于與現有的EPCIS架構無縫整合的權限管理機制。通過利用XrML完備的權限描述功能對EPC信息進行訪問權限設置和管理,以阻止對EPCIS系統和資源的非授權訪問,從而確保對分布式EPCIS訪問的安全性。
1EPC網絡及EPC信息服務
EPC系統是一個非常先進的、綜合性的和復雜的系統。其最終目標是建立一個全球的、開放的標志標準。它由全球產品電子代碼體系、射頻識別系統及信息網絡系統三部分組成,主要包括EPC標簽、讀寫器、RFID中間件、對象名稱解析服務(ONS)和EPCIS。
如圖1所示,每個企業都有自己的RFID讀寫器、RFID中間件以及EPCIS。這些企業擁有的這些資源構成了EPC網絡。在這個EPC網絡中,任何一家企業都可以查詢其他三家企業的產品信息。EPC網絡中提供的服務主要包括對產品信息的查詢以及產品在供應鏈中流動情況的查詢與更新。
EPCIS作為EPC網絡中的重要組成部分,起著關鍵的作用。它提供一個接口去存儲、管理捕獲的EPC信息。企業之間可以通過標準的接口,以統一的方式縱向訪問供應鏈上的產品數據,從而減少企業之間信息整合的次數。
EPCIS中存儲著EPC相關的事件信息以及EPC所對應的產品所屬企業的擴展信息。信息格式支持EPC Global制定的PML Core規范,存儲所有的RFID事件及狀態信息,包括經常性變動的數據(動態數據)和隨時間變動的數據(時序數據)[3]。它包括:
(1)EPC的觀測值。What / When / Where / Why,通俗地說,就是觀測對象、時間、地點及原因。這里的原因是一個比較寬泛的說法,它應該是EPCIS步驟與商業流程步驟之間的一個關聯,如訂單號、制造商編號等商業交易信息。
(2)包裝狀態。例如物品是在托盤上的包裝箱內。
(3)信息源。例如位于Z倉庫的Y通道的X識讀器。
在圖1中,企業A,B,C,D構成了供應鏈中的四個元素。假如某批產品從B出庫,經過了企業C,D最終到達企業A。當企業A需要查找該批產品在供應鏈中的流動情況時,需要查找B,C,D的EPCIS,才能獲得該批產品在每個節點的時序數據,從而構造完整的供應鏈信息。由于EPC網絡中EPCIS是分布式的,所以當需要供應鏈完整信息時需要多個EPCIS的協同工作共同完成。
2傳統EPCIS架構
如圖2所示,傳統EPCIS架構包括三個部分,即EPCIS獲取接口、EPCIS數據庫和EPCIS訪問接口。
EPCIS獲取接口層主要用于接收經過RFID中間件處理后的RFID事件,然后將事件存入EPCIS資源數據庫中,該層主要利用業務規則來對RFID事件進行基于內容的過濾,經過該層可以得到RFID業務相關事件,提供給上層應用;EPCIS數據庫中存儲著與EPC相關的事件信息以及EPC所對應的產品所屬企業的擴展信息;EPCIS訪問接口層提供了一個模塊化、可擴展的數據和服務的接口,主要提供的服務包括RFID事件寫入、PML信息查詢以及系統自身的管理,其中前兩類被EPCGlobal定義為更新(Update)和查詢(Query),而后一類則是為前兩類功能提供基礎服務和全面的管理。
從圖2可以看到,在實際操作中,這種供應鏈上縱向信息共享的架構也帶來了一系列信息安全方面的問題。首先,EPC信息記錄了商品整個生產、流通等環節的所有信息,所以這種跨企業的EPCIS通信必然會涉及到企業內部信息和行業機密的訪問;而且由于供應鏈中各方所扮演的角色不同,他們對商品信息的訪問權力也應該是不對稱的。因此在現有的EPCIS架構中引入必要的權限管理機制,使信息在一定框架下合理地共享就顯得尤為重要。
3引入權限管理的EPCIS的架構設計
引入權限管理的EPCIS可以在架構上分為三個部分,即EPCIS訪問接口層、資源管理層和權限管理層,如圖3所示。
在新的EPCIS架構中,資源管理層包含EPC資源數據庫與EPCIS獲取接口。訪問接口層仍然作為一個獨立的接口用于獲取EPC信息。
為了保證與傳統架構的互操作性以及與現行EPC網絡的無縫整合,該方案在不改變EPCIS訪問接口層以及資源管理層的外部接口的前提下,引入了一個新的元素,即權限管理層,從而實現對EPCIS的信息訪問以進行權限管理。
權限管理層實現了對EPCIS的訪問控制。由于訪問EPCIS的用戶包括企業內部人員、企業合作伙伴或者上層應用系統(如WMS,ERP)等,對于不同的訪問用戶所擁有的對產品信息的訪問權限是不同的。權限管理層實現了對各類用戶的權限分配和訪問認證,以確保EPCIS信息是在一定權限限制下的合理安全共享。
權限管理層包括三個模塊,即數據存儲模塊、授權服務模塊及認證服務模塊。
引入權限管理后,用戶需要在EPCIS中注冊并獲得相應權限,才允許對EPCIS資源進行訪問。其中注冊過程主要由授權服務模塊完成,該模塊會根據用戶身份、用戶需求以及實際情況對用戶進行授權,并生成權限描述數據文件存入權限管理數據庫中。認證服務模塊則完成對用戶具體的查詢請求以進行匹配、過濾。當用戶登錄時認證服務模塊根據用戶的登錄信息從權限管理數據庫中加載對應的權限描述數據文件,從而確認用戶允許的訪問內容和操作。當收到具體訪問請求時,認證服務模塊將根據權限描述數據文件的描述逐一進行權限匹配。在確認所有的訪問操作均為合法后,該請求將被送到資源管理層訪問EPC數據;否則,該請求將被作為非法操作向用戶報告錯誤信息。
3.1權利描述的數據模型
該設計權利描述的數據模型采用現在業界廣泛接受的可擴展權限描述語言。該語言是基于XML的擴展權利描述語言,繼承了XML的優點,使用了微軟的DCOM組件,有較好的跨平臺特性,它能確保數字權利管理信息的完整性及可擴展性,并能實現實體的驗證[4]。同時,EPCIS中信息交互采用的PML,也是一種基于XML的描述語言,因此對EPCIS的權限管理層采用XrML實現權限描述,能保證系統數據模型的統一性。
XrML描述權限包括四大元素,即行為方主體(Principal)、權利(Right)、資源(Resource) 和條件(Condition)[5]。因此對EPCIS的權限描述在形式上采用四元組<主體,資源,權限,條件>定義不同用戶對系統資源的訪問權限,其中主體、資源、權限、條件分別按照需要組合,從而可以為層次化的系統資源指定權限。權限的施加原則以最小權限為準,也就是執行某項任務只要有適當的權限就可以了,這也是安全領域普遍存在的觀點[6]。
3.1.1主體
主體(Principle)是行為方的標志。一般而言,主體描述了訪問EPCIS的用戶對象,其中包括企業內部人員的訪問、企業合作伙伴的訪問以及企業級應用的訪問,不同的訪問需要的內容、訪問范圍,以及所能執行的操作均不同。在該權限描述數據模型中主體用元素名稱epcis:keyHolder進行標志,將主體對應的內容寫入epcis:keyHolder中,這樣就簡單有效地描述了主體的內容。
3.1.2資源
資源(Resource)是授權主體執行權利的對象,是對于一個主體授予某種行為的對象。在EPCIS系統中,資源包括與EPC碼相關的動態信息和靜態信息。其中動態信息包括產品的流動信息,如何時入庫、何時出庫等時間信息。這些信息是根據產品的流動動態變化的。靜態信息主要包括與產品相關的基本信息,如產品的重量、適宜溫度、保質期等固定屬性;靜態信息還包括與產品相關的企業信息,如企業的地址、聯系方式等基本信息。
在權利描述數據模型中,用元素名稱epics:resource來對資源進行標志描述。在epics:resource內部利用epics:entity ̄Des ̄cription來對資源實體進行描述,其中包含資源名以及資源的訪問方式,從而可以準確地對資源進行描述、定位。
3.1.3權利
權利(Right)是主體對某些資源執行的動作,即主體對于相關資源可以執行的一種或一類行為。對EPCIS的操作主要包括查詢和更新。在數據描述模型中用Right來描述權利。在EPCIS權限管理機制中定義了以下幾類基本操作:
(1)發布(Issue)。為特定資源(通常是授權Grant)發布許可,體現了許可證書權威方的概念。
(2)讀(Read)。獲取資源,相當于對EPCIS的查詢操作。當條件滿足后,獲得相應的資源 (授權Grant或授權式樣Grant Pattern)。
(3)寫(Write)。寫入信息。當獲得新的RFID事件時可以向EPCIS資源數據庫中寫入相關內容。
(4)撤銷(Revoke)。撤回先前的聲明。例如,發布一個許可的同時也隱含著授權方有撤銷權,撤銷后授權方可將權利授予其他人。
3.1.4條件
條件(Condition)指定了權利約束,說明一種對一個主體授予某種權限來操作某些資源的行為,也即說明一個或者多個在權限被執行之前必須遵循的條件。在對EPCIS的訪問中,需要設定訪問限制條件。例如,一個主體可能需要支付費用才能行使某種權限的限制;對某種權限使用次數的限制;權限可以被行使的時間間隔的限制等。以下列出了幾種條件的描述方式:
(1)AllConditions,不限制條件,所有的條件都可以執行;
(2)ValidityInterval ,限制權力行使的事件返回,如validityInterval varRef=\"threeWeeks\";
(3)ExerciseLimit,限制權力使用的次數,也就是該用戶經授權后能夠訪問EPCIS的次數;
(4)Fee,說明需要支付的費用。
3.2授權服務模塊
由于EPCIS分布在各個企業自行管理,所以對EPCIS的訪問權限由企業內部的管理員來授予。權限服務模塊主要完成對主體的注冊、授權以及確認。訪問EPCIS的主體包括公司內部的人以及企業外部的合作伙伴等。
當主體首次訪問EPCIS時,需要首先在EPCIS中注冊。由主體提出注冊請求,注冊請求中應當包含足夠能描述主體特征的信息,如主體所在公司、所屬部門以及職務;然后由本地EPCIS管理員來確認該主體的合法身份。
當確認該主體的合法身份后,管理員需要界定該主體的訪問范圍。由于EPCIS中提供的信息可能涉及商業機密,需要通過授權來訪問。一般EPCIS提供給外界可以訪問到的EPC相關信息包括可更新的動態信息如產品的流動信息,以及不可改變的靜態信息如產品和公司的基本信息。這些信息將按照安全系數來劃分等級,可以根據每個企業的實際情況靈活制定授權策略,從而確定不同主體的訪問范圍。
在授權時還需要確認主體對特定資源可以執行的操作。EPCIS中定義的操作類型主要包括查詢和更新,因此對EPCIS的操作權限主要包括讀和寫。
授權服務模塊將根據主體注冊和授權信息生成基于XrML的權限描述數據,存儲于權限管理數據庫并形成索引,以備主體在訪問資源時進行權限認證。當主體的訪問權限超過有效期則需要授權服務的重新授權。
3.3認證服務模塊
權限管理中,認證服務起著關鍵的作用。所有的訪問者都需要經過認證服務才可以訪問EPCIS。它主要完成對用戶身份的驗證以及權限的控制。
主體首先利用授權服務中獲得的登錄賬戶及密碼發出登錄請求;EPCIS中的認證服務模塊將查詢權限管理數據庫中是否存在該賬戶的記錄,判斷該賬戶是否合法,并從權限管理數據庫中加載該賬戶的權限描述數據索引;
當確認主體身份合法后,主體則根據自己的需要向EPCIS發出資源訪問請求;認證服務模塊在截獲、解析該請求后,確定主體所需訪問的資源集合,并通過已加載的權限描述數據索引,迅速定位出與該資源集合中各個元素相關的XrML權限描述數據;繼而認證服務模塊將主體對資源的訪問請求與XrML描述數據中的權限數據進行匹配,從而確定包括資源訪問范圍、所能執行的操作等權限信息。
當匹配成功,即主體對資源的請求為合法請求時,認證服務模塊則將該請求傳遞到資源管理層,以訪問資源數據;否則,該請求被認為是非法請求,認證服務會及時提示用戶,報告錯誤信息,并通知系統管理員,從而確保系統的安全。
4應用范例
這里以可口可樂銷售供應鏈為例,在這條供應鏈中有三個節點,分別為可口可樂制造商、倉庫和超市。這三個節點表示了實際物流中一條簡單完備的供應鏈。制造商、倉庫和超市分別擁有自己的EPCIS,各自存儲著本地貨物的EPC相關信息和企業擴展信息,如圖4所示。
在這個實際應用中,如果C需要查詢這批貨物的信息,如生產日期等,則需要通過網絡訪問EPCIS A。C在首次訪問EPCIS A時,EPCIS A的管理人員會首先到它本地的EPCIS的資源數據庫中查找是否有C的信息。如果沒有,則說明A和C 沒有貿易關系,因此不會給C授予權限;如果有,A會根據C的實際需要授予權限,確定C的訪問范圍、時間限制以及操作限制,并將這些權利描述信息寫入權限管理數據庫。權限描述方式如下:
<?xml version="1.0" encoding="UTF8"?>
<epcis xmlns:epcis="urn:ITEC:EPCIS:rel:relpatternscript:v1_0 "
xmlns:sx="urn:ITEC:EPCIS:rel:relpatternscript:v1_0"
xmlns:cx="urn:ITEC:EPCIS:rel:relpatternscript:v1_0">
<epcis:licence>
<epcis:grant>
<!主體定義>
<epcis:keyHolder epics:id="ID001" name="C"/>
<!資源定義>
<epcis:resourceepics:id="ID002">
<epcis:entityDescription>
<sx:name>A </sx:name>
<sx:url> http://coco/epics/PMLCore.html </sx:url>
</epcis:entityDescription>
</epcis:resource>
<!操作>
<epcis:right epics:id = "ID003">
<cx:read/>
</epcis:right>
<!條件>
<epcis:conditions epcis:id="ID0-04"epics:type="AND">
< epcis:condition>
<validityInterval varRef="oneWeek"/>
</epcis:condition >
<epcis:condition >
<exerciseLimit timeRef="50"/>
</epcis:condition >
</epcis:conditions >
</epcis:grant >
</epcis:licence>
</epcis>
以上權限描述語言說明了C有訪問A的權限,這個權限表現為C可以去查詢A資源數據庫中的靜態數據,包括產品和公司的基本信息。操作限定為只讀,也就是C只能對A的資源數據庫進行查詢而不能更新。另外還限定了一些條件,包括訪問時間必須在一周內以及訪問次數必須在50次以內,如果不滿足這些條件,C將喪失訪問A的權利,需要重新向A注冊獲得A的授權。
當C獲得授權登錄時,認證服務則會從權限管理數據庫中取出權利描述語言并進行解析,獲得用戶的身份合法即可進入授權操作。這樣有效地避免了使A的重要信息外流,保證了A的權益。
如果需要知道整個供應鏈中的流動信息,則需要查詢以上三個節點的EPCIS。此時A,B分配給C的權限是Read,并且只可以訪問動態時間信息。通過訪問A和B的EPCIS可以獲得此批貨物在每個節點的進出時間,從而獲得該批產品一整條的供應鏈流動信息。
5總結
由于在實際商業環境中,對EPC網絡中EPCIS的訪問存在著很大的安全隱患,本文在現有的EPCIS架構基礎上,提出了一種基于XrML的、靈活的EPCIS權限管理方式,從而可以有效地控制供應鏈對企業內部EPCIS的訪問,使EPC信息的共享真正建立在一個可信任、安全的平臺上。當然,該方案仍然存在著許多值得進一步研究的問題,如訪問的效率問題、信息安全問題等,這些我們將在以后的工作中逐步解決。
參考文獻:
[1]Mark Harrison. EPC Information Service (EPCIS) [Z].
[2]王忠敏, 張成海,等. EPC與物聯網[M]. 北京:中國標準出版社, 20-04.
[3]王忠敏, 張成海,等. EPC技術基礎教程[M]. 北京:中國標準出版社, 20-04.
[4]XrML Specifications[EB/OL].http://www.xrml.org/get_XrML.asp.
[5]陳利頤. XrML實現第二代數字權益管理機制的研究[J]. 上海交通大學學報,2003,(增刊).
[6]阮文江.分組式權限管理模型[J].現代計算機,2002,(3):7981.
作者簡介:
趙黎(1981),女,湖北荊門人,碩士研究生,主要研究方向為RFID、分布式應用;
徐晶,男,博士,主要研究方向為RFID與物聯網、物流技術、移動計算;
程文青,女,碩導,主要研究方向為下一代網絡體系結構。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文