2014-10-01 75 views
0

有沒有辦法證明,我的意思是在技術上和法律上證明,一段代碼已經在計算機上運行了一段時間?代碼執行證明

我認爲這可以通過涉及像校驗和和可信時間戳這樣的密碼技術來實現,您怎麼看?

+0

只是想清楚一些事情:你想讓它顯示它是否在歷史中運行,或者你想在將來檢查它嗎? – Dave 2014-10-01 11:23:44

+0

該流程是否具有可識別/可審計的輸出? – 2014-10-01 11:56:50

+1

這個問題似乎是無關緊要的,因爲它不是關於編程。 – 2014-10-01 18:56:19

回答

1

技術上,問題是如果您事先準備好計算機來完成這個任務,以及您是如何嚴格定義一段「代碼」,因爲兩個程序可以產生由於分支而執行的相同的指令序列。

在「代碼段」的丟失定義中,如果您事先更喜歡計算機,則可以創建一個虛擬機,創建已執行指令的歷史記錄(或者節省空間,執行的程序)併發送此歷史記錄實時將公鑰加密技術用於可信機器,即「歷史管理員」,它使用時間戳標記歷史流。對於較低的安全級別,您還可以在本地保存該歷史記錄,而不在虛擬機內用戶可訪問的內容之外。儘管仍然存在篡改的可能性(例如損害虛擬機),但在虛擬機啓動得到合理保護的公司(無法使用USB端口,BIOS鎖定,啓動順序不能使用「保存模式」更改)或工作人員因此他們不能修改硬件和移除/切換組件),但這不會給你100%的安全性,但在很多情況下工作得相當好。

合法,這取決於管轄權和情況。至少在德國和美國,刑法需要比民法更高的確定性,所以我認爲這對於民法程序來說足夠了,但要根據刑法的情況而定。

+0

有趣。讓我更具體一些。想象一下,生成包含非常敏感數據的報告的軟件。這些報告由可信管理機構簽名並加蓋時間戳。但是,爲了生成有效的報告,該軟件必須**進行大量的預處理操作。這裏的要點是要證明這些操作已經完成,並且在特定的時間已經執行了特定的二進制文件以生成特定的報告。換句話說,有必要將軟件與它生成的報告結合起來。我不知道這是否真的有可能。 – Silas 2014-10-02 12:36:46

+0

當然,只需將報告文件與我的虛擬機建議中的程序或說明一起添加到歷史記錄中即可。 – 2014-10-02 13:33:57

+0

嗯,在這種情況下,爲什麼要信任「歷史守護者」機器?這不是「雞與雞蛋」問題嗎? :) – Silas 2014-10-02 17:10:26