一種混合加密的網絡數據安全方法及系統的制作方法
【技術領域】
[0001]本發明涉及計算機通信技術領域,尤其涉及一種混合加密的網絡數據安全方法及系統。
【背景技術】
[0002]目前的網絡數據傳輸有以下幾種情況:
[0003]1.網絡數據傳輸無加密。
[0004]2.已有網絡數據傳輸加密,為了提高效率使用對稱加密,容易破解,密鑰固定,一旦泄漏有風險。
[0005]3.已有的網絡加密采用服務器端控制非對稱密鑰,請求復雜,影響效率。
【發明內容】
[0006]本發明的目的在于提出一種混合加密的網絡數據安全方法及系統,由于使用對稱加密和非對稱加密混合的加密方式,能夠防止密鑰泄漏或者被破解,能夠增加網絡傳輸數據加密,保證數據安全,采用客戶端控制非對稱密鑰,不用格外發請求給服務器來獲取密鑰,減少請求次數,提升效率。
[0007]為達此目的,本發明采用以下技術方案:
[0008]一種混合加密的網絡數據安全方法,包括:
[0009]S1、由客戶端生成RSA密鑰對,利用私鑰加密請求數據并保存私鑰,將加密后的請求數據連同公鑰發送給服務器;
[0010]S2、接收由服務器利用生成的AES密鑰加密返回數據形成的密文及用所述公鑰加密所述AES密鑰形成的密文;其中,所述返回數據為服務器利用公鑰對加密后的請求數據解密并執行所述請求數據得到的數據;
[0011]S3、所述客戶端利用保存的私鑰對接收到的用所述公鑰加密所述AES密鑰形成的密文進行解密得到所述AES密鑰,通過該AES密鑰對接收到的用所述AES密鑰加密所述返回數據形成的密文進行解密得到所述返回數據。
[0012]其中,在所述步驟S2中,所述服務器用所述公鑰兩次加密所述AES密鑰;
[0013]在所述步驟S3中,所述客戶端利用保存的私鑰對接收到的用所述公鑰兩次加密所述AES密鑰形成的密文進行兩次解密得到所述AES密鑰。
[0014]其中,所述方法,還包括:
[0015]所述客戶端對利用私鑰加密后的請求數據進行數字簽名后再發送給服務器,以便服務器對所述客戶端身份進行驗證,若驗證通過,則進行步驟S2 ;否則,結束。
[0016]其中,所述數字簽名采用MD5算法。
[0017]一種混合加密的網絡數據安全方法,包括:
[0018]S1、服務器接收客戶端發來的加密后的請求數據及公鑰;其中,所述加密后的請求數據是由客戶端生成的RSA密鑰對中的私鑰加密而成;
[0019]S2、所述服務器利用公鑰對加密后的請求數據解密獲得所述請求數據,并執行所述請求數據得到返回數據;
[0020]S3、所述服務器生成AES密鑰,并用所述AES密鑰加密所述返回數據形成的密文及用所述公鑰加密所述AES密鑰形成的密文一并發送給客戶端,以使得客戶端利用保存的私鑰對接收到的用所述公鑰加密所述AES密鑰形成的密文進行解密得到所述AES密鑰,通過該AES密鑰對接收到的用所述AES密鑰加密所述返回數據形成的密文進行解密得到所述返回數據。
[0021]其中,在所述步驟S3中,所述服務器用所述公鑰兩次加密所述AES密鑰;
[0022]在所述步驟S3中,所述客戶端利用保存的私鑰對接收到的用所述公鑰兩次加密所述AES密鑰形成的密文進行兩次解密得到所述AES密鑰。
[0023]其中,所述方法,還包括:
[0024]所述服務器接收客戶端發來的具有數字簽名的加密請求數據;其中,所述加密請求數據為客戶端利用私鑰加密后的請求數據;
[0025]所述服務器端接收后對所述客戶端身份進行驗證,若驗證通過,則進行步驟S2 ;否則,結束。
[0026]其中,所述數字簽名采用MD5算法。
[0027]一種混合加密的網絡數據安全系統,包括:客戶端和服務器;所述客戶端,包括:第一加密及發送單元,第二解密單元;所述服務器,包括:第一解密及執行單元,第二加密及發送單元;
[0028]第一加密及發送單元,用于由客戶端生成RSA密鑰對,利用私鑰加密請求數據并保存私鑰,將加密后的請求數據連同公鑰發送給服務器;
[0029]第一解密及執行單元,用于所述服務器利用公鑰對加密后的請求數據解密獲得所述請求數據,并執行所述請求數據得到返回數據;
[0030]第二加密及發送單元,用于所述服務器生成AES密鑰,并用所述AES密鑰加密所述返回數據形成的密文及用所述公鑰加密所述AES密鑰形成的密文一并發送給客戶端;
[0031]第二解密單元,用于所述客戶端利用保存的私鑰對接收到的用所述公鑰加密所述AES密鑰形成的密文進行解密得到所述AES密鑰,通過該AES密鑰對接收到的用所述AES密鑰加密所述返回數據形成的密文進行解密得到所述返回數據。
[0032]其中,在所述第二加密及發送單元中,所述服務器用所述公鑰兩次加密所述AES密鑰;在所述第二解密單元中,所述客戶端利用保存的私鑰對接收到的用所述公鑰兩次加密所述AES密鑰形成的密文進行兩次解密得到所述AES密鑰。
[0033]其中,所述客戶端,還包括:
[0034]數字簽名單元,用于客戶端對利用私鑰加密后的請求數據進行數字簽名后再發送給服務器;
[0035]所述服務器,還包括:
[0036]身份驗證單元,用于所述服務器端接收后對所述客戶端身份進行驗證,若驗證通過,則進行第一解密及執行單元;否則,結束。
[0037]其中,所述數字簽名采用MD5算法。
[0038]有益效果:
[0039]本發明所述的一種混合加密的網絡數據安全方法,包括:S1、由客戶端生成RSA密鑰對,利用私鑰加密請求數據并保存私鑰,將加密后的請求數據連同公鑰發送給服務器;S2、接收由服務器利用生成的AES密鑰加密返回數據形成的密文及用所述公鑰加密所述AES密鑰形成的密文;其中,所述返回數據為服務器利用公鑰對加密后的請求數據解密并執行所述請求數據得到的數據;S3、所述客戶端利用保存的私鑰對接收到的用所述公鑰加密所述AES密鑰形成的密文進行解密得到所述AES密鑰,通過該AES密鑰對接收到的用所述AES密鑰加密所述返回數據形成的密文進行解密得到所述返回數據。可見,本發明所述的技術方案由于使用對稱加密和非對稱加密混合的加密方式,能夠防止密鑰泄漏或者被破解,能夠增加網絡傳輸數據加密,保證數據安全,采用客戶端控制非對稱密鑰,不用格外發請求給服務器來獲取密鑰,減少請求次數,提升效率。
【附圖說明】
[0040]圖1是本發明【具體實施方式】提供的一種混合加密的網絡數據安全方法的流程圖。
[0041]圖2是本發明【具體實施方式】提供的另一種混合加密的網絡數據安全方法的流程圖。
[0042]圖3是本發明【具體實施方式】提供的一種混合加密的網絡數據安全系統的結構示意圖。
【具體實施方式】
[0043]下面結合附圖并通過【具體實施方式】來進一步說明本發明的技術方案。
[0044]實施例1:
[0045]圖1是本發明【具體實施方式】提供的一種混合加密的網絡數據安全方法的流程圖。如圖1所示,本發明所述的一種混合加密的網絡數據安全方法,包括:
[0046]包括:
[0047]S1、由客戶端生成RSA密鑰對,利用私鑰加密請求數據并保存私鑰,將加密后的請求數據連同公鑰發送給服務器;
[0048]S2、接收由服務器利用生成的AES密鑰加密返回數據形成的密文及用所述公鑰加密所述AES密鑰形成的密文;其中,所述返回數據為服務器利用公鑰對加密后的請求數據解密并執行所述請求數據得到的數據;
[0049]S3、所述客戶端利用保存的私鑰對接收到的用所述公鑰加密所述AES密鑰形成的密文進行解密得到所述AES密鑰,通過該AES密鑰對接收到的用所述AES密鑰加密所述返回數據形成的密文進行解密得到所述返回數據。
[0050]可見,本發明所述的技術方案由于使用對稱加密和非對稱加密混合的加密方式,能夠防止密鑰泄漏或者被破解,能夠增加網絡傳輸數據加密,保證數據安全,采用客戶端控制非對稱密鑰,不用格外發請求給服務器來獲取密鑰,減少請求次數,提升效率。
[0051]在所述步驟S2中,所述服務器用所述公鑰兩次加密所述AES密鑰;在所述步驟S3中,所述客戶端利用保存的私鑰對接收到的用所述公鑰兩次加密所述AES密鑰形成的密文進行兩次解密得到所述AES密鑰。
[0052]所述方法,還包括:
[0053]所述客戶端對利用私鑰加密后的請求數據進行數字簽名后再發送給服務器,以便服務器對所述客戶端身份進行驗證,若驗證通過,則進行步驟S2 ;否則,結束。
[0054]在本方案中,所述數字簽名采用MD5算法。
[0055]綜上所述,本方案選擇RSA非對稱加密傳輸,AES對稱加密的密鑰,使用AES密鑰加密通信數據的方式實現。每次請求通信前,由客戶端生成RSA密鑰對,客戶端保存私鑰,使用私鑰加密請求數據,把公鑰連同加密后的請求數據發送給服務器。進一步,如果有必要,使用MD5計算使用私鑰加密后的請求數據的簽名,服務器可以通過確認簽名來確定身份。服務器接收到加密后的請求數據和RSA公鑰后,使用公鑰解密該加密后的請求數據,執行業務,得到返回數據。
[0056]服務器將返回數據使用AES算法加密,即通過AES算法生成的密鑰加密返回數據。并且把AES密鑰使用公鑰加密兩次,返回給客戶端。
[0057]客戶端使用保存的私鑰對經過兩次公鑰加密后的AES秘鑰進行兩次解密得到AES密鑰。使用AES密鑰解密經過AES密鑰加密的返回數據,得到真正的明文,即返回數據。
[0058]由于本技術方案采用對稱加密和非對稱加密混合的加密方式,防止秘鑰泄漏或者被破解,增加網絡傳輸數據加密,保證數據安全,采用客戶端控制非對稱秘鑰,不用格外發請求獲取秘鑰,減少請求次數,提升效率。
[0059]實施例2:
[0060]本實施例與上述實施例1的區別在于:實施例1是從客戶端出發進行保護本發明,該實施例是從服務器端出發進行保護本發明。
[0061]圖2是本發明【具體實施方式】提供的另一種混合加密的網絡數據安全方法的流程圖。如圖2所示,本發明所述的一種混合加密的網絡數據安全方法,包括:
[0062]S1、服務器接收客戶端發來的加密后的請求數據及公鑰;其中,所述加密后的請求數據是由客戶端生成的RSA密鑰對中的私鑰加密而成;
[0063]S2、所述服務器利用公鑰對加密后的請求數據解密獲得所述請求數據,并執行所述請求數據得到返回數據;
[00