在我的公司,我們正在開發一個由多臺服務器組成的大型系統。該系統由約5個邏輯組件組成。數據存儲在XML,MS SQL和SQLite中。這是一個.Net系統(主要),組件使用WCF和一些自定義UDP進行通信。 客戶端主要通過自定義UDP或WEB訪問系統(ASP.NET & Silverlight)。保護部署在「惡意」環境中的系統
保護通信很容易,一些SSL和WCF上的一些安全性,我們完成了。
我們面臨的主要問題是系統需要部署在客戶端的網站上,這是我們不一定信任的客戶端。我們需要捍衛服務器上的數據,以及逆向工程中的軟件本身。兩者對我們都非常重要。
此外,我們需要一個殺死開關,我希望某些東西可以根據命令破壞數據和軟件,或者如果無法在一定時間內致電回家。
我想到的方向是使用TPM或類似的東西 - 一些硬件加密解決方案,與另一種服務相結合,我們可以在內部保留這些服務以加密服務器上的所有軟件和數據,以便密鑰的意願來自我們的服務器安全地在我們的網站,並可能從TPM的內存窗簾。
你如何解決這個問題?
UPDATE 04/02 我在尋找切實可行的建議,或產品,可以幫助我建議,所以我開始賞金......
看傢伙我們基本上把我們的機器放在客戶的網站上(出於商業和實際的原因),我們擁有這臺機器,客戶在幾個小時內收到他所付的一切,他可以隨心所欲地處理數據。但是我在那臺機器上運行的算法,以及存儲在那裏的一些數據是我們想要保護的商業祕密。 理想情況下,我希望機器不工作,甚至不開機,如果我不說,這是好的,沒有我的確定在機器上的一切保持加密。內存遮擋看起來也是在執行時保護機器的好方法。
理想情況下,我希望HD和所有機器上的存儲器一旦有人用螺絲刀接近它們就會爆炸...... :-)但我認爲這會花費太多......
UPDATE 10/02 OK在做了一些研究之後,我認爲我們會嘗試一些與PS3加密系統相同的方向,除了我們要帶來解密軟件和我們服務器數據的密鑰。這樣做,我們可以決定我們的機器是否信任請求密鑰的服務器,我們可以通過重新設置機器來獲得kill switch。這可能是基於TPM或類似的東西,也許英特爾的TXT ... 我也真的有興趣在內存窗簾作爲一項重要的安全功能...
順便說一句,我們不能通過移動有價值的零件我們的系統到我們的網站,無論是因爲業務需求,還是因爲它不具備技術上的可行性 - 我們需要巨大的帶寬......
爲使討論更有意義:您認爲攻擊者會將什麼樣的努力放到您的系統中? (像租用一個集羣,僱用10名安全研究員,每小時100美元,爲期一個月,或類似) – wizzard0 2011-02-10 21:59:01
> PS3加密系統 >業務需求 >巨大的帶寬.... 另外,我見過一個系統這樣的要求。在源代碼中。與銀行業務有關。所以,實踐起來,我可以幫你設計它(不是真的相信你可以聘請一個完整的陌生人,但是)。 – wizzard0 2011-02-10 22:04:53