關鍵詞:ssl加密方法
隨著計算機網絡技術的發展,方便快捷的互聯網使人們習慣於收發電子郵件、購物和從網頁上購物。
事務,當網頁需要傳輸重要或敏感數據時,如用戶的銀行賬戶、密碼等。,所以網絡是安全的。
這已成為現代計算機網絡應用中亟待解決的問題。
目前網上銀行、電子商務等大型網上交易系統壹般采用HTTP和SSL相結合的方式。服務器端采用
對於支持SSL的Web服務器,客戶端使用支持SSL的瀏覽器實現安全通信。
SSL是安全套接字層(Secure Socket Layer)的縮寫,可以在互聯網上提供秘密傳輸。
網景在推出第壹款網絡瀏覽器的時候,就提出了SSL協議標準,目前有3.0版本。SSL采用公共
鑰匙開啟技術。它的目標是保證兩個應用程序之間通信的機密性和可靠性,在服務器端和用戶端都可以實現支持。
保持住。目前,使用公鑰技術的SSL協議已經成為互聯網上安全通信的工業標準。本文重點介紹
本文從SSL協議和SSL程序設計兩個方面論述了作者對SSL的理解。
SSL協議初探
安全套接字層協議可以防止用戶/服務器應用程序之間的通信被攻擊者竊聽,並始終對服務器進行認證。
您也可以選擇驗證用戶。SSL協議要求基於可靠的傳輸層協議(TCP)。SSL協議的優勢在於
與應用層協議無關,高層應用層協議(如HTTP、FTP、TELNET等。)可以透明地建立在。
高於SSL協議。SSL協議在應用層協議通信之前完成了加密算法、通信密鑰協商和服務器認證。
工作。之後,應用層協議傳輸的數據會被加密,從而保證通信的私密性。
通過以上描述,SSL協議提供的安全通道具有以下三個特點:
1.數據保密性
信息加密是通過加密算法將明文輸入文件轉換成加密文件,實現數據保密。加密過程需要
使用密鑰加密數據,然後解密。沒有密鑰,加密的數據就無法解密。數據加密後,就只有密鑰了。
它需要以安全的方式傳播。加密數據可以公開傳輸。
2.數據的壹致性
加密還可以保證數據的壹致性。例如,消息認證碼(MAC)可以驗證用戶提供的加密信息,接收方可以
以便用MAC驗證加密的數據,並確保數據在傳輸過程中沒有被篡改。
3.安全驗證
加密的另壹個目的是作為個人身份識別,用戶的密鑰可以作為他安全驗證的標識。
SSL使用公鑰加密技術(RSA)作為傳輸機密數據時客戶端和服務器之間的加密通信協議。
目前,大多數Web服務器和瀏覽器都廣泛支持SSL技術。當瀏覽器嘗試使用SSL身份驗證plus連接到客戶端時
秘密服務器,將喚醒壹個SSL會話,瀏覽器檢查認證,必須滿足以下三個條件:
1)有壹個頒發證書的機構。當然,您可以創建自簽名證書(x509結構)。
2)證書不能過期。
3)證書屬於它所連接的服務器。
只有這三個條件都滿足,瀏覽器才能成功完成認證。通過這三個條件,用戶可以確認自己的瀏覽器連接。
去正確的服務器,而不是連接壹些想要竊取用戶密碼等重要信息的假服務器。
在當今的電子商務中,另壹個廣泛使用的安全協議是SET協議。SET(安全電子交易,
安全電子交易)協議是VISA和MasterCard在1997年5月聯合推出的規範。機組可用於電力
子交易環節提供了更大的信任度,更完整的交易信息,更高的安全性,欺詐的可能性更小。設置交集
易到分為三個階段:用戶從商家購買,確定付款;商家與銀行核對;銀行向商人支付貨款。每個階段
它涉及數據的RSA加密和RSA數字簽名。使用SET協議,在壹次交易中,加密和解密操作必須多次完成。
因此具有較高的安全性,但SET協議比SSL協議更復雜,商家和銀行都需要改造自己的系統才能實現互通。
在Linux下,OpenSSL服務器流行支持SSL認證。OpenSSL項目是壹個合作項目,開發壹個
健壯的、商業級的、完整的開源工具包,使用強大的加密算法實現安全套接字層。
(安全套接字層,SSL v2/v3)和傳輸層安全性(TLS v1)。
這個項目由世界各地的誌願者管理和開發。
如何在Linux下配置OpenSSL服務器,先從OpenSSL主頁(/
範曉明
RSA公鑰加密廣泛應用於計算機行業的認證和加密。RSA數據安全公司提供的RSA公鑰加密許可證公鑰加密是壹種使用壹對非對稱密碼進行加密或解密的方法。每對密碼由壹個公鑰和壹個私鑰組成。公鑰分布很廣。私鑰是秘密的,不是公開的。用公鑰加密的數據只能用私鑰解密。相反,用私鑰加密的數據只能用公鑰解密。這種不對稱性使得公鑰加密非常有用。
使用公鑰加密的身份驗證
認證是壹個身份認證的過程。在下面的例子中,包括A和B,公鑰加密可以非常容易地驗證身份。符號{data} key表示“數據”已經用密碼加密或解密。假設A想驗證B的身份。b有壹對密碼,壹個是公開的,壹個是私有的。b向A透露了他的公鑰..A生成隨機消息並發送給b。A-> b:random-message
b使用他的私鑰加密消息,並返回由A加密的消息..B-> A: {random-message} B的私鑰。
a收到此消息,並使用B先前發布的公鑰對其進行解密。他將解密的消息與他最初發送給B的消息進行比較。如果它們完全相同,他們將知道他們正在與B交談。任何中間人都不會知道B的私鑰,也無法正確加密A檢查的隨機消息..
除非妳清楚地知道妳加密的信息。用私鑰加密消息然後發送給其他人並不是壹個好主意。因為加密值可能會被用來對付您,所以應該註意,只有您可以加密郵件,因為只有您擁有私鑰。因此,B不是加密A發送的原始消息,而是創建壹個消息段並加密它。信息段取自隨機消息,具有以下有用特征:
1.這個信息段很難恢復。即使有人冒充B,也無法從信息片段中獲取原信息;
2.冒名頂替者將找到不同的消息並計算相同的信息段值;
3.通過使用信息段,B可以保護自己。他計算A發送的隨機信息段,對結果進行加密,並將加密的信息段發送回A..a可以計算相同的信息段,解密B的消息認證B..
這種技術只描述數字簽名。通過加密A生成的隨機消息,B對A生成的消息進行了簽名..因此,我們的認證協議需要再次加密。壹些消息由B生成:
A-> B:妳好,妳是B嗎?
B-> A: A,這是b。
{信息段[A,這是B]} B的私鑰。
當妳使用這個協議的時候,B知道他發給B的消息,他不介意簽字。他先發壹條不加密的消息,“A,這是b”,然後再發壹條加密版的消息。a很容易驗證B就是B,同時B也沒有在他不想要的信息上簽字。
提交公鑰
那麽,B如何以可信的方式提交他的公鑰呢?查看身份驗證協議,如下所示:
甲->乙:妳好。
B-> A:嗨,我是B,B的公鑰。
證明它
B-> A: A,我是B {信息段[A,我是B]} B的私鑰。
在這個協議下,任何人都可以成為“B”。妳想要的只是壹個公鑰和壹個私鑰。妳向A發送妳是B,所以妳的公鑰代替了B的密碼。然後,您發送壹條用您的私鑰加密的消息來證明您的身份。a無法意識到妳不是b,為了解決這個問題,標準組織發明了證書。證書包含以下內容:
*證書頒發者的姓名
*頒發證書的組織。
*標題的公鑰
*郵戳
證書是用發行者的私鑰加密的。每個人都知道證書頒發者的公鑰(這樣,每個證書頒發者都有壹個證書)。證書是將公鑰綁定到名稱的協議。利用證書技術,大家可以查看B的證書,判斷是否是偽造的。假設B很好的控制了自己的私鑰,並且他確實是拿到證書的B,那麽壹切都會好的。
以下是修訂後的協議:
甲->乙:妳好。
B-> A:妳好,我是B,B的審核人。
證明它
B-> A: A,我是B {信息段[A,我是B]} B的私鑰。
現在,當A收到B的第壹條消息時,他可以檢查證書,簽名(如上所述,使用信息段和公鑰解密),然後檢查標題(B的名字)以確定它是B,他可以相信公鑰是B的公鑰,並要求B證明他的身份。通過以上過程,B制作了壹個信息段,用簽名版回復A。a可以通過使用從證書中獲得的公鑰來驗證B的信息段,並檢查結果。
如果壹個黑客叫h。
答->答:妳好。
H->無法建立來自B的消息使A相信。
密碼交換(秘密)
壹旦A驗證了B,他就可以向B發送壹條只有B可以解密和閱讀的消息:
a-> B:{ secret } B的公鑰。
找到密碼的唯壹方法就是用B的私鑰解碼上述信息。交換密碼是使用密碼加密的另壹種有效方式。即使A和B之間的通信被截獲,也只有B能得到密碼。
使用密碼作為另壹個密鑰增強了網絡的安全性,但這次是對稱加密算法(如DES、RC4、IDE A)。因為A在將密碼發送給B之前生成了密碼,所以A知道密碼。B知道密碼,因為B有私鑰,可以解密A的信息。但他們都知道密碼,他們可以初始化壹個對稱加密算法,並開始發送加密信息。這是修改後的協議:
甲->乙:妳好。
B-> A:妳好,我是B,B的審核人。
證明它
B-> A: A,我是B {信息段[A,我是B]} B的私鑰。
A-> B:好的B,這裏有壹個secret {secret} B的公鑰。
b-> A:{某消息}密鑰
黑客竊聽
所以如果A和B之間有壹個惡意的黑客H,雖然A和B交換過的密碼找不到,但是可以幹擾他們的對話。他可以放下大部分信息,選擇銷毀某些信息(這很簡單,因為他知道A和B使用的協議)。
答->答:妳好。
H-> B:妳好。
B-> H:嗨,我是B,B的checker。
H-> A:妳好,我是B,B的審核人。
答->答:證明壹下
H-> b:證明壹下
B-> H: A,我是B {信息段[A,我是B]}的私鑰。
H-> A: A,我是B {信息段[A,我是B]}的私鑰。
A-> h: OK B,這裏有壹個secret {secret} B的公鑰。
H —— > B:好的B,這裏有壹個secret {secret} B的公鑰。
b-> h:{某消息}密鑰
H-> a:亂碼[{某消息}密鑰]
h忽略壹些數據,在A和B交換密碼之前不要修改。然後h對B給A的信息進行幹擾,此時A相信B,所以他可能會相信被幹擾的消息,並盡力解密。
需要註意的是,H並不知道密碼,他所能做的就是銷毀用秘鑰加密的數據。基於協議,H可能無法生成有效的消息。但是下壹次呢?
為了防止這種破壞,甲乙雙方在其協議中生成壹個消息認證碼。校驗碼消息(MAC)是由密碼和壹些傳輸消息生成的數據的壹部分。信息段算法所描述的上述特征是其抗H:
MAC = Digest[壹些消息,秘密]
因為H不知道密碼,所以得不到正確的值。即使H隨機幹擾消息,只要數據量大,他成功的機會就很渺茫。例如,使用HD5(RSA發明的壹種很好的加密算法),A和B可以發送128位MAC值及其消息。h猜對MAC的概率接近1/18,446,744,073,709,551,616,等於零。
這是另壹份修改後的協議:
甲->乙:妳好。
B-> A:妳好,我是B,B的審核人。
證明它
B-> A:妳好,我是B,B的審核人。
a,這是b。
{信息段[A,這是B]} B的私鑰。
好b,這裏有壹個秘密{secret} b的公鑰。
{壹些消息,MAC }密鑰
現在h已經黔驢技窮了。他幹擾了他收到的所有信息,但MAC電腦可以找到他。a和B可以找到偽造的MAC值,不再說話。h不能再和b交流了。
OpenSSL常見問題