• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

11-安全配置指導

目錄

07-公鑰管理配置

本章節下載 07-公鑰管理配置  (226.48 KB)

07-公鑰管理配置


1 公鑰管理

說明

本文中有關FIPS模式的詳細介紹,請參見“安全配置指導”中的“FIPS

 

1.1  簡介

圖1-1所示,為了保證數據在網絡中安全傳輸、不被攻擊者非法竊聽和惡意篡改,發送方在發送數據之前需要對數據進行加密處理,即通過一定的算法,利用密鑰將明文數據變換為密文數據;接收方接收到密文數據後,需要對其進行解密處理,即通過一定的算法,利用密鑰將密文數據恢複為明文數據,以獲得原始數據。其中,密鑰是一組特定的字符串,是控製明文和密文轉換的唯一參數,起到“鑰匙”的作用。

圖1-1 加密和解密轉換關係示意圖

 

如果數據加密和解密時使用不同的密鑰,則該加/解密算法稱為非對稱密鑰算法。在非對稱密鑰算法中,加密和解密使用的密鑰一個是對外公開的公鑰,一個是由用戶秘密保存的私鑰,從公鑰很難推算出私鑰。公鑰和私鑰一一對應,二者統稱為非對稱密鑰對。通過公鑰(或私鑰)加密後的數據隻能利用對應的私鑰(或公鑰)進行解密。

說明

如果數據加密和解密時使用相同的密鑰,則該加/解密算法稱為對稱密鑰算法。

 

非對稱密鑰算法包括RSA(Rivest Shamir and Adleman)、DSA(Digital Signature Algorithm,數字簽名算法)和ECDSA(Elliptic Curve Digital Signature Algorithm,橢圓曲線數字簽名算法)等。

非對稱密鑰算法主要有兩個用途:

·     對發送的數據進行加/解密:發送者利用接收者的公鑰對數據進行加密,隻有擁有對應私鑰的合法接收者才能使用該私鑰對數據進行解密,從而可以保證數據的機密性。目前,隻有RSA算法可以用來對發送的數據進行加/解密。

·     對數據發送者的身份進行認證:非對稱密鑰算法的這種應用,稱為數字簽名。發送者利用自己的私鑰對數據進行加密,接收者利用發送者的公鑰對數據進行解密,從而實現對數據發送者身份的驗證。由於隻能利用對應的公鑰對通過私鑰加密後的數據進行解密,因此根據解密是否成功,就可以判斷發送者的身份是否合法,如同發送者對數據進行了“簽名”。例如,用戶1使用自己的私鑰對數據進行簽名後,發給用戶2,用戶2利用用戶1的公鑰驗證簽名,如果簽名是正確的,那麼就能夠確認該數據來源於用戶1。目前,RSA、DSA和ECDSA都可以用於數字簽名。

非對稱密鑰算法應用十分廣泛,例如SSH(Secure Shell,安全外殼)、SSL(Secure Sockets Layer,安全套接層)、PKI(Public Key Infrastructure,公鑰基礎設施)中都利用了非對稱密鑰算法進行數字簽名。SSH、SSL和PKI的介紹,請參見“安全配置指導”中的“SSH”、“SSL”和“PKI”。

說明

目前,設備不支持ECDSA。

 

1.2  公鑰管理配置任務簡介

本章主要介紹如何管理非對稱密鑰對,包括:

·     本地非對稱密鑰對的管理:即管理設備自身的非對稱密鑰對,包括本地密鑰對的生成、銷毀、本地主機公鑰的顯示和導出。

·     遠端主機公鑰的管理:即將遠端主機的主機公鑰保存到本地設備。

完成本章中的配置後,並不能實現利用非對稱密鑰算法進行加/解密和數字簽名,隻是為其提供了必要的準備。本章中的配置隻有與具體的應用(如SSH、SSL)配合使用,才能實現利用非對稱密鑰算法進行加/解密或數字簽名。

表1-1 公鑰管理配置任務簡介

配置任務

說明

詳細配置

配置本地非對稱密鑰對

生成本地非對稱密鑰對

根據實際情況選擇需要的配置

1.3.1 

顯示或導出本地非對稱密鑰對中的主機公鑰

1.3.2 

銷毀本地非對稱密鑰對

1.3.3 

配置遠端主機的公鑰

1.4 

 

1.3  配置本地非對稱密鑰對

1.3.1  生成本地非對稱密鑰對

·     生成RSA密鑰對時,將同時生成兩個密鑰對——服務器密鑰對和主機密鑰對,二者都包括一個公鑰和一個私鑰。非FIPS模式下,RSA服務器密鑰和主機密鑰模數的最小長度均為512比特,最大長度為2048比特,缺省長度為1024比特;FIPS模式下,RSA密鑰模數的長度為2048比特。生成RSA密鑰對時會提示用戶輸入密鑰模數的長度,建議密鑰模數的長度大於或等於768比特,以提高安全性。

說明

目前,隻有SSH1.5中應用了RSA服務器密鑰對。

 

·     生成DSA密鑰對時,隻生成一個主機密鑰對。非FIPS模式下,DSA主機密鑰模數的最小長度為512比特,最大長度為2048比特,缺省長度為1024比特;FIPS模式下,DSA密鑰模數的最小長度為1024比特,最大長度為2048比特,缺省長度為1024比特。生成DSA密鑰對時會提示用戶輸入密鑰模數的長度,建議密鑰模數的長度大於或等於768比特,以提高安全性。

表1-2 生成本地非對稱密鑰對

操作

命令

說明

進入係統視圖

system-view

-

生成本地非對稱密鑰對

public-key local create { dsa | rsa }

必選

缺省情況下,不存在任何非對稱密鑰對

 

說明

執行public-key local create命令後,生成的密鑰對將保存在設備中,設備重啟後密鑰不會丟失。

 

1.3.2  顯示或導出本地非對稱密鑰對中的主機公鑰

在某些應用(如SSH)中,為了實現遠端主機采用數字簽名方法對本地設備進行身份驗證,用戶需要將本地的主機公鑰保存到遠端主機上。

將本地的主機公鑰保存到遠端主機上,有以下三種方法:

·     如表1-3所示,在本地設備上執行display public-key local public命令顯示非對稱密鑰對中的公鑰信息,並記錄主機公鑰數據。如表1-8所示,在遠端主機上,通過手工配置的方式將記錄的本地主機公鑰保存到遠端設備上。

·     如表1-4所示,在本地設備上執行public-key local export命令按照指定格式顯示本地主機公鑰(執行命令時不指定filename參數),通過拷貝粘貼等方式將顯示的主機公鑰保存到文件中,並將該文件上傳到遠端主機上。如表1-7所示,在遠端主機上,通過從公鑰文件中導入的方式將本地的主機公鑰保存到遠端設備上。

·     如表1-5所示,在本地設備上執行public-key local export命令按照指定格式將本地主機公鑰導出到指定文件(執行命令時指定filename參數),並將該文件上傳到遠端主機上。如表1-7所示,在遠端主機上,通過從公鑰文件中導入的方式將本地的主機公鑰保存到遠端設備上。

說明

遠端主機上的配置方法,請參見“1.4  配置遠端主機的公鑰”。“1.4  配置遠端主機的公鑰”中描述了如何將遠端主機的公鑰配置到本地主機上,將本地主機公鑰配置到遠端主機上的過程與此類似,隻不過前者需要在本地主機上執行“1.4  配置遠端主機的公鑰”中的配置,後者需要在遠端主機上執行該配置。

 

表1-3 顯示本地非對稱密鑰對中的公鑰信息

操作

命令

說明

顯示本地RSA密鑰對中的公鑰信息

display public-key local rsa public [ | { begin | exclude | include } regular-expression ]

二者至少選擇其一

可以在任意視圖下執行這兩條命令

顯示本地DSA密鑰對中的公鑰信息

display public-key local dsa public [ | { begin | exclude | include } regular-expression ]

 

說明

執行display public-key local rsa public命令後,會同時顯示RSA服務器密鑰對和主機密鑰對的公鑰信息。用戶隻需記錄主機密鑰對的公鑰信息。

 

表1-4 按照指定格式顯示本地非對稱密鑰對中的主機公鑰

操作

命令

說明

進入係統視圖

system-view

-

按照指定格式顯示本地RSA主機公鑰

public-key local export rsa { openssh | ssh1 | ssh2 }

二者至少選擇其一

FIPS模式下不支持ssh1參數

按照指定格式顯示本地DSA主機公鑰

public-key local export dsa { openssh | ssh2 }

 

表1-5 按照指定格式導出本地非對稱密鑰對中的主機公鑰

操作

命令

說明

進入係統視圖

system-view

-

按照指定格式將本地RSA主機公鑰導出到指定文件

public-key local export rsa { openssh | ssh1 | ssh2 } filename

二者至少選擇其一

FIPS模式下不支持ssh1參數

按照指定格式將本地DSA主機公鑰導出到指定文件

public-key local export dsa { openssh | ssh2 } filename

 

1.3.3  銷毀本地非對稱密鑰

在如下幾種情況下,建議用戶銷毀舊的非對稱密鑰對,並生成新的密鑰對:

·     本地設備的私鑰泄露。這種情況下,非法用戶可能會冒充本地設備訪問網絡。

·     保存密鑰對的存儲設備出現故障,導致設備上沒有公鑰對應的私鑰,無法再利用舊的非對稱密鑰對進行加/解密和數字簽名。

·     密鑰對使用了較長時間,可能存在密鑰泄露或破譯的風險。

·     本地證書到達有效期,需要刪除對應的本地密鑰對。本地證書的詳細介紹,請參見“安全配置指導”中的“PKI”。

·     FIPS模式下生成的密鑰對不能在非FIPS模式下使用,非FIPS模式下生成的密鑰對也不能在FIPS模式下使用。FIPS模式切換前,必須刪除密鑰對。

表1-6 銷毀本地非對稱密鑰對

操作

命令

說明

進入係統視圖

system-view

-

銷毀本地非對稱密鑰對

public-key local destroy { dsa | rsa }

必選

 

1.4  配置遠端主機的公鑰

在某些應用(如SSH)中,為了實現本地設備對遠端主機的身份驗證,需要在本地設備上配置遠端主機的RSA或DSA主機公鑰。

配置遠端主機公鑰的方式有如下兩種:

·     從公鑰文件中導入:用戶事先將遠端主機的公鑰文件保存到本地設備(例如,通過FTP或TFTP,以二進製方式將遠端主機的公鑰文件保存到本地設備),本地設備從該公鑰文件中導入遠端主機的公鑰。導入公鑰時,係統會自動將遠端主機的公鑰文件轉換為PKCS(Public Key Cryptography Standards,公共密鑰加密標準)編碼形式。

·     手工配置:用戶事先在遠端主機上查看其公鑰信息,並記錄遠端主機公鑰的內容。在本地設備上采用手工輸入的方式將遠端主機的公鑰配置到本地。手工輸入遠端主機公鑰時,可以逐個字符輸入,也可以一次拷貝粘貼多個字符。

說明

·     手工配置遠端主機的公鑰時,輸入的主機公鑰必須滿足一定的格式要求。通過display public-key local public命令顯示的公鑰可以作為輸入的公鑰內容;通過其他方式(如public-key local export命令)顯示的公鑰可能不滿足格式要求,導致主機公鑰保存失敗。因此,建議選用從公鑰文件導入的方式配置遠端主機的公鑰。

·     遠端主機公鑰信息的獲取方法,請參見“1.3.2  顯示或導出本地非對稱密鑰的主機公鑰”。

·     設備上最多可以配置20個遠端主機的公鑰。

 

表1-7 從公鑰文件中導入遠端主機的公鑰

操作

命令

說明

進入係統視圖

system-view

-

從公鑰文件中導入遠端主機的公鑰

public-key peer keyname import sshkey filename

必選

 

表1-8 手工配置遠端主機的公鑰

操作

命令

說明

進入係統視圖

system-view

-

指定遠端主機公鑰的名稱,並進入公鑰視圖

public-key peer keyname

必選

進入公鑰編輯視圖

public-key-code begin

-

配置遠端主機的公鑰

逐個字符輸入或拷貝粘貼公鑰內容

必選

在輸入公鑰內容時,字符之間可以有空格,也可以按回車鍵繼續輸入數據。保存公鑰數據時,將刪除空格和回車符

退回公鑰視圖,並保存配置的主機公鑰

public-key-code end

必選

退出公鑰編輯視圖時,係統自動保存配置的主機公鑰

退回係統視圖

peer-public-key end

-

 

1.5  公鑰管理顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後公鑰管理的信息,通過查看顯示信息驗證配置的效果。

表1-9 公鑰管理顯示和維護

操作

命令

顯示本地非對稱密鑰對中的公鑰信息

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.6  公鑰管理典型配置舉例

說明

缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。

 

1.6.1  手工配置遠端主機的公鑰

1. 組網需求

圖1-2所示,為了防止非法用戶訪問,Switch B(本地設備)采用數字簽名方法對訪問它的Switch A(遠端設備)進行身份驗證。進行身份驗證前,需要在Switch B上配置Switch A的公鑰。

本例中要求:

·     Switch B采用的非對稱密鑰算法為RSA算法。

·     采用手工配置方式在Switch B上配置Switch A的主機公鑰。

2. 組網圖

圖1-2 手工配置遠端主機的公鑰組網圖

 

3. 配置步驟

(1)     配置Switch A

# 在Switch A上生成本地RSA非對稱密鑰對,密鑰模數的長度采用缺省值1024比特。

<SwitchA> system-view

[SwitchA] 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密鑰對的公鑰信息。

[SwitchA] 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)     配置Switch B

# 在Switch B上配置Switch A的主機公鑰:在公鑰編輯視圖輸入Switch A的主機公鑰,即在Switch A上通過display public-key local dsa public命令顯示的主機公鑰HOST_KEY內容。

<SwitchB> system-view

[SwitchB] public-key peer switcha

Public key view: return to System View with "peer-public-key end".

[SwitchB-pkey-public-key] public-key-code begin

Public key code view: return to last view with "public-key-code end".

[SwitchB-pkey-key-code]30819F300D06092A864886F70D010101050003818D0030818902818100D90003FA95F5A44A2A2CD3F814F9854C4421B57CAC64CFFE4782A87B0360B600497D87162D1F398E6E5E51E5E353B3A9AB16C9E766BD995C669A784AD597D0FB3AA9F7202C507072B19C3C50A0D7AD3994E14ABC62DB125035EA326470034DC078B2BAA3BC3BCA80AAB5EE01986BD1EF64B42F17CCAE4A77F1EF999B2BF9C4A10203010001

[SwitchB-pkey-key-code] public-key-code end

[SwitchB-pkey-public-key] peer-public-key end

# 顯示Switch B上保存的Switch A的主機公鑰信息。

[SwitchB] display public-key peer name switcha

 

=====================================

  Key Name  : switcha

  Key Type  : RSA

  Key Module: 1024

=====================================

Key Code:

30819F300D06092A864886F70D010101050003818D0030818902818100D90003FA95F5A44A2A2CD3F814F9854C4421B57CAC64CFFE4782A87B0360B600497D87162D1F398E6E5E51E5E353B3A9AB16C9E766BD995C669A784AD597D0FB3AA9F7202C507072B19C3C50A0D7AD3994E14ABC62DB125035EA326470034DC078B2BAA3BC3BCA80AAB5EE01986BD1EF64B42F17CCAE4A77F1EF999B2BF9C4A10203010001

通過對比可以看出,Switch B上保存的Switch A的主機公鑰信息與Switch A實際的主機公鑰信息一致。

1.6.2  從公鑰文件中導入遠端主機的公鑰

1. 組網需求

圖1-3所示,為了防止非法用戶訪問,Switch B(本地設備)采用數字簽名方法對訪問它的Switch A(遠端設備)進行身份驗證。進行身份驗證前,需要在Switch B上配置Switch A的公鑰。

本例中要求:

·     Switch B采用的非對稱密鑰算法為RSA算法。

·     采用從公鑰文件中導入的方式在Switch B上配置Switch A的主機公鑰。

2. 組網圖

圖1-3 從公鑰文件中導入遠端主機的公鑰組網圖

 

3. 配置步驟

(1)     在Switch A上生成密鑰對,並導出公鑰

# 在Switch A上生成本地RSA非對稱密鑰對,密鑰模數的長度采用缺省值1024比特。

<SwitchA> system-view

[SwitchA] 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密鑰對的公鑰信息。

[SwitchA] 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主機公鑰HOST_KEY導出到指定文件switcha.pub中。

[SwitchA] public-key local export rsa ssh2 switcha.pub

(2)     在Switch A上啟動FTP服務器功能

# 啟動FTP服務器功能,並創建FTP用戶,用戶名為ftp,密碼為123,用戶級別為3(以便FTP用戶具有足夠的權限執行FTP操作)。

[SwitchA] ftp server enable

[SwitchA] local-user ftp

[SwitchA-luser-ftp] password simple 123

[SwitchA-luser-ftp] service-type ftp

[SwitchA-luser-ftp] authorization-attribute level 3

[SwitchA-luser-ftp] quit

(3)     Switch B獲取Switch A的公鑰文件

# Switch B通過FTP以二進製方式從Switch A獲取公鑰文件switcha.pub。

<SwitchB> ftp 10.1.1.1

Trying 10.1.1.1 ...

Press CTRL+K to abort

Connected to 10.1.1.1.

220 FTP service ready.

User(10.1.1.1:(none)):ftp

331 Password required for ftp.

Password:

230 User logged in.

[ftp] binary

200 Type set to I.

[ftp] get switcha.pub

227 Entering Passive Mode (10,1,1,1,5,148).

125 BINARY mode data connection already open, transfer starting for /switcha.pub.

226 Transfer complete.

FTP: 299 byte(s) received in 0.189 second(s), 1.00Kbyte(s)/sec.

[ftp] quit

221 Server closing.

(4)     Switch B從公鑰文件中導入公鑰

# Switch B從公鑰文件中導入Switch A的主機公鑰。

<SwitchB> system-view

[SwitchB] public-key peer switcha import sshkey switcha.pub

# 顯示Switch B上保存的Switch A的主機公鑰信息。

[SwitchB] display public-key peer name switcha

 

=====================================

  Key Name  : switcha

  Key Type  : RSA

  Key Module: 1024

=====================================

Key Code:

30819F300D06092A864886F70D010101050003818D0030818902818100D90003FA95F5A44A2A2CD3F814F9854C4421B57CAC64CFFE4782A87B0360B600497D87162D1F398E6E5E51E5E353B3A9AB16C9E766BD995C669A784AD597D0FB3AA9F7202C507072B19C3C50A0D7AD3994E14ABC62DB125035EA326470034DC078B2BAA3BC3BCA80AAB5EE01986BD1EF64B42F17CCAE4A77F1EF999B2BF9C4A10203010001

通過對比可以看出,Switch B上保存的Switch A的主機公鑰信息與Switch A實際的主機公鑰信息一致。

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們