HTTPS:
超文本傳輸安全協(xié)議.是以安全為目標的HTTP通道土至,簡單講是HTTP的安全版购对。
HTTPS,HTTP區(qū)別:
1.http是超文本傳輸協(xié)議,信息是明文傳輸陶因,https 則是具有安全性的ssl加密傳輸協(xié)議骡苞。
2.http和https使用的是完全不同的連接方式,用的端口也不一樣楷扬,前者是80解幽,后者是443。
3.http的連接很簡單烘苹,是無狀態(tài)的躲株;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡協(xié)議镣衡,比http協(xié)議安全霜定。
HTTPS的加密算法:
1.對稱加密算法
就是使用相同的規(guī)則進行加密解密档悠,兩端通過同一個密鑰進行明文的加密和解密,但是這種密鑰的傳輸安全問題又無法得到保障望浩。
具代表性的對稱加密算法:DES,3DES,AES
DES:數(shù)據(jù)加密標準辖所,不具備安全性,往往出現(xiàn)在一些介紹磨德,案例或者一些比較老的軟件文件中缘回。
3DES:是DES向AES過渡的加密算法,它使用3條56位的密鑰對數(shù)據(jù)進行三次加密典挑。是DES的一個更安全的變形酥宴。它以DES為基本模塊,通過組合分組方法設計出分組加密算法您觉。比起最初的DES拙寡,3DES更為安全。應用十分廣泛顾犹,密鑰長度增強倒庵,迭代次數(shù)高。
AES:高級加密標準炫刷。這個標準用來替代原先的DES,并且是最有效的標準郁妈。AES是目前使用最多的對稱加密算法浑玛。解決了DES的安全問題和3DES的處理速度慢問題。AES通常用于移動通信系統(tǒng)加密以及基于SSH協(xié)議的軟件噩咪。
2.非對稱加密算法
非對稱加密擁有一套匹配的公鑰和私鑰顾彰,明文可以使用公鑰加密成密文,密文再用私鑰進行解密成明文胃碾,也可以反過來涨享,用私鑰加密,公鑰繼續(xù)解密仆百。
具代表性的非對稱加密算法:DH,RSA,ElGamal
對稱加密算法提供了數(shù)據(jù)的安全性厕隧,同時也帶來了密鑰管理復雜性,如果想要發(fā)送加密的信息俄周,必須事先約定好相同的算法吁讨,雙方持有相同的密鑰。密鑰傳遞過程復雜峦朗,一旦密鑰泄露建丧,數(shù)據(jù)將很快的被破解掉。這就是對稱加密帶來的困擾波势。
DH:密鑰交換算法是通過構(gòu)建本地密鑰來解決這種對稱加密帶來的問題翎朱。
RSA:唯一廣泛接收并實現(xiàn)的一個非常通用并公開的算法橄维。
ElGamal:和RSA不同的是只提供公鑰加密算法。jdk并沒有提供給他的實現(xiàn)拴曲,他的實現(xiàn)是通過Bouncy Castle來提供的挣郭。構(gòu)建密鑰和RSA基本上是一致的。算是RSA的一種補充疗韵。
3.總結(jié)
對稱加密:DES 安全度在現(xiàn)代已經(jīng)不夠高兑障,后來又出現(xiàn)的3DES 算法強度提高了很多,但是其執(zhí)行效率低下蕉汪,AES算法加密強度大流译,執(zhí)行效率高,使用簡單者疤,實際開發(fā)中建議選擇AES 算法福澡。實際android 開發(fā)中可以用對稱加密(例如選擇AES 算法)來解決很多問題。
非對稱加密:高級驹马,雙保險革砸,公鑰,私鑰糯累。DH 密鑰交換算法(是非對稱加密的起源)算利;RSA 基于因子分解(應用范圍最廣,既能用于數(shù)據(jù)加密泳姐,也能用于數(shù)字簽名)效拭;ElGamal? 基于離散對數(shù)。