5-7 DSA 公鑰 系統操作
DSA(Digital Signature Standard)是美國國家標準的數位簽章演算法,請參考本書第七章介紹。DSA 系統除了具有產生公開鑰匙配對外,也提供簽署與驗證功能。OpenSSL 也相對提出了 gendsa、dsa 與 dsaparam 三只命令,以下分別說明之。 5-7-1 產生 DSA 鑰匙參數 – dsaparam DSA 鑰匙參數包含有 p、q 與 g(請參考第七章介紹),無論產生鑰匙配對、簽署文件或驗證都需使用到這 3 個參數,而且它必須公開的,又稱為公共鑰匙。許多應用系統,將某些固定區域之間通訊都採用相同的公共鑰匙,來產生不同的鑰匙配對,如此也不會影響系統的安全性。產生 DSA 鑰匙參數後,可利用 gendsa 命令產生鑰匙配對,或再利用 dsaparam 命令產生亦可。命令 dsaparam 格式如下:
操作範例:吾人欲產生一套 512 位元的 DSA 鑰匙參數,並儲存於 dsa512.pem 檔案內。接著再觀察這些參數以 C 語言的宣告語法(其它鑰匙檔案也可利用此方法觀察其資料結構)。命令輸入如下:
產生上述 C 語言的資料結構後,即可連結到應用系統程式上,OpenSSL 即是利用此方法,將產生的鑰匙參數與應用結合。同樣的,吾人也可觀察所參數的共用參數如何,操作如下:
由上述檔案內容可以看出,利用 dsaparam 命令所產生的共用參數 p、q 與 g。ㄧ般組織單位大多僅採用一套共用參數,組織內所使用的鑰匙配對,都是利用同一共用參數(或稱共用鑰匙)所產生。 5-7-2產生 DSA 鑰匙配對 – gendsa 得到 DSA 參數之後,則可利用 gendsa 來產生 DSA 公開鑰匙與私有鑰匙,其命令格式如下:
操作範例:吾人利用 dsaparam 產生鑰匙參數檔案後(dsa512.pem),再利用它產生 DSA 鑰匙配對,並儲存於 dsa512.key 檔案內,其中私有鑰匙經過 AES-256 演算法加密,加密鑰匙是利用通行碼 12345678,操作如下:
吾人可觀察 dsa512.key 檔案內容,如下:
5-7-3 管理 DSA 鑰匙 - dsa OpenSSL 製作了 dsa 命令用於管理 DSA 簽署系統,譬如變更私有鑰匙加密演算法或通行碼、改變鑰匙檔案格式、等等相關操作。命令格式如下:
操作範例:在前面範例中,已經產生了 dsa512.key 私有鑰匙,吾人在利用它產生相對應的公開鑰匙,操作如下。
觀察公開鑰匙(dsapub.key)之內容如下:
操作範例:吾人想修改 dsa512.key 的加密通行碼(原來是 12345678),重新設定為2468123,操作如下:
|
翻轉工作室:粘添壽
資訊與網路安全技術
翻轉電子書系列:
|