嗯,今天不討論破解病毒的問題 |
一直以來,總是覺得自家系統的加密法很陽春,容易被破解,最近看到可怕的【 加密勒索病毒】,發現居然用到 RSA 4096 加密等級,凡是中招者,只能選擇「付贖金」或是「銷毀」這兩個選項。
看來這 RSA 加密真是個很可靠的東西,如果可以應用在自家的產品上……
「我們家產品採用和勒索病毒相同等級的安全性加密」
客戶聽起來一定會覺得很可靠吧!是吧!
客戶聽起來一定會覺得很可靠吧!是吧!
客戶聽起來一定會覺得很可靠吧!是吧!
你想太多了………
話說回來,在Delphi裡應該怎麼實作呢?
Delphi沒有提供RSA加解密元件及函式
這的確是蠻悲劇的一件事,但萬幸的是,3rd元件還是有的。中國代理商有針對【LockBox】元件製作一篇教學影片,看完非常興奮,我應該也可以做出來吧!
LockBox封裝地非常簡單,但請務必知道加解密流程
確實,LockBox封裝加解密法後的元件非常簡單,而TSignatory是隱式地操作TCodec,若不知道加密解密的流程,在使用上絕對會大吃苦頭!自己被自己綁架好一段時間,好孩子千萬不要亂嘗試啊!
影片中的RSA範例要做成這樣類實戰的結果,不可能! |
LockBox也可以做數位簽章
數位簽章是什麼,目的是驗證封包是否為傳送人傳來的。RSA 公鑰和私鑰的應用規則
- Server端提供【公鑰】給Clent端。
- Client使用【Server公鑰】「加密」,連同Client端的【公鑰】傳給Server端。
- Server端使用【私鑰】「解密」,取得Client端傳來的明碼資料。
欠缺的 系統存放金鑰的位置
LockBox可以很輕鬆的產出金鑰,但是金鑰暴露在外面總不是這麼地安全。
還好,貼心的Windows已經幫我們設想到了,在系統中,有個叫【金鑰容器(key container)】的地方,它有「不可視」以及「需要知道名稱才可載入」這兩種特性。
但很可惜的,LockBox並未提供金鑰容器存取的方法。
要存取金鑰容器,還是只能依賴【JEDI WCRYPT2.PAS】這個單元,這是仿照「Microsoft CAPICOM SDK」封裝的Delphi工具。
其中也包含了RSA金鑰的製作,只是製作方式並沒有比LockBox簡單,也許可以朝「把LockBox金鑰使用Wcrypt2.pas儲存到金鑰容器」的方向來走。
但很可惜的,LockBox並未提供金鑰容器存取的方法。
要存取金鑰容器,還是只能依賴【JEDI WCRYPT2.PAS】這個單元,這是仿照「Microsoft CAPICOM SDK」封裝的Delphi工具。
其中也包含了RSA金鑰的製作,只是製作方式並沒有比LockBox簡單,也許可以朝「把LockBox金鑰使用Wcrypt2.pas儲存到金鑰容器」的方向來走。
實作【金鑰】和【儲存到金鑰容器】的方法
我還在嘗試【儲存到金鑰容器】的實作,等有結果時再一併釋出。
話說回來,Delphi就沒有像.NET一樣方便的處理方法嗎?(痛扣指數 ★★★★★)
See also:
話說回來,Delphi就沒有像.NET一樣方便的處理方法嗎?(痛扣指數 ★★★★★)
See also:
沒有留言:
張貼留言