摘要:介紹了XRI(extensible resource identifier,可擴展的資源標志符)的基本概念、特征,舉例詳述了其解析原理和相關應用,并與目前廣泛應用的DNS作比較,分析了其應用前景。
關鍵詞:可擴展的資源標志符;域名服務; 可擴展資源描述文檔; iname; inumber; 標志服務
中圖分類號:TP393.06文獻標志碼:A
文章編號:1001-3695(2007)12-0020-04
0引言
XRI是一套建立在URI(uniform resource identifier)[1]和IRI(internationalized resource identifier)[2]規范基礎之上的抽象標志符體系,是由OASIS[3]的XRI工作組[4]研究制定的。抽象標志符[5]是獨立于位置、信任域[5]、具體應用、傳輸協議等永久標志資源的標志符。XRI為抽象標志符提供了一套標準的語法和解析協議,并使它們可以跨不同的應用上下文進行資源標志,可以在任意數量的信任域、目錄、互操作協議之間共享使用。
互聯網越來越深入人們的生活,越來越多地被作為聯系溝通的載體。然而常用的聯系信息,如郵件地址、電話號碼、銀行賬號等在網上進行交流和商業活動時是很脆弱且易受攻擊的。目前聯系方式的不安全性迫切需要一種新的數字地址標志方式——簡化各種各樣的在線標志方式提供跨不同的信任域和企業邊界進行安全的數據共享。
在現有的標志符體系之上構建一個新的抽象標志符層,滿足上述的需求。這一理念最先由One Name公司(現名Cordance Corporation)提出并實施。其早期提供的此類服務為extensible name service(XNS) [8](2004年后更名為XDI)。隨著技術發展,OASIS建立了XRI工作組,進行XRI的語法、解析協議等標準的制定。同時,多家公司Cordance、NeuStar、AmSoft等聯合開發基于XRI的解析服務,如投入使用的iname(一種XRI標志符)注冊及解析服務。已經得到標準組織認證的iname注冊服務提供商有EZiBroker、2idi、LinkSafe、1id.com、EnCirca、INITECH、JanRain、Vibrant Communications。基于XRI技術的發展和標準的制定,OASIS建立了XDI(XRI data interchange)工作組[6]。XDI目的是像WWW使用HTML提供便于人閱讀的信息共享一樣構建對不同源的數據進行標志、交換、連接、同步、共享(均基于XRI標志符)的數據網Dataweb[7],使用XML格式的文檔進行數據傳輸,便于機器理解和處理。XDI.org[8]是另一個國際性非盈利標準組織,致力于XRI和XDI基本架構的制定和管理。
1XRI的特點
XRI與傳統的資源標志符(如URI)相比,有以下一些主要特點:
a)抽象性。獨立于資源所在位置、創建或管理資源的應用程序、傳輸協議、資源類型進行資源標志。
b)向后兼容。與URI和IRI兼容。
c)統一標志。可為各類資源,如網絡資源、電話號碼、信箱地址等提供一個統一標志符。
d)永久標志。XRI標志符中的部分或全部可以指定為永久不再分配。
e)用戶友好性和機器友好性[5]。XRI語法既提供創建用戶易于理解的標志符,又提供創建易于機器構建和解析處理的標志符。
f)跨上下文標志[5]。同一資源在不同的網絡位置可能有多種不同的具體表示法,XRI為邏輯上相同而物理上處在不同位置(具有不同的上下文)的資源進行統一標志。同一抽象資源標志符(XRI)可以用在不同具體上下文(XRI或URI)中。
g)對資源屬性進行版本標志。一個抽象資源標志符在不同的網絡位置有具體的資源與之對應。為了維持這些資源的一致性,必須要進行數據同步。這就要求不僅將抽象資源作為一個整體進行處理,還要對資源的各個屬性(如電子名片中的電話號碼)分別進行版本標志,以便于進行同步處理。
h)分級授權管理、聯合。XRI體系采用類似DNS的分級授權管理機制,支持任何權威機構授權給另外的權威機構,授權關系可以隨時間變化。兩個(或多個)權威機構可以通過相互的授權聯合成為一個標志符體系。
i)可擴展。XRI標志符的權威部分[5]的各個子部分均可以獨立管理自己的名字空間并可進行擴展。
j)可信解析。XRI解析協議使用了SAML斷言進行可信解析。
k)隱私保護。XRI標志符不含有對被標志資源的語義反映,盡量少地透露被標志資源的信息。
2XRI解析原理
2.1XRI語法
XRI的語法遵循了IRI和URI語法的基本格式。一個標準的XRI包含一個“xri://”前綴及IRI、URI的四個基本要素,即xri://authority/path?query #fragment。舉例說明:xri://@oasis*xri/docs/syntax?section=security#encoding。各語法部分如表1所示。
2.2XRI的解析
XRI解析只解析authority部分。XRI解析結構與DNS[9]的基本相同,只是在更高抽象層進行。DNS將域名解析為文本格式的資源描述,使用UDP;XRI將xri標志符解析為XML格式的資源描述,使用HTTP(S)。
解析請求是HTTP(S)的get請求,其中包含要解析的xri標志符。解析的中間過程,各級權威服務器之間傳輸的是本級權威子部分的資源描述文檔,是XML格式的,稱做可擴展資源描述文檔(extensible resource descriptors,XRDs)[10]。
返回給最終用戶的解析結果的資源描述文檔有四種,即XRDS、XRD、URI列表和HTTP(S)重定向。XRDS是按順序列出權威部分各個子部分的解析結果,每個子部分由一個XRD描述;XRD是指最后一個權威子部分的描述文檔,是XML格式;URI列表是可以提供最終服務的URI列表;HTTP(S) redirect是直接將可用的服務節點頁面返回給查詢請求者,用戶可以預先指定要哪種形式的反饋。
按照功能劃分可以將解析過程劃為解析器resolver、服務器server兩部分。Resolver完成了接收并處理用戶端的解析請求之后傳送給服務器,按照用戶指定的服務類型對服務器返回的資源描述中提供的最終服務提供點進行選擇。Server提供四種類型的解析服務,即直接解析、遞歸解析、可信解析和代理解析。
2.2.1基本解析模式:直接解析
下面通過一個具體例子描述直接解析,具體介紹resolver和server各自功能(圖1)。
與DNS解析相同,首先要配置resolver,設定最初的根權威服務器。按照從左至右的順序解析權威路徑中的各個子部分。例如原始要解析的是xri://@foo*bar,將其通過HTTP(S)的get請求發送至預先設定好的根權威服務器。本例中是@,第一個合法的要解析的子部分是*foo,訪問根權威服務器,如圖1(a)的①所示;返回對foo子部分進行描述的文檔(從中選取下一個權威解析服務節點的URI),如圖1(a)的②,其中返回的XML文檔如下所示。按照用戶在解析請求的HTTP(S) accept header中指定的服務類型及參數進行選擇,從中選取最高優先級的服務節點。如果用戶選擇了MediaType 為application/xrds+xml的服務,則下一次要訪問的服務器(選最高優先級)URI為http://resolve2.example.com,傳送到它的解析請求就是http://resolve.example.com/*bar,如圖1(a)的③;在foo的權威服務器中查找bar子部分,將會返回對bar子部分的描述,如圖1(a)的④。權威部分解析完畢,最后一個子部分bar的描述文檔中會有最終服務節點的URI,就可以訪問最終服務節點了。歸納起來,xri的解析是每次訪問一級權威服務器會返回對本子部分的資源描述文檔(XML格式),從中選取下一次要訪問的服務器地址。將這一過程按照每一個子部分繼續下去,就完成了權威路徑的解析。之后,對最終服務節點的選擇與權威服務節點的選擇一樣,按照用戶在解析請求的HTTP(S) accept header中指定的服務類型及參數進行選擇。給出一個XRDS的例子[10],如下所示:
〈XRDS xmlns=\"xri://$xrds\" ref=\"xri://(example.root)*foo\"〉
〈XRD xmlns=\"xri://$xrd*($v*2.0)\" version=\"2.0\"〉
〈Query〉*foo〈/Query〉
〈Status code=\"100\"/〉
〈Expires〉2005-05-30T09:30:10Z〈/Expires〉
〈ProviderID〉urn:uuid:c9f812f3-6544-4e3c-874ed3ae79f4ef7b
〈/ProviderID〉
〈LocalID〉*baz〈/LocalID〉
〈CanonicalID〉xri://(example.root)!1234!5678〈/CanonicalID〉
〈Ref〉xri://!!4A76!C2F7!9033〈/Ref〉
〈Service〉
〈ProviderID〉xri://!!1000!1234.5678〈/ProviderID〉
〈Type〉xri://$res*auth*($v*2.0)〈/Type〉
〈MediaType〉application/xrds+xml〈/MediaType〉
〈URI priority=\"10\"〉http://resolve.example.com〈/URI〉
〈URI priority=\"15\"〉http://resolve2.example.com〈/URI〉
〈URI〉https://resolve.example.com〈/URI〉
〈/Service〉
〈Service〉
〈ProviderID〉xri://!!1000!1234.5678〈/ProviderID〉
〈Type〉xri://$res*auth*($v*2.0)〈/Type〉
〈MediaType〉application/xrds+xml;trust=https〈/MediaType〉
〈URI〉https://resolve.example.com〈/URI〉
〈/Service〉
〈/XRD〉
〈/XRDS〉
由以上例子可以看到,每個XRD包含若干個〈service〉節點,描述已在本權威機構注冊過的權威子部分的服務信息。從中可以查到對本次查詢權威子部分的描述,如從@權威機構返回對*foo的服務描述。按照用戶要求可以選取其中一個服務,選取這個服務中最高優先級的〈URI〉。繼續查詢接下去待查詢的權威子部分,直到從最后的子部分的服務描述文檔中得到最終提供服務的節點的URI。
2.2.2擴展的解析模式
就服務器端而言,直接解析模式是最基本的。對于可信解析,在直接模式的基礎上,要么用HTTPS提供傳輸層安全以及對服務器的認證,要么用SAML服務器返回經過數字簽名的SAML斷言,證明本XRD的合法性,保證了信息完整性,但不提供機密性。例如,服務介質類型及其參數“application/xrds+xml;trust=https+saml”表示同時使用HTTPS和SAML。遞歸的權威解析,如果解析服務支持遞歸解析,那么resolver可以一次請求全部的權威部分,即多個權威子部分。在解析后續子部分時,server充當resolver向其他權威服務器提出解析請求,也可以從本地緩存中查找,或者解析到本服務器的權限范圍內為止。代理解析是將XRI放在HTTP(S)請求中,構成HXRI[10],如http://xri.example.com/@!a*e發送至代理解析服務器(example.com);代理解析器取出其中的XRI,訪問權威服務器進行解析。這種模式將resolver功能從client端映射到代理解析器(通常為HTTP(S)服務器),既優化了代理解析器的緩存,緩存一個查詢請求的子部分可以為多個客戶端使用,又兼容不能理解純XRI但能處理HXRI的客戶端。對于HTTP客戶端提供了向后兼容性;對不能理解XRI的HTTP客戶端直接重定向到最終服務提供節點的URI。
3目前XRI的應用
3.1Iname和inumber
Iname是XRI標志符的一種,是用戶友好的標志符,類似于域名,但更簡單、易使用。盡管可以長期地標志資源,但也可以像域名一樣進行再分配。與域名最大的區別是每個iname均有一個等同的inumber。
Inumber是機器友好的XRI標志符,可以為個人、組織、數字對象等注冊,是永久不再分配的標志符。因而可以為資源提供永久的網絡標志,不論其具體的網絡位置如何變化。像IP地址一樣,inumber被設計成便于路由器處理和解析。
XRI語法允許iname和inumber共同標志同一資源。Iname代表資源現實世界的語義,可以隨時間變化;Inumber永久標志資源,不論資源屬性(名稱、網絡位置等甚至是iname)如何頻繁變化。Iname或inumber或兩者的聯合均使用相同的基于HTTP(S)的解析協議。
XRI對IP和DNS尋址系統提供向后兼容性。因而IP地址和域名可以用做iname。
Cordance和NeuStar已經合作提供了這種新的標志服務(iname和inumber)。iname被稱做統一數字地址。一個iname可以被解析為其所標志實體的任何類型的聯系方式,如郵件地址、辦公電話、手機、呼機、傳真、主頁等,能很好地滿足個人、企業、團體資源(如聯系方式)的永久、一致性標志的需求,方便跨域、機構進行資源共享。Iname的形式比網址更簡單、不需要專業的使用技術、支持多種語言。
3.2基于iname的服務iservices
Iservices是由標志服務提供者ibroker[11]或第三方服務提供者提供給iname的所有者可互操作的標志服務。只要注冊了iname,就能自動獲得這些服務。
1)單點登錄(single signon service)
只要有iname就可以登錄到每個支持iname的站點。用戶不再需要對不同的網站記錄不同的用戶名和密碼;訪問者可以方便地訪問合作者的站點;再新建網頁時不需要用戶重新注冊;各部門之間能更方便地共享信息。Iname的單點登錄服務與所有流行的單點登錄協議包括Microsoft的信息卡網絡認證技術(新版Windows中使用)兼容。
2)聯系服務(contact service)
Ibroker會為每個iname持有者提供一個特殊的主頁。Iname的持有者可以通過它向外界提供聯系方式,并且可以控制在其中顯示多少信息。發出聯系請求的一方先要提供自己的iname或者郵件地址;Ibroker對其進行驗證,通過驗證后才可以與iname持有者取得聯系。該驗證過程阻止了垃圾郵件。Iname用戶(持有者)在該主頁中不需要透露任何個人信息(包括郵件地址),除了一個已注冊的iname,就可以使其他人與自己取得聯系,很好地保護了隱私。這種主頁已經被各大搜索引擎如Google、MSN等編入索引。企業用戶可以安全地對外界提供聯系方式。客戶的聯系請求被直接發送至企業內各個部門的iname相應的主頁,從而準確地接入各部門(如工作申請、調查)。團體成員間很方便地通過各自的iname與綁定的主頁進行交流。
3)促進服務(forward service)
Iname不僅為其持有者提供了網絡上的永久標志,而且也可以為持有者想標志的任何實體提供網絡上的永久標志。用戶用iname登錄后,選擇forwarding頁面新建forward name:首先選擇一個用戶持有的iname;然后可以選擇或者直接輸入一個附加在該iname之后的標簽(如用戶要標志自己的blog,則該標簽可以選擇blog),iname附加用戶選擇的標簽構成了一個新的基于iname的永久連接ilink;最后填寫該ilink具體要指向的URL(如用戶的blog頁面)。促進服務進一步對用戶持有的資源提供了永久標志。用戶可以為自己的blog、簡歷等建立持久的標志;企業用戶即便重組了公司、更新了網站,這些連接依然有效;通過指向其他網頁增加了本網頁的搜索權重。
4與現有數字尋址技術對比分析
當前的網絡架構中,常用的兩類資源標志符為用戶友好的域名(domain names)和機器友好的IP地址。正如XRI提出的初衷描述的,XRI是建立在DNS之上的第三層(IP第一層、DNS第二層)、抽象的資源標志符。
從對資源進行標志的角度講,XRI抽象標志符較現在常用的具體資源標志符(URL、domain names等)有如下優越性:
a)資源永久標志,連接永不失效。對企業內部經常更換目錄的資源提供獨立于其具體目錄位置的永久標志;為企業以及其客戶、供應商、合作伙伴、股東雙方都提供了永久標志,便于雙方保持長久的合作關系,而且對聯系方式的變更進行自動更新,不像傳統的地址維護方式那樣耗時耗力;對于企業對外提供的網絡服務及關鍵的應用軟件或服務永久標志,服務提供不會因為其名稱或位置的改變而中斷。
b)抽象標志符可以用一個XRI標志多種具體資源,如對于個人用戶,一個iname可以統一標志他的所有聯系方式:電話號碼、手機、郵件地址、個人主頁等。而且,用戶不是簡單地對他的所有聯系設備加和。用戶可以通過iname自主地維護自己的關系網絡,可以控制哪些主體可以聯系到自己以及通過何種方式進行聯系。
c)將處于不同應用上下文中的相同資源用一個抽象的XRI標志,實現了跨上下文進行資源標志。以一種標準方式對處于不同物理上下文的、邏輯上相同的資源提供抽象標志,如定位在不同服務器上的相同文件、查找在不同賬目系統中的相同票據是非常有用的。對資源進行了這種抽象標志之后,現在的關鍵詞或自然語言檢索技術能夠對其進行更高精確度的查找,便于編程實現資源的查找、索引和處理。這一特性要求具體的資源標志符與抽象標志符能夠結合使用。例如使用抽象標志符management team表示一個抽象概念(將一類對象抽象出來表示),將其與某個具體主頁的URI結合起來構成公司頁面上這一類資源的一個著名標志。這樣,對一類資源的查找更精確。當搜索引擎進行查找、網絡爬蟲選取網頁都可以比原來做得更智能和專業化。
從標志服務角度講,目前已經實現的iname注冊解析服務以及基于iname的標志服務iservices也有如下優點:
a)抽象標志符iname盡可能少地透露被標志實體的信息,如電話、郵箱地址、資源所屬種類等,盡量少地含有對被標志實體的語義反應,為用戶信息提供隱私保護。
b)對于相像的標志符申請經過嚴格的審核,較DNS提供了反釣魚保護,安全性更高。XRI的隱私保護和安全性支持未來的網絡應用,尤其是在網上進行數字標志和基于此的關系網的管理。
c)每個iname都綁定了數字標志服務iservices,而且數字標志服務可以由任何提供者在任何時間引入,不需要改變已有的結構。對于DNS,目前沒有與域名或郵件地址相綁定的服務,引進新的服務(如DNS服務類型)需要長期的標準化和軟件升級。
d)基于國際化字符集。Inames 使用 W3C/IETF IRI標準,得到了國際化字符集的支持。Iname技術完全建立在互聯網標準OASIS、IETF、W3C之上,易于推廣。
5結束語
綜上所述,XRI比DNS有優越性,如資源永久、統一標志、安全性較高等;而且基于HTTP(S)、XML,與現有乃至未來的網絡都能很好地兼容。Cordance公司聯合NeuStar公司和AmSoft公司已經實現了基于XRI技術的iname注冊解析服務。隨著標準組織OASIS制定的相關標準不斷完善,XRI這一新的尋址技術具有良好前景。
參考文獻:
[1] LEE T B,FIELDING R,MASINTER L. RFC 3986,Uniform resource identifier (URI):generic syntax[S].[S.l.]:Xerox Corporation, 2005.
[2]DUERST M, SUIGNARD M. RFC 3987, Internationalized resource identifiers (IRIs)[S].[S.l.]:Microsoft Corporation,2005.
[3][EB/OL]. [2006]. http://www.oasisopen.org.
[4] [EB/OL]. [2006]. http://www.oasisopen.org/committees/xri.
[5]WACHOB G, REED D, LEMAITRE M, et al. XRI requirements and glossary, version 1.0[S]. [S.l]:OASIS, 2003.
[6][EB/OL]. [2006].http://www.oasisopen.org/committees/xdi.
[7][EB/OL]. [2006]. http://www.thedataweb.org.
[8][EB/OL]. [2006]. http://www.xdi.org.
[9]MOCKAPETRIS P. RFC 1034,Domain namesconcepts and facilities[S].[S.l]:ISI, 1987.
[10]REED D, WACHOB G, RAE L. Extensible resource identifier(XRI) resolution, version 2.0[S].[S.l]:OASIS, 2006.
[11]Cordance and NeuStar:becoming an ibroker[EB/OL].[2006].http://www.inames.net/resources/BecomingAnIBroker.pdf.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”