『壹』 詳解加密技術概念、加密方法以及應用
隨著網路技術的發展,網路安全也就成為當今網路 社會 的焦點中的焦點,幾乎沒有人不在談論網路上的安全問題,病毒、黑客程序、郵件炸彈、遠程偵聽等這一切都無不讓人膽戰心驚。病毒、黑客的猖獗使身處今日網路 社會 的人們感覺到談網色變,無所適從。
但我們必需清楚地認識到,這一切一切的安全問題我們不可一下全部找到解決方案,況且有的是根本無法找到徹底的解決方案,如病毒程序,因為任何反病毒程序都只能在新病毒發現之後才能開發出來,目前還沒有哪能一家反病毒軟體開發商敢承諾他們的軟體能查殺所有已知的和未知的病毒,所以我們不能有等網路安全了再上網的念頭,因為或許網路不能有這么一日,就象「矛」與「盾」,網路與病毒、黑客永遠是一對共存體。
現代的電腦加密技術就是適應了網路安全的需要而應運產生的,它為我們進行一般的電子商務活動提供了安全保障,如在網路中進行文件傳輸、電子郵件往來和進行合同文本的簽署等。其實加密技術也不是什麼新生事物,只不過應用在當今電子商務、電腦網路中還是近幾年的 歷史 。下面我們就詳細介紹一下加密技術的方方面面,希望能為那些對加密技術還一知半解的朋友提供一個詳細了解的機會!
一、加密的由來
加密作為保障數據安全的一種方式,它不是現在才有的,它產生的 歷史 相當久遠,它是起源於要追溯於公元前2000年(幾個世紀了),雖然它不是現在我們所講的加密技術(甚至不叫加密),但作為一種加密的概念,確實早在幾個世紀前就誕生了。當時埃及人是最先使用特別的象形文字作為信息編碼的,隨著時間推移,巴比倫、美索不達米亞和希臘文明都開始使用一些方法來保護他們的書面信息。
近期加密技術主要應用於軍事領域,如美國獨立戰爭、美國內戰和兩次世界大戰。最廣為人知的編碼機器是German Enigma機,在第二次世界大戰中德國人利用它創建了加密信息。此後,由於Alan Turing和Ultra計劃以及其他人的努力,終於對德國人的密碼進行了破解。當初,計算機的研究就是為了破解德國人的密碼,人們並沒有想到計算機給今天帶來的信息革命。隨著計算機的發展,運算能力的增強,過去的密碼都變得十分簡單了,於是人們又不斷地研究出了新的數據加密方式,如利用ROSA演算法產生的私鑰和公鑰就是在這個基礎上產生的。
二、加密的概念
數據加密的基本過程就是對原來為明文的文件或數據按某種演算法進行處理,使其成為不可讀的一段代碼,通常稱為「密文」,使其只能在輸入相應的密鑰之後才能顯示出本來內容,通過這樣的途徑來達到保護數據不被非法人竊取、閱讀的目的。該過程的逆過程為解密,即將該編碼信息轉化為其原來數據的過程。
三、加密的理由
當今網路 社會 選擇加密已是我們別無選擇,其一是我們知道在互聯網上進行文件傳輸、電子郵件商務往來存在許多不安全因素,特別是對於一些大公司和一些機密文件在網路上傳輸。而且這種不安全性是互聯網存在基礎——TCP/IP協議所固有的,包括一些基於TCP/IP的服務;另一方面,互聯網給眾多的商家帶來了無限的商機,互聯網把全世界連在了一起,走向互聯網就意味著走向了世界,這對於無數商家無疑是夢寐以求的好事,特別是對於中小企業。為了解決這一對矛盾、為了能在安全的基礎上大開這通向世界之門,我們只好選擇了數據加密和基於加密技術的數字簽名。
加密在網路上的作用就是防止有用或私有化信息在網路上被攔截和竊取。一個簡單的例子就是密碼的傳輸,計算機密碼極為重要,許多安全防護體系是基於密碼的,密碼的泄露在某種意義上來講意味著其安全體系的全面崩潰。
通過網路進行登錄時,所鍵入的密碼以明文的形式被傳輸到伺服器,而網路上的竊聽是一件極為容易的事情,所以很有可能黑客會竊取得用戶的密碼,如果用戶是Root用戶或Administrator用戶,那後果將是極為嚴重的。
還有如果你公司在進行著某個招標項目的投標工作,工作人員通過電子郵件的方式把他們單位的標書發給招標單位,如果此時有另一位競爭對手從網路上竊取到你公司的標書,從中知道你公司投標的標的,那後果將是怎樣,相信不用多說聰明的你也明白。
這樣的例子實在是太多了,解決上述難題的方案就是加密,加密後的口令即使被黑客獲得也是不可讀的,加密後的標書沒有收件人的私鑰也就無法解開,標書成為一大堆無任何實際意義的亂碼。總之無論是單位還是個人在某種意義上來說加密也成為當今網路 社會 進行文件或郵件安全傳輸的時代象徵!
數字簽名就是基於加密技術的,它的作用就是用來確定用戶是否是真實的。應用最多的還是電子郵件,如當用戶收到一封電子郵件時,郵件上面標有發信人的姓名和信箱地址,很多人可能會簡單地認為發信人就是信上說明的那個人,但實際上偽造一封電子郵件對於一個通常人來說是極為容易的事。在這種情況下,就要用到加密技術基礎上的數字簽名,用它來確認發信人身份的真實性。
類似數字簽名技術的還有一種身份認證技術,有些站點提供入站FTP和WWW服務,當然用戶通常接觸的這類服務是匿名服務,用戶的權力要受到限制,但也有的這類服務不是匿名的,如某公司為了信息交流提供用戶的合作夥伴非匿名的FTP服務,或開發小組把他們的Web網頁上載到用戶的WWW伺服器上,現在的問題就是,用戶如何確定正在訪問用戶的伺服器的人就是用戶認為的那個人,身份認證技術就是一個好的解決方案。
在這里需要強調一點的就是,文件加密其實不只用於電子郵件或網路上的文件傳輸,其實也可應用靜態的文件保護,如PIP軟體就可以對磁碟、硬碟中的文件或文件夾進行加密,以防他人竊取其中的信息。
四、兩種加密方法
加密技術通常分為兩大類:「對稱式」和「非對稱式」。
對稱式加密就是加密和解密使用同一個密鑰,通常稱之為「Session Key 」這種加密技術目前被廣泛採用,如美國政府所採用的DES加密標准就是一種典型的「對稱式」加密法,它的Session Key長度為56Bits。
非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為「公鑰」和「私鑰」,它們兩個必需配對使用,否則不能打開加密文件。這里的「公鑰」是指可以對外公布的,「私鑰」則不能,只能由持有人一個人知道。它的優越性就在這里,因為對稱式的加密方法如果是在網路上傳輸加密文件就很難把密鑰告訴對方,不管用什麼方法都有可能被別竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的「公鑰」是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。
五、加密技術中的摘要函數(MAD、MAD和MAD)
摘要是一種防止改動的方法,其中用到的函數叫摘要函數。這些函數的輸入可以是任意大小的消息,而輸出是一個固定長度的摘要。摘要有這樣一個性質,如果改變了輸入消息中的任何東西,甚至只有一位,輸出的摘要將會發生不可預測的改變,也就是說輸入消息的每一位對輸出摘要都有影響。總之,摘要演算法從給定的文本塊中產生一個數字簽名(fingerprint或message digest),數字簽名可以用於防止有人從一個簽名上獲取文本信息或改變文本信息內容和進行身份認證。摘要演算法的數字簽名原理在很多加密演算法中都被使用,如SO/KEY和PIP(pretty good privacy)。
現在流行的摘要函數有MAD和MAD,但要記住客戶機和伺服器必須使用相同的演算法,無論是MAD還是MAD,MAD客戶機不能和MAD伺服器交互。
MAD摘要演算法的設計是出於利用32位RISC結構來最大其吞吐量,而不需要大量的替換表(substitution table)來考慮的。
MAD演算法是以消息給予的長度作為輸入,產生一個128位的"指紋"或"消息化"。要產生兩個具有相同消息化的文字塊或者產生任何具有預先給定"指紋"的消息,都被認為在計算上是不可能的。
MAD摘要演算法是個數據認證標准。MAD的設計思想是要找出速度更快,比MAD更安全的一種演算法,MAD的設計者通過使MAD在計算上慢下來,以及對這些計算做了一些基礎性的改動來解決安全性這一問題,是MAD演算法的一個擴展。
六、密鑰的管理
密鑰既然要求保密,這就涉及到密鑰的管理問題,管理不好,密鑰同樣可能被無意識地泄露,並不是有了密鑰就高枕無憂,任何保密也只是相對的,是有時效的。要管理好密鑰我們還要注意以下幾個方面:
1、密鑰的使用要注意時效和次數
如果用戶可以一次又一次地使用同樣密鑰與別人交換信息,那麼密鑰也同其它任何密碼一樣存在著一定的安全性,雖然說用戶的私鑰是不對外公開的,但是也很難保證私鑰長期的保密性,很難保證長期以來不被泄露。如果某人偶然地知道了用戶的密鑰,那麼用戶曾經和另一個人交換的每一條消息都不再是保密的了。另外使用一個特定密鑰加密的信息越多,提供給竊聽者的材料也就越多,從某種意義上來講也就越不安全了。
因此,一般強調僅將一個對話密鑰用於一條信息中或一次對話中,或者建立一種按時更換密鑰的機制以減小密鑰暴露的可能性。
2、多密鑰的管理
假設在某機構中有100個人,如果他們任意兩人之間可以進行秘密對話,那麼總共需要多少密鑰呢?每個人需要知道多少密鑰呢?也許很容易得出答案,如果任何兩個人之間要不同的密鑰,則總共需要4950個密鑰,而且每個人應記住99個密鑰。如果機構的人數是1000、10000人或更多,這種辦法就顯然過於愚蠢了,管理密鑰將是一件可怕的事情。
Kerberos提供了一種解決這個較好方案,它是由MIT發明的,使保密密鑰的管理和分發變得十分容易,但這種方法本身還存在一定的缺點。為能在網際網路上提供一個實用的解決方案,Kerberos建立了一個安全的、可信任的密鑰分發中心(Key Distribution Center,KDC),每個用戶只要知道一個和KDC進行會話的密鑰就可以了,而不需要知道成百上千個不同的密鑰。
假設用戶甲想要和用戶乙進行秘密通信,則用戶甲先和KDC通信,用只有用戶甲和KDC知道的密鑰進行加密 ,用戶甲告訴KDC他想和用戶乙進行通信,KDC會為用戶甲和用戶乙之間的會話隨機選擇一個對話密鑰,並生成一個標簽,這個標簽由KDC和用戶乙之間的密鑰進行加密,並在用戶甲啟動和用戶乙對話時,用戶甲會把這個標簽交給用戶乙。這個標簽的作用是讓用戶甲確信和他交談的是用戶乙,而不是冒充者。因為這個標簽是由只有用戶乙和KDC知道的密鑰進行加密的,所以即使冒充者得到用戶甲發出的標簽也不可能進行解密,只有用戶乙收到後才能夠進行解密,從而確定了與用戶甲對話的人就是用戶乙。
當KDC生成標簽和隨機會話密碼,就會把它們用只有用戶甲和KDC知道的密鑰進行加密,然後把標簽和會話鑰傳給用戶甲,加密的結果可以確保只有用戶甲能得到這個信息,只有用戶甲能利用這個會話密鑰和用戶乙進行通話。同理,KDC會把會話密碼用只有KDC和用戶乙知道的密鑰加密,並把會話密鑰給用戶乙。
用戶甲會啟動一個和用戶乙的會話,並用得到的會話密鑰加密自己和用戶乙的會話,還要把KDC傳給它的標簽傳給用戶乙以確定用戶乙的身份,然後用戶甲和用戶乙之間就可以用會話密鑰進行安全的會話了,而且為了保證安全,這個會話密鑰是一次性的,這樣黑客就更難進行破解了。同時由於密鑰是一次性由系統自動產生的,則用戶不必記那麼多密鑰了,方便了人們的通信。
七、數據加密的標准
隨著計算機硬體的速度越來越快,製造一台這樣特殊的機器的花費已經降到了十萬美元左右,而用它來保護十億美元的銀行,那顯然是不夠保險了。另一方面,如果只用它來保護一台普通伺服器,那麼DES確實是一種好的辦法,因為黑客絕不會僅僅為入侵一個伺服器而花那麼多的錢破解DES密文。
另一種非常著名的加密演算法就是RSA了,RSA(Rivest-Shamir-Adleman)演算法是基於大數不可能被質因數分解假設的公鑰體系。簡單地說就是找兩個很大的質數。一個對外公開的為「公鑰」(Prblic key) ,另一個不告訴任何人,稱為"私鑰」(Private key)。這兩個密鑰是互補的,也就是說用公鑰加密的密文可以用私鑰解密,反過來也一樣。
假設用戶甲要寄信給用戶乙,他們互相知道對方的公鑰。甲就用乙的公鑰加密郵件寄出,乙收到後就可以用自己的私鑰解密出甲的原文。由於別人不知道乙的私鑰,所以即使是甲本人也無法解密那封信,這就解決了信件保密的問題。另一方面,由於每個人都知道乙的公鑰,他們都可以給乙發信,那麼乙怎麼確信是不是甲的來信呢?那就要用到基於加密技術的數字簽名了。
甲用自己的私鑰將簽名內容加密,附加在郵件後,再用乙的公鑰將整個郵件加密(注意這里的次序,如果先加密再簽名的話,別人可以將簽名去掉後簽上自己的簽名,從而篡改了簽名)。這樣這份密文被乙收到以後,乙用自己的私鑰將郵件解密,得到甲的原文和數字簽名,然後用甲的公鑰解密簽名,這樣一來就可以確保兩方面的安全了。
八、加密技術的應用
加密技術的應用是多方面的,但最為廣泛的還是在電子商務和VPN上的應用,下面就分別簡敘。
1、在電子商務方面的應用
電子商務(E-business)要求顧客可以在網上進行各種商務活動,不必擔心自己的信用卡會被人盜用。在過去,用戶為了防止信用卡的號碼被竊取到,一般是通過電話訂貨,然後使用用戶的信用卡進行付款。現在人們開始用RSA(一種公開/私有密鑰)的加密技術,提高信用卡交易的安全性,從而使電子商務走向實用成為可能。
許多人都知道NETSCAPE公司是Internet商業中領先技術的提供者,該公司提供了一種基於RSA和保密密鑰的應用於網際網路的技術,被稱為安全插座層(Secure Sockets Layer,SSL)。
也許很多人知道Socket,它是一個編程界面,並不提供任何安全措施,而SSL不但提供編程界面,而且向上提供一種安全的服務,SSL3.0現在已經應用到了伺服器和瀏覽器上,SSL2.0則只能應用於伺服器端。
SSL3.0用一種電子證書(electric certificate)來實行身份進行驗證後,雙方就可以用保密密鑰進行安全的會話了。它同時使用「對稱」和「非對稱」加密方法,在客戶與電子商務的伺服器進行溝通的過程中,客戶會產生一個Session Key,然後客戶用伺服器端的公鑰將Session Key進行加密,再傳給伺服器端,在雙方都知道Session Key後,傳輸的數據都是以Session Key進行加密與解密的,但伺服器端發給用戶的公鑰必需先向有關發證機關申請,以得到公證。
基於SSL3.0提供的安全保障,用戶就可以自由訂購商品並且給出信用卡號了,也可以在網上和合作夥伴交流商業信息並且讓供應商把訂單和收貨單從網上發過來,這樣可以節省大量的紙張,為公司節省大量的電話、傳真費用。在過去,電子信息交換(Electric Data Interchange,EDI)、信息交易(information transaction)和金融交易(financial transaction)都是在專用網路上完成的,使用專用網的費用大大高於互聯網。正是這樣巨大的誘惑,才使人們開始發展網際網路上的電子商務,但不要忘記數據加密。
2、加密技術在VPN中的應用
現在,越多越多的公司走向國際化,一個公司可能在多個國家都有辦事機構或銷售中心,每一個機構都有自己的區域網LAN(Local Area Network),但在當今的網路 社會 人們的要求不僅如此,用戶希望將這些LAN連結在一起組成一個公司的廣域網,這個在現在已不是什麼難事了。
事實上,很多公司都已經這樣做了,但他們一般使用租用專用線路來連結這些區域網 ,他們考慮的就是網路的安全問題。現在具有加密/解密功能的路由器已到處都是,這就使人們通過互聯網連接這些區域網成為可能,這就是我們通常所說的虛擬專用網(Virtual Private Network ,VPN)。當數據離開發送者所在的區域網時,該數據首先被用戶湍連接到互聯網上的路由器進行硬體加密,數據在互聯網上是以加密的形式傳送的,當達到目的LAN的路由器時,該路由器就會對數據進行解密,這樣目的LAN中的用戶就可以看到真正的信息了。
『貳』 數字加密(DRM)是什麼
數字加密(DRM)是微軟公司推出的一種先進版權保護的技術,互聯星空的高清晰電影大多採用這種版權保護技術進行版權的保護。所有的電影被加密後,不能直接在mediaplayer上播放,用戶支付費用後,每次點擊都將獲得一個有效的播放許可證,然後才能播放經過加密的電影。獲得播放許可證後,播放的效果和沒有加密前一致。
謝謝您對電信產品的關注,祝您生活愉快。 如果以上信息沒有解決您的問題,也可登錄廣東電信手機商城企業知道平台http://..com/c/gd189,向在線客服求助!
『叄』 SSL數字證書加密技術怎麼辨識
SSL數字證書的加密技術的辨識是很簡單的,只要確認一網址地址欄是否變成 「https」鏈接,是否出現「安全鎖」標記,如果有的話就可放心提交了。
不過SSL數字證書現在要是按照驗證方式的不同可以分為:OV SSL、DV SSL、以及EV SSL三種。要是網站安裝了OV SSL證書的話,網站上是不會顯示出綠色的標識的,通常是看不出來的,其主要驗證域名的所有權即可;
DV SSL證書是驗證域名的所有權以及企業的真實身份。網站安裝DV SSL證書的話,網址上是會顯示出綠色的小綠鎖的,在保護網站信息安全的同時,還能有效防止釣魚網站的發生;
EV SSL證書是目前市面上等級最高的證書等級,網站安裝EV SSL證書可在瀏覽器地址欄形式綠色企業名稱,即:綠色小鎖+綠色企業名稱+https://。確保網站真實可靠的身份,加強用戶的信賴更加放心的瀏覽網站,提升在線交易量。安信證書可提供申請EV SSL證書需要的鄧白氏、律師意見信等服務,確保並加快您申請EV SSL證書的進度。
網站安裝SSL證書的好處有哪些:
1、身份認證。防止釣魚網站、流量劫持以及中間人攻擊
2、數據加密。保障用戶信息不被竊取
3、等級保護制度。幫助信息安全等級保護測評
4、提高網站訪問速度。HTTP/2可以提高頁面載入速度
『肆』 數據加密技術分哪兩類
加密技術分為:
1、對稱加密
對稱加密採用了對稱密碼編碼技術,它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學中叫做對稱加密演算法,對稱加密演算法使用起來簡單快捷,密鑰較短,且破譯困難
2、非對稱
1976年,美國學者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協議,允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是「公開密鑰系統」。
相關信息:
目前主流的加密技術有對稱加密例如DES,3DES和AES,然後還有非對稱加密技術:例如RSA和橢圓加密演算法。對稱加密的話,就是用來加密和解密的密鑰是一樣的,非對稱加密的話,加密的密鑰和解密的密鑰是不一樣的,用加密的密鑰加密以後,只有配對的另外一個密鑰才能解開。
另外我們還可以常常看到MD5,SHA,SHA1之類的演算法,其實他們不是加密演算法,因為他們的結算結果不可逆,你沒法從結果得到輸入的數據是什麼,他們的用途主要是為了防止泄密和修改數據,因為對於這些演算法來說,每一個輸入只能有一個輸出,修改了輸入就會使得輸出變化很大,所以被人修改了數據的話通過這個演算法就能知道了。
另外我校驗密碼的時候,如果只是通過這個計算結果來對比的話,其他人如果不知道我的密碼,即使他能解碼我的程序也不行,因為程序裡面只有結果,沒有輸入的密碼。
『伍』 數據加密
數據加密技術是指將一個信息或稱明文,經過加密鑰匙及加密函數轉換,變成無意義的密文,而接收方則將此密文經過解密函數、解密鑰匙還原成明文。加密技術廣泛用於網路數據的安全領域。
數據加密技術要求只有在指定的用戶或網路下,才能解除密碼而獲得原來的數據,這就需要給數據發送方和接受方以一些特殊的信息用於加解密,這就是所謂的密鑰。其密鑰的值是從大量的隨機數中選取的。按加密演算法分為專用密鑰和公開密鑰兩種。
1)專用密鑰,又稱為對稱密鑰或單密鑰,加密和解密時使用同一個密鑰,即同一個演算法。如DES和MIT的Kerberos演算法。專用密鑰是最簡單方式,通信雙方必須交換彼此密鑰,當需給對方發信息時,用自己的加密密鑰進行加密,而在接收方收到數據後,用對方所給的密鑰進行解密。當一個文本要加密傳送時,該文本用密鑰加密構成密文,密文在信道上傳送,收到密文後用同一個密鑰將密文解出來,形成普通文體供閱讀。由於對稱密鑰運算量小、速度快、安全強度高,因而目前仍廣泛被採用。
2)公開密鑰,又稱非對稱密鑰,加密和解密時使用不同的密鑰,即不同的演算法,雖然兩者之間存在一定的關系,但不可能輕易地從一個推導出另一個。有一把公用的加密密鑰,有多把解密密鑰,如RSA演算法。公開密鑰由於兩個密鑰(加密密鑰和解密密鑰)各不相同,因而可以將一個密鑰公開,而將另一個密鑰保密,同樣可以起到加密的作用。在這種編碼過程中,一個密碼用來加密消息,而另一個密碼用來解密消息。在兩個密鑰中有一種關系,通常是數學關系。公鑰和私鑰都是一組十分長的、數字上相關的素數(是另一個大數字的因數)。有一個密鑰不足以翻譯出消息,因為用一個密鑰加密的消息只能用另一個密鑰才能解密。每個用戶可以得到唯一的一對密鑰,一個是公開的,另一個是保密的。公共密鑰保存在公共區域,可在用戶中傳遞,甚至可印在報紙上面。而私鑰必須存放在安全保密的地方。任何人都可以有你的公鑰,但是只有你一個人能有你的私鑰。它的工作過程是:「你要我聽你的嗎?除非你用我的公鑰加密該消息,我就可以聽你的,因為我知道沒有別人在偷聽。只有我的私鑰(其他人沒有)才能解密該消息,所以我知道沒有人能讀到這個消息。我不必擔心大家都有我的公鑰,因為它不能用來解密該消息。」公開密鑰的加密機制雖提供了良好的保密性,但難以鑒別發送者,即任何得到公開密鑰的人都可以生成和發送報文。數字簽名機制提供了一種鑒別方法,以解決偽造、抵賴、冒充和篡改等問題。
『陸』 十大常見密碼加密方式
一、密鑰散列
採用MD5或者SHA1等散列演算法,對明文進行加密。嚴格來說,MD5不算一種加密演算法,而是一種摘要演算法。無論多長的輸入,MD5都會輸出一個128位(16位元組)的散列值。而SHA1也是流行的消息摘要演算法,它可以生成一個被稱為消息摘要的160位(20位元組)散列值。MD5相對SHA1來說,安全性較低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。
二、對稱加密
採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密。對稱加密演算法中常用的演算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
三、非對稱加密
非對稱加密演算法是一種密鑰的保密方法,它需要兩個密鑰來進行加密和解密,這兩個密鑰是公開密鑰和私有密鑰。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密。非對稱加密演算法有:RSA、Elgamal、背包演算法、Rabin、D-H、ECC(橢圓曲線加密演算法)。
四、數字簽名
數字簽名(又稱公鑰數字簽名)是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。它是一種類似寫在紙上的普通的物理簽名,但是在使用了公鑰加密領域的技術來實現的,用於鑒別數字信息的方法。
五、直接明文保存
早期很多這樣的做法,比如用戶設置的密碼是「123」,直接就將「123」保存到資料庫中,這種是最簡單的保存方式,也是最不安全的方式。但實際上不少互聯網公司,都可能採取的是這種方式。
六、使用MD5、SHA1等單向HASH演算法保護密碼
使用這些演算法後,無法通過計算還原出原始密碼,而且實現比較簡單,因此很多互聯網公司都採用這種方式保存用戶密碼,曾經這種方式也是比較安全的方式,但隨著彩虹表技術的興起,可以建立彩虹表進行查表破解,目前這種方式已經很不安全了。
七、特殊的單向HASH演算法
由於單向HASH演算法在保護密碼方面不再安全,於是有些公司在單向HASH演算法基礎上進行了加鹽、多次HASH等擴展,這些方式可以在一定程度上增加破解難度,對於加了「固定鹽」的HASH演算法,需要保護「鹽」不能泄露,這就會遇到「保護對稱密鑰」一樣的問題,一旦「鹽」泄露,根據「鹽」重新建立彩虹表可以進行破解,對於多次HASH,也只是增加了破解的時間,並沒有本質上的提升。
八、PBKDF2
該演算法原理大致相當於在HASH演算法基礎上增加隨機鹽,並進行多次HASH運算,隨機鹽使得彩虹表的建表難度大幅增加,而多次HASH也使得建表和破解的難度都大幅增加。
九、BCrypt
BCrypt 在1999年就產生了,並且在對抗 GPU/ASIC 方面要優於 PBKDF2,但是我還是不建議你在新系統中使用它,因為它在離線破解的威脅模型分析中表現並不突出。
十、SCrypt
SCrypt 在如今是一個更好的選擇:比 BCrypt設計得更好(尤其是關於內存方面)並且已經在該領域工作了 10 年。另一方面,它也被用於許多加密貨幣,並且我們有一些硬體(包括 FPGA 和 ASIC)能實現它。 盡管它們專門用於采礦,也可以將其重新用於破解。
『柒』 數字加密方法
數字加密方法:將該數每一位上的數字加9,然後除以10取余,做為該位上的新數字,最後將第1位和第3位上的數字互換,第2位和第4位上的數字互換,組成加密後的新數。
數據加密演算法是一種對稱加密演算法,是使用最廣泛的密鑰系統,特別是在保護金融數據的安全中;密碼演算法是加密演算法和解密演算法的統稱,它是密碼體制的核心,密碼演算法可以看成一些交換的組合,當輸入為明文時,經過這些變換,輸出就為密文,此過程為加密演算法。
數字加密標准(DES)
對每個64位的數據塊採用56位密鑰。加密的過程可以用若干種模式進行操作包括16次循環或操作。雖然它被認為是「強」加密,許多公司使用三個密鑰,「三重數字加密標准(DES)」。這並不是說,DES加密信息不能被破解。早在1997年,另一個加密方法公鑰加密演算法(Rivest-Shamir-Adleman)的擁有人懸賞一萬美元來破解數字加密標准信息。
『捌』 請簡述數字加密的過程
在對稱加密中,數據發送方將明文(原始數據)和加密密鑰一起經過特殊加密演算法處理後,使其變成復雜的加密密文發送出去。
接收方收到密文後,若想解讀原文,則需要使用加密密鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密演算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密。
(8)數字技術加密擴展閱讀:
數字加密注意事項:
通過TCP三次握手進行連接,然後客戶端發送hello包到服務端,服務端回應一個hello包,如果客戶端需要再次發送數字證書, 則發送數字證書到客戶端。
客戶端得到伺服器的證書後通過CA服務驗證真偽、驗證證書的主體與訪問的主體是否一致,驗證證書是否在吊銷證書列表中。如果全部通過驗證則與伺服器端進行加密演算法的協商。
用證書中伺服器的公鑰加密對稱秘鑰發送給伺服器端,對稱秘鑰只能用伺服器的私鑰進行解密,當伺服器通過私鑰解密對稱秘鑰後。使用對稱秘鑰將客戶端請求的數據發送到客戶端,客戶端在用對稱秘鑰進行解密,從而得到想要的數據。
『玖』 加密技術
對稱加密就是指,加密和解密使用同一個密鑰的加密方式。需要用到的有加密演算法和加密秘鑰。例如加密演算法可以類似這樣的加密規則(a ->b,b->w,c->a)
發送方使用密鑰將明文數據加密成密文,然後發送出去,接收方收到密文後,使用同一個密鑰將密文解密成明文讀取。
優點:加密計算量小、速度快,效率高,適合對大量數據進行加密的場景。
缺點:(1)密鑰不適合在網上傳輸(容易被截取),(2)密鑰維護麻煩
DES 、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES。
數據加密標准DES屬於常規密鑰密碼體制,是一種分組密碼。加密前,先對整個明文進行分組,每一組長為64位,然後對每一個64位二進制數據進行加密處理,產生一組64位密文數據。最後將各組密文串接起來,即得出整個的密文。使用的密鑰為64位(實際密鑰長度為56位,有8位用於奇偶檢驗)
DES的保密性取決於密鑰的保密,而演算法是公開的。盡管人們在破譯DES方面取得了許多進展,但至今仍未能找到比窮舉搜索密鑰更有效的方法。DES是世界上第一個公認的實用密碼演算法標准,它曾對密碼學的發展做出了重大貢獻。目前較為嚴重的問題是DES的密鑰長度,現在已經設計出搜索DES密鑰的專用晶元。
DES演算法安全性取決於密鑰長度,56位密鑰破解需要3.5到21分鍾,128位密鑰破解需要5.4 * 10^18次方年
注意的是:這里是沒有密鑰的情況下,直接窮舉密鑰嘗試破解。如果密鑰在傳送過程中被人截取了,就相當於直接知道加密規則了,根本不需要破解,因此密鑰在網路中傳送還是不安全。
與對稱加密演算法不同,非對稱加密演算法需要密鑰對,即兩個密鑰:公開密鑰(公鑰)和私有密鑰(私鑰)。
公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那麼只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法。
公鑰和私鑰是怎麼來的?
操作系統隨機生成一個隨機數,將這個隨機數通過某個函數進行運算,分成兩部分,公鑰和私鑰
優點:安全性高
缺點:加密與解密速度慢。
RSA、ECC(移動設備用)、Diffie-Hellman、El Gamal、DSA(數字簽名用)。
答案是不能
鑒於非對稱加密的機制,我們可能會有這種思路:伺服器先把公鑰直接明文傳輸給瀏覽器,之後瀏覽器向伺服器傳數據前都先用這個公鑰加密好再傳,這條數據的安全似乎可以保障了! 因為只有伺服器有相應的私鑰能解開這條數據 。
然而 由伺服器到瀏覽器的這條路怎麼保障安全? 如果伺服器用它的的私鑰加密數據傳給瀏覽器,那麼瀏覽器用公鑰可以解密它,而這個公鑰是一開始通過明文傳輸給瀏覽器的,這個公鑰被誰劫持到的話,他也能用該公鑰解密伺服器傳來的信息了。所以 目前似乎只能保證由瀏覽器向伺服器傳輸數據時的安全性 (其實仍有漏洞,下文會說)。
1、先通過非對稱加密技術,把對稱加密的密鑰X傳給對方,使得這個對稱加密的密鑰X是安全的
2、後面再通過對稱加密技術進行數據傳輸
詳細流程
(1)伺服器端擁有用於非對稱加密的 公鑰A 、 私鑰A』 。
(2)客戶端向網站伺服器請求,伺服器先把 公鑰A 明文給傳輸瀏客戶端
(3)客戶端隨機生成一個用於對稱加密的 密鑰X ,用 公鑰A 加密後傳給伺服器端。
(4)伺服器端拿到後用 私鑰A』 解密得到 密鑰X 。
(5)這樣雙方就都擁有 密鑰X 了,且別人無法知道它。之後雙方所有數據都用 密鑰X 加密解密。
數字簽名是基於公鑰密碼體制(非對稱密鑰密碼體制)的。
數字簽名必須保證以下三點:
上圖位用戶A使用數字簽名向用戶B傳輸一份文件的過程:
什麼時候使用這種不對文件加密,而對文件的摘要加密(對文件進行簽名)的技術呢?
注意: 這里強調的是只有「A公鑰」 上有認證機構CA的數字簽名,意思是CA用它的私鑰對「A公鑰」的內容進行單向散列函數得到的 加密摘要(數字簽名) ,該簽名放在「A公鑰」中(左上角那個),對於B用戶來說,它從可靠的路徑拿到CA的公鑰,使用CA的公鑰解密「A公鑰」的內容得到的128位的摘要 和 「A公鑰」的內容通過單向散列函數計算出來的是否一致,如果是表示認可這個「A公鑰」
當用戶A遺失或泄露了CA頒發的證書後,為了避免他人使用該證書冒充用戶A,用戶A向認證機構CA "掛失" 該證書。於是認證機構CA把該證書放入該認證機構的證書吊銷列表(CRL)中,並在網上公示。
用戶B在收到用戶A的公鑰時,除了要驗證該公鑰是否位認證機構頒發的,還要登錄認證機構的網站查看該公鑰是否已被認證機構吊銷變為無效證書。
認證機構CA的作用:
1、http連接很簡單,是無狀態的,明文傳輸。https協議 = http協議 + SSL,可以進行加密傳輸,身份認證
2、http連接的是80埠,https連接的是443埠
3、https協議需要伺服器端到CA申請SSL證書,即客戶端請求的時候,伺服器端發送SSL證書給客戶端,SSL證書內容包括公鑰、CA機構的數字簽名。驗證了伺服器端的身份以及公鑰的可靠性。 (注意:混合加密那裡「將公鑰A給客戶端」,嚴格的來說是把SSL證書給客戶端)
SSL提供以下三個功能
1、 SSL伺服器鑒別。允許用戶證實伺服器的身份。 具有SSL功能的瀏覽器維持一個表,上面有一些可信賴的認證中心CA和它們的公鑰
2、 SSL客戶鑒別。允許伺服器證實客戶的身份。
3、 加密的SSL會話,通過混合加密實現的 。客戶和伺服器交互的所有數據都是發送方加密,接受方解密
SSL的位置
(1)方法:get,post,head,put,delete,option,trace,connect
(2)URL欄位
(3)HTTP協議版本
User-Agent:產生請求的瀏覽器類型
Aceept:客戶端可識別的內容類型列表
Host:主機地址
200:請求被成功處理
301:永久性重定向
302:臨時性重定向
403:沒有訪問許可權
404:沒有對應資源
500:伺服器錯誤
503:伺服器停機
HTTP協議的底層使用TCP協議,所以HTTP協議的長連接和短連接在本質上是TCP層的長連接和短連接。由於TCP建立連接、維護連接、釋放連接都是要消耗一定的資源,浪費一定的時間。所對於伺服器來說,頻繁的請求釋放連接會浪費大量的時間,長時間維護太多的連接的話又需要消耗資源。所以長連接和短連接並不存在優劣之分,只是適用的場合不同而已。長連接和短連接分別有如下優點和缺點:
注意: 從HTTP/1.1版本起,默認使用長連接用以保持連接特性。 使用長連接的HTTP協議,會在響應消息報文段加入: Connection: keep-alive。TCP中也有keep alive,但是TCP中的keep alive只是探測TCP連接是否活著,而HTTP中的keep-alive是讓一個TCP連接獲得更久一點。