本發明主要涉及網絡安全的隱蔽通信領域,尤其涉及一種基于dna加密、端口跳變的通信方法,實現網絡系統中通信的安全性。
背景技術:
隨著互聯網技術的快速發展,人們逐漸通過網絡技術進行信息的獲取、傳輸、處理與利用。尤其是近些年無線網絡以及便攜設備的普及,網絡已經與人們的生活息息相關。然而,網絡以其自身存在的開放性和共享性,使網絡安全事件逐年上升,網絡信息安全面臨著嚴峻挑戰。
傳統的網絡威脅主要包含網絡監聽(networksniffingattack)、拒絕服務(denialofservice)、重放及中間人攻擊(man-in-the-middle,mimt)等幾種方式。針對上述幾種網絡威脅,人們采取了信息加密、網絡防火墻、入侵防護(ips)及蜜罐和蜜網等網絡安全防御技術。然而,這些防御技術都是基于靜態網絡配置的,即網絡中的節點地址、網絡結構、網絡協議等均固定不變,一旦這些配置信息被入侵者搜集得到,就可以根據網絡特點有針對性地實施入侵。因此,近年來一種新型的主動網絡防御技術應運而生,主動防御是一種前攝性防御技術,使攻擊者無法完成對目標的攻擊,或者使系統能夠在無需人為被動響應的情況下預防安全事件。
端口動態跳變作為一種新的主動網絡安全防御技術倍受關注,它克服了靜態防御策略的不足,實現端口、時隙、加密算法、協議等端口的隨機跳變。端口跳變是指在網絡通信過程中,通信雙方通過某種協定動態的改變通信的端口地址。按照這種協定的策略隨機地動態改變端口信息,使惡意攻擊者利用掃描工具很難獲取通信雙方使用的通信端口信息。從而對惡意攻擊者的破壞和干擾能夠有效的抵御和防范,主動保護通信的可靠于安全。即使是被攻擊者所發現,由于其地址和端口都是動態跳變的,等到攻擊者有足夠時間向通信主機發起攻擊時,主機的地址和端口其實已經發生了跳變,其攻擊自然就失效了。因此,地址端口動態跳變技術在主動防御網絡安全方面具有良好的發展方向和應用前景。
然而,在跳變通信過程中,惡意攻擊者利用開放的網絡抓取通信雙方的數據包,而不進行dos攻擊,就會使得端口跳變技術在通信過程中消息的隱蔽性具有極大的挑戰。此外,現有的端口跳變技術的研究成果中,都忽視了截獲攻擊所造成的危害。當惡意攻擊者執行竊聽攻擊時,不需要針對通信雙方的網絡或者硬件設備發起攻擊。這就對攻擊者本身的防御添加了極大的難度。又由于通信過程中消息被截獲是很難被通信雙方發現的,這就使得在端口跳變通信中傳送比較重要的消息時顯得力不從心。
技術實現要素:
本發明的目的在于通過端口跳變技術與dna加密技術的相結合,在網絡對外任意開放的情況下,利用服務器端四個固定ip地址進行dna加密序列的確認,實現信息的隱蔽通信。
為達到上述目的,提出一種基于dna加密的跳變隱蔽通信方法,主要包括以下步驟:
(1)部署消息接收服務器與消息發送客戶端;
(2)客戶端輸入傳輸文本內容,然后將文本內容加密為字母a-p的文本序列;
(3)客戶端將密文為字母a-p的文本序列進行dna加密,即轉換為a(adenine)、t(thymine)、g(guanine)、c(cytosine)構成的堿基序列;
(4)服務器端配置四個ip地址ip={ip1,ip2,ip3,ip4}分別對應dna的四個堿基,客戶端根據加密后的dna序列依次訪問服務器端相對應的ip進行dna加密序列發送;
(5)服務器端的服務端口根據規則基于時間戳不斷改變,客戶端在訪問客戶端的ip時,基于時間戳計算出服務器端提供服務的端口號,然后通過對應的目的ip和端口向服務器端進行訪問請求;
(6)客戶端在訪問服務器的ip時,基于時間戳計算出服務器端提供服務的端口號,然后通過對應的目的ip和端口向服務器端進行訪問請求;
(7)服務器端還原dna加密序列之后,按照規則轉換為字母a-p的明文加密序列;
(8)服務器通過明文加密為字母a-p算法的逆,把字母a-p的明文加密序列還原為原文內容。
上述步驟(1)包括:
(1.1)部署通信服務器:與時間服務器進行時間同步獲取精準時間戳、網卡綁定四個服務ip={ip1,ip2,ip3,ip4},并指定對應的dna四個堿基,例如:ip1(a),ip2(t),ip3(g),ip4(c);
(1.2)部署通信客戶端:與時間服務器進行時間同步,獲取精準時間戳、設置通信中服務器四個ip所對應的dna堿基。
所述步驟(2)包括:
(2.1)客戶端把明文消息的每個字符轉化為ascii碼;
(2.2)客戶端把字符轉化為ascii碼后逐個與key值執行異或運算;
(2.3)客戶端把與key值異或后得到的序列進行逐個元素與0xf0執行異或運算;
(2.4)客戶端把與key值異或后得到的序列再次進行逐個元素右移4位運算;
(2.5)客戶端把執行異或操作與執行右移操作后的二進制碼序列拼接,拼接之后與0x41進行加運算;
(2.6)客戶端把運算執行結束后的二進制碼還原為字符,產生字母a-p的密文序列。
所述步驟(3)中,字母a-p的密文序列通過設定的dna加密規則,把字母a-p的密文序列轉換為a(adenine)、t(thymine)、g(guanine)、c(cytosine)構成的dna密文序列。
所述步驟(4)包括:
(4.1)客戶端確認明文加密后的dna密文序列;
(4.2)客戶端根據dna堿基對應的目的ip確認dna密文序列需要依次訪問的服務器ip。
所述步驟(5)包括:
(5.1)客戶端獲取時間戳計算出服務器的服務端口,即目的端口;
(5.2)客戶端通過目的端口和由dna密文序列對應的目的ip序列訪問服務器,客戶端對服務器的訪問結束,dna密文序列發送完成。
所述步驟(5)中,對于客戶端獲取時間戳計算出服務器的服務端口是根據時間間隔δt重復一次,從而保證δt時間后的服務器服務端口號與當前時間的服務端口號是不同的。
所述步驟(6)包括:
(6.1)服務器根據源ip記錄客戶端的目的ip訪問序列;
(6.2)服務器根據客戶端目的ip訪問序列并參照ip與dna堿基的對應規則,還原客戶端發送的dna密文序列。
所述步驟(7)包括:
(7.1)服務器端確認客戶端訪問結束后產生的dna密文序列;
(7.2)服務器端根據與客戶端統一的dna加密規則,把dna密文序列還原為字母a-p的明文加密序列。
所述步驟(8)包括:
(8.1)服務器端把字母a-p構成的密文序列平均分成兩段,后段為前段的解密序列;
(8.2)服務器端把分成兩段的密文序列中的每個字母按ascii碼轉換為二進制碼;
(8.3)服務器端把兩段密文每個字母的二進制碼逐個與0x41執行減運算;
(8.4)服務器端把前段密文每個字母的二進制碼逐個左移四位;
(8.5)服務器端把前段密文的二進制碼與后端密文的二進制碼逐個對應執行加運算,合并兩段密文序列為一段密文序列;
(8.6)服務器端把合并后的密文序列的每個字母的二進制碼逐個與key值執行異或運算,產生新的二進制碼序列;
(8.7)服務器端把執行異或后的新二進制碼序列按ascii還原為字母序列即為客戶端發送的原文序列。
通過以上技術方案的闡述,本發明具有以下有益技術效果:
1、本發明所提出的一種基于dna加密的跳變隱蔽通信方法是將端口跳變技術與dna加密技術相結合,實現客戶端與服務器通信過程中迷惑攻擊者。
2、本發明在跳變通信引入dna加密技術,通過服務端口的快速變化和消息的dna加密傳輸,保障了消息傳輸的隱蔽性,有效的避免截獲攻擊造成消息泄露的危害。
3、本發明采用ip地址代替dna堿基進行消息的隱蔽傳輸,不需要客戶端與服務器建立真正的連接,能有效避免網絡的擁塞,提高消息傳輸效率和系統安全性。
附圖說明
為了更清楚的說明本發明實施例中的技術方案,下面結合附圖與具體實施方案對本發明做進一步說明:
圖1是本發明公開的基于dna加密的跳變隱蔽通信方法模型。
圖2是本發明公開的dna加密與解密流程圖。
圖3是本發明公開的基于dna加密的跳變隱蔽通信方法的消息傳輸示意圖。
具體實施方式
以下將結合附圖對本發明作進一步詳細的描述。
如圖3所示,本發明的基于dna加密的跳變隱蔽通信方法,步驟為:
(1)部署消息接收服務器與消息發送客戶端;
(2)客戶端輸入傳輸文本內容,然后將文本內容加密為字母a-p的文本序列;
(3)客戶端將密文為字母a-p的文本序列進行dna加密,即轉換為a(adenine)、t(thymine)、g(guanine)、c(cytosine)構成的堿基序列;
(4)服務器端配置四個ip地址ip={ip1,ip2,ip3,ip4}分別對應dna的四個堿基,客戶端根據加密后的dna序列依次訪問服務器端相對應的ip進行dna加密序列發送;
(5)服務器端的服務端口根據規則基于時間戳不斷改變,客戶端在訪問客戶端的ip時,基于時間戳計算出服務器端提供服務的端口號,然后通過對應的目的ip和端口向服務器端進行訪問請求;
(6)客戶端在訪問服務器的ip時,基于時間戳計算出服務器端提供服務的端口號,然后通過對應的目的ip和端口向服務器端進行訪問請求;
(7)服務器端還原dna加密序列之后,按照規則轉換為字母a-p的明文加密序列;
(8)服務器通過明文加密為字母a-p算法的逆,把字母a-p的明文加密序列還原為原文內容。
如圖1所示,上述步驟(1)包括:
(1.1)部署通信服務器:與時間服務器進行時間同步獲取精準時間戳、網卡綁定四個服務ip={ip1,ip2,ip3,ip4},并指定對應的dna四個堿基,例如:ip1(a),ip2(t),ip3(g),ip4(c);
(1.2)部署通信客戶端:與時間服務器進行時間同步,獲取精準時間戳、設置通信中服務器四個ip所對應的dna堿基。
如圖2所示,上述步驟(2)的具體步驟如下:
(2.1)客戶端把明文消息m={m1,m2,m3,…,mn}的每個字符轉化為ascii碼
(2.2)客戶端把字符轉化為ascii碼后逐個與key值執行異或運算,即客戶端把
(2.3)客戶端把與key值異或后得到的序列進行逐個元素與0xf0執行異或運算,即客戶端把
(2.4)客戶端把與key值異或后得到的序列再次進行逐個元素右移4位運算,即客戶端把
(2.5)客戶端把執行異或操作與執行右移操作后的二進制碼序列拼接,拼接之后與0x41進行加運算,即
(2.6)客戶端把運算執行結束后的二進制碼還原為字符,產生字母a-p的密文序列,即
上述步驟(3)中,字母a-p的密文序列通過設定的dna加密規則,把字母a-p的密文序列轉換為a(adenine)、t(thymine)、g(guanine)、c(cytosine)構成的dna密文序列。
上述步驟(4)包括:
(4.1)客戶端確認明文加密后的dna密文序列;
(4.2)客戶端根據dna堿基對應的目的ip確認dna密文序列需要依次訪問的服務器ip。
其中dna加密規則采用:
上述步驟(5)包括:
(5.1)客戶端獲取時間戳計算出服務器的服務端口,即目的端口;
(5.2)客戶端通過目的端口和由dna密文序列對應的目的ip序列訪問服務器,客戶端對服務器的訪問結束,dna密文序列發送完成。
上述步驟(5)中,對于客戶端獲取時間戳計算出服務器的服務端口是根據時間間隔δt重復一次,從而保證δt時間后的服務器服務端口號與當前時間的服務端口號是不同的。
上述步驟(6)包括:
(6.1)服務器根據源ip記錄客戶端的目的ip訪問序列;
(6.2)服務器根據客戶端目的ip訪問序列并參照ip與dna堿基的對應規則,還原客戶端發送的dna密文序列。
步驟(7)包括:
(7.1)服務器端確認客戶端訪問結束后產生的dna密文序列e={e1,e2,e3,…,en};
(7.2)服務器端根據與客戶端統一的dna加密規則,把dna密文序列還原為字母a-p的明文加密序列。
上述步驟(8)包括:
(8.1)服務器端把字母a-p構成的密文序列平均分成兩段e′和e″,后段為前段的解密序列;
(8.2)服務器端把分成兩段的密文序列中的每個字母按ascii碼轉換為二進制碼,即
(8.3)服務器端把兩段密文每個字母的二進制碼逐個與0x41執行減運算,即
(8.4)服務器端把前段密文每個字母的二進制碼逐個左移四位,即
(8.5)服務器端把前段密文的二進制碼與后端密文的二進制碼逐個對應執行加運算,合并兩段密文序列為一段密文序列,即
(8.6)服務器端把合并后的密文序列的每個字母的二進制碼逐個與key值執行異或運算,產生新的二進制碼序列
(8.7)服務器端把執行異或后的新二進制碼序列按ascii還原為字母序列即為客戶端發送的原文序列