10-公鑰管理配置
本章節下載: 10-公鑰管理配置 (229.32 KB)
目 錄
· 設備運行於FIPS模式時,本特性的部分配置相對於非FIPS模式有所變化,具體差異請見本文相關描述。有關FIPS模式的詳細介紹請參見“安全配置指導”中的“FIPS”。
· 本章中典型配置舉例中的配置,如無特殊說明,均以設備運行在非FIPS模式下的命令行為準。
· 算法:加密和解密過程中使用的一組變換規則。
· 明文:未加密的信息。
· 密文:加密後的信息。
· 密鑰:一組特定的字符串,是控製明文和密文變換的唯一參數,起到“鑰匙”的作用。加密和解密都是在密鑰的參與下進行的。
如圖1-1所示,為了保證數據在網絡中安全傳輸,不被攻擊者非法竊聽和惡意篡改,發送方在發送數據之前需要對數據進行加密處理,即通過一定的算法,利用密鑰將明文數據變換為密文;接收方接收到密文數據後,對其進行解密處理,即通過一定的算法,利用密鑰將密文數據恢複為明文,以獲得原始數據。
根據加密解密過程中使用的密鑰是否相同,可以將數據加解密算法分為:
· 對稱密鑰算法:數據加密和解密時使用相同的密鑰。常用的對稱密鑰算法包括AES(Advanced Encryption Standard,高級加密標準)、DES(Data Encryption Standard,數據加密標準)等。
· 非對稱密鑰算法:數據加密和解密時使用不同的密鑰,一個是對外公開的公鑰,一個是由用戶秘密保存的私鑰。通過公鑰(或私鑰)加密後的數據隻能利用對應的私鑰(或公鑰)進行解密;從公鑰很難推斷出私鑰。
非對稱密鑰算法可以用於加解密和數字簽名:
· 加解密:發送者利用接收者的公鑰對報文進行加密,擁有對應私鑰的合法接收者使用私鑰對數據進行解密,從而可以保證數據的機密性。
· 數字簽名:發送者利用自己的私鑰對數據進行加密,接收者利用發送者的公鑰對數據進行解密。由於通過私鑰加密後的數據隻能利用對應的公鑰進行解密,因此根據解密是否成功,就可以判斷發送者的身份,如同發送者對數據進行了“簽名”。例如,用戶1使用自己的私鑰對數據進行簽名後,發給用戶2,用戶2利用用戶1的公鑰驗證簽名,如果簽名是正確的,那麼就能夠確認該數據來源於用戶1。
非對稱密鑰算法包括RSA(Rivest Shamir and Adleman)和DSA(Digital Signature Algorithm,數字簽名算法)。RSA既可以用於加解密,又可以用於簽名,而DSA隻用於簽名。
非對稱密鑰算法的計算量較大,運算速度較慢。如果利用非對稱密鑰算法對整個報文進行加密和解密,則會影響報文的處理速度。因此,對稱密鑰算法經常用來加解密數據,以保證數據傳輸的安全性;而非對稱密鑰算法經常用於隻需對較短的數據摘要進行加解密的數字簽名,以便驗證對端的身份。
用戶通過命令行可以在本地設備上生成本地非對稱密鑰對、導出本地非對稱密鑰對的主機公鑰部分和銷毀本地非對稱密鑰對。
· 非FIPS模式下,生成RSA密鑰對時,將同時生成兩個密鑰對——服務器密鑰對和主機密鑰對,二者分別包括一個公鑰和一個私鑰。RSA服務器密鑰和主機密鑰模數的最小長度為512比特,最大長度為2048比特,缺省長度為1024比特;FIPS模式下,生成RSA密鑰對時,將隻生成1個密鑰對——主機密鑰對,包括一個公鑰和一個私鑰;RSA密鑰模數的長度為2048比特。
· 非FIPS模式下,生成DSA密鑰對時,隻生成一個主機密鑰對。DSA主機密鑰模數的最小長度為512比特,最大長度為2048比特,缺省長度為1024比特。FIPS模式下,DSA密鑰模數的最小長度為1024比特,最大長度為2048比特,缺省長度為1024比特。
表1-1 生成非對稱密鑰對
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
生成本地DSA或RSA密鑰對 |
public-key local create { dsa | rsa } |
必選 缺省情況下,沒有生成DSA或RSA密鑰對 |
· 執行public-key local create命令後,生成的密鑰對將保存在設備中,設備重啟後不會丟失。
· 生成RSA密鑰對時會提示用戶輸入密鑰模數的長度,建議密鑰模數的長度大於或等於768比特,以提高安全性保證。
· 生成DSA密鑰對時會提示用戶輸入密鑰模數的長度,建議密鑰模數的長度大於或等於768比特,以提高安全性保證。
對於已經生成的RSA或DSA密鑰對,可以按照指定格式在屏幕上顯示主機公鑰或導出主機公鑰到指定文件。用戶可以將顯示或導出的主機公鑰保存到遠端設備上,以便遠端設備利用此主機公鑰通過數字簽名算法驗證本地設備的身份。
表1-2 顯示或導出RSA或DSA密鑰對的主機公鑰
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
按照指定格式在屏幕上顯示本地RSA主機公鑰或導出本地RSA主機公鑰到指定文件 |
非FIPS模式下: public-key local export rsa { openssh | ssh1 | ssh2 } [ filename ] FIPS模式下: public-key local export rsa { openssh | ssh2 } [ filename ] |
根據導出的公鑰類型選擇相應的命令 |
按照指定格式在屏幕上顯示本地DSA主機公鑰或導出本地DSA主機公鑰到指定文件 |
public-key local export dsa { openssh | ssh2 } [ filename ] |
在如下幾種情況下,用戶可能需要銷毀舊的非對稱密鑰對,並生成新的密鑰對:
· 本地設備的私鑰泄露,導致非法用戶冒充本地設備訪問網絡。
· 保存密鑰對的存儲設備出現故障,更換了新的存儲設備。
· 密鑰對使用了較長時間,為了避免密鑰泄露或破譯。
· CA(Certificate Authority,證書機構)頒發的證書到達有效期。通過display pki certificate命令,可以查看證書的有效期。CA和證書的詳細介紹,請參見“安全配置指導”中的“PKI配置”。
表1-3 銷毀非對稱密鑰對
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
銷毀非對稱密鑰對 |
public-key local destroy { dsa | rsa } |
必選 |
為了實現對遠端主機的身份驗證,需要在本地設備上配置遠端主機的RSA或DSA公鑰。
配置遠端主機公鑰的方式有如下兩種:
· 手工配置:用戶事先在遠端主機上通過顯示命令或其他方式查看遠端主機的公鑰,並記錄遠端主機公鑰的內容。在本地設備上采用手工輸入的方式將遠端主機的公鑰配置到本地。手工輸入遠端主機公鑰時,可以逐個字符輸入,也可以一次拷貝粘貼多個字符。
· 從公鑰文件中導入:用戶事先通過FTP/TFTP,以二進製(binary)方式,將遠端主機的公鑰文件保存到本地設備,本地設備從該公鑰文件中導入遠端主機的公鑰。導入公鑰時,係統會自動將遠端主機的公鑰文件轉換為PKCS(Public Key Cryptography Standards,公共密鑰加密標準)編碼形式。
· 手工配置遠端主機的公鑰時,輸入的主機公鑰必須滿足一定的格式要求。通過display public-key local public命令顯示的公鑰可以作為輸入的公鑰內容;通過其他方式顯示的公鑰可能不滿足格式要求,導致主機公鑰保存失敗。因此,建議選用從公鑰文件導入的方式配置遠端主機的公鑰。
· 設備上最多可以配置20個遠端主機的公鑰。
表1-4 手工配置遠端主機的公鑰
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建遠端主機公鑰,並進入公鑰視圖 |
public-key peer keyname |
必選 |
進入公鑰編輯視圖 |
public-key-code begin |
- |
配置遠端主機的公鑰 |
逐個字符輸入或拷貝粘貼公鑰內容 |
必選 在輸入公鑰內容時,字符之間可以有空格,也可以按回車鍵繼續輸入數據 |
退回公鑰視圖,並保存配置的主機公鑰 |
public-key-code end |
必選 退出視圖時,係統自動保存配置的主機公鑰 |
退回係統視圖 |
peer-public-key end |
- |
對於RSA密鑰對,輸入服務器密鑰對中的公鑰或主機密鑰對中的公鑰,公鑰編輯都可以成功。但是,在SSH應用中,輸入的密鑰數據隻能是主機密鑰對中的公鑰,否則會導致身份驗證失敗。SSH的詳細介紹,請參見“安全配置指導”中的“SSH2.0配置”。
表1-5 從公鑰文件中導入遠端主機的公鑰
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
從公鑰文件中導入遠端主機的公鑰 |
public-key peer keyname import sshkey filename |
必選 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後公鑰的信息,通過查看顯示信息驗證配置的效果。
表1-6 公鑰顯示和維護
操作 |
命令 |
顯示本地密鑰對中的公鑰部分 |
display public-key local { dsa | rsa } public [ | { begin | exclude | include } regular-expression ] |
顯示保存在本地的遠端主機的公鑰信息 |
display public-key peer [ brief | name publickey-name ] [ | { begin | exclude | include } regular-expression ] |
如圖1-2所示,為了防止非法用戶訪問,Device B采用數字簽名方法對訪問它的Device A進行身份驗證。進行身份驗證前,需要在Device B上配置Device A的公鑰。
本例中:
· Device B采用非對稱密鑰算法RSA驗證Device A的身份。
· 采用手工方式在Device B上配置Device A的主機公鑰。
(1) 配置Device A
# 在Device A上生成RSA密鑰對。
<DeviceA> system-view
[DeviceA] public-key local create rsa
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is greater than 512,
It will take a few minutes.
Press CTRL+C to abort.
Input the bits of the modulus[default = 1024]:
Generating Keys...
++++++
++++++
++++++++
++++++++
# 顯示生成的RSA密鑰對的公鑰部分。
[DeviceA] display public-key local rsa public
=====================================================
Time of Key pair created: 09:50:06 2007/08/07
Key name: HOST_KEY
Key type: RSA Encryption Key
=====================================================
Key code:
30819F300D06092A864886F70D010101050003818D0030818902818100D90003FA95F5A44A2A2CD3F814F9854C4421B57CAC64CFFE4782A87B0360B600497D87162D1F398E6E5E51E5E353B3A9AB16C9E766BD995C669A784AD597D0FB3AA9F7202C507072B19C3C50A0D7AD3994E14ABC62DB125035EA326470034DC078B2BAA3BC3BCA80AAB5EE01986BD1EF64B42F17CCAE4A77F1EF999B2BF9C4A10203010001
=====================================================
Time of Key pair created: 09:50:07 2007/08/07
Key name: SERVER_KEY
Key type: RSA Encryption Key
=====================================================
Key code:
307C300D06092A864886F70D0101010500036B003068026100999089E7AEE9802002D9EB2D0433B87BB6158E35000AFB3FF310E42F109829D65BF70F7712507BE1A3E0BC5C2C03FAAF00DFDDC63D004B4490DACBA3CFA9E84B9151BDC7EECE1C8770D961557D192DE2B36CAF9974B7B293363BB372771C2C1F0203010001
(2) 配置Device B
# 在Device B上配置Device A的主機公鑰:在公鑰編輯視圖輸入Device A的主機公鑰,即在Device A上通過display public-key local dsa public命令顯示的主機公鑰HOST_KEY內容。
<DeviceB> system-view
[DeviceB] public-key peer devicea
Public key view: return to System View with "peer-public-key end".
[DeviceB-pkey-public-key] public-key-code begin
Public key code view: return to last view with "public-key-code end".
[DeviceB-pkey-key-code]30819F300D06092A864886F70D010101050003818D0030818902818100D90003FA95F5A44A2A2CD3F814F9854C4421B57CAC64CFFE4782A87B0360B600497D87162D1F398E6E5E51E5E353B3A9AB16C9E766BD995C669A784AD597D0FB3AA9F7202C507072B19C3C50A0D7AD3994E14ABC62DB125035EA326470034DC078B2BAA3BC3BCA80AAB5EE01986BD1EF64B42F17CCAE4A77F1EF999B2BF9C4A10203010001
[DeviceB-pkey-key-code] public-key-code end
[DeviceB-pkey-public-key] peer-public-key end
# 顯示Device B上保存的Device A的主機公鑰信息。
[DeviceB] display public-key peer name devicea
=====================================
Key Name : devicea
Key Type : RSA
Key Module: 1024
=====================================
Key Code:
30819F300D06092A864886F70D010101050003818D0030818902818100D90003FA95F5A44A2A2CD3F814F9854C4421B57CAC64CFFE4782A87B0360B600497D87162D1F398E6E5E51E5E353B3A9AB16C9E766BD995C669A784AD597D0FB3AA9F7202C507072B19C3C50A0D7AD3994E14ABC62DB125035EA326470034DC078B2BAA3BC3BCA80AAB5EE01986BD1EF64B42F17CCAE4A77F1EF999B2BF9C4A10203010001
如圖1-3所示,為了防止非法用戶訪問,Device B采用數字簽名方法對訪問它的Device A進行身份驗證。進行身份驗證前,需要在Device B上配置Device A的公鑰。
本例中:
· Device B采用非對稱密鑰算法RSA驗證Device A的身份。
· 采用從公鑰文件中導入的方式在Device B上配置Device A的主機公鑰。
(1) 在Device A上生成密鑰對,並導出公鑰
# 在Device A上生成RSA密鑰對。
<DeviceA> system-view
[DeviceA] public-key local create rsa
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is greater than 512,
It will take a few minutes.
Press CTRL+C to abort.
Input the bits of the modulus[default = 1024]:
Generating Keys...
++++++
++++++
++++++++
++++++++
# 顯示生成的RSA密鑰對的公鑰部分。
[DeviceA] display public-key local rsa public
=====================================================
Time of Key pair created: 09:50:06 2007/08/07
Key name: HOST_KEY
Key type: RSA Encryption Key
=====================================================
Key code:
30819F300D06092A864886F70D010101050003818D0030818902818100D90003FA95F5A44A2A2CD3F814F9854C4421B57CAC64CFFE4782A87B0360B600497D87162D1F398E6E5E51E5E353B3A9AB16C9E766BD995C669A784AD597D0FB3AA9F7202C507072B19C3C50A0D7AD3994E14ABC62DB125035EA326470034DC078B2BAA3BC3BCA80AAB5EE01986BD1EF64B42F17CCAE4A77F1EF999B2BF9C4A10203010001
=====================================================
Time of Key pair created: 09:50:07 2007/08/07
Key name: SERVER_KEY
Key type: RSA Encryption Key
=====================================================
Key code:
307C300D06092A864886F70D0101010500036B003068026100999089E7AEE9802002D9EB2D0433B87BB6158E35000AFB3FF310E42F109829D65BF70F7712507BE1A3E0BC5C2C03FAAF00DFDDC63D004B4490DACBA3CFA9E84B9151BDC7EECE1C8770D961557D192DE2B36CAF9974B7B293363BB372771C2C1F0203010001
# 將生成的RSA主機公鑰導出到指定文件devicea.pub中。
[DeviceA] public-key local export rsa ssh2 devicea.pub
[DeviceA] quit
(2) 在Device B上啟動FTP服務器功能
# 啟動FTP服務器功能,並創建FTP用戶,用戶名為ftp,密碼為123,用戶級別為3。
<DeviceB> system-view
[DeviceB] ftp server enable
[DeviceB] local-user ftp
[DeviceB-luser-ftp] password simple 123
[DeviceB-luser-ftp] service-type ftp
[DeviceB-luser-ftp] authorization-attribute level 3
[DeviceB-luser-ftp] quit
(3) Device A上傳公鑰文件
# 將公鑰文件devicea.pub通過FTP以二進製方式上傳到Device B。
<DeviceA> ftp 10.1.1.2
Trying 10.1.1.2 ...
Press CTRL+K to abort
Connected to 10.1.1.2.
220 FTP service ready.
User(10.1.1.2:(none)):ftp
331 Password required for ftp.
Password:
230 User logged in.
[ftp] binary
200 Type set to I.
[ftp] put devicea.pub
227 Entering Passive Mode (10,1,1,2,5,148).
125 BINARY mode data connection already open, transfer starting for /devicea.pub.
226 Transfer complete.
FTP: 299 byte(s) sent in 0.189 second(s), 1.00Kbyte(s)/sec.
(4) Device B從公鑰文件中導入公鑰
# Device A將公鑰文件devicea.pub上傳到Device B後,從公鑰文件中導入Device A的主機公鑰。
[DeviceB] public-key peer devicea import sshkey devicea.pub
# 顯示Device B上保存的Device A的主機公鑰信息。
[DeviceB] display public-key peer name devicea
=====================================
Key Name : devicea
Key Type : RSA
Key Module: 1024
=====================================
Key Code:
30819F300D06092A864886F70D010101050003818D0030818902818100D90003FA95F5A44A2A2CD3F814F9854C4421B57CAC64CFFE4782A87B0360B600497D87162D1F398E6E5E51E5E353B3A9AB16C9E766BD995C669A784AD597D0FB3AA9F7202C507072B19C3C50A0D7AD3994E14ABC62DB125035EA326470034DC078B2BAA3BC3BCA80AAB5EE01986BD1EF64B42F17CCAE4A77F1EF999B2BF9C4A10203010001
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!