專利名稱:獲取公鑰的方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別涉及獲取公鑰的方法、裝置和系統(tǒng)。
背景技術(shù):
DKIM(Domain Key Identified Mail,域名密鑰識別郵件)是一種新興的電子郵件 驗證標(biāo)準(zhǔn),被廣泛應(yīng)用于防止電子郵件欺詐、防止垃圾郵件、防止網(wǎng)絡(luò)釣魚等領(lǐng)域。在DKIM方案中,每個域(如ABC. com)都擁有自己的公鑰/私鑰對,在由該域發(fā)出 的報文(如電子郵件)中,攜帶利用該域自己的私鑰生成的簽名。接收者接收到報文后,利 用該域的公鑰來驗證報文中的簽名,以確認(rèn)該報文確實是來自該域的。如果接收者沒有該 域的公鑰,則需要通過DNS (Domain Name System,域名系統(tǒng))Request (請求)報文,到DNS 服務(wù)器獲取該域的公鑰。實際的應(yīng)用中,DNS報文通常都是使用UDP(User DatagramProtocol,用戶數(shù)據(jù)報 協(xié)議)來進(jìn)行傳輸?shù)?。因此,?dāng)上述接收者沒有該域的公鑰時,需要與上述DNS服務(wù)器建立 UDP連接,通過UDP報文,獲取到該域的公鑰。但是在現(xiàn)有技術(shù)中,DKIM僅支持RSA密鑰體系,而為提高保密度,RSA密鑰通常都 很長。當(dāng)某個域的RSA公鑰長度過長,以至于超出UDP報文規(guī)定的長度時,上述接收者就無 法通過UDP報文獲取到這個域的RSA公鑰。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的實施例提供了以下方案—種獲取公鑰的方法,該方法包括與域名系統(tǒng)DNS服務(wù)器建立傳輸控制協(xié)議TCP連接;通過該TCP連接,向所述DNS 服務(wù)器發(fā)送DNS請求報文,請求獲取第一域的公鑰;并且,還通過該TCP連接,接收來自該 DNS服務(wù)器的DNS響應(yīng)報文;其中,DNS響應(yīng)報文攜帶所述第一域的公鑰;根據(jù)該DNS響應(yīng) 報文,獲取第一域的公鑰。一種獲取公鑰的裝置,該裝置包括建立連接模塊,用于與DNS服務(wù)器建立TCP連接;發(fā)送模塊,用于通過建立連接模塊建立的TCP連接,向DNS服務(wù)器發(fā)送DNS請求報 文,請求獲取第一域的公鑰;接收模塊,用于通過建立連接模塊建立的TCP連接,接收來自DNS服務(wù)器的DNS響 應(yīng)報文,該DNS響應(yīng)報文中攜帶第一域的公鑰;獲取模塊,用于根據(jù)接收模塊接收到的DNS響應(yīng)報文,獲取第一域的公鑰。一種獲取公鑰的系統(tǒng),該系統(tǒng)包括第一設(shè)備,用于與DNS服務(wù)器建立TCP連接,通過該TCP連接,向DNS服務(wù)器發(fā)送 DNS請求報文,請求獲取第一域的公鑰;并且,接收來自DNS服務(wù)器的DNS響應(yīng)報文,獲取該 DNS響應(yīng)報文中攜帶的所述第一域的公鑰;
DNS服務(wù)器,用于在接收到上述DNS請求報文之后,通過上述TCP連接,向第一設(shè)備 發(fā)送DNS響應(yīng)報文,該DNS響應(yīng)報文攜帶所述第一域的公鑰。一種獲取公鑰的方法,該方法包括與DNS服務(wù)器建立通信連接;通過該通信連接,向該DNS服務(wù)器發(fā)送DNS請求報 文,請求獲取第一域的公鑰;該公鑰為采用短密鑰體系的密鑰;通過該通信連接,接收來自 DNS服務(wù)器的DNS響應(yīng)報文;該DNS響應(yīng)報文攜帶第一域的公鑰;根據(jù)該DNS響應(yīng)報文,獲 取第一域的公鑰。一種獲取公鑰的裝置,該裝置包括建立連接模塊,用于與DNS服務(wù)器建立通信連接; 發(fā)送模塊,用于通過建立連接模塊建立的通信連接,向DNS服務(wù)器發(fā)送DNS請求報 文,請求獲取第一域的公鑰;該公鑰為采用短密鑰體系的密鑰;接收模塊,用于通過建立連接模塊建立的通信連接,接收來自DNS服務(wù)器的DNS響 應(yīng)報文,該DNS響應(yīng)報文中攜帶第一域的公鑰;獲取模塊,用于根據(jù)接收模塊接收到的DNS響應(yīng)報文,獲取第一域的公鑰。一種獲取公鑰的系統(tǒng),該系統(tǒng)包括第一設(shè)備,用于與DNS服務(wù)器建立通信連接,通過該通信連接,向DNS服務(wù)器發(fā)送 DNS請求報文,請求獲取第一域的公鑰;并且,接收來自DNS服務(wù)器的DNS響應(yīng)報文,獲取該 DNS響應(yīng)報文中攜帶的第一域的公鑰;該公鑰為采用短密鑰體系的密鑰;DNS服務(wù)器,用于在接收到DNS請求報文之后,通過上述通信連接,向第一設(shè)備發(fā) 送DNS響應(yīng)報文,該DNS響應(yīng)報文攜帶第一域的公鑰。采用本發(fā)明的實施例提供的獲取公鑰的方法、裝置和系統(tǒng),能夠解決現(xiàn)有技術(shù)中 由于域的公鑰長度過長,而無法通過UDP報文獲取到公鑰的問題。
圖1為本發(fā)明實施例的一個應(yīng)用場景示意圖;圖2為本發(fā)明實施例提供的一種獲取公鑰的方法流程圖;圖3為本發(fā)明實施例提供的一種獲取公鑰的裝置示意圖;圖4為本發(fā)明實施例提供的一種獲取公鑰的裝置中發(fā)送模塊310的示意圖;圖5為本發(fā)明實施例提供的一種獲取公鑰的系統(tǒng)示意圖;圖6為本發(fā)明實施例的又一個應(yīng)用場景示意圖;圖7為本發(fā)明實施例提供的又一種獲取公鑰的方法流程圖;圖8 (a)為DNS請求報文中的Question選項的格式;圖 8 (b)為 Question 選項中 Query Name 域的格式;圖9為本發(fā)明實施例提供的又一種獲取公鑰的裝置示意圖;圖10為本發(fā)明實施例提供的又一種獲取公鑰的裝置中發(fā)送模塊910的示意圖;圖11為本發(fā)明實施例提供的又一種獲取公鑰的系統(tǒng)示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖,對本發(fā)明實施例作進(jìn)一步地詳細(xì)說明。為便于說明,下面簡單結(jié)合一個實際應(yīng)用中較常見的場景,具體介紹本發(fā)明的幾 個實施例。如圖1所示,域ABC. com擁有密鑰對X1/X2 (公鑰/私鑰),當(dāng)域ABC. com向用戶P 發(fā)送報文(如電子郵件)時,報文中攜帶有簽名,該簽名是域ABC. com利用自己的私鑰X2 生成的。在本場景中,域ABC. com可以采用RSA密鑰,也可以采用其他密鑰體系,此處不做限定。用戶P接收到報文后,需要對該簽名進(jìn)行驗證,以確認(rèn)該報文確實是來自域ABC. com的。例如,用戶P可以利用與私鑰X2相對應(yīng)的公鑰XI來驗證報文中的簽名。如果用戶 P沒有公鑰XI,則需要向DNS服務(wù)器發(fā)送DNS請求報文,以請求獲取該公鑰XI。有別于現(xiàn)有技術(shù)中的方案,在本場景中,用戶P與DNS服務(wù)器之間不建立UDP連 接,而直接建立TCP (Transfer Control Protocol,傳輸控制協(xié)議)連接,用戶P通過TCP連 接向DNS服務(wù)器發(fā)送上述DNS請求報文??蛇x的,本場景中,由于域ABC. con可以采用RSA密鑰,也可以采用其他密鑰體系, 因此,用戶P接收到來自域ABC. com的報文后,可以通過報文中攜帶的簽名,獲知域ABC. com 是利用哪一個密鑰體系生成簽名。從而,用戶P發(fā)送給DNS服務(wù)器的DNS請求報文中,可以 攜帶請求獲取的公鑰的類型標(biāo)識。DNS服務(wù)器收到該DNS請求報文后,基于上述TCP連接,向用戶P發(fā)送DNS Response (響應(yīng))報文,該DNS響應(yīng)報文中攜帶了域ABC. com的公鑰XI。例如,該DNS響應(yīng) 報文中可以攜帶公鑰XI的文本(TXT)類型的資源記錄(RR,ReSourCe Record)。當(dāng)DNS請 求報文攜帶請求獲取的公鑰的類型標(biāo)識時,DNS服務(wù)器還可以根據(jù)該類型標(biāo)識,將相應(yīng)類型 的公鑰攜帶在DNS響應(yīng)報文中,發(fā)送給用戶P。至此,用戶P就獲取到了域ABC. com的公鑰XI。然后就能夠利用獲取到的公鑰XI 來驗證報文中的簽名。本場景中,由于用戶P與DNS服務(wù)器之間是基于TCP進(jìn)行通信,因此,即使公鑰XI 的長度超過了協(xié)議規(guī)定的報文長度,DNS服務(wù)器也能通過多個TCP報文將公鑰XI發(fā)送給用 戶。用戶P能夠按照TCP報文中攜帶的報文序號,按順序接收這些TCP報文,獲取到公鑰 XI。從而解決了現(xiàn)有技術(shù)中由于域的公鑰長度過長,而無法通過UDP報文獲取到公鑰的問題。圖2為本發(fā)明實施例提供的一種獲取公鑰的方法流程圖,如圖2所示,該方法包 括200,與DNS服務(wù)器建立TCP連接;210,通過200中建立的TCP連接,向DNS服務(wù)器發(fā)送DNS請求報文,以請求獲取第 一域的公鑰;在本實施例中,該公鑰可以是RSA密鑰,也可以是采用其他密鑰體系的密鑰, 此處不做限定;220,通過200中建立的TCP連接,接收來自DNS服務(wù)器的DNS響應(yīng)報文,該DNS響 應(yīng)報文是DNS服務(wù)器對上述DNS請求報文的響應(yīng),該DNS響應(yīng)報文中攜帶第一域的公鑰;230,根據(jù)接收到的DNS響應(yīng)報文,獲取第一域的公鑰??蛇x的,本實施例中,向DNS服務(wù)器發(fā)送的DNS請求報文中還可以攜帶請求獲取的第一域的公鑰的類型標(biāo)識。這樣,DNS服務(wù)器就能夠?qū)⑾鄳?yīng)類型的公鑰攜帶在DNS響應(yīng)報 文中。又一可選的,本實施例中,DNS響應(yīng)報文中可以攜帶公鑰的TXT類型的資源記錄。 此時,根據(jù)接收到的DNS響應(yīng)報文中攜帶的第一域公鑰的TXT類型的資源記錄,獲取第一域 的公鑰。圖3為本發(fā)明實施例提供的一種獲取公鑰的裝置示意圖,如圖3所示,該裝置包 括建立連接模塊300,用于與DNS服務(wù)器建立TCP連接;發(fā)送模塊310,用于通過建立連接模塊300建立的TCP連接,向DNS服務(wù)器發(fā)送DNS 請求報文,以請求獲取第一域的公鑰;在本實施例中,該公鑰可以RSA密鑰,也可以是采用 其他密鑰體系的密鑰,此處不做限定;接收模塊320,用于通過建立連接模塊300建立的TCP連接,接收來自DNS服務(wù)器 的DNS響應(yīng)報文,該DNS響應(yīng)報文是DNS服務(wù)器對上述DNS請求報文的響應(yīng),該DNS響應(yīng)報 文中攜帶第一域的公鑰;獲取模塊330,用于根據(jù)接收模塊320接收到的DNS響應(yīng)報文,獲取第一域的公鑰??蛇x的,如圖4所示,發(fā)送模塊310還可以包括標(biāo)識單元311,用于在DNS請求報文中攜帶第一域的公鑰的類型標(biāo)識;發(fā)送單元312,用于向DNS服務(wù)器發(fā)送上述攜帶第一域的公鑰的類型標(biāo)識的DNS請 求報文。可選的,DNS響應(yīng)報文中可以攜帶公鑰的TXT類型的資源記錄,此時,獲取模塊330 用于根據(jù)接收模塊320接收到的DNS響應(yīng)報文中攜帶的第一域公鑰的TXT類型的資源記 錄,獲取第一域的公鑰。圖5為本發(fā)明實施例提供的一種獲取公鑰的系統(tǒng)示意圖,如圖5所示,該系統(tǒng)包括 第一設(shè)備和DNS服務(wù)器,其中第一設(shè)備,用于與DNS服務(wù)器建立TCP連接,向DNS服務(wù)器發(fā)送DNS請求報文,以 請求獲取第一域的公鑰;接收來自DNS服務(wù)器的DNS響應(yīng)報文,獲取該DNS響應(yīng)報文中攜帶 的第一域的公鑰;在本實施例中,該公鑰可以是RSA密鑰,也可以是采用其他密鑰體系的密 鑰,此處不做限定;DNS服務(wù)器,用于在接收到上述DNS請求報文之后,通過上述TCP連接,向第一設(shè)備 發(fā)送DNS響應(yīng)報文,該DNS響應(yīng)報文攜帶第一域的公鑰。采用上述本發(fā)明的實施例提供的獲取公鑰的方法、裝置和系統(tǒng),由于與DNS服務(wù) 器之間并不建立UDP連接,而是基于TCP進(jìn)行通信,因此,即使域的公鑰的長度超過了協(xié)議 規(guī)定的報文長度,也能通過多個TCP報文獲取到域的公鑰。從而解決了現(xiàn)有技術(shù)中由于域 的公鑰長度過長,而無法通過UDP報文獲取到公鑰的問題。下面,再通過實際應(yīng)用中較常見的另一個場景,具體介紹本發(fā)明的另外幾個實施 例。如圖6所示,域ABC. com擁有密鑰對Y1/Y2 (公鑰/私鑰)以及Z1/Z2 (公鑰/私 鑰),當(dāng)域ABC. com向用戶Q發(fā)送報文(如電子郵件)時,利用其中一對密鑰中的私鑰生成 了簽名,攜帶在報文中。例如,域ABC. com利用密鑰對Y1/Y2中的私鑰Y2生成了簽名,并攜
7帶在發(fā)送給用戶Q的報文中。在本場景中,域ABC. com采用的密鑰體系是短密鑰體系(也 可以稱為短密鑰算法)。在本申請中,短密鑰可以理解為密鑰長度能夠由單個UDP報文承載、而且安全 強度大于80、每比特強度大于0. 1的密鑰。此處,“每比特強度”是指是密鑰的安全強度 (Security Strength)和密鑰長度的比值。一個給定長度的密鑰的安全強度通常指是指攻 破這一密鑰所需要的工作量。以RSA密鑰體系為例,不同長度的RSA密鑰的安全強度和每 比特強度如表1所示表1 較為常見的短密鑰體系例如橢圓曲線數(shù)字簽名算法E⑶SA(Ellipic Curve Digital Signature Algorithm)、基于格的公鑰密碼系統(tǒng)(Lattice-Based Public-Key Cryptography)、基于□令白勺公_密石馬系統(tǒng)(Password-Based Public-Key cryptography) > 基于身份的公鑰密碼系統(tǒng)(Identity-Based Public-Key Cryptography Using Pairing) 等等。當(dāng)然,其他符合上述要求的密鑰也可以理解為短密鑰。此處不做限定。在本場景中, 密鑰對Y1/Y2以及Z1/Z2均可以為短密鑰體系中的任意一種密鑰,此處不做限定。用戶Q接收到報文后,需要對該簽名進(jìn)行驗證,以確認(rèn)該報文確實是來自域ABC. com的。例如,用戶Q可以利用與私鑰Y2相對應(yīng)的公鑰Y1來驗證報文中的簽名。如果用戶 Q沒有公鑰Y1,則需要向DNS服務(wù)器發(fā)送DNS請求報文,以請求獲取該公鑰Y1。在本場景中,用戶Q與DNS服務(wù)器之間可以建立UDP連接,用戶Q通過UDP連接向 DNS服務(wù)器發(fā)送上述DNS請求報文;用戶Q與DNS服務(wù)器之間也可以建立TCP連接,用戶Q 通過TCP連接向DNS服務(wù)器發(fā)送上述DNS請求報文;當(dāng)然,還可以是其他通信連接,此處不 做限定。當(dāng)用戶Q與DNS服務(wù)器之間建立TCP連接時,具體的過程可以參照上述圖1中用 戶P與DNS服務(wù)器通信的過程,此處就不再贅述了??蛇x的,在本場景中,由于域ABC. com擁有兩對公鑰/私鑰對,因此,用戶Q接收到 來自域ABC. com的報文后,可以通過報文中攜帶的簽名,獲知域ABC. com是利用哪一個密鑰 體系生成簽名。從而,用戶Q發(fā)送給DNS服務(wù)器的DNS請求報文中,可以攜帶請求獲取的公 鑰的類型標(biāo)識。例如,假設(shè)密鑰對Y1/Y2采用的是E⑶SA密鑰體系,則用戶Q發(fā)送給DNS服 務(wù)器的DNS請求報文中,就攜帶有該密鑰體系的類型標(biāo)識。這樣就能避免DNS服務(wù)器將另 一密鑰對Z1/Z2的公鑰Z1發(fā)送給用戶Q,或者是將Y1和Z1都發(fā)給用戶Q。DNS服務(wù)器收到該DNS請求報文后,基于上述通信連接,向用戶Q發(fā)送DNS響應(yīng)報 文,該DNS響應(yīng)報文中攜帶了域ABC. com的公鑰Y1。例如,該DNS響應(yīng)報文中可以攜帶公鑰 Y1的TXT類型的資源記錄。當(dāng)DNS請求報文攜帶請求獲取的公鑰的類型標(biāo)識時,DNS服務(wù)器還可以根據(jù)DNS請求報文中攜帶的公鑰的類型標(biāo)識,將相應(yīng)類型的公鑰攜帶在DNS響應(yīng) 報文中,發(fā)送給用戶Q。至此,用戶Q就獲取到了域ABC. com的公鑰Y1。然后就能夠利用獲取到的公鑰Y1 來驗證報文中的簽名。本場景中,由于用戶Q與DNS服務(wù)器之間傳遞的是基于短密鑰體系的公鑰,因此, 不管用戶Q和DNS服務(wù)器之間建立的是UDP連接還是TCP連接,公鑰的長度都不會超過協(xié) 議規(guī)定的報文長度。從而解決了現(xiàn)有技術(shù)中由于域的公鑰長度過長,而無法通過UDP報文 獲取到公鑰的問題。圖7為本發(fā)明實施例提供的又一種獲取公鑰的方法流程圖,如圖7所示,該方法包 括700,與DNS服務(wù)器建立通信連接;在本實施例中,該通信連接可以是UDP連接,也 可以是TCP連接,還可以是其他通信連接,此處不做限定;710,通過700中建立的通信連接,向DNS服務(wù)器發(fā)送DNS請求報文,以請求獲取第 一域的公鑰;在本實施例中,該公鑰為采用短密鑰體系的密鑰;720,通過700中建立的TCP連接,接收來自DNS服務(wù)器的DNS響應(yīng)報文,該DNS響 應(yīng)報文是DNS服務(wù)器對上述DNS請求報文的響應(yīng),該DNS響應(yīng)報文中攜帶第一域的公鑰;730,根據(jù)接收到的DNS響應(yīng)報文,獲取第一域的公鑰。可選的,本實施例中,向DNS服務(wù)器發(fā)送的DNS請求報文中還可以攜帶請求獲取的 第一域的公鑰的類型標(biāo)識。這樣,DNS服務(wù)器就能夠?qū)⑾鄳?yīng)類型的公鑰攜帶在DNS響應(yīng)報 文中。又一可選的,本實施例中,DNS響應(yīng)報文中可以攜帶公鑰的TXT類型的資源記錄。 此時,根據(jù)接收到的DNS響應(yīng)報文中攜帶的第一域公鑰的TXT類型的資源記錄,獲取第一域 的公鑰。可選的,可以在DNS請求報文中的QUeSti0n(問題)選項攜帶該第一域的公鑰的 類型標(biāo)識。如圖8(a)所示,Question選項中有三個域,分別是Query Name, Query Type以及 Query Class??梢栽赒uery Name域中攜帶本實施例中第一域的公鑰的類型標(biāo)識。例如,可 以在 Query Name 域中攜帶如下信息:ecdsa. Beijing. _domainkey. ABC. com。其中,"ecdsa,, 代表ecdsa類型公鑰,“Beijing”為選擇器標(biāo)識,“—domainkey”為DKIM標(biāo)識,“ABC. com”為 域名。具體的,可以參考圖8(b)所示的格式。其中,count為計數(shù)位,表示在當(dāng)前count位 和下一 count位之間的比特數(shù)。當(dāng)然,圖8(a)和圖8(b)僅示出了 DNS請求報文中公鑰的類型標(biāo)識一種可選的表 示方式。本實施例中DNS請求報文中公鑰的類型標(biāo)識的表示方式并不局限于此。圖9為本發(fā)明實施例提供的又一種獲取公鑰的裝置示意圖,如圖9所示,該裝置包 括建立連接模塊900,用于與DNS服務(wù)器建立通信連接;在本實施例中,該通信連接 可以是UDP連接,也可以是TCP連接,還可以是其他通信連接,此處不做限定;發(fā)送模塊910,用于通過建立連接模塊900建立的通信連接,向DNS服務(wù)器發(fā)送 DNS請求報文,以請求獲取第一域的公鑰;在本實施例中,該公鑰為采用短密鑰體系的密鑰;接收模塊920,用于通過建立連接模塊900建立的通信連接,接收來自DNS服務(wù)器 的DNS響應(yīng)報文,該DNS響應(yīng)報文是DNS服務(wù)器對上述DNS請求報文的響應(yīng),該DNS響應(yīng)報 文中攜帶第一域的公鑰;獲取模塊930,用于根據(jù)接收模塊920接收到的DNS響應(yīng)報文,獲取第一域的公鑰??蛇x的,如圖10所示,發(fā)送模塊910還可以包括標(biāo)識單元911,用于在DNS請求報文中攜帶第一域的公鑰的類型標(biāo)識;發(fā)送單元912,用于向DNS服務(wù)器發(fā)送上述攜帶第一域的公鑰的類型標(biāo)識的DNS請 求報文??蛇x的,DNS響應(yīng)報文中可以攜帶公鑰的TXT類型的資源記錄,此時,獲取模塊930 用于根據(jù)接收模塊920接收到的DNS響應(yīng)報文中攜帶的第一域公鑰的TXT類型的資源記 錄,獲取第一域的公鑰。圖11為本發(fā)明實施例提供的又一種獲取公鑰的系統(tǒng)示意圖,如圖11所示,該系統(tǒng) 包括第一設(shè)備和DNS服務(wù)器,其中第一設(shè)備,用于與DNS服務(wù)器建立通信連接,向DNS服務(wù)器發(fā)送DNS請求報文,以 請求獲取第一域的公鑰;接收來自DNS服務(wù)器的DNS響應(yīng)報文,獲取該DNS響應(yīng)報文中攜帶 的第一域的公鑰;在本實施例中,該公鑰是采用短密鑰體系的密鑰;上述通信連接可以是 UDP連接,也可以是TCP連接,還可以是其他通信連接,此處不做限定;DNS服務(wù)器,用于在接收到上述DNS請求報文之后,通過上述通信連接,向第一設(shè) 備發(fā)送DNS響應(yīng)報文,該DNS響應(yīng)報文攜帶第一域的公鑰。采用上述本發(fā)明的實施例提供的獲取公鑰的方法、裝置和系統(tǒng),由于與DNS服務(wù) 器之間傳遞的是基于短密鑰體系的公鑰,因此,不管和DNS服務(wù)器之間建立的是UDP連接還 是TCP連接,公鑰的長度都不會超過協(xié)議規(guī)定的報文長度。從而解決了現(xiàn)有技術(shù)中由于域 的公鑰長度過長,而無法通過UDP報文獲取到公鑰的問題。通過以上的實施方式的描述,本領(lǐng)域的普通技術(shù)人員可以清楚地了解到本發(fā)明實 施例可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件來實現(xiàn)?;?這樣的理解,本發(fā)明實施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn) 品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè) 備、或者服務(wù)器、或者其他網(wǎng)絡(luò)設(shè)備執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的 方法。以上僅為本發(fā)明的較佳實施例,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的 精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種獲取公鑰的方法,其特征在于,包括與域名系統(tǒng)DNS服務(wù)器建立傳輸控制協(xié)議TCP連接;通過所述TCP連接,向所述DNS服務(wù)器發(fā)送DNS請求報文,請求獲取第一域的公鑰;通過所述TCP連接,接收來自所述DNS服務(wù)器的DNS響應(yīng)報文;所述DNS響應(yīng)報文攜帶所述第一域的公鑰;根據(jù)所述DNS響應(yīng)報文,獲取所述第一域的公鑰。
2.如權(quán)利要求1所述的方法,其特征在于,所述DNS請求報文攜帶所述第一域的公鑰的 類型標(biāo)識。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述DNS響應(yīng)報文攜帶所述第一域的公 鑰,具體為所述DNS響應(yīng)報文攜帶所述第一域公鑰的文本類型的資源記<錄。
4.一種獲取公鑰的裝置,其特征在于,包括建立連接模塊,用于與DNS服務(wù)器建立TCP連接;發(fā)送模塊,用于通過所述建立連接模塊建立的TCP連接,向所述DNS服務(wù)器發(fā)送DNS請 求報文,請求獲取第一域的公鑰;接收模塊,用于通過所述建立連接模塊建立的TCP連接,接收來自所述DNS服務(wù)器的 DNS響應(yīng)報文,所述DNS響應(yīng)報文中攜帶所述第一域的公鑰;獲取模塊,用于根據(jù)所述接收模塊接收到的所述DNS響應(yīng)報文,獲取所述第一域的公鑰。
5.如權(quán)利要求4所述的裝置,其特征在于,所述發(fā)送模塊包括標(biāo)識單元,用于在所述DNS請求報文中攜帶所述第一域的公鑰的類型標(biāo)識; 發(fā)送單元,用于向所述DNS服務(wù)器發(fā)送所述攜帶第一域的公鑰的類型標(biāo)識的DNS請求 報文。
6.一種獲取公鑰的系統(tǒng),其特征在于,包括第一設(shè)備,用于與DNS服務(wù)器建立TCP連接,通過所述TCP連接,向所述DNS服務(wù)器發(fā) 送DNS請求報文,請求獲取第一域的公鑰;接收來自所述DNS服務(wù)器的DNS響應(yīng)報文,獲取 所述DNS響應(yīng)報文中攜帶的所述第一域的公鑰;所述DNS服務(wù)器,用于在接收到所述DNS請求報文之后,通過所述TCP連接,向所述第 一設(shè)備發(fā)送所述DNS響應(yīng)報文,所述DNS響應(yīng)報文攜帶所述第一域的公鑰。
7.一種獲取公鑰的方法,其特征在于,包括 與DNS服務(wù)器建立通信連接;通過所述通信連接,向所述DNS服務(wù)器發(fā)送DNS請求報文,請求獲取第一域的公鑰;所 述公鑰為采用短密鑰體系的密鑰;通過所述通信連接,接收來自所述DNS服務(wù)器的DNS響應(yīng)報文;所述DNS響應(yīng)報文攜帶 所述第一域的公鑰;根據(jù)所述DNS響應(yīng)報文,獲取所述第一域的公鑰。
8.如權(quán)利要求6所述的方法,其特征在于,所述DNS請求報文攜帶所述第一域的公鑰的 類型標(biāo)識。
9.如權(quán)利要求7或8所述的方法,其特征在于,所述DNS響應(yīng)報文攜帶所述第一域的公 鑰,具體為所述DNS響應(yīng)報文攜帶所述第一域公鑰的文本類型的資源記錄。
10.一種獲取公鑰的裝置,其特征在于,包括建立連接模塊,用于與DNS服務(wù)器建立通信連接;發(fā)送模塊,用于通過所述建立連接模塊建立的通信連接,向所述DNS服務(wù)器發(fā)送DNS請 求報文,請求獲取第一域的公鑰;所述公鑰為采用短密鑰體系的密鑰;接收模塊,用于通過所述建立連接模塊建立的通信連接,接收來自所述DNS服務(wù)器的 DNS響應(yīng)報文,所述DNS響應(yīng)報文中攜帶所述第一域的公鑰;獲取模塊,用于根據(jù)所述接收模塊接收到的所述DNS響應(yīng)報文,獲取所述第一域的公鑰。
11.如權(quán)利要求10所述的裝置,其特征在于,所述發(fā)送模塊包括標(biāo)識單元,用于在所述DNS請求報文中攜帶所述第一域的公鑰的類型標(biāo)識; 發(fā)送單元,用于向所述DNS服務(wù)器發(fā)送所述攜帶第一域的公鑰的類型標(biāo)識的DNS請求 報文。
12.一種獲取公鑰的系統(tǒng),其特征在于,包括第一設(shè)備,用于與DNS服務(wù)器建立通信連接,通過所述通信連接,向所述DNS服務(wù)器發(fā) 送DNS請求報文,請求獲取第一域的公鑰;接收來自所述DNS服務(wù)器的DNS響應(yīng)報文,獲取 所述DNS響應(yīng)報文中攜帶的所述第一域的公鑰;所述公鑰為采用短密鑰體系的密鑰;所述DNS服務(wù)器,用于在接收到所述DNS請求報文之后,通過所述通信連接,向所述第 一設(shè)備發(fā)送所述DNS響應(yīng)報文,所述DNS響應(yīng)報文攜帶所述第一域的公鑰。
全文摘要
本發(fā)明涉及通信領(lǐng)域,公開了一種獲取公鑰的方法,該方法通過與DNS服務(wù)器建立TCP連接,通過該連接,向DNS服務(wù)器發(fā)送DNS請求報文,請求獲取第一域的公鑰;通過該連接,接收來自DNS服務(wù)器的DNS響應(yīng)報文,根據(jù)該響應(yīng)報文中攜帶的第一域的公鑰,獲取第一域的公鑰。本發(fā)明還公開了獲取公鑰的裝置和系統(tǒng)。
文檔編號H04L12/58GK101877693SQ20091010693
公開日2010年11月3日 申請日期2009年4月29日 優(yōu)先權(quán)日2009年4月29日
發(fā)明者沈爍 申請人:華為技術(shù)有限公司