新四季網

包括可攜式數據處理單元的數據交換系統的製作方法

2023-05-14 00:44:21

專利名稱:包括可攜式數據處理單元的數據交換系統的製作方法
技術領域:
本發明涉及包括多個數據處理單元的數據交換系統,其中一些可攜式數據處理單元建立臨時通信鏈路,而其它不可移動的單元則可具有永久性通信鏈路。這些處理單元包括數據通信裝置、處理裝置及存儲裝置,後者包含執行程序。
這種系統是從國際專利申請WO-A-87/07063中已知的,其中描述了用於具有多個應用文件的可攜式數據載體的系統。這一可攜式數據載體的最重要應用之一為適合於多種應用的智慧卡(smart card)。已知的數據載體被描述為帶有安全特徵以支持該數據載體上的多種應用的分層結構數據的載體。應用被看作數據集。本專利申請描述在數據載體上實現分層文件系統以便存儲可改變的數據並結合存取許可的分層集。該數據載體響應一組公共命令。文件存取許可對不同的操作是有區別的,並依賴於口令的檢驗來授權。引入了口令檢驗嘗試計數器以及設置存儲數據破壞以防止太多次存取嘗試。已知的數據載體是主要作為存儲裝置而不是作為處理器提供的。執行程序只能執行諸如二進位邏輯運算等非常簡單的功能。不可能允許基於與該數據載體通信的終端的請求執行未規定的操作集。唯一的安全選擇為引入口令檢驗。在已知的系統中不可能進行其它存取條件檢驗。此外,數據載體的各應用在該數據載體的存儲裝置內有其自己的文件。沒有採取特別措施來增進可利用的存儲空間的效率,尤其在智慧卡上該存儲空間是非常受限制的並因此限定了可能的應用的數目。
EP-A-0,479,655涉及智慧卡中存取條件檢驗的實現。公開了用於這一目的的一種規範技術,然而,希望提供包含其它存取條件檢驗的可能性的措施。
EP-A-0,361,491涉及允許卡的受保護的(再)編程的晶片卡編程系統。它描述了使用一次性寫存取條件來控制存取部分要編程的可編程存儲器。以這一方式單個卡上應用的數目可以增加。描述了用包含密碼協議在內的各種技術進行存取條件檢驗。
EP-A-0,292,248涉及採用不可改動的作業系統程序在智慧卡上加載應用。它包含使用帶有指定的存取屬性的存儲區的數據存取條件強制方法的實現。特定的存取條件為「一次性寫」(只是隱含地描述的)及「只能執行」。
US-A-4,874,935涉及採用數據字典的卡編程,其中數據字典描述存儲在卡的存儲器中的數據元素的布置。數據字典通常被理解為與目錄的不同之處在於,數據字典不僅描述實際存儲的數據,也描述以後要存儲的數據。此外,數據字典通常包含數據格式的描述。資料庫管理系統中使用編譯格式數據字典,將它們存儲在硬碟上作為資料庫的一部分。它們也可在軟體開發環境中從程序編譯得出的目標加載文件中找到。然而,該專利並未提出特別適用於智慧卡的數據字典的描述。
EP0466969A1涉及通過保留一部分卡的存儲器作為狀態信息存儲器並提供特定裝置來實現控制狀態轉移的狀態機來提供智慧卡執行程序中的功能以支持智慧卡與終端之間的一序列報文的正確傳送。這些狀態信息在確定收到報文時執行的動作中是起關鍵作用的。接受了可變序列報文的狀態機是在計算機語言編譯程序設計及計算複雜性理論中眾所周知的。該專利並未提出實現對同時駐留在智慧卡中的若干可能的應用特定的可變的可能動作組的可能性。
本發明的主要目的為提供正規地、精確地與唯一地描述一個系統的裝置,該系統由信用處理單元(trusted processing units)以下述方式組成,即這些處理單元在進行它們之間的通信時將發揮作用,其中這種通信是旨在傳送值或其它信用信息的。數據處理單元之間的可能通信模式的這種全面描述既可應用於作為整體的系統,也可應用於單個處理單元的詳細操作。這種正規描述提供了在實現的正確性驗證中的正規推理的基礎,這對於系統在全世界的推廣將是必要的。
本發明的另一目的為提供最佳地克服可攜式數據處理單元尤其是智慧卡上的可利用存儲空間的有限物理大小所施加的限制的裝置。
本發明的又一目的為提供程序代碼的受保護加載的更通用的機構並允許這一加載能用於多個程序,每個程序用於各可攜式數據處理單元的一個應用。
此外,本發明旨在提供不是可攜式處理單元的製造商所規定的而是應用設計的人員為了適應其特殊需要而選擇的存取條件檢驗的使用。
此外本發明還旨在提供一種機制來保護處理單元之間的通信,使得內容與有次序的序列不能受到任何中介裝置的幹擾。
因此,按照本發明的系統的特徵在於,處理單元總體的存儲裝置還包括作為「交互作用上下文(interaction context)」的數據處理單元之間的可能通信模式的描述,其中包含按照下述數據結構構成的描述性數據a、每當一個數據處理單元與一個或多個其它單元通信時接受的一組基本的各別通信原碼;b、定義響應所接受的通信原碼所要執行的動作的一組過程描述;c、永久性存儲的或被計算的一組數據元素,在執行過程描述中所定義的過程時可以獲得它們以供使用;d、一組對數據元素的引用,這些引用是與過程描述關聯的,所述數據元素能被可能的其它交互作用上下文存取,並且在執行過程描述所定義的過程時可獲得它們供使用;e、一張可能是空的數據表,包括對數據元素的引用的可能有序組,它們是可利用來作為與通信原碼關聯的過程描述所使用的通信原碼的一部分供明確引用的;f、一組與數據元素關聯的存取條件,它們是與結合過程描述所引用的數據元素結合查詢的;g、與數據表中的數據引用表關聯的一組存取條件。
通過以這一嚴格的框架來組織進行信用處理單元通信的系統的描述,裝置之間的可能通信的操作條件與效果便完整地與窮盡地得到了描述。用結構元素的正規精確語義定義擴大之後,數據便成為適合於正規推理的,並因而本系統的實現變得更適用於正確性的正規檢查。為這一目的,所有數據沒有必要駐留於單個的處理單元的所有存儲裝置中。在使用這些數據之前將它加載進處理單元便已足夠。數據的安全加載是包含在本發明中的。
在第一較佳實施例中,上述數據交換系統中的單個的處理單元的特徵在於,該處理單元的存儲裝置還包括至少一個包含下述相關數據結構的交互作用上下文
a、每當一個數據處理單元與一個或多個其它單元通信時接受的一組基本的各別通信原碼;b、定義響應接受的通信原碼要執行的動作的一組過程描述;c、永久性地存儲或被計算的一組可能是空的數據元素,在執行過程描述中所定義的過程時可獲得它們供使用;d、對數據元素的一組可能是空的引用,這些引用是與過程描述關聯的,所述數據元素可以被可能的其它交互作用上下文存取,並且在執行過程描述所定義的過程時能獲得它們以供使用;e、一個可能是空的數據表,包括對數據元素的引用的可能有序組,它們是可利用來作為與通信原碼關聯的過程描述所使用的通信原碼的一部分供明確引用的;f、與數據元素關聯的一組存取條件,它們是與結合過程描述所引用的數據元素結合查詢的;g、一組與數據表中的數據引用表關聯的存取條件;h、其中數據單元包含一個以上的交互作用上下文,它所接受的至少一個通信原碼將有選擇地指示所述交互作用上下文之一以便在接受該通信原碼的處理單元中進行進一步引用。
通過以這一方式定義可攜式處理單元的存儲裝置內的數據,實際上將處理單元組織成為處理器,即,它不僅允許加與減,並且還執行由例如銀行職員等被授權的人員加載在處理單元中的處理過程。通過提供可響應接收的命令提供任意複雜的操作的過程,及提供能作為這些命令的一部分尋址的存儲的數據元素的明確的表,能優化使用通信帶寬;導致交換的命令數目的減少。按照本發明的系統,該系統的許多實際使用只需要交換兩條命令。唯一固定的事物便是存儲裝置內的結構,它是這樣定義的,可以以非常高效的方式增加單元的若干應用,即通過利用儘可能小的附加存儲空間。如果該單元是受可利用的存儲空間的嚴重限制的智慧卡,這一點尤其重要。此外,按照本發明的結構提供一切可能性來包含安全性措施,以便禁止未被授權的人存取他們無權使用的進程或數據。
如果包含多個交互作用上下文的處理單元進一步以下述各點為特徵便能實現本發明的有利實施例該組過程描述中至少包含一個響應通信原碼執行的第一過程描述,它指示所述交互作用上下文之一以便在接受該通信原碼的處理單元中進行進一步引用,這一執行導致所指示的交互作用上下文的正確激活。這一上下文激活過程的描述能有利地用來定義與選擇上下文關聯的安全要求,及執行存儲裝置的易失性部分中的任何安全與操作數據的初始化。
包含多個交互作用上下文的以下述各點為特徵的處理單元可獲得進一步的優點該組過程描述中至少包括響應通信原碼執行的一個最後過程描述,它指示所述交互作用上下文之一以便在接受該通信原碼的處理單元中進行進一步引用,這一執行導致在接收通信原碼時所指示的交互作用上下文的正確去激活。這一去激活過程將控制給予即將通過接受通信原碼接替的應用。這在應用意外中止時給予應用設計人員執行存儲器內容清除及圓滿結束操作的機會。
在另一較佳實施例中,以上定義的數據交換系統的特徵在於存儲裝置還包括至少兩個交互作用上下文,至少一個應用描述及存儲對當前正在實施中的交互作用上下文的引用的存儲器元素,各應用描述包括a、包含對數據元素的引用的數據表,這些引用可被兩個或更多交互作用上下文存取並且可以由附加的數據元素擴展;b、與所述引用或所述附加數據元素關聯並定義使用限制的另一組存取條件。
通過這些措施,凡是對不同的交互作用上下文公用的數據元素的引用對於所有這些交互作用上下文都是可存取的,所以它們只需要存儲一次,因而節省了存儲空間。並且對所述數據引用的公用存取條件也是預定的交互作用上下文可存取的。因此,這些公用存取條件也只需要存儲一次,藉此節省存儲空間及提高效率。
各應用描述還可包括過程庫,庫中包含可由與各所述應用描述關聯的各交互作用上下文的過程描述使用的代碼。
最好,該處理單元只使用少量附加存儲空間便適用於至少兩個應用。為了達到這一目的,按照本發明的數據交換系統的特徵在於該存儲裝置包括至少兩個應用描述以及可由各應用描述內的各交互作用上下文的過程描述或各應用描述內的各過程庫的各執行代碼單元使用的執行代碼單元。
最好,過程庫中的執行代碼單元能通過包含它們的操作參數的使用說明而得到增強,參數的類別與在計算中作為實際值傳送的數據元素的屬性有關,這種計算只有在數據屬性與參數類別匹配時才能進行。這是在數據級上及功能級上的存取條件檢驗的高效方法,對於它存在著非常高效的實現。
如果按照本發明的數據交換系統具有下述特徵,該系統提供更大的可靠性執行程序包括對默認交互作用上下文的引用,該上下文用於將存儲當前正在實施中的交互作用上下文的引用的存儲器單元初始化,以便在恢復到操作的正常狀態中檢測到內部不相容之後,或者在每當執行程序被啟動但從類似的數據處理單元接收的通信原碼未曾指定明確的交互作用上下文時,便執行一最後的動作。
為了進一步增進過程描述、過程庫、代碼片段及執行程序的實現的緊湊性,按照本發明的數據交換系統的特徵可在於執行程序包括構成用於抽象的處理器的編碼指令的解釋器的例程,使得大多數過程描述及某些執行代碼單元是以數字值編碼來供所述解釋程序例程解釋的。除了執行程序提供的抽象代碼解釋程序協助正規檢驗所實現的功能的正確性之外,抽象設計的指令集及少量小的實現例程的使用也可使這種檢驗更好地適用於推理與證明生成的正規方法。
帶有關於交互作用上下文描述及應用描述符的存儲的緊湊性的進一步優點,按照本發明的數據交換系統的特徵可在於將過程描述編碼成在由執行代碼單元組成的過程庫中所包含的過程的子集上的表中的索引。具體地在當前的發明的上下文中,這些調度表可配置成具有這樣的優點,由於數據結構的性質,各別的過程描述的數目通常非常小,例如小於16,使得本系統可進一步具有下述特徵過程描述的編碼是很小的值,使得存儲裝置的一個基本存取單元中能存儲一個以上的描述,或者在同一存儲器存取基本單元中可將描述與其它有關信息組合。為了解決在單一交互作用上下文內的過程描述的數目大於編碼空間直接容許的數目這種罕見的情況,按照本發明實現的系統能有利地採用間接引用的附加級,使得其特徵在於過程描述的至少一個編碼值訪問執行程序的一個特殊功能,該特殊功能是設計成通過加入結合用所述特殊值編碼的過程描述存儲的附加編碼信息,來為編碼過程描述間接選擇實際執行的功能。執行上下文數據結構中的數據的這種附加的存儲緊湊性是有利的,特別是考慮到存儲裝置通常需要存儲可觀數量的不同應用及上下文描述。
為了增進處理單元內的數據與功能的安全性,按照本發明的數據交換系統可包含下述特徵存儲器裝置包括專用於包含個人標識號的交互作用上下文,及執行程序配置成檢驗由該數據交換系統的用戶提供的個人標識號。
有利地,個人標識號管理交互作用上下文及默認上下文可作為同一設備持有人應用的一部分實現按照本發明的設備用來通信的大多數設備對這一應用的支持給予設備擁有者觀察其存儲在設備存儲器中的個人數據的機會,例如可以允許智慧卡的持有人在提供適當用戶界面的任何智慧卡終端上修改其PIN。
在具有下述特徵的按照本發明的數據交換系統中能提供用於以描述交互作用上下文及應用的數據加載存儲裝置的密碼保護方法的選擇的有利的通用性存儲裝置包括至少一個專用於管理同時包含在所述存儲裝置中的其它交互作用上下文的號碼與內容的交互作用上下文。市場可能要求提供帶有不同的安全級及運算複雜性的通用性的可攜式處理單元以便在同一卡上加載不同的應用以及為發卡組織建立不同產品的選擇,這些都是按照同一基本應用內部結構建立的,例如由本發明提供的。當前很少有對這一問題的解決方案,並且通常是基於作為執行程序的整體部分實現的適當特殊功能的,既不提供統一的方法也不提供選擇範圍。
各應用描述可包含一張數值表,它是為了為所有交互作用上下文提供標識符而構成的並且包括下述數值中至少一種指示應用類型的第一數值、指示提供該應用的實體的唯一標識的第二數值、指示該應用描述的性質的第三數值及各唯一引用與應用描述關聯的一個交互作用上下文的其它數字。
唯一地引用一個交互作用上下文的數值串提供在兩個通信設備之間建立互相協作性的措施,這比當前為諸如智慧卡設想的將賦予各交互作用上下文唯一值的責任轉移給供應應用的實體,同時將賦予實體與應用唯一號碼的責任分別留給相關的地區與國際公司團體更為高效。供應應用的實體能有利地分配唯一的上下文號來加入實現版本及秘密密鑰生成信息。
按照本發明的數據系統可以實現成使其特徵在於可將數據通信裝置配置成以包含至少兩部分的數據塊構成數據交換,第一部分為操作性的數據,用它來影響由通信原碼所指示的命令所執行的操作的性質或從進行的操作得出的數據,第二部分為安全性的數據,用它來確定執行操作的適當性或操作部分內的數據的可接受性,以用於操作或用來證明操作的完成或得出的數據的正確性。這些適當性、可接受性、證明與正確性是通過在數據上執行相關的加密操作得出的。
數據交換中的這種報文結構以及執行適當的操作定義之前及之後的加密計算的次序為保護在數據交換的協議上不受中間攻擊提供一種機制。具體地,它能用來消除對各處理單元的存儲裝置中明確地保持安全狀態的要求,因為它允許包含在指定安全性的部分中各報文中的數據作為加密編碼狀態信息進行交換檢驗加密條件安全地初始化狀態變量,這些變量只需在存儲裝置中存儲到發送應答報文為止,減少將這些狀態信息暴露給竄改企圖的時間。最後,這一報文結構允許端對端安全性的更自由的使用,其中通信中的安全性不依賴於任何中介設備。
從而使鑑別與數據保護成為命令執行的整體部分,而提供比在諸如智慧卡等當前系統中可獲得的更好的安全性。
可將執行程序配置成接收到執行當前交互作用上下文中指定的操作的通信原碼時,執行作為預定的與固定的動作序列的一部分的各操作,各動作是作為與接受的通信原碼關聯的過程描述的一部分分開指定的,該過程描述至少包括下述動作的各別描述(其中任何一個都可以是空的)a、通信原碼的使用授權;b、解密操作數據或其任何部分;c、執行帶有輸入數據的命令;d、加密從任何執行的操作得出的任何操作數據;e、計算任何執行的動作的完成的證明或要在安全計算中使用的得出數據的正確性。
如果數據處理單元在初始化數據傳輸時生成用作加密計算的基礎的隨機事務處理數目,安全性便能得到進一步增強。
為了提供在需要時進入新的交互作用上下文的可能性,可將一個指定的值分配給一通信原碼,該值便將永遠被解釋為進入新的交互作用上下文的請求。
在另一較佳實施例中,按照本發明的數據交換系統的特徵在於,它包括由該數據處理單元的相同元件構成的另一數據處理單元,在其存儲器中可選擇地包含一個應用程式員界面,該界面由程序代碼組成,該程序代碼設計成允許實現附加電腦程式以便使用戶對交換的通信原碼序列進行控制或影響在其中傳輸的數據或獲知或進一步處理在交換中所接收的數據。
在本發明的這一較佳實施例中,用來進入指定的交互作用上下文的通信原碼可包括要在隨後的通信中的安全計算中使用的數值,處理單元之一隨機地或以類似的獨特性質生成第一個值以及有可能的第二個值用來證明所述的一個處理單元的真實性或者識別所述的一個處理單元。
為了進一步從本發明中得到好處,可將各通信原碼進一步構造成包含兩個或更多數值,這些數值增強供執行程序解釋的通信原碼的表達能力。
作為第一種替代,除了發送復位信號的第一個以外的各通信原碼可由兩多或更多數值組成,用第一值來引用與該通信原碼關聯的動作的過程描述,第二值是由固定數目的二進位值組成的,執行程序將其中每個二進位值解釋為對單一數據元素的引用。
作為第二種替代,除了發送復位信號的第一個以外的各通信原碼可以由兩個或更多數值組成,用第一值來引用與該通信原碼關聯的動作的過程描述,用第二值以下述方式來確定可供在激活的交互作用上下文中外部引用的數據元素中的哪些在執行應答動作時將被使用,即如果任何數據元素包含與所述第二值匹配的值或者包含足以指示它的一個值時,便選用該元素。
作為第三種替代,除了發送復位信號的第一個以外的各通信原碼是由兩個或更多數值組成的,用第一值來引用與該通信原碼關聯的動作的過程描述,第二值由若干二進位值組成,執行程序分配給它們特定的意義供在解釋通信原碼中的數據格式中或執行應答動作中使用。
上述可攜式處理單元可在智慧卡或PCMCIA卡中實現。
在本發明的進一步精心製作中,通信裝置利用外部通信裝置來建立數據鏈路,數據處理單元或接納實現數據處理單元的PCMCIA或智慧卡的這種類似電子設備使這種外部通信裝置可被數據處理單元利用。
在本發明的替代中,數據處理單元是實現為可攜式個人計算機的。
通信裝置可利用智慧卡閱讀器或PCMCIA卡槽。
此外,通信裝置可主要或附加利用用電磁場c.q.粒子的非接觸性數據傳輸。
上面定義的上下文機制及它使之能利用的技術帶來智慧卡使用的更廣闊的範圍及智慧卡應用開發的方法,它們比傳統方式具有若干優點。
首先,它允許執行智慧卡中的應用特定程序代碼而無須為對其它應用存儲的數據的安全性的潛在威脅徹底檢驗代碼。由於與數據一起存儲在卡上的存取條件受到卡作業系統的加強而在應用代碼的執行期間不存在外界幹擾的可能性,多應用卡方案不需要程序代碼檢查當局。這一當局是在傳統的智慧卡中允許私用代碼執行設施的唯一方法。通過批准在卡上執行代碼,檢查當局對整個系統的安全性承擔可靠性;這使得多應用智慧卡方案的管理複雜得多。關聯的複雜性與成本使得傳統的卡方案中的應用特定代碼幾乎不可行。利用這一新技術便能滿足智慧卡應用供應商對這一設施的需求。
第二,作為卡中的受保護的應用特定程序的直接結果,便能實現專用於在卡中加載其它應用的一個特定應用。以這一方式,一旦將應用加載在卡中,便能受到保護免遭加載它們的那個應用竄改。這一保護給予參加多應用卡方案的各方尤其是發卡實體及應用供應實體達成他們的商業協議的基礎。正是基於諸如各卡上所需的存儲器量、要裝備的卡的數目及卡上的應用的持續時間等實質性事物而不是「信用」及「好好保管」等抽象概念,使得應用供應商合同比在傳統實現的智慧卡中更容易制訂。然而,發卡商與應用供應商並不需要共用秘密密鑰,及用合同義務與互相同意的密鑰運送設施來保護這一共用。
第三,根據新技術實現的應用軟體與先有技術智慧卡作業系統相比具有若干優點·在終端與卡之間只需要最少的數據交換來建立卡與終端之間的協作,例如它們支持相同的應用。要交換的數據值可以構造成如在國際標準ISO7816-5草案中所建議的;·為了完成卡與終端之間的一項事務能夠實際使用理論上推算出的最小數目的數據交換,因為該事務是作為專用計算完成的,無須使用冗長的標準命令序列;·它允許對數據的受控存取,無需如當前正在使用及建議標準化的由目錄支配的複雜的存取路徑及所有應用共享的文件層次結構;·如果終端與智慧卡應用合作便允許開發,這種開發過程可用諸如編譯程序及仿真程序等計算機軟體工具來支持。從而卡與終端軟體的設計與實現能上升到當前需要的麻煩的與易出錯的彙編碼以上。
·允許設備標準化,卡與終端都一樣,使用抽象體系來描述設備能力,給出面向未來發展的靈活性,諸如卡或終端製造商提供的新特徵。標準化的終端能力可能包含API(應用程式界面)。與智慧卡中當前的標準化不同,當前的標準化工作集中在規定報文的固定的數據內容上以便提供以標準確定的方式解釋的標識數據,這樣做留給新發展的空間太小。
最後,利用新技術,便給予了智慧卡作業系統的實現者以設計卡的作業系統核心及終端作業系統的最優實現的極大自由度。給予了智慧卡硬體設計者若干選擇來優化帶有對包含在系統核心中的基本操作的硬體支持的矽晶片使用。從上面定義的專門化設計開始得到的硬體成本降低能大於基於通用單片計算機上的改進所能得到的。
下面參照示出本發明的基本原理的實現實例的附圖,詳細描述本發明。


圖1示出智慧卡上基於分層組織的數據元素的集合的現有技術應用設計;圖2表示一個可攜式處理單元與一個類似處理單元之間以當前作為標準接受的格式的通信流的圖;圖3表示在諸如智慧卡或PCMCIA卡等可攜式處理單元及諸如卡終端或可攜式個人計算機等較穩定的處理單元中使用交互作用上下文的本發明的基本構成;圖4表示執行上下文的實際組織的實例,強調了包含在交互作用上下文中的過程描述與在執行這些過程時使用的數據元素與庫函數之間的不同關係;圖5示出在執行通信原碼所調用的過程描述中所包含的程序執行控制與安全上下文切換的流程圖的實例。
圖1中描繪了現有技術系統中的數據與文件結構。基本上具有連接在若干基本文件3及一個或多個專用文件2上的主文件1。各專用文件可連接在一個或多個其他的專用文件2及一個或多個基本文件3上。現有技術使用目錄與文件的樹形層次結構。現有技術結構中的從屬級的數目原則上是不受限制的。圖1中使用的術語取自國際ISO標準7816-4。按照如圖2中所示的可攜式數據處理單元5與類似的數據處理單元4之間的通信流的標準格式,通信包括一組成對的塊。通信由來自數據處理單元4的復位信號mΦ啟動。這一復位信號可在通信帶寬以外,例如由數據處理單元5中的加電邏輯生成但概念上還是報文的有序交換的一部分。可攜式數據處理單元5用對復位的應答(ATR)m1應答,可能後面跟著內容。所有後面的塊m2、m3、…m(n-1)、mn的對包括以各別的值為首後面跟著內容的塊並構成不同的通信原碼。
圖3示出了根據本發明的兩個數據處理單元的內部結構,這兩個數據處理單元通過發送和接收數據互相通信。左邊的數據處理單元4可以是一終端,右邊的數據處理單元可以是例如智慧卡的可攜式數據處理單元。然而,本發明也適用於兩個或更多能夠用適當的通信裝置或適當的連接拓樸互相通信的可攜式數據處理單元。
各數據處理單元4、5包括數據通信裝置7、14,通過它們可以交換數據的結構塊。各數據處理單元包括處理裝置8、15及存儲裝置9、16。存儲裝置9、16可以是只讀存儲器(ROM)、隨機存取存儲器(RAM)及諸如電可擦除可編程只讀存儲器(EEPROM)等可編程只讀存儲器的任何配置。
存儲裝置9、16包括執行程序12、17,這裡用「MAXOS」表示。如果可攜式數據處理單元5適用於兩個或更多應用,存儲裝置9、16便包括應用描述13(1)…13(n),18(1)…18(n)。應用描述與數據處理單元相關的應用一樣多。各應用描述用「CSA」表示。圖3中以放大比例尺示出第二應用描述13(2)、18(2),以便顯示各應用描述的內容。各應用描述13(i)、18(i)包括至少一個「交互作用上下文」11(1)…11(m),19(1)、…19(m)。各交互作用上下文用「CTA」表示。用放大比例尺示出這些交互作用上下文中的第一個11(1)、19(1)以便顯示它們的內容。各交互作用上下文包含
-指定由交互作用上下文識別的通信原碼並引用在一組過程中指定的適當過程的一組命令;-一組數據;-對位於其它交互作用上下文(如果有的話)中的數據的一組數據引用;-可由執行程序12、17執行的一組過程;-對數據元素的一組存取條件;-關於其它數據處理單元所發布的命令要使用的數據元素的一組外部引用;-可選用的開發人員指定的其它表。
最後,存儲裝置9、16包括存儲單元21、20,其中包含對「當前CTA」,即當前實施中的交互作用上下文的引用。
一個應用描述中若干交互作用上下文的意圖是在數據處理單元4、5之間的可能的交互作用中提供功能分離。當功能分離也是安全條件的分離時,這尤其合適。其示例可以是智慧卡與終端之間進行第一交互作用以便打開門,而在編程被允許打開的門時進行第二交互作用。第二交互作用比第一交互作用需要更好的安全性,並賦予它自己的交互作用上下文。為了對交互作用上下文進行存取,第一步便是保證可在交互作用上下文內執行的操作的安全性。
圖4示出實施作為展示數據元素、存取條件與過程之間的關係的存儲器組織模型顯示的上下文機制的實際方案。每當存在可攜式數據處理單元5的兩個或更多的應用時,圖4的結構便適用。如果只有一個應用,該結構可大為簡化,如稍後要說明的。圖4中描繪了數據處理單元5的參考數字。然而,圖4的結構同樣適用於數據處理單元4的存儲裝置9。圖4中最優地組織了數據元素描述與過程描述,以反映在構成一個應用(CSA)的不同交互作用上下文(CTA)之間的程序代碼共享與數據共享。
存儲裝置16包含數據元素H(1)…H(7)、作為作業系統的一部分的可執行代碼元素G(1)…G(5),及應用描述18(1)、18(2)(CSA1、CSA2)。圖4中,省略了作業系統內部的數據與代碼。圖4中提供的數據元素、可執行代碼元素及應用描述的數目只是作為示例給出的這些數目可根據實際需要改變。
各應用描述18(1)、18(2)物理地出現在存儲裝置中。它們提供抽象的第一底層以反映存儲器使用。各應用描述18(1)、18(2)包含-由可執行代碼F(1)…F(4)組成的過程庫,該可執行代碼可如箭頭P(1)…P(5)所示引用作業系統為這一目的提供的代碼元素;-供當前應用描述18內的交互作用上下文19(1)…19(2)內的過程使用的數據元素E(1)…E(7)的表。這一數據表包含數據存取條件及指向存儲數據元素的存儲區的指針q(1)…q(7);-包含若干交互作用上下文描述19(1)、19(2)的交互作用上下文表。
圖4中所示的應用描述18(1)內的過程庫、數據元素表及交互作用上下文表內的元素數目只是為了表示的目的。當然,元素的數目可根據所要求的應用改變。
參加數據交換的處理單元4、5中的交互作用上下文19(1)、19(2)的內容及應用描述18(1)數據結構是互補的,即來自一個單元的應答被另一單元解釋為命令。通過這一互補性質可從單一的文本描述生成數據結構的儘可能緊湊的編碼內容。數據交換系統通常包括帶有不同目的的處理單元的許多構成,它們在系統操作過程期間為了數據交換而進行通信來完成這一目的。各處理單元的存儲裝置中可以只包含與其在系統中的預期目的相關的數據結構部分。作為整體的系統是用交互作用上下文的所有不同內容的集合描述的。某些交互作用上下文或它們的一部分內容也可在任何時刻根據需要加載。這種加載可以安全地進行,例如受到上面提到的管理應用保護的。
交互作用上下文19(1)、19(2)物理地出現在存儲應用描述18(1)的存儲裝置中。邏輯上,交互作用上下文提供第二層存儲器使用控制。這一第二層與應用描述層提供的組合控制為諸如智慧卡等可攜式數據處理單元有效地實現了執行上下文機制。各交互作用上下文19(1),19(2)包括-過程描述C(1)…C(5)的表。這些過程描述可引用應用描述18內的過程庫中的過程描述,如示例箭頭S(1)所示。此外這些過程描述可引用由作業系統提供的可執行代碼元素G(1)…G(5),如示例箭頭t(1)所示。作為另一種替代,這些過程描述可包含對過程在執行期間所使用的、並出現在相關的應用描述18的數據表中的任何數據元素的明確引用,如箭頭r(1)…r(6)所示;-包含相關的交互作用上下文中的過程可以使用的專用數據元素B(1)…B(5)的數據表。數據元素表示為對帶有在存取實際數據時要遵循的有關存取條件的相關應用描述18的數據表的引用,如箭頭u(1)…u(5)所示;-包含由相關的交互作用上下文19(1)、19(2)作為命令接受的通信原碼A(1)…A(4)的外部接口表。通信原碼內的各命令引用相關的交互作用上下文內的過程表的若干過程描述C(1)…C(5),如箭頭V(1)…V(4)所示。命令在被通信設備4發布時可用命令後面的一個或多個地址引用該應用描述的數據表中的元素。各命令可伴隨有數據元素作為對命令處理的輸入。這裡給出的地址數目只是示例性的,並且是根據各命令的實際需要確定的。
數據元素的保護是通過提出存取條件提供的。通信原碼A(1)…A(4)內的任何外部命令只能尋址相關的交互作用上下文19的數據表中所引用的數據元素。只有在滿足存取條件時才允許存取。這些存取條件規定允許命令進行的存取類型;這種存取條件可以是不得存取、只讀存取、讀與寫存取及秘密密鑰使用。其它存取條件也能應用。例如,通信原碼A(1)的命令可通過引用箭頭W(2)對數據元素B(2)進行只讀存取,而通信原碼A(2)的命令可通過引用箭頭W(3)對同一數據元素B(2)進行讀與寫存取。
過程描述C(1)…C(5)可引用相關的應用描述18的數據表中的數據元素,而不能引用其它的。再說一次,只有在滿足存取條件時才進行存取。這些存取條件還規定允許的存取類型例如,不許存取、只讀存取、讀與寫存取及秘密密鑰使用。對於相同的應用描述數據表元素E(1)…E(7),同一交互作用上下文19中的不同過程描述的存取條件可以不同,例如,引用箭頭r(1)可表示只讀存取條件,而引用箭頭r(2)可表示讀與寫存取條件。
存取條件是在相關級別,即應用描述級或交互作用上下文級上檢查的,並且只有一次。交互作用上下文19(1)、19(2)中的數據表的元素B(1)…B(5)通過箭頭u(1)…u(5)直接引用應用描述18(1)的數據表中的數據元素的指針,因為存取條件已經在應用描述18(1)的數據表元素E(1)…E(7)中滿足。然而,引用應用描述18(1)中的數據表元素的交互作用上下文19(1)、19(2)中的過程描述C(1)…C(5)必須首先滿足與應用描述18(1)中的數據表元素E(1)…E(7)關聯的存取條件。應用描述18(1)及其關聯的交互作用上下文19(1)、19(2)的數據表內的任何數據元素或過程描述元素都不能被存儲裝置16中任何其它應用描述引用。構成過程描述的可執行代碼只能通過與各過程描述C(1)…C(5)關聯的受限制的數據引用組間接尋址數據。執行程序通過對經估計作為與過程描述關聯的命令接受的通信報文中實際指定的地址而獲得的數據元素的引用,利用B(1)…B(5)所描述的數據元素臨時擴展了引用表。從而除非明確地指定並且服從指定的使用條件,便不能存取其它數據。換言之,關於應用描述及與其關聯的交互作用上下文,圖4的較佳存儲器引用模型為在數據處理單元5的一個單一應用中的操作提供了一個專用的上下文。數據元素H(1)…H(7)是存儲在對所有應用公用的存儲裝置16中的,但包含供在應用描述18(1)的上下文中專用的數據,這種專用性是由執行程序保證的,它只允許存在對各存儲單元的一個單一指針,諸如從E(1)到H(2)的q(1)。只有代碼元素G(1)…G(5)可由存儲在存儲裝置16內的任何應用描述18(1)…引用。圖4中並未明確指出應用描述18(1)以外的應用描述對公用代碼G(1)…(5)的上述引用。然而,任何熟悉本技術的人員都能容易地將圖4的結構擴展到兩個或更多應用描述18(1)、18(2)、…。
已經說明了如何使用不同種類的存取條件保護數據元素之後,下面說明存儲器管理規定。對於存儲器管理,希望作業系統能分開管理可改變的數據(數據元素)與不可改變的數據(作業系統代碼)。圖4中所示的存儲器引用模型提供存儲裝置16內的代碼與數據元素分離,它們分別受到來自相關的應用描述18內的數據表與過程庫的指針q(1)…q(7),p(1)…p(5)的引用。各交互作用上下文19(1)、19(2)內的數據表元素只包含對這些指針的引用而不包含對存儲裝置16內的代碼G(1)…G(5)及數據元素H(1)…H(7)的直接引用。相關的應用描述18的數據表提供作業系統執行存儲器管理所需的間接級。
通過在兩級上提供公用代碼庫來避免代碼複製象過程描述C(3)的命令主體引用應用描述18(1)中的過程庫中的代碼元素F(2),以便在不同的交互作用上下文之間共享公用代碼。但是,過程描述C(3)的主體也直接引用存儲在存儲裝置16中並由作業系統提供的代碼G(3)。作業系統提供的所有代碼元素G(1)…G(5)是為高效執行而實現的。
可以用存儲器地址或者用帶有適當地構成的表中的索引的附加間接級引用代碼元素F(1)、F(2)。這裡提供的引用的分層結構非常適用於這一帶索引的實現。
基本上,按照圖4的存儲器結構也適用於只提供數據處理單元5的一個應用的情況。在這一情況中,唯一的應用描述18(1)甚至可與一個交互作用上下文19(1)重合,這時該交互作用上下文包含下述相關的定義組a、每當數據處理單元5與類似的單元4通信時接收的一組基本通信原碼A(1)…,所述原碼至少包含用來進入所述至少一個交互作用上下文的一個原碼;b、定義響應各接收的通信原碼A(1)…要執行的動作的一組過程描述C(1)…,至少包括在激活交互作用上下文時要執行的第一過程描述,及在去激活該上下文之前要執行的最後過程描述;c、永久地存儲或計算的一組可能是空的數據元素H(1)…,在執行過程描述C(1)…中所定義的過程時可獲得這些數據元素供使用;d、一組可能是空的對數據元素的引用,這些引用是與過程描述C(1)…關聯的,所述數據元素可被可能的其它交互作用上下文存取,並且在執行過程描述C(1)…中所定義的過程時可以獲得這些數據供使用;e、一張可能是空的數據表,包含對數據元素的數據引用表,可以獲得它們作為通信原碼的一部分供明確地引用,以便由與該通信原碼關聯的過程描述使用;f、與結合過程描述引用的數據元素關聯的一組存取條件;g、與數據表中的數據引用B(1)…關聯的一組存取條件。
如果只有一個為數據處理單元5提供的應用,並且至少有兩個交互作用上下文19(1)、19(2),則各應用描述包括
a、包含對數據元素的引用E(1)…的一張數據表,這些引用是可以被兩個或更多交互作用上下文19(1)…存取的,並可以用附加數據元素來擴展;b、與所述引用E(1)…或所述附加數據元素關聯並定義使用限制的另一組存取條件。
兩個或更多交互作用上下文的每一個中的過程描述組還包含一個附加的最後過程描述,供在去激活該上下文之前執行。
圖5表示在上面用「MAXOS」(12、17)定義的執行程序中的控制流程。
在啟動系統之後,軟體便以在步驟30中處理復位代碼啟動。在步驟31中,進入數據處理單元的核心操作安全級。將描述這一級的存取條件存儲在存儲器的不可修改部分中,諸如ROM或硬體邏輯中。在步驟32中,檢驗非易失性存儲器的相容性及撤消可能由突然停電留下的任何未完成的修改,例如由抽出智慧卡留下的。非易失性存儲器相容性檢驗只包含檢查存儲在存儲器中的狀態信息及計算檢驗和。存儲器的內容(如果完全存取了)只用來計算檢驗和。從而,相容性檢驗是一種安全操作。相容性檢驗設施的確切性質取決於數據處理單元內的硬體的細節及非易失性存儲器修改的例程,它們在很大程度上與規定的安全體系結構無關。在總的存儲器相容性檢驗之後,驗證存儲在存儲器中的安全上下文的預計算級別。最後,啟動數據處理單元的隨機存取存儲器。
在步驟33中,如果宣布執行環境是安全的,便進入數據處理單元的安全應用安全級。在這一級上,對與核心操作有關的存儲器的任何存取是封鎖的。對來自這一級的應用數據與描述的存取是通過核心中的例程專門提供的,這些例程維持正在進行的存儲器操作的狀態信息。
在復位後首次進入時,在步驟34中應用數據元素描述符用來檢驗存儲數據與描述符的相容性,如果在與所述屬性不一致的狀態中便改變存儲器。從存儲在應用描述符中的應用標識符組成對復位的應答(ATR)報文,並以計算的另一接收數據處理單元4不能預測的事務處理號結束。在數據處理單元內部生成終端命令來激活默認的交互作用上下文。緊接在將ATR報文發送到另一數據處理單元4之後,便執行這一內部上下文激活命令而為隨後的命令提供一個交互作用上下文。ATR報文清楚地表示數據處理單元準備好接受進一步的命令。可將默認交互作用上下文設計成「智慧卡持有人應用」的一部分,這是在所有多應用智慧卡中作為一個標準應用提供的。在這一特定應用上下文中,用戶(即智慧卡持有人)能觀察其個人數據或打開卡上的任何其它應用。
在步驟35中,作為上下文激活命令的結果,為標準智慧卡持有人CTA進入交互作用上下文(CTA)安全級。
在完全激活了應用之後,便準備好接收來自其它數據處理單元的命令。進一步的處理取決於所接收的命令激活應用的命令與要執行的命令的處理不同。因此,在確定了在步驟36中接收到通信原碼並在步驟37中確定它是可接受的之後,在步驟38便檢驗是否需要激活新的應用。如果否,進步驟39,在其中對命令進行檢驗以判定是否允許及能否接受輸入數據。這些檢驗只對應用描述符中規定的命令執行。在步驟39中還可進行輸入數據的解密。
如果檢驗成功,便在步驟40進入「數據存取保護級」。在這一級(最高安全級)上,在步驟41執行應用供應者編碼的例程。這些例程存儲在應用描述符中並用作對另一數據處理單元4發布的特定命令的應用進行特定的反應。這一安全級將存儲器存取限制在為正在執行的命令專門定義的子集上。
在步驟41中執行帶有提交的輸入數據的命令之後,便在步驟42離開數據數據存取保護級。
在步驟43中生成輸出數據及命令完成的(加密)證明。這種功能只為在過程描述中規定這樣做的命令執行,對於任何定義組合動作可以是空的。步驟43以後程序在步驟36等待新的通信原碼。
如果未定義專用的命令例程並且命令可用只包含作業系統功能的過程執行,便不進入數據存取保護級(步驟40),而命令將直接在交互作用上下文安全級上執行,因為作業系統例程是設計成不破壞任何數據保護。
如果在步驟38中確定沒有新的應用要激活,程序便進行到步驟44,在其中執行上下文去激活過程。在步驟45中,離開當前應用特定的安全級,並且在步驟46中,在執行程序「MAXOS」的安全級上檢驗伴隨命令的數據。
如果為所請求的應用規定的適當鑑別允許該命令,便在步驟47進入新的應用特定的CTA安全級。這一級將限制對新打開的應用所具有的數據的存取。
在步驟48,數據處理單元通過執行過程表中所定義的初始化指令來響應上下文激活命令生成數據,。如果存在這一應用供應者編碼的例程,便在步驟49進入數據存取保護級。在步驟50中執行上下文激活過程。在步驟51中離開數據存取保護級並將應答傳遞給另一數據處理單元4,並且數據處理單元4在步驟43之後是準備好接收新命令的,如上所述。
描述了圖1至5以後,下面作出對按照本發明的數據交換系統的一些一般性說明。
各應用描述18(1)、18(2)內的過程庫中的代碼可以通過加入它們的操作參數的使用規定而得到增強,該參數被分為與能在計算中作為實際值傳送的數據元素的屬性有關的類別,這種計算只在數據屬性與參數類匹配時才進行。這提供了對數據元素及函數兩者的存取條件進行檢驗的一種方法。比較適當編碼的數據屬性位圖與參數類可為這一附加的技術提供有效的實施。
執行程序12、17可包含對一交互作用上下文的引用,該交互作用上下文用來初始化存儲對當前正在實施的交互作用上下文的引用的存儲器單元20中的當前交互作用上下文。利用這一措施,便有可能在恢復到正常操作狀態中檢測到內部不相容性之後或每當執行程序12、17被啟動但從另一數據處理單元5接收的通信原碼未指定明確的交互作用上下文時執行最後的動作。這一默認交互作用上下文也可是包含在上述卡持有人應用中的這樣一種上下文。
此外,存儲裝置9、16可包括專用於包含個人標識號(PIN)的交互作用上下文11、19,並且執行程序12、17配置成驗證數據交換系統的用戶提供的個人標識號。可使用若干種個人標識號及口令。一個口令可用來保護設備在有可能洩露隱秘敏感的事務處理中的使用。第二口令可用來在傳遞表示口令持有人可支付的錢數的數據的情況下保護該事務處理。第三口令可用來保護其中執行的操作認為是對應用的安全性關係重大的事務處理,例如在可能需要它的各交互作用上下文18中指定的正在請求的保護模式。可提供其它口令。這一PIN管理交互作用上下文也可是包含在上述卡持有人應用中的一個這種上下文。
各應用描述13、18可包含一張數值表,該表是為所有交互作用上下文11、19提供標識符而構成的,以及各應用描述13、18可包含下述各值中任何項的組合表示應用類型的第一數值、表示供應該應用的實體的唯一標識的第二數值、表示應用描述13、18的性質的第三數值及各唯一地引用一個交互作用上下文11、19的其它數字。前兩個數字可按照在貿易中嚴格建立的規則分配,而其餘數字可由應用供應實體選擇認為是適當的數字。尤其是可分配數值來區別實現的不同版本或標識應用在其加密計算中所採用的密鑰集的生成。此外,設備可在對復位的應答報文中包括一張用於包含在其存儲裝置中的各應用上下文11、19的由與該交互作用上下文一起存儲的唯一標識值組成的標識號的表。交互作用上下文標識號的表中的第一元素可以是默認上下文的標識。
數據通信裝置7、14最好配置成以數據塊構成數據交換。這些數據塊包含至少兩部分,第一部分為看作操作性的數據,它用來影響通信原碼所指示的命令所執行的操作的性質或者從進行的操作所得出的數據。第二部分看作安全性數據,用它來確定執行操作的適當性或操作部分內的數據的可接受性,以用於操作或用來證明操作的完成或揭示的數據的正確性。
當以這一方式構成數據時,可將執行程序17配置成在接收到通信原碼時執行當前交互作用上下文20、21中指定的操作,每個操作作為預定的與固定的動作序列的一部分,各操作是作為與接受的通信原碼關聯的過程描述規則的一部分分開指定的。第一動作可以指定為在通信序列中的這一點上準許使用通信原碼的功能。第二動作可指定為解密操作數據或其任何部分的功能,而第三動作可指定為適當的操作過程。第四部分可指定為加密從所執行的操作中得出的任何操作數據,而第五動作可指定為計算所執行的動作的完成或得出的數據的正確性的證明的功能,或者用在接收數據處理單元中的安全性計算。這些動作反映在圖5的流程圖中。
此外,數據處理單元5在其對復位報文的應答中包含一個選擇成其值不能被接收數據處理單元4預測的數字,它能用來作為加密計算的基礎。可將這一數字指定為「卡事務處理號」。
可提供賦予一個指定值的一個通信原碼,將其解釋為進入新的交互作用上下文11、19的請求。可將這一通信原碼指定為「激活命令」。伴隨這一激活命令的數據足以指定可能通過引用作為對復位報文的應答的一部分傳遞的標識號激活的上下文。響應這一激活命令執行的動作首先由包含在接受原碼的上下文中、被指定為去激活的過程描述所描述,其次在包含在指定為要進入的上下文中、被指定為激活的過程描述中描述。
用來進入指定的交互作用上下文11、19的通信原碼最好包括要在隨後的通信中的安全計算中使用的數值。第一值可由處理單元之一隨機生成,第二值可用來標識一個處理單元。所述的值可按照所使用的加密協議的要求而進行不同地計算,這一差別可作為過程描述C1的一部分指定。這一標識可能是計算的結果,計算是這樣的,這便是使得結果值足以標識在要激活的交互作用上下文11、19中的隨後數據交換中可能進行的計算或其它動作所要求的設備與其存儲器的狀態。所述第二值可指定為「終端標識」。
此外,激活命令作為結果數據的一部分給出一數值,用來充分地標識正被激活的上下文中隨後的數據交換中可能進行的計算或其它動作所要求的特定響應數據處理單元,該號碼可指定為「智慧卡標識」。
此外,對智慧卡標識號可以用密碼功能從存儲在數據處理單元5中的數據或從作為激活命令的一部分接收的數據來計算,其方式為,當響應從帶有不同的終端標識號的啟動設備接收的激活命令計算時該號碼以不可預測的方式變化;這樣計算出的智慧卡標識可指定為「智慧卡假名」。此外,在執行要進入的上下文的激活過程的過程描述中所描述的動作之前,執行程序可執行作為過程描述指定的加密計算,即在激活時指定要執行的上下文確定是否可激活該上下文。這些計算可包含使用智慧卡事務處理標識、終端事務處理標識與終端標識及存儲在存儲裝置中的其它值。
作為對這些用激活命令中的特定數據支持的加密協議的一種替代,可以使用帶有引用的數據元素的位欄位說明的命令。這時,各通信原碼由兩個或更多數值組成,第一個值用來引用與該通信原碼關聯的動作的過程描述,第二值由固定數目的二進位值組成,各二進位值被執行程序12、17解釋為對單個數據元素的引用。這一數據元素是在相關的交互作用上下文11、19中的外部數據元素引用表中指定的,表中的各數據元素是由二進位值的表中的對應位置上的一個二進位數的二進位值指定的。可將這一第二值指定為「操作數地址」。這樣指定的各數據元素由操作執行程序12、17以該動作的過程描述中所描述的方式用在應答動作中。
作為對加密協議與帶有引用的數據元素的位欄位說明的命令的一種替代,可應用帶有數據元素的數據匹配說明的命令格式。在這一情況中,各通信原碼由兩個或更多數值組成,第一值用來引用與該通信原碼關聯的動作的過程描述,第二值用來以下述方式確定在執行應答動作時將要使用可供在激活的交互作用上下文12,19中外部引用的數據元素中的哪一些,即如果任何數據元素包含與所述第二值匹配的值便選擇它。可將這一第二值指定為「操作數標記說明符」。此外,交互作用上下文11、19中可包括過程描述,指示作為命令的一部分給出的操作標記說明符以何種方式與包含在可供該上下文中外部引用的任何數據元素中的數據進行比較,在執行過程描述指定適當的命令動作之前執行哪一個過程描述來選擇預期的數據元素。
在另一個替代中,可使用帶有命令解釋的位欄位說明的命令格式。這時各通信原碼由兩個或更多數值組成,第一值用來引用與該通信原碼關聯的動作的過程描述,第二值是由若干二進位值組成的,執行程序12,17賦予它們特定的含意供在解釋通信原碼中的數據格式及執行應答動作中使用。這裡可將第二值指定為「命令修飾符」。所有裝備有這一附加技術的單元都能識別賦予這些值的含義。
如果應用後一種替代,命令修飾符可包含確定將命令的第三部分用作操作數地址還是操作數標記說明符的一個二進位值。然而,作為替代,命令修飾符可包含一個二進位值,它確定作為對命令的響應執行的操作將使用作為一個數據元素的數據還是由數據元素的連接組成的數據,每一個數據元素結合作為命令的一部分用操作數地址或操作數標記說明符指定的各數據元素加以處理。作為替代,命令修飾可包含一個二進位值,它確定與命令一起提供的數據是否採用標記長度值方法編碼來區分相繼的連接數據元素。
另一種選擇是命令修飾符可包含一個二進位值,它確定執行命令蘊含的動作是否會實際導致存儲在數據處理單元5(智慧卡)中的數據的實際改變,或實際導致數據處理單元5計算的數據,或命令結果是反映該單元對於命令的可接受性的狀態的數據、伴隨它的數據、可能從計算中得出的數據的長度或其它各式各樣的屬性。
簡言之,上面提出的在智慧卡中實現的新技術中是獨立執行環境的概念。在這一方法中,計算機中的處理裝置與其它資源是在不同的應用之間共享的,似乎該應用是計算機的唯一用戶。基於智慧卡實施中的這一新技術,附加提供了一種機制來為由若干相關的應用共享的數據定義多種存取條件。由獨立執行環境支持的並如上面介紹的第二種技術便是定義各環境中命令的功能意義的可能性,以達到數據交換系統中的兩個類似的數據處理單元4、5之間的各交互作用中的最小數目的命令。最後,有可能將新技術用於在各上下文中分開賦予引用存儲的數據元素的名字。從而能使作為從數據處理單元4、5之一接收的命令的一部分的對存儲的數據元素的引用成為有效由於在當前的智慧卡實踐中所使用的非常少的數據元素及少數有區別的操作在各環境中只需要少數位來編碼名字與指令空間。在實際智慧卡中,類似方式的存取條件、其鑑別方法及加密操作在數量上非常有限,並且它們能在封裝在應用描述18中的交互作用上下文描述19(1)…的兩層分層結構中非常有效地表示。
權利要求
1.數據交換系統,包括多個數據處理單元(4,5),其中的可攜式數據處理單元建立臨時通信鏈路(6),而其它的不移動的數據處理單元可具有永久性通信鏈路(6),所述單元包括數據通信裝置(7,14)、處理裝置(8,15)及存儲裝置(9,16),後者包括執行程序(12、17),其特徵在於,處理單元總體的存儲裝置(9、16)還包括作為「交互作用上下文」(11(1)…11(m),19(1)…19(m))的數據處理單元之間可能的通信模式的描述,該交互作用上下文的數據結構如下a.一組基本的各別通信原碼(A(1)…),每當一個數據處理單元(4,5)與一個或多個其它單元(5,4)通信時它們被接收;b.一組過程描述(C(1)…),定義響應所接收的通信原碼(A(1)…)要執行的動作;c.一組數據元素(H(1)…),它們或者是被永久存儲或者是被計算的,在執行過程描述(C(1)…)中所定義的過程時可得到它們供使用;d.一組對數據元素的引用,這些引用與過程描述(C(1)…)相關聯,所述數據元素可被可能的其它交互作用上下文存取,並在執行過程描述(C(1)…)中所定義的過程時可被獲得以供使用;e.一張有可能是空的數據表,包括對數據元素的引用(B(1)…)的可能有序組,它們是可利用來作為與通信原碼關聯的過程描述(C(1)…)所使用的通信原碼(A(1)…)的一部分供明確引用的;f.一組與數據元素關聯的存取條件,它們是與結合過程描述(C(1)…)引用的數據元素結合查詢的;g.一組與數據表中的數據引用(B(1)…)的表關聯的存取條件。
2.數據交換系統,包括多個數據處理單元(4、5),至少一個是可攜式的,各所述單元包括數據通信裝置(14)、處理裝置(15)及存儲裝置(16),後者包括一個執行程序(17),其特徵在於,存儲裝置(16)還包括至少一個包含下述相關數據結構的交互作用上下文(19(1)…19(m))a.一組基本的各別通信原碼(A(1)…),每當一個數據處理單元(5)與一個或多個其它單元(4)通信時它們被接收;b.一組過程描述(C(1)…),定義響應接收的通信原碼(A(1)…)要執行的動作;c.一組可能是空的數據元素(H(1)…),它們或者是被永久存儲或者是被計算的,在執行過程描述(C(1)…)中所定義的過程時可獲得它們供使用;d.一組可能是空的對數據元素的引用,這些引用與過程描述(C(1)…)相關聯,所述數據元素可被可能的其它交互作用上下文存取,並在執行過程描述(C(1)…)中所定義的過程時可被獲得以供使用;e.一張可能是空的數據表,包括對數據元素的引用(B(1)…)的可能有序組,它們是可利用來作為與通信原碼關聯的過程描述(C(1)…)所使用的通信原碼(A(1)…)的一部分供明確引用的;f.一組與數據元素相關聯的存取條件,它們是與結合過程描述(C(1)…)引用的數據元素相結合查詢的;g.一組與數據表中的數據引用(B(1)…)的表關聯的存取條件;h.其中一個數據單元包含一個以上的交互作用上下文,它所接收的至少一個通信原碼將有選擇地指示所述交互作用上下文(19(1)…)之一供在接收該通信原碼的處理單元中進一步引用。
3.按照權利要求1或2的數據交換系統,進一步的特徵在於,該組過程描述(C(1)…)至少包括一個要響應通信原碼所執行的第一過程描述,它指定所述交互使用上下文(19(1)…)之一供在接收該通信原碼的處理單元中進一步引用,這一執行導致指定的交互使用上下文的正確激活。
4.按照權利要求1、2或3中任何一項的數據交換系統,其進一步的特徵在於,存儲裝置還包括至少兩個交互作用上下文(19(1)…),及在於該組過程描述(C(1)…)至少包括要響應通信原碼執行的一個最後過程描述,它指定所述交互作用上下文(19(1)…)之一供在接收該通信原碼的處理單元中進一步引用,這一執行導致在接收通信原碼時指定的交互作用上下文的正確去激活。
5.按照權利要求1、2、3或4中任何一項的數據交換系統,其特徵在於,存儲裝置(16)還包括至少兩個交互作用上下文(19(1)…(19(m))、至少一個應用描述(18(1)…)及存儲對當前正在實施的交互作用上下文的引用的存儲器單元(20),各應用描述包括a.一張包括對數據元素的引用(E(1)…)的數據表,這些引用可被兩個或更多交互作用上下文(19(1)…)存取,並可用附加數據元素擴展;b.另一組與所述引用(E(1)…)或所述附加數據元素相關聯並定義使用限制的存取條件。
6.按照權利要求5的數據交換系統,其特徵在於,各應用描述(18(1)…)還包括一個過程庫,該過程庫中包含能被與各所述應用描述(18(1)…)相關聯的各交互作用上下文的過程描述(C(1)…)使用的代碼(F(1)…)。
7.按照權利要求5或6的數據交換系統,其特徵在於,存儲裝置包括至少兩個應用描述(18(1)…)以及可由各應用描述(18(1)…)內的各交互作用上下文(19(1)…)的過程描述(C(1)…)或各應用描述(18(1)…)內的各過程庫的各可執行代碼單元(F(1)…)使用的可執行代碼單元(G(1)…)。
8.按照權利要求6或7中任何一項的數據交換系統,其特徵在於,過程庫中的可執行代碼單元是通過包含它們的各類別的操作參數的使用說明而得到增強的,這些類別與可以在計算中作為實際值傳遞的數據元素的屬性有關,這種計算只有在數據屬性與參數類別匹配時才能進行。
9.按照權利要求5或8中任何一項的數據交換系統,其特徵在於,執行程序(17)包括對默認交互作用上下文的引用,該上下文用來初始化存儲對當前正在實施的交互作用上下文的引用的存儲器單元(20),以便在檢測到恢復到正常操作狀態中的內部不相容性之後或每當執行程序(17)被啟動但從類似的數據處理單元(4)接收的通信原碼未指定明確的交互作用上下文時執行最後的動作。
10.按照前面的權利要求中任何一項的數據交換系統,其特徵在於,執行程序(17)包括構成抽象處理器的編碼指令的解釋程序的例程,使得過程描述(C(1)…)的大多數及某些可執行代碼單元(F(1)…,(G(1)…)是用數值編碼的,供所述解釋程序例程解釋。
11.按照權利要求6或7的數據交換系統,其特徵在於,過程描述(C(1)…)是作為包含在由可執行代碼單元構成的過程庫中的過程的子集上的表中的索引編碼的。
12.按照權利要求11的數據交換系統,其特徵在於,過程描述(C(1)…)是以很小的值編碼的,使得一個以上的描述能保持在存儲裝置(16)的一個基本存取單元中,或者在同一存儲器存取基本單元中能將描述與其它有關信息組合。
13.按照權利要求12的數據交換系統,其特徵在於,至少過程描述(C(1)…)的編碼值之一引用執行程序(17)的特殊功能,它被設計成可能通過加入與用所述特殊值編碼的過程描述相結合存儲的附加編碼信息來為編碼的過程描述間接選擇實際功能來執行。
14.按照前面的權利要求中任何一項的數據交換系統,其特徵在於,存儲裝置(16)包括專門用來包含個人標識號的交互作用上下文,並且執行程序(17)被配置成驗證由數據交換系統的用戶提供的個人標識號。
15.按照前面的權利要求中任何一項的數據交換系統,其特徵在於,存儲裝置(16)包括至少一個專門用於管理同時包含在所述存儲裝置中的其它交互作用上下文(19(1)…)的號碼與內容的交互作用上下文。
16.按照權利要求5至15中任何一項的數據交換系統,其特徵在於,各應用描述(18(1)…)包括一張數值表,該表被構成為為所有交互作用上下文(19(1)…)提供標識符,並包括下列數值中至少一個指示應用類型的第一數值、指示提供該應用的實體的唯一標識的第二數值、指示應用描述(18(1)…)的性質的第三數值以及各唯一地引用與該應用描述關聯的一個交互作用上下文(19(1)…)的其它數值。
17.數據交換系統,包括多個數據處理單元(4,5),其中的可攜式處理單元建立臨時通信鏈路(6),而其中不能移動的其它單元可具有永久性通信鏈路(6),所述單元包括數據通信裝置(7,14)、處理裝置(8,15)及存儲裝置(9,16),後者包括執行程序(12,17),其特徵在於,通信裝置(14)被配置成,以包含至少兩部分的數據塊構成數據交換,第一部分是適用於操作的數據,它用於影響通信原碼指示的命令所執行的操作的性質或從執行的操作得出的數據,第二部分適用於安全性,用它來確定執行操作的適當性或操作部分內的數據的可接受性,供在操作中使用或證明操作的完成或得出的數據的正確性。
18.按照權利要求1至17中任何一項的數據交換系統,其特徵在於,將執行程序(17)配置成,在接收執行當前交互作用上下文(19(1)…)中指定的操作的通信原碼時,執行作為預定的與固定的動作系列的一部分的各操作,各動作是作為與所接收的通信原碼關聯的過程描述的一部分分開指定的,這些過程描述至少包括對下述動作的各別的描述,其中任何一個都可能是空的a.通信原碼的使用授權;b.操作數據或其任何部分的解密;c.執行帶有輸入數據的命令;d.從任何執行的操作得出的任何操作數據的加密;e.任何執行的動作的完成或要用在安全計算中的結果數據的正確性的證明的計算。
19.按照前面的權利要求中任何一項的數據交換系統,其特徵在於,數據處理單元(5)在初始化數據傳送時生成一個隨機的事務處理號,它被用作密碼計算的基礎。
20.按照前面權利要求中任何一項的數據交換系統,其特徵在於,一個通信原碼被賦予一個指定的值,該值永遠被解釋為進入一個新的交互作用上下文(19(1)…)的請求。
21.按照前面權利要求中任何一項的數據交換系統,其特徵在於,它包括具有與處理單元(4)相同元件的另一個數據處理單元(4),在其存儲器中可選擇地包含應用程式員界面(10),該界面包含設計成允許實現附加的電腦程式以便使用戶對交換的通信原碼進行控制或影響在它們之間傳送的數據或獲知或進一步處理在交換中接收的數據的程序代碼。
22.按照權利要求21的數據交換系統,其特徵在於,用來進入指定的交互作用上下文(19(1)…)的原碼包括在隨後的通信中的安全計算中使用的數值,由處理單元之一隨機地或以類似的獨特性質生成第一值,以及可能的第二值用來證明所述一個處理單元的真實性或識別所述一個處理單元。
23.按照權利要求21的數據交換系統,其特徵在於,除了發送復位信號的第一通信原碼以外的各通信原碼由兩個或更多數值組成,第一值用來引用與該通信原碼關聯的動作的過程描述,第二值由固定數目的二進位值組成,執行程序(12,17)將各二進位值解釋為對單個數據元素的引用。
24.按照權利要求21的數據交換系統,其特徵在於,除了發送復位信號的第一通信原碼以外,各通信原碼由兩個或更多數值組成,第一值用於引用與該通信原碼關聯的動作的過程描述,第二值用於以下述方法確定在執行應答動作時將使用哪些可供激活的交互作用上下文(19(1)…)外部引用的數據元素,即如果任何數據元素包含與所述第二值匹配的值或者如果它包含足以指示它的值,便選擇該數據元素。
25.按照權利要求21的數據交換系統,其特徵在於,除了發送復位信號的第一通信原碼之外,各通信原碼由兩個或更多數值組成,第一值用於引用與該通信原碼關聯的動作的過程描述,第二值由若干二進位值組成,執行程序(12,17)賦予這些二進位值特定的含義供在解釋通信原碼的數據格式及在執行應答動作中使用。
26.按照前面權利要求中任何一項的數據交換系統,其特徵在於,可攜式處理單元是實現在智慧卡中的。
27.按照權利要求1至25中的任何一項的數據交換系統,其特徵在於,可攜式處理單元是實現在PCMCIA卡中的。
28.按照權利要求26或27的數據交換系統,其特徵在於,通信裝置(14)利用外部通信裝置來建立數據鏈路(6),數據處理單元或容納實現數據處理單元(5)的PCMCIA或智慧卡的這種類似的電子設備能使這種外部通信裝置可被數據處理單元(5)利用。
29.按照權利要求1至25中任何一項的數據交換系統,其特徵在於,將數據處理單元(4)實現為可攜式個人計算機。
30.按照權利要求28或29的數據交換系統,其特徵在於,通信裝置(7)利用智慧卡閱讀器。
31.按照權利要求28或29的數據交換系統,其特徵在於,通信裝置(7)利用PCMCIA卡槽。
32.按照權利要求26至31中任何一項的數據交換系統,其特徵在於,通信裝置(7)主要或附加利用帶電磁場c.q粒子的非接觸式數據傳輸。
全文摘要
數據交換系統包括至少一個可攜式數據處理單元(5),該單元(5)包括通信裝置(14)、處理裝置(15)及存儲裝置(16),後者包括一個執行程序(17)及一個或多個應用描述符(18(1)…18(n)),各應用描述包括至少一個交互作用上下文(19(1)…),該上下文包括命令、數據元素、數據引用、過程、存取條件及外部引用;以達到諸如智慧卡等有限的存儲空間的高效使用的方式選擇數據元素與數據引用以及其它引用的結構。
文檔編號G06F12/00GK1195413SQ96196785
公開日1998年10月7日 申請日期1996年8月2日 優先權日1995年8月4日
發明者愛德華·卡雷爾·德容 申請人:貝勒加特投資公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀