專(zhuān)利名稱(chēng):數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于數(shù)據(jù)處理的方法。
背景技術(shù):
今天,軟件和內(nèi)容、例如音樂(lè),可以通過(guò)因特網(wǎng)經(jīng)濟(jì)地被傳播。許多拷貝保護(hù)機(jī)制已經(jīng)被開(kāi)發(fā)用于保護(hù)創(chuàng)作者的利益。當(dāng)消費(fèi)者是期待具有未被加密形式的內(nèi)容的人的時(shí)候,內(nèi)容的保護(hù)是困難的。在消費(fèi)過(guò)程中,每個(gè)內(nèi)容都可以以模擬的形式被記錄,被數(shù)字化并且隨后被拷貝。這個(gè)問(wèn)題被稱(chēng)為模擬陷阱(analogue hole)。根據(jù)現(xiàn)有技術(shù),內(nèi)容的非法拷貝只能被妨礙,但是不能被阻止。在軟件的執(zhí)行中沒(méi)有模擬陷阱的問(wèn)題。雖然軟件的使用者是人,但是直接的“消費(fèi)者”是計(jì)算機(jī)或處理器。由此,可能的是,通過(guò)拷貝保護(hù)機(jī)制改變軟件,而對(duì)使用者沒(méi)有煩擾的影響。軟件保護(hù)的概念應(yīng)該被理解為對(duì)與軟件相連的知識(shí)產(chǎn)權(quán)的保護(hù)。關(guān)于軟件的應(yīng)用領(lǐng)域、關(guān)于該領(lǐng)域的特定問(wèn)題以及其轉(zhuǎn)化為軟件的解決方案的知識(shí)都屬于知識(shí)產(chǎn)權(quán)。而且,可能是問(wèn)題特定的或解決方案特定的、所有用于寫(xiě)出軟件的技術(shù)也屬于值得保護(hù)的知識(shí)產(chǎn)權(quán)。通常,創(chuàng)作者希望保護(hù)他的知識(shí)并且保證只有他能夠?qū)浖M(jìn)一步開(kāi)發(fā)。為了保護(hù)所提到的價(jià)值,必要的是阻止借助于對(duì)軟件機(jī)器碼的分析來(lái)對(duì)源代碼或等價(jià)的程序代碼進(jìn)行重構(gòu)(反向工程),或者保證分析的成本比開(kāi)發(fā)軟件的成本更高。軟件保護(hù)可以包括阻止對(duì)軟件的未被授權(quán)的使用。為此目的,所完成的保護(hù)方法和裝置被稱(chēng)為軟件拷貝保護(hù),雖然許多方法和裝置并不阻止拷貝,而是阻止使用軟件。通過(guò)這種方式,非法的拷貝被抑制。
在已知的軟件拷貝保護(hù)方法中,數(shù)據(jù)被從應(yīng)用程序傳輸?shù)奖槐Wo(hù)的硬件、被硬件加密并且隨后由應(yīng)用程序解密或者與在編譯應(yīng)用程序之前被加密的數(shù)據(jù)比較。只有在數(shù)據(jù)通過(guò)硬件被正確加密時(shí),應(yīng)用程序才工作正確。繞過(guò)該保護(hù)的一種方法是去除從機(jī)器碼中得到的數(shù)據(jù)的比較。對(duì)此有對(duì)應(yīng)措施應(yīng)用程序偶爾檢測(cè)機(jī)器碼的完整性,這樣攻擊者也必須找到這些檢測(cè)。因此,一種更簡(jiǎn)單的繞過(guò)軟件拷貝保護(hù)的方法如下攻擊者觀察在應(yīng)用程序和硬件之間的通信。他建立具有被交換數(shù)據(jù)的表格,并且在新建立的硬件驅(qū)動(dòng)中借助這個(gè)表格模擬硬件。對(duì)應(yīng)措施是采用與硬件的多個(gè)通信進(jìn)程。其中還發(fā)送隨機(jī)數(shù)給硬件,這樣表格會(huì)變得太大。硬件加密的值只是看起開(kāi)被應(yīng)用程序處理?;蛘攥F(xiàn)在攻擊者確信他必須找到和去除上面提到的完整性檢驗(yàn),或者他觀察通信進(jìn)程。他將每個(gè)發(fā)送給硬件的值寫(xiě)入大的存儲(chǔ)器中并且檢驗(yàn),哪些值被多次發(fā)送。只有這些值以高概率被應(yīng)用程序真正地處理。硬件模擬隨后使用具有這些值的表格。如果在模擬中對(duì)一個(gè)確定的輸入在表格上沒(méi)有記錄,則以隨機(jī)數(shù)回答,因?yàn)閼?yīng)用程序可能評(píng)估并且識(shí)別回答的偏差(Streuung)。表格明顯比前面使用的存儲(chǔ)器小。
在4中所描述的軟件拷貝保護(hù)方法中,在與PC相連的插接元件中以及與其平行地在被保護(hù)的應(yīng)用程序中計(jì)算加密函數(shù)。加密函數(shù)的子函數(shù)可以在應(yīng)用程序中被插入至不同位置,這樣不進(jìn)行程序代碼的語(yǔ)義分析,提取(Extraktion)是不可能的。借助加密函數(shù)的輸出值,軟件的計(jì)算被偽造并且在對(duì)應(yīng)用程序的進(jìn)程快要造成不良影響之前借助插接元件的輸出值被糾正。沒(méi)有對(duì)于攻擊者不可復(fù)制的插接元件,被保護(hù)的應(yīng)用程序就不能被使用。所描述的方法具有缺點(diǎn),即子函數(shù)集成至待保護(hù)的軟件中是非常昂貴的。
在另一種軟件拷貝保護(hù)方法中,待保護(hù)程序的部分被保存在智能卡的不可讀出的存儲(chǔ)器中,并且由智能卡控制器執(zhí)行。這些部分的傳輸僅以被加密的形式進(jìn)行。這種處理器的例子是Syncrosoft12和Sospita11公司的USB設(shè)備形式的裝置。在這種方法中,軟件的加密也阻止反向工程。
在特定的、可能外接在PC上的處理器上執(zhí)行程序代碼的缺點(diǎn)是差的吞吐量。雖然這對(duì)于執(zhí)行數(shù)字權(quán)力管理交易足夠,但是在許多情況下執(zhí)行待保護(hù)的應(yīng)用程序的主要部分太慢。用于程序加密和被保護(hù)的執(zhí)行的裝置集成在PC處理器上太昂貴,并且在開(kāi)發(fā)和發(fā)布新的處理器版本時(shí)可能導(dǎo)致標(biāo)準(zhǔn)化和兼容性問(wèn)題。
在10中描述了一種對(duì)付軟件的反向工程的方法,它通過(guò)引入復(fù)雜的尋址機(jī)制而掩藏程序的基本操作和數(shù)據(jù)流之間的邏輯聯(lián)系。這種發(fā)明的缺點(diǎn)在保護(hù)面向?qū)ο箝_(kāi)發(fā)的軟件的嘗試中顯現(xiàn)出來(lái)。面向?qū)ο箝_(kāi)發(fā)的軟件通常包括非常短的方法,它由很少的程序指令構(gòu)成并且大多數(shù)以少量變量實(shí)現(xiàn)非常簡(jiǎn)單的數(shù)據(jù)流。至少在這種情況下,所描述的方法效果不顯著。此外,對(duì)于這種方法,沒(méi)有公開(kāi)這種可能性,即產(chǎn)生與硬件難以分開(kāi)的結(jié)合,并由此阻止被轉(zhuǎn)換的軟件的拷貝。
發(fā)明內(nèi)容
本發(fā)明的任務(wù)在于,實(shí)現(xiàn)用于數(shù)據(jù)處理的方法,它使公開(kāi)的、可能很少的處理步驟的語(yǔ)義分析變得困難或者阻止語(yǔ)義分析,并且實(shí)現(xiàn)對(duì)于攻擊者難以分開(kāi)的處理方法與硬件的結(jié)合。本方法在預(yù)定處理步驟上的應(yīng)用應(yīng)該可能具有很小的開(kāi)銷(xiāo)。
本發(fā)明任務(wù)通過(guò)權(quán)利要求1及/或9及/或20解決。
根據(jù)權(quán)利要求1,Petri網(wǎng)被編碼,其轉(zhuǎn)換字符(TransitioneSymbole)或者字符串借助一個(gè)或多個(gè)頭(Kopf)與至少一個(gè)帶(Band)交換。Petri網(wǎng)的編碼被寫(xiě)入存儲(chǔ)器并且被至少一個(gè)示例(Instanz)讀取并執(zhí)行。Petri網(wǎng)以及概念“位置”、“轉(zhuǎn)換”和“標(biāo)記”在6和8中描述。概念“頭”和“帶”根據(jù)描述圖靈機(jī)的概念而被使用,其中由于技術(shù)原因,與圖靈機(jī)模型不同,帶是有限的。圖靈機(jī)例如在5中被描述。優(yōu)選的是,在每個(gè)讀取和寫(xiě)入過(guò)程中,頭在帶上移動(dòng)。然而,頭移動(dòng)也可以是可控的。此外,存在至少兩個(gè)頭用于處理速度是有利的,因?yàn)榇蠖鄶?shù)運(yùn)算都以至少兩個(gè)操作數(shù)工作。帶可以是處理器的寄存器或者RAM的存儲(chǔ)單元。頭可以是具有用于掩蔽帶的值的掩碼的寄存器。對(duì)于Petri網(wǎng)的執(zhí)行,這里的意思是接通Petri網(wǎng)的轉(zhuǎn)換。通過(guò)在帶上工作的Petri網(wǎng)的執(zhí)行,數(shù)據(jù)被處理。存儲(chǔ)器和執(zhí)行示例可以以多種方式實(shí)現(xiàn)。對(duì)于發(fā)明思想重要的是,位于Petri網(wǎng)后面的語(yǔ)義即使在知道Petri網(wǎng)時(shí)也難以分析。Petri網(wǎng)的生成和編碼優(yōu)選地在與執(zhí)行不同的存儲(chǔ)器中進(jìn)行。Petri網(wǎng)、頭、帶、字段和字符的編碼可能在許多變量中。企圖獲得關(guān)于Petri網(wǎng)的語(yǔ)義的知識(shí)的攻擊者只有這種可能性,即將Petri網(wǎng)與他已知的Petri網(wǎng)進(jìn)行比較,或者借助輸入和輸出例子猜測(cè)語(yǔ)義。根據(jù)權(quán)利要求20,Petri網(wǎng)可以從加密函數(shù)中接收并且處理字符或字符串。加密函數(shù)可以與實(shí)施Petri網(wǎng)的裝置固定相連,這樣產(chǎn)生了對(duì)于攻擊者難以分開(kāi)的處理方法與硬件的結(jié)合。
在本發(fā)明的一個(gè)實(shí)施例中,Petri網(wǎng)、頭和帶形成了通用的圖靈機(jī)。Petri網(wǎng)可以形成圖靈機(jī)的有限控制。在通用圖靈機(jī)的帶上儲(chǔ)存了圖靈機(jī)或通用圖靈機(jī)的編碼。在后一種情況中,圖靈機(jī)或通用圖靈機(jī)又可以被儲(chǔ)存在最后提及的通用圖靈機(jī)的帶上,等等。這種循環(huán)可以繼續(xù)下去。在Petri網(wǎng)的執(zhí)行中的處理步驟的語(yǔ)義分析隨著每個(gè)循環(huán)愈發(fā)困難。
在本發(fā)明方法的另一實(shí)施例中,Petri網(wǎng)通過(guò)信道與一個(gè)或多個(gè)其他Petri網(wǎng)交換字符或字符串。由此提高了復(fù)雜性并且由此使得可分析性困難。
根據(jù)本發(fā)明的另一實(shí)施例,轉(zhuǎn)換的接通可以借助表格快速地實(shí)施。與例如在2中描述的序列機(jī)(sequentielle Maschine)類(lèi)似,基于標(biāo)記或狀態(tài)以及輸入,可以從表格中快速求得后繼標(biāo)記或后繼狀態(tài)和輸出。輸入或輸出也可以可選地實(shí)現(xiàn)。
在接通轉(zhuǎn)換中的速度提升可以通過(guò)一種方法實(shí)現(xiàn),其中處理器以指令執(zhí)行轉(zhuǎn)換的接通,其中指令讀入表格作為操作數(shù)。處理器的指令集可以包括多個(gè)這種指令。
Petri網(wǎng)的輸出可以被輸入到另一Petri網(wǎng)中并且被繼續(xù)處理。由多個(gè)Petri網(wǎng)構(gòu)成的系統(tǒng)是一個(gè)合作(Kooperation)。在本發(fā)明的另一實(shí)施例中,Petri網(wǎng)的合作形成圖靈機(jī)。圖靈機(jī)的字段、帶和有限控制被編碼為Petri網(wǎng),它們可以通過(guò)信道交換字符或字符串并且可以相互同步。
對(duì)于保護(hù)軟件有利的是將該軟件翻譯為Petri網(wǎng)或Petri網(wǎng)的合作或者圖靈機(jī)。這個(gè)翻譯過(guò)程可以通過(guò)特定編譯器被機(jī)器地執(zhí)行。
在本方法的一個(gè)實(shí)施例中,Petri網(wǎng)的合作的執(zhí)行可以通過(guò)執(zhí)行組合規(guī)則來(lái)實(shí)現(xiàn)。其中,生成顯示出與Petri網(wǎng)絡(luò)的合作相同的外部輸入/輸出行為的Petri網(wǎng),它具有的局限是輸出可能延遲地進(jìn)行。由此,所生成的Petri網(wǎng)的期望功能性不會(huì)一定被損害。
本發(fā)明任務(wù)的一種可選方案根據(jù)權(quán)利要求9規(guī)定,數(shù)據(jù)處理的、合作的網(wǎng)絡(luò)被組合,組合結(jié)果被編碼、被寫(xiě)入存儲(chǔ)器并且由至少一個(gè)示例從存儲(chǔ)器中讀出并執(zhí)行,其中除了輸出延遲之外,組合結(jié)果是對(duì)于外部輸入/輸出行為與其組件等效的網(wǎng)絡(luò)。其中去除了1和3的公鑰加密方法,在該方法中,有限自動(dòng)機(jī)組合的組合結(jié)果形成公鑰。本發(fā)明涉及考慮到作為本發(fā)明的基礎(chǔ)的發(fā)明任務(wù)的一般數(shù)據(jù)處理。本方面任務(wù)被解決,因?yàn)闆](méi)有組件的知識(shí)很難對(duì)組合結(jié)果進(jìn)行語(yǔ)義分析。在許多情況下,分解是困難問(wèn)題(hartes Problem)或np困難問(wèn)題。
權(quán)利要求9的特征沒(méi)有限定哪些類(lèi)型的數(shù)據(jù)處理的、合作的網(wǎng)絡(luò)被組合。已知,一種類(lèi)型的多個(gè)網(wǎng)絡(luò)可以通過(guò)另一類(lèi)型的網(wǎng)絡(luò)被模擬或者互相等效。例如,在7和9中示出,遞歸的McCulloch-Pitts網(wǎng)絡(luò),人造神經(jīng)網(wǎng)絡(luò)的一種特定形式,與有限自動(dòng)機(jī)等效。有限自動(dòng)機(jī)又可以通過(guò)B/E網(wǎng)絡(luò)描述。B/E網(wǎng)絡(luò)是特定的Petri網(wǎng)。組合的描述必然依賴(lài)于網(wǎng)絡(luò)的正式定義,并且在內(nèi)容方面,不依賴(lài)于該定義可以定義組合的許多不同的變形。權(quán)利要求9也包括基于相同發(fā)明思想的組合的變形。
組件和組合結(jié)果可以是通過(guò)可選地現(xiàn)有信道發(fā)送和接收字符或字符串的Petri網(wǎng)。在本發(fā)明的一個(gè)實(shí)施例中,每個(gè)組件形成具有可選的多個(gè)輸入信道和可選的多個(gè)輸出信道的序列機(jī)。設(shè)C是可列舉的信道的集合,Δ是有限字母表的有限集合,γC->Δ,Ω=(C,Δ,γ)是通信規(guī)則,EΩ={e|e={(c,σ)|σ∈γ(c)∧((c,σ1)∈e∧(c,σ2)∈eσ1=σ2)}}∪{θ}是輸入/輸出事件的集合并且S是狀態(tài)的有限集合。序列機(jī)的系統(tǒng)被定義為
MΩ={(S,EΩ,δ,β,s0)|δR→S∧βR→EΩ∧RS×EΩ∧([(s,x),y]∈β(cx,σx)∈x(cy,σy)∈ycx≠cy)∧s0∈S}。
在組合函數(shù)中,同步信道的集合作為參數(shù)。待組合的機(jī)器的轉(zhuǎn)換根據(jù)設(shè)想的全局時(shí)鐘接通并且不存在旁路(Nebenlaeufigkeit)。字符發(fā)射機(jī)和接收機(jī)之間的“會(huì)合”應(yīng)該是可能的,它的前提是,組件可以互相等待。這通過(guò)接通等待的機(jī)器的“空轉(zhuǎn)換”而實(shí)現(xiàn)。空轉(zhuǎn)換不讀取任何東西也不寫(xiě)任何東西。在具有λ運(yùn)動(dòng)5的不確定自動(dòng)機(jī)中存在這樣的轉(zhuǎn)換。λ運(yùn)動(dòng)在這里被稱(chēng)為ε運(yùn)動(dòng)。在待組合作為B/E網(wǎng)絡(luò)的不確定序列機(jī)中,存在多個(gè)可能的接通順序或連續(xù)的過(guò)程6。每個(gè)可能的接通順序?qū)?yīng)于一個(gè)組合的序列機(jī)。組合函數(shù)是序列機(jī)在冪集合(Potenzmenge)中的映射。假設(shè)Ω=(C,Δ,γ)是通信規(guī)則,并且具有BC的B是內(nèi)部同步信道的集合。組合compB:MΩn→2MΩ]]>被定義為compB:={((K1,...,Kn),K~)|]]>(K1,...,Kn)=((S1,EΩ,δ1,β1,s01),...,(Sn,EΩ,δn,βn,s0n))]]> ([(s01,x1),s1′],...,[(s0n,xn),sn′])∈δ1×...×δn]]> ∃M~Ω′={K~′|∃((x1,...,xn),(y1,...,yn),(s1′,...,sn′),x~,y~)∈T:]]>
K~′=compB([(S1,EΩ,δ1,β1,s1′),...,(Sn,EΩ,δn,βn,sn′)])}]]>K~=(S~,EΩ,δ~,β~,s0~)]]> ((x1,...,xn),(y1,...,yn),(s1′,...,sn′),x~,y~)∈T}]]>∪∪(S~′,EΩ′,δ~′,β~′,s~Ω′)∈M~Ω′δ~′]]> ((x1,...,xn),(y1,...,yn),(s1′,...,sn′),x~,y~)∈T}]]>∪∪(S~′,EΩ′,δ~′,β~′,s~0′)∈M~Ω′β~′]]> 在按照這個(gè)定義的組合中,存在兩種類(lèi)型的信道信道A的集合,其中每個(gè)信道只由一個(gè)機(jī)器使用,以及同步信道B的集合,其中每個(gè)信道被至少兩個(gè)機(jī)器使用。同步信道B的集合在組合中被細(xì)分為內(nèi)部和外部同步信道。BB是不再在組合的機(jī)器中被使用的同步信道的集合。在許多應(yīng)用中,B=B。內(nèi)部和外部同步信道之間的主要區(qū)別是,當(dāng)通過(guò)內(nèi)部同步信道與同步轉(zhuǎn)換交換字符時(shí),可以只接通具有該信道的轉(zhuǎn)換。在外部同步信道中,條件沒(méi)有這么嚴(yán)格信道上的輸入或輸出不必須與被同步的轉(zhuǎn)換不兼容。因此,被同步的轉(zhuǎn)換不必須與該信道工作。通過(guò)外部的同步信道,可以與外部世界交換字符。如果具有外部同步信道的轉(zhuǎn)換應(yīng)該內(nèi)部地被同步,則必須建立附加的內(nèi)部同步信道。一種可能的遞歸組合算法如下工作組合程序被待組合的機(jī)器的初始狀態(tài)調(diào)用。在該程序中,初始狀態(tài)的被歸類(lèi)的集合作為被組合的狀態(tài)被記錄到被組合的狀態(tài)的列表中。然后,查找兼容的轉(zhuǎn)換的集合(每個(gè)組分,一個(gè)轉(zhuǎn)換),其分別具有初始狀態(tài)作為輸入位置。當(dāng)所有被分配給這些轉(zhuǎn)換的事件集合成對(duì)地兼容,并且由機(jī)器在內(nèi)部同步信道上寫(xiě)或讀的每個(gè)字符被另一機(jī)器讀取或?qū)懭霑r(shí),轉(zhuǎn)換是兼容的。當(dāng)所有事件成對(duì)地兼容或至少一個(gè)集合是空的時(shí),兩個(gè)事件集合是兼容的。空的事件集合與任何其它的事件集合兼容。當(dāng)內(nèi)部的或外部的同步信道的兩個(gè)事件或者涉及不同的信道,或者同一符號(hào)被一個(gè)機(jī)器讀取并且被另一個(gè)機(jī)器寫(xiě)入或者被兩個(gè)機(jī)器讀取或?qū)懭霑r(shí),內(nèi)部的或外部的同步信道的兩個(gè)事件是兼容的。例如,排除了兩個(gè)機(jī)器將不同的字符同時(shí)寫(xiě)到信道上的情況。當(dāng)被組合的狀態(tài)還未被包括在列表中時(shí),對(duì)于每個(gè)被發(fā)現(xiàn)的兼容的轉(zhuǎn)換的集合,轉(zhuǎn)換的輸出位置的被歸類(lèi)的集合作為被組合的狀態(tài)被記錄到被組合的狀態(tài)的列表中,并且作為初始狀態(tài)被輸入到組合程序的遞歸調(diào)用中。如果被組合的狀態(tài)已經(jīng)在列表中,則組合程序終止。當(dāng)沒(méi)有找到更多的新的可組合狀態(tài)時(shí),算法終止。
關(guān)于旁路的信息在組合comp中被丟失。為了考慮旁路,必須修改組合規(guī)則。在組合中,只有具有同步信道的轉(zhuǎn)換被組合為轉(zhuǎn)換。
組合結(jié)果經(jīng)常具有等效的狀態(tài)。當(dāng)組合結(jié)果的積(ProdukteKompositionsergebnisse)在其他組合中被繼續(xù)處理時(shí),這樣的冗余是不希望的。因此,人們努力尋找具有最少狀態(tài)的等效機(jī)器。最小化的映射在以下通過(guò)函數(shù)minMΩ→MΩ表示。
在組合之后經(jīng)常出現(xiàn)具有空事件集合的不希望的轉(zhuǎn)換。這些轉(zhuǎn)換可以通過(guò)位置邊沿化的粗糙化(stellenberandete Vergroeberung)(概念在6中解釋)來(lái)替代,其中邊沿是轉(zhuǎn)換的輸入和輸出位置。它被如此經(jīng)常地重復(fù),直到在機(jī)器中沒(méi)有空轉(zhuǎn)換。該映射在下面通過(guò)函數(shù)redMΩ→MΩ表示。
通過(guò)將圖靈機(jī)的一些組成部分組合起來(lái),圖靈機(jī)的控制流和結(jié)構(gòu)可以被遮掩。例如,可以將不同帶的任意字段組的組合。帶的字段也可以與程序或讀頭(Lesekopf)組合。其他與不是圖靈機(jī)組成部分的其它組件的組合也是可能的。
在本發(fā)明的另一實(shí)施例中,通過(guò)算法的翻譯構(gòu)成待組合的、數(shù)據(jù)處理網(wǎng)絡(luò)。據(jù)此,算法的分解和分析被變得困難或者被阻止。
在本發(fā)明的另一實(shí)施例中,至少一個(gè)待組合的、數(shù)據(jù)處理網(wǎng)絡(luò)是加密組件。如果該組件被隨機(jī)地生成并且保密,則組合結(jié)果的分解被顯著地變得困難或者是不可能的,特別是當(dāng)多個(gè)組件是具有不同任務(wù)的加密組件時(shí)。該方法適合于加密運(yùn)算順序。運(yùn)算讀取操作數(shù)并且寫(xiě)入結(jié)果。希望獲得關(guān)于運(yùn)算的知識(shí)的攻擊者可能將代表運(yùn)算的網(wǎng)絡(luò)與他已知的網(wǎng)絡(luò)進(jìn)行比較,或者他嘗試借助輸入和輸出例子構(gòu)建運(yùn)算模型,使得運(yùn)算和模型顯示出等效的輸入/輸出行為。當(dāng)值被加密以及被加密地處理時(shí),這兩種方法都被阻止了。通過(guò)將用于解密操作數(shù)的網(wǎng)絡(luò)與運(yùn)算的網(wǎng)絡(luò)以及用于加密結(jié)果的網(wǎng)絡(luò)組合起來(lái),這是可能的。必須可以與外界無(wú)加密地交換值。于是,輸入不被解密。類(lèi)似地,輸出不被加密。如果使用Petri網(wǎng)并且使用流加密方法(Stromverschluesselungsverfahren)用于解密和加密,其中該方法只在一個(gè)方向上處理輸入字符串并且隨著每個(gè)轉(zhuǎn)換讀入一個(gè)字符和寫(xiě)入一個(gè)字符,則加密不需要附加的時(shí)間,因?yàn)榻M合結(jié)果的每個(gè)轉(zhuǎn)換都是組件的轉(zhuǎn)換的合計(jì)。組合結(jié)果的狀態(tài)數(shù)目的上界是每個(gè)組件的狀態(tài)數(shù)目的積。被加密的運(yùn)算的每個(gè)輸出應(yīng)該具有單獨(dú)的加密,由此,攻擊者不能通過(guò)嘗試運(yùn)算的不同拼接(Konkatenation)來(lái)推斷出運(yùn)算的功能性。
在本方法的另一實(shí)施例中,組件可以解壓縮數(shù)據(jù)及/或在數(shù)據(jù)中插入水印。水印是識(shí)別標(biāo)記或者證書(shū),它被附在數(shù)據(jù)上,不會(huì)妨礙數(shù)據(jù)的使用。這種方法在將數(shù)據(jù),如音頻及/或視頻數(shù)據(jù),分發(fā)給終端用戶(hù)中適用。水印可以在終端用戶(hù)處在數(shù)據(jù)解密時(shí)被插入數(shù)據(jù)中。優(yōu)選的是,解密和水印是終端用戶(hù)獨(dú)特的。其中,事先進(jìn)行的加密不一定必須是終端用戶(hù)獨(dú)特的。解密可以與由特定硬件保護(hù)的加密函數(shù)連在一起,該加密函數(shù)的函數(shù)值是終端用戶(hù)獨(dú)特的。
在本方法的另一實(shí)施例中,寄存器可以被合并到寄存器組(Registerbank)中,并且由此互相交疊。交疊的意思是,攻擊者不改變組中另一寄存器的值就無(wú)法改變一個(gè)寄存器的值??梢员WC在其間至少一個(gè)對(duì)程序的正確運(yùn)行重要的值被儲(chǔ)存在組的一個(gè)寄存器中的時(shí)間間隔中寄存器內(nèi)容的完整性。寫(xiě)操作的一個(gè)重要的模塊是在以下被稱(chēng)為組合器的機(jī)器。組合器將分別分配給寄存器組中一個(gè)寄存器的不同信道的多個(gè)數(shù)據(jù)流可逆地映射到一個(gè)信道的數(shù)據(jù)流上。流入的數(shù)據(jù)流的字符集合的總數(shù)(Betrag)的積是組合器的輸出的字符集合的總數(shù)的上界??赡艿氖?,不是字符的所有組合都出現(xiàn)在輸入信道上。由組合器生成的數(shù)據(jù)流被加密。這比加密流入組合器的數(shù)據(jù)流更有利,因?yàn)榻M合器的輸出的字符集合比組件的字符集合大。以更大字符集合進(jìn)行流加密比以更小字符集合更有效。為了從組合器的數(shù)據(jù)流中提取寄存器的數(shù)據(jù),數(shù)據(jù)流首先被解密。然后,在使用分離器以后,可以讀取各個(gè)寄存器的數(shù)據(jù)。除了寄存器的交疊,將數(shù)據(jù)儲(chǔ)存在寄存器組中具有的優(yōu)點(diǎn)是,數(shù)據(jù)流可以被隱藏。許多運(yùn)算可以連續(xù)地在一個(gè)寄存器組中工作,而中間結(jié)果不離開(kāi)寄存器組。為了遮掩寄存器組的狀態(tài),偽隨機(jī)數(shù)可以被寫(xiě)入寄存器,該數(shù)在每次對(duì)寄存器組的讀和寫(xiě)訪問(wèn)時(shí)被改變。于是,偽隨機(jī)數(shù)發(fā)生器是寄存器組的組件。來(lái)自不在寄存器組中的寄存器的變化的數(shù)據(jù)可以被輸入到該發(fā)生器中。
在本方法的另一實(shí)施例中,加密組件從被保護(hù)的被執(zhí)行的函數(shù)接收數(shù)據(jù)并且對(duì)其處理,其中當(dāng)從加密函數(shù)中沒(méi)有接收到數(shù)據(jù)或接收到錯(cuò)誤數(shù)據(jù)時(shí),組合結(jié)果不工作或錯(cuò)誤地工作。據(jù)此,實(shí)現(xiàn)了組合結(jié)果與加密函數(shù)的難分或不可分的結(jié)合,例如當(dāng)軟件需要組合結(jié)果并且加密函數(shù)的執(zhí)行不可以自由地被再現(xiàn)時(shí),這適合阻止對(duì)軟件未授權(quán)的使用。另一種方法規(guī)定,另一種在功能性中被限制的組合結(jié)果不包含加密組件并且不需要從加密函數(shù)接收數(shù)據(jù)以保證沒(méi)有錯(cuò)誤的運(yùn)行模式。這種方法適合于分發(fā)可以自由拷貝和散布的軟件的演示版。組合結(jié)果必須在功能性中被限制,從而攻擊者在軟件的完整版中不能通過(guò)在演示版中使用的組合結(jié)果替代與加密函數(shù)結(jié)合的組合結(jié)果并且由此生成沒(méi)有限制的完全版。
借助一種可選方法實(shí)現(xiàn)了,數(shù)據(jù)處理網(wǎng)絡(luò)或程序的執(zhí)行被耦合至執(zhí)行裝置。與裝置,例如PC或PDA,固定連接的、被保護(hù)地執(zhí)行的加密函數(shù),例如Trusted Computing Platform Alliance(TCPA)13的TPM芯片的函數(shù),與網(wǎng)絡(luò)或程序交換數(shù)據(jù)。當(dāng)從加密函數(shù)沒(méi)有接收到數(shù)據(jù)或接收到錯(cuò)誤的數(shù)據(jù)時(shí),數(shù)據(jù)處理網(wǎng)絡(luò)或程序不工作或者錯(cuò)誤地工作。在本方法的一個(gè)實(shí)施例中,超過(guò)加密函數(shù)的函數(shù)值計(jì)算的值對(duì)于攻擊者不可讀地或不可改變地儲(chǔ)存,并且在另一函數(shù)值的繼續(xù)計(jì)算中,該值影響繼續(xù)計(jì)算的結(jié)果,其中該值根據(jù)預(yù)定規(guī)則改變。據(jù)此,阻止了多個(gè)網(wǎng)絡(luò)或程序示例可以不可控地使用加密函數(shù)的函數(shù)值。
具體實(shí)施例方式
在
圖1中,執(zhí)行的示例對(duì)一個(gè)存儲(chǔ)器進(jìn)行訪問(wèn),該存儲(chǔ)器儲(chǔ)存了Petri網(wǎng)以及帶x和y。初始標(biāo)記在一個(gè)位置上,即初始狀態(tài)s0上有一個(gè)標(biāo)記。隨著轉(zhuǎn)換的每次接通,標(biāo)記從輸入位置向輸出位置移動(dòng),借助一個(gè)頭從帶x中讀取輸入字母表的字符,并且借助另一個(gè)頭將輸出字母表的字符寫(xiě)在帶y上。在每次讀和寫(xiě)過(guò)程之后,頭向右移動(dòng)一個(gè)字段。網(wǎng)絡(luò)執(zhí)行二進(jìn)制乘法[y=2x]。
在以下所有的圖中都沒(méi)有示出實(shí)施的示例、存儲(chǔ)器、頭和帶。替代概念“Petri網(wǎng)絡(luò)”,使用概念“網(wǎng)絡(luò)”。
圖2示出了二進(jìn)制加法。一個(gè)標(biāo)記位于初始狀態(tài)s0上。轉(zhuǎn)換具有ab/c形式的符號(hào)(Beschriftung)。輸入和輸出信道在每個(gè)轉(zhuǎn)換的輸入位置以相同的形式被指示(nennen)。a和b是用于操作數(shù)的信道,c是用于結(jié)果的信道。具有相同輸入位置和相同輸出位置但具有不同輸入和輸出的轉(zhuǎn)換在本圖中和許多其它的圖中通過(guò)一個(gè)矩形標(biāo)識(shí)。矩形的每行對(duì)應(yīng)于一個(gè)轉(zhuǎn)換。
存在這種情況,其中處理的多個(gè)結(jié)果應(yīng)該被并行計(jì)算并且被輸出。圖3示出了一個(gè)網(wǎng)絡(luò),它除了多個(gè)輸入信道外還有多個(gè)輸出信道,并且將兩個(gè)二進(jìn)制表示的自然數(shù)相加[c=a+b,d=a-b]在圖4和圖5中示出了網(wǎng)絡(luò)的其他例子。在圖4中的網(wǎng)絡(luò)計(jì)算[t=3·a,d=a-b,s=a+b],在圖5中的網(wǎng)絡(luò)計(jì)算[s=a+b+c]。
圖6示出了兩個(gè)網(wǎng)絡(luò)M和M’的組合。輸入和輸出事件在轉(zhuǎn)換中通過(guò)集合,如權(quán)利要求11中的集合,來(lái)描述。M以轉(zhuǎn)換t4通過(guò)信道b寫(xiě)字符σ,M’通過(guò)同一信道以轉(zhuǎn)換t3’讀取字符σ。b是內(nèi)部同步信道。t4和t3’是單一轉(zhuǎn)換,它們?cè)谛诺纀上工作并且因此只能同步地接通。存在組合結(jié)果K1、K2和K3。從位置s0和s1’開(kāi)始沒(méi)有兼容的轉(zhuǎn)換繼續(xù)。所描述的組合程序因此在狀態(tài)(s0,s1’)被記錄到組合狀態(tài)的列表之后終止。
圖7示出了相同網(wǎng)絡(luò)的組合,其中只有具有同步信道的轉(zhuǎn)換被合并為一個(gè)轉(zhuǎn)換,以得到關(guān)于旁路的信息。
如果在一個(gè)機(jī)器M中人們想將輸出信道a通過(guò)信道b替換或?qū)⑤斎胄诺纀通過(guò)信道a替換,則將M與在圖8中示出的機(jī)器組合,其中a或b是內(nèi)部同步信道。{σ1,...,σm}是分配給信道a和b的字符集合。
圖9示出了,網(wǎng)絡(luò)的拼接也可以通過(guò)組合實(shí)施。具有空的事件集合的轉(zhuǎn)換(“空轉(zhuǎn)換”),其輸入位置與輸出位置相同,將在下面被稱(chēng)為等待轉(zhuǎn)換(Wartetransition)并且在圖9中通過(guò)空的矩形表示。M在信道a上寫(xiě)1,隨后在信道b上寫(xiě)2。M’在信道c上寫(xiě)3,隨后在信道d上寫(xiě)4。M或M’此外還具有信道k,用于拼接和等待轉(zhuǎn)換t3或t1’。在M的轉(zhuǎn)換t2中,字符κ被寫(xiě)在信道k上。M’的轉(zhuǎn)換t2’在信道k上讀取字符κ。若將M和M’與k組合作為內(nèi)部同步信道,則得到機(jī)器K,它依次在信道a、b、c或d上寫(xiě)入1、2、3或4。如果機(jī)器應(yīng)該是可拼接的,則初始狀態(tài)和最終狀態(tài)的環(huán)境必須相應(yīng)地被準(zhǔn)備。用于拼接的信道可以被分配給不同的轉(zhuǎn)換。拼接可以被信道的適當(dāng)替代影響。
在圖10中,自然數(shù)2由在信道a上輸出二進(jìn)制字符串010的機(jī)器表示。這對(duì)應(yīng)于等式a=2。用于加法c=a+b的機(jī)器在信道a和b上讀并且在信道c上寫(xiě)。這兩個(gè)機(jī)器通過(guò)內(nèi)部同步信道a被組合。圖11示出了結(jié)果。
{c=b+2 mod 8}=comp{a}([c=a+b],[a=2])因?yàn)榻M合算法在a=2的最終狀態(tài)中不再發(fā)現(xiàn)轉(zhuǎn)換,所以它終止。組合結(jié)果只能輸出長(zhǎng)度為3的字符串,通過(guò)mod8表示。如果通過(guò)內(nèi)部同步信道b將c=b+2mod 8與圖12的機(jī)器b=3組合,則得到機(jī)器c=5,同樣在圖12中示出。
=comp([c=b+2 mod 8],[b=3])圖13示出了整個(gè)過(guò)程。通過(guò)將所有部件組合在一個(gè)步驟中,無(wú)須中間結(jié)果c=b+2mod 8就得到組合結(jié)果c=5。
=comp{a,b}(|c=a+b],[a=2],[b=3])機(jī)器c=a+b可以處理無(wú)限長(zhǎng)的字符串。當(dāng)操作數(shù)通過(guò)輸出零的循環(huán)轉(zhuǎn)換而結(jié)束時(shí),與一個(gè)操作數(shù)組合之后的組合結(jié)果也可以這樣。在圖14中,a=2二進(jìn)制地以主要的(fuehrend)零示出。與c=a+b組合以后的組合結(jié)果可以處理無(wú)限長(zhǎng)的字符串,同樣在圖14中示出。
=comp{a}([c=a+b],[a=∞010])在另一個(gè)例子中,等式a=2a+c應(yīng)該被簡(jiǎn)化。為了它可以被處理,它被編碼為網(wǎng)絡(luò)。為此,首先建立等式d=2a+c,隨后d通過(guò)a替代。圖15示出了第一步驟。如果現(xiàn)在d被a替代,則在其中在替代之前被分配給信道a和d的字符不相同的所有轉(zhuǎn)換都是無(wú)效的。無(wú)效的轉(zhuǎn)換和不再可到達(dá)的位置s3在圖15中用陰影背景表示。在替代之后,信道a可以被移除,因?yàn)樵谝粋€(gè)轉(zhuǎn)換中不能同時(shí)在一個(gè)信道上讀和寫(xiě)。為了在移除之后信道a的信息不丟失,拷貝a’=a被采用。圖16在轉(zhuǎn)換min的輸入位置示出了這些步驟的結(jié)果??梢员硎?,s1和s2等價(jià)。在通過(guò)min的最小化之后,結(jié)果是等式a=-c。如在圖17中所示,這可以被檢驗(yàn)。如果在二進(jìn)制地工作的序列機(jī)a=e+f中傳輸狀態(tài)被定義為初始狀態(tài),則得到機(jī)器或網(wǎng)絡(luò)a=e+f+1。隨后,e通過(guò)c的1補(bǔ)數(shù)(Eins-Komplement)替代,這樣a=-c+f。根據(jù)f=0,則a=-c。
以下將自然數(shù)矩陣編碼為網(wǎng)絡(luò)并且通過(guò)組合相加。圖18中的網(wǎng)絡(luò)對(duì)應(yīng)于{1,2}2對(duì){1,2,3,4}的函數(shù),它給出矩A=2013]]>的行i和列j,其中函數(shù)值{0,1,2,3}被二進(jìn)制地編碼為{∞0,∞01,∞010,∞011}。網(wǎng)絡(luò)首先讀取行標(biāo)記和列標(biāo)記并且輸出相應(yīng)的矩陣元素。標(biāo)出用于讀入標(biāo)記的信道在與其它網(wǎng)絡(luò)組合時(shí)起著重要作用。因此,以下與通常的矩陣描述方法不同,標(biāo)記被附加給矩陣識(shí)別碼(Matrix-Bezeichner)Aij。組合得出 =]]>comp{a,b}([c=a+b],[aij=2013],[bij=1110]),]]>它在圖19中被示出。等待轉(zhuǎn)換通過(guò)在輸入位置(輸出位置)的字符串“//”表示。c=a+b的初始狀態(tài)有一個(gè)等待轉(zhuǎn)換。信道i和j成為外部同步信道。它們?nèi)匀槐A粼诮M合結(jié)果中,然而內(nèi)部同步信道a和b不被保留。c不是同步信道。
圖20示出了由網(wǎng)絡(luò)的合作形成的圖靈機(jī)的信道結(jié)構(gòu)。轉(zhuǎn)換對(duì)應(yīng)于涉及的合作方,位置相應(yīng)于信道。作為網(wǎng)絡(luò)實(shí)現(xiàn)的有限控制(endliche Kontrolle)通過(guò)信道x讀或者通過(guò)信道y在帶上寫(xiě)字符。有限控制在每次讀和寫(xiě)過(guò)程中通過(guò)信道I將移動(dòng)命令提供給頭。具有字段Fi的頭H通過(guò)信道zi通信。圖21示出了具有字段的帶,用于儲(chǔ)存字符0、1和τ。所有字段在開(kāi)始都儲(chǔ)存字符τ。在圖22中,帶的初始化Init01以字符串τ01τ示出。轉(zhuǎn)換中替代字符的點(diǎn)表示,在此每個(gè)被許可的字符允許被插入。具有標(biāo)記“./Rτ”和有標(biāo)記“x/Iy”的輸入位置的的轉(zhuǎn)換矩形是三個(gè)具有具有以下輸入/輸出事件集合的相同輸入和輸出位置的縮寫(xiě)1.轉(zhuǎn)換{(x,0)}/{(I,R),(y,τ)},2.轉(zhuǎn)換{(x,1)}/{(I,R),(y,τ)},3.轉(zhuǎn)換{(x,τ)}/{(I,R),(y,τ)}。若將初始化Init01與頭H和四個(gè)帶字段F1,...,F(xiàn)4組合,其中x,y,I,z1...z4是內(nèi)部同步信道,則在第一組合步驟中從所有組件的初始狀態(tài)出發(fā)只有一組兼容的轉(zhuǎn)換,如在表1中所示
表1兼容轉(zhuǎn)換組件形成字符生產(chǎn)者和消費(fèi)者的閉合循環(huán)。在組合之后,頭位于儲(chǔ)存1的字段F3上。在圖23中示出了用于識(shí)別語(yǔ)言L={0n1n|n≥1}的有限控制P1。前提是,待識(shí)別的詞以一個(gè)在前面的和后面的τ左對(duì)齊地位于帶上,并且頭在右邊的τ的左邊位于字段上。假設(shè),詞屬于語(yǔ)言L,則有下列的過(guò)程(與在5中類(lèi)似)在最右邊的1通過(guò)τ替代。然后頭向左邊移動(dòng)直到下一個(gè)τ,然后向右一個(gè)字段。在最左邊的0在這里被儲(chǔ)存并且通過(guò)τ替代。隨后,在最右邊的1、然后在最左邊的0通過(guò)τ替代,等等。如果0通過(guò)τ替代,并且在其右邊發(fā)現(xiàn)τ,則機(jī)器接受該詞。接受通過(guò)在信道Λ上寫(xiě)入1來(lái)通知外界。若機(jī)器在尋找0或1時(shí)發(fā)現(xiàn)1或0或者τ,則詞不被接受并且在信道Λ上輸出0。帶的使用者(在本情況下為有限控制)無(wú)需關(guān)于帶的結(jié)構(gòu)的知識(shí)。帶和字段也可以例如在機(jī)器中被組合。
使用者只需要關(guān)于帶的接口的知識(shí)、輸入和輸出信道的意義。用于識(shí)別語(yǔ)言的有限控制的使用者必須知道,如何將待檢驗(yàn)的詞寫(xiě)在帶上。關(guān)于信道I的意義以及將前述的τ寫(xiě)在帶的第一字段上的協(xié)議的知識(shí)屬于其中。該知識(shí)可以通過(guò)圖24中的機(jī)器被封裝。如果將該封裝與帶組合,則可以輸入如圖25中所示的形式的字符串。假設(shè)c∈L。如果將E與P1拼接(E的最終狀態(tài)是P1的初始狀態(tài))并且將它與T組合,其中所有被至少兩個(gè)機(jī)器使用的信道是同步信道,則在使用red之后得到圖26a)中示出的機(jī)器。若c∉L,]]>則結(jié)果是圖26b)中示出的機(jī)器。
圖27a)示出了運(yùn)算的加密執(zhí)行。操作數(shù)a、b或c被加密為a’、b’或c’。a和b的解密以及c的加密被與運(yùn)算組合。圖27b)示出了,未被加密的操作數(shù)a和b如何借助運(yùn)算被處理,以及結(jié)果c任何被加密為c’。運(yùn)算和加密被組合。
圖28a)或b)示出了在寄存器組中使用的、信道的組合器或其反轉(zhuǎn)、分離器。在圖29中示出了寄存器組的一種可能的結(jié)構(gòu)。為了改變寄存器值,多個(gè)運(yùn)算被組合。通過(guò)信道 讀取具有三個(gè)寄存器R1、R2和R3的寄存器組R’。寄存器R3的舊寄存器值在信道x3上被輸出。通過(guò)信道y3,新的值被寫(xiě)入寄存器R3中。圖29b)示出了組合,它輸出寄存器R3的內(nèi)容,而不改變寄存器組。
在圖30中示出了,硬件如何將應(yīng)用程序的數(shù)據(jù)以流加密進(jìn)行加密。被硬件加密的值被應(yīng)用程序解密。解密函數(shù)與應(yīng)用程序的運(yùn)算組合。運(yùn)算執(zhí)行之后的結(jié)果被加密。借助硬件的反函數(shù)的解密和具有運(yùn)算的加密并行進(jìn)行。被解密的值對(duì)于攻擊者在任何時(shí)刻都不可見(jiàn)。是否硬件加密以及應(yīng)用程序解密或者反過(guò)來(lái),都不重要。重要的是,兩個(gè)函數(shù)的連接是一致的。并行的解密和加密是可能的,因?yàn)橹皇褂昧骷用?。也可能使用其它的加密函?shù)。許多已知加密函數(shù)只能借助用于儲(chǔ)存中間結(jié)果、例如循環(huán)結(jié)果(Rundenergebnisse)的寄存器,來(lái)實(shí)現(xiàn)。這些中間結(jié)果必須被儲(chǔ)存在被保護(hù)的寄存器組中。如果塊加密的循環(huán)是流加密,則該塊解密的最后一個(gè)循環(huán)可以與運(yùn)算和運(yùn)算的代碼轉(zhuǎn)換組合。替代加密函數(shù),也可以在硬件中執(zhí)行Hash函數(shù)。圖31示出了一種可能的模式。至Hash函數(shù)的輸入的一部分必須保密。該部分對(duì)應(yīng)于加密函數(shù)中的密鑰。輸入的其他部分是來(lái)自應(yīng)用程序的數(shù)據(jù)。Hash函數(shù)的輸出值可以以Hash函數(shù)的仿真的輸出值,例如通過(guò)自補(bǔ)償?shù)倪\(yùn)算,如加法和減法,加至被執(zhí)行的運(yùn)算的結(jié)果上。這些被執(zhí)行的運(yùn)算的結(jié)果只有當(dāng)Hash函數(shù)和其仿真給出相同的值時(shí)才正確。運(yùn)算、Hash函數(shù)或Hash函數(shù)的循環(huán)、加法、減法和運(yùn)算的所有代碼轉(zhuǎn)換都可以被組合。至Hash函數(shù)的輸入的保密部分以及可能的中間結(jié)果必須被儲(chǔ)存在被保護(hù)的寄存器組中。
順序的、可逆的機(jī)器可以被用于加密和解密。順序的、可逆的機(jī)器的一個(gè)例子在圖32中被示出。在每個(gè)狀態(tài)中,在給出的輸出時(shí),可以唯一地確定所屬的輸入。那些比圖32中示例地示出的機(jī)器具有顯然更多狀態(tài)的機(jī)器適合于與其它網(wǎng)絡(luò)組合,例如如在圖27a)和b)中示出的。也可能的是,具有延遲的輸出的機(jī)器,如在3中描述的。所有機(jī)器都可以被不確定地生成,例如借助隨機(jī)數(shù)發(fā)生器。
參考資料[1]Feng Bao,Yoshihide Igarashi,Break Finite Automata Public Key Crypto-system,ICALP 1995147-158,1995. T.L.Booth,Sequential Machines and Automata Theory,John Wiley andSons,1967. Zongduo Dai,Dingfeng Ye,Kwok-Yan Lam,Weak Invertibility of FiniteAutomata and Cryptoanalysis on FAPKC,Aduances in Cryptology-ASIA-CRYPT′98227-241,Springer,1998. W.Harder,B.Peeters,Vorrichtung zum Schutz gegen unauthorisierte Be-nutzung von Software,Patent DE 3914233,1990. J.E.Hopcroft,J.D.Ullman,Einführung in die Automatentheorie,F(xiàn)ormaleSprachen und Komplexittstheorie,4.Auflage,Oldenbourg,2000. E.Jessen,R.Valk,Rechensysteme,Grundlagen der Modellbildung,Springer,1987. M.Minsky,ComputationFinite and Infinite Machines,Prentice-Hall,Engle-wood Cliffs,1967. W.Reisig,Petri-Netze,Eine Einführung,Springer,1982. R.Rojas,Theorie der neuronalen Netze,Springer,1993. D.R.Wallace,System and method for cloaking software,US-Patent 6192475,2001. Sospita,http//www.sospita.com,2002. Syncrosoft Hard- und Software GmbH,http//www.syncrosoff.com,2003. Trusted Computing Platform Alliance(TCPA),http//www.trustedcomputing.org,2003.
權(quán)利要求
1.用于處理數(shù)據(jù)的方法,其特征在于,Petri網(wǎng)被編碼,被寫(xiě)入存儲(chǔ)器中,并且被至少一個(gè)示例從所述存儲(chǔ)器中讀取并執(zhí)行,其中Petri網(wǎng)的轉(zhuǎn)換借助至少一個(gè)頭從至少一個(gè)帶讀取字符或者字符串和/或在至少一個(gè)帶中寫(xiě)入字符或者字符串。
2.根據(jù)權(quán)利要求1的方法,其特征在于,Petri網(wǎng)、頭和帶構(gòu)成通用圖靈機(jī)。
3.根據(jù)權(quán)利要求1或2的方法,其特征在于,至少一個(gè)第二Petri網(wǎng),特別是具有權(quán)利要求1中所述Petri網(wǎng)的特征的至少一個(gè)第二Petri網(wǎng),被編碼,被寫(xiě)入存儲(chǔ)器,并且被至少一個(gè)示例從存儲(chǔ)器中讀出并且執(zhí)行,其中每個(gè)Petri網(wǎng)的轉(zhuǎn)換可以通過(guò)至少一個(gè)可選地現(xiàn)有信道發(fā)送字符或字符串,所述字符或字符串可以被其它Petri網(wǎng)的轉(zhuǎn)換通過(guò)所述信道接收。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)的方法,其特征在于,Petri網(wǎng)訪問(wèn)標(biāo)記表或狀態(tài)轉(zhuǎn)換表以及可選的至少一個(gè)輸出表或二者的組合,并且以此根據(jù)標(biāo)記或狀態(tài)以及可選地根據(jù)可選地現(xiàn)有輸入求出后繼標(biāo)記或后繼狀態(tài)和可選的至少一個(gè)輸出。
5.用于實(shí)施根據(jù)權(quán)利要求4的方法的方法,其特征在于,Petri網(wǎng)的轉(zhuǎn)換的接通通過(guò)處理器執(zhí)行,其中所述處理器至少具有一個(gè)處理器指令,所述處理器指令將所述標(biāo)記表或狀態(tài)表和可選的至少一個(gè)輸出表或二者的組合作為操作數(shù)處理。
6.根據(jù)權(quán)利要求3的方法,其特征在于,Petri網(wǎng)的合作形成圖靈機(jī)。
7.根據(jù)權(quán)利要求3和6之一的方法,其特征在于,程序的至少一部分被翻譯為Petri網(wǎng)或Petri網(wǎng)的合作。
8.根據(jù)權(quán)利要求3至7之一的方法,其特征在于,Petri網(wǎng)通過(guò)組合規(guī)則實(shí)施,其中借助合作的第一和第二Petri網(wǎng)形成除了輸出延遲外、關(guān)于外部輸入/輸出行為與所述第一和第二Petri網(wǎng)等效的第三Petri網(wǎng)。
9.除了基于有限自動(dòng)機(jī)的組合的公鑰加密方法之外的用于數(shù)據(jù)處理的方法,特別是與權(quán)利要求1至8之一相結(jié)合,其特征在于,數(shù)據(jù)處理的、合作的網(wǎng)絡(luò)被組合,組合結(jié)果被編碼、被寫(xiě)入存儲(chǔ)器并且被至少一個(gè)示例從存儲(chǔ)器中讀出并且執(zhí)行,其中組合結(jié)果是除了輸出延遲外、關(guān)于外部輸入/輸出行為與其組件等效的網(wǎng)絡(luò)。
10.根據(jù)權(quán)利要求1至8之一以及權(quán)利要求9的方法,其特征在于,所述組件和所述組合結(jié)果是Petri網(wǎng),其中所述組件的轉(zhuǎn)換可以通過(guò)可選地現(xiàn)有信道發(fā)送和接收字符或字符串。
11.根據(jù)權(quán)利要求8或10的方法,其特征在于,所述Petri網(wǎng)形成具有可選的多個(gè)輸入信道和可選的多個(gè)輸出信道的序列機(jī)MΩ,C是信道的有限集合,Δ是有限字母表的有限集合,γC->Δ,Ω=(C,Δ,γ)是通信規(guī)則,EΩ={e|e={(c,σ)|σ∈γ(c)((c,σ1)∈e(c,σ2)∈eσ1=σ2)}}∪{φ}是輸入/輸出事件的集合,S是狀態(tài)的有限集合,并且MΩ={(S,EΩ,δ,β,s0)|δR→SβR→EΩRS×EΩ({(s,x),y]∈β(cx,σx)∈x(cy,σy)∈ycx≠cy)s0∈S),具有B C的B是內(nèi)部同步信道的集合,序列機(jī)的組合compBMΩn→2MΩ被定義為compB:={((K1,...,Kn),K~)|]]>(K1,...,Kn)=((S1,EΩ,δ1,β1,s01),...,(Sn,EΩ,δn,βn,s0n))]]> ([(s01,x1),s1′],...,[(s0n,xn),sn′])∈δ1×...×δn]]> ∃E~Ω′={K~′|∃((x1,...xn),(y1,...,yn),(s1′,...,sn′),x~,y~)∈T:]]>K~′=compB([(S1,EΩ,δ1,β1,s1′),...,(Sn,EΩ,δn,βn,sn′)])}]]>K~=(S~,EΩ,δ~,β~,s0~)]]> ((x1,...,xn),(y1,...,yn),(s1′,...,sn′),x~,y~)∈T}]]>∪∪(S′~,EΩ′,δ′~,β′,~s0′~)∈M~Ω′δ~′]]> ((x1,...,xn),(y1,...,yn),(s1′,...,sn′),x~,y~)∈T}]]>∪∪(S′~,EΩ′,δ′~,β′,~s0′~)∈M~Ω′δ~′]]>
12.根據(jù)權(quán)利要求9的方法,其特征在于,所述數(shù)據(jù)處理網(wǎng)絡(luò)通過(guò)算法的翻譯形成。
13.根據(jù)權(quán)利要求9至12之一的方法,其特征在于,至少一個(gè)組件是加密組件。
14.根據(jù)權(quán)利要求13的方法,其特征在于,至少一個(gè)組件對(duì)被壓縮的數(shù)據(jù)解壓縮。
15.根據(jù)權(quán)利要求13或14的方法,其特征在于,組件讀取數(shù)據(jù)并且通過(guò)這些數(shù)據(jù)的改變將對(duì)于這些數(shù)據(jù)的使用不妨礙或較少妨礙的特征或水印加入所述數(shù)據(jù)中。
16.根據(jù)權(quán)利要求13的方法,其特征在于,多個(gè)輸入信道的加密器和組合器被組合為輸出信道,其中所述加密器和所述組合器是Petri網(wǎng),所述加密器將通過(guò)所述輸入信道接收的數(shù)據(jù)映射到所述輸出信道上,所述組合器的輸出是所述加密器的輸入。
17.根據(jù)權(quán)利要求13的方法,其特征在于,解密器和分離器被組合,其中所述解密器或所述分離器是Petri網(wǎng),并且可以是所述加密器或所述組合器的反轉(zhuǎn),所述解密器或所述分離器根據(jù)權(quán)利要求16中所述的方法與組合器或加密器組合,所述分離器將通過(guò)所述輸入信道接收的數(shù)據(jù)映射到所述輸出信道上,所述解密器的輸出是所述分離器的輸入。
18.根據(jù)權(quán)利要求13至17之一的方法,其特征在于,至少一個(gè)組件是從被保護(hù)地執(zhí)行的加密函數(shù)接收并處理數(shù)據(jù)的加密組件,其中如果從所述加密函數(shù)中沒(méi)有接收到數(shù)據(jù)或接收到錯(cuò)誤數(shù)據(jù),則組合結(jié)果不工作或錯(cuò)誤地工作。
19.根據(jù)權(quán)利要求18的方法,其特征在于,在省略所述加密組件或至少一個(gè)所述加密組件的情況下實(shí)施組合,其中組合結(jié)果相對(duì)于沒(méi)有省略而形成的組合結(jié)果關(guān)于可用性方面至少具有一個(gè)限制。
20.用于處理數(shù)據(jù)的方法,特別是與權(quán)利要求1至19之一結(jié)合,其特征在于,數(shù)據(jù)處理的網(wǎng)絡(luò)或程序從被保護(hù)地執(zhí)行的加密函數(shù)接收并處理第二數(shù)據(jù),并且如果沒(méi)有接收到第二數(shù)據(jù)或接收到錯(cuò)誤的第二數(shù)據(jù),則所述數(shù)據(jù)處理網(wǎng)絡(luò)或所述程序不工作或錯(cuò)誤地工作,其中所述加密函數(shù)與執(zhí)行所述數(shù)據(jù)處理網(wǎng)絡(luò)或所述程序的裝置固定相連。
21.根據(jù)權(quán)利要求20的方法,其特征在于,超過(guò)所述加密函數(shù)的函數(shù)值的計(jì)算的值對(duì)于攻擊者不可讀地或不可改變地儲(chǔ)存,并且在另一函數(shù)值的繼續(xù)計(jì)算中,所述值影響所述繼續(xù)計(jì)算的結(jié)果,其中所述值根據(jù)預(yù)定規(guī)則改變。
全文摘要
用于處理數(shù)據(jù)的方法,其中Petri網(wǎng)被編碼,被寫(xiě)入存儲(chǔ)器并且被至少一個(gè)示例從存儲(chǔ)器中讀取并執(zhí)行,其中Petri網(wǎng)的轉(zhuǎn)換借助至少一個(gè)頭從至少一個(gè)帶中讀出字符或者字符串并且/或者在至少一個(gè)帶中寫(xiě)入字符或者字符串(圖1)。在一種可選方案中,數(shù)據(jù)處理的、合作的網(wǎng)絡(luò)被組合,組合結(jié)果被編碼、被寫(xiě)入存儲(chǔ)器并且被至少一個(gè)示例從存儲(chǔ)器中讀出并且執(zhí)行。其中組件可以具有加密的任務(wù)。數(shù)據(jù)處理的網(wǎng)絡(luò)可以從被保護(hù)地執(zhí)行的加密函數(shù)接收第二數(shù)據(jù)。本發(fā)明實(shí)現(xiàn)了數(shù)據(jù)處理,它阻止了公開(kāi)的、可能更少處理步驟的語(yǔ)義分析,并且可以制造處理步驟和硬件的難以分離的結(jié)合。
文檔編號(hào)G06F21/14GK1781117SQ200480011230
公開(kāi)日2006年5月31日 申請(qǐng)日期2004年4月3日 優(yōu)先權(quán)日2003年4月25日
發(fā)明者沃爾夫·哈德, 貝恩德·佩特斯, 烏韋·里薩斯, 斯蒂芬·韋博 申請(qǐng)人:Sia塞克羅索夫特公司