|
SSL(Secure Socket Layer),中zhong文wen直zhi譯yi為wei安an全quan插cha接jie層ceng協xie議yi層ceng,聽ting不bu明ming白bai?說shuo白bai了le就jiu是shi在zai原yuan有you的de協xie議yi上shang加jia上shang一yi層ceng加jia密mi以yi及ji認ren證zheng這zhe類lei東dong西xi,目mu的de是shi保bao證zheng信xin息xi安an全quan。舉ju個ge簡jian單dan的de例li子zi我wo給gei你ni發fa一yi串chuan數shu據ju,不bu用yongSSL,被邪惡的第三方將其截獲,就能看出我的意圖,如果加上不帶認證的SSL將數據加密,即使被第三方得到,他拿到的也是無法看懂的數據,一點用都沒有。這隻是一個比較淺顯的比方,可能有人問:我把我要發送的數據寫一個加密算法加密後再發出去,這算不算SSL呢?我無法給出正確答案,請直接閱讀下麵的文字。
SSL有兩個最核心的技術,一個是加密,一個是認證。認證是比較深層次的東西(至少我這麼認為),暫且不說認證,單說加密。
廣義上的SSL是包含隻把信息加密的這種作法,隻是從字麵上來講。如果嚴格遵循SSL提出者寫的規範,這種加密的作法也有限定,用什麼樣的加密方法是有規定。那如果有人要問SSL用(yong)的(de)是(shi)什(shen)麼(me)加(jia)密(mi)算(suan)法(fa)?我(wo)會(hui)反(fan)問(wen)你(ni),你(ni)知(zhi)道(dao)多(duo)少(shao)種(zhong)算(suan)法(fa)呢(ne)?看(kan)著(zhe)他(ta)們(men)茫(mang)然(ran)的(de)眼(yan)神(shen),我(wo)心(xin)裏(li)暗(an)暗(an)笑(xiao),開(kai)個(ge)玩(wan)笑(xiao)而(er)已(yi),下(xia)麵(mian)簡(jian)單(dan)介(jie)紹(shao)一(yi)下(xia)加(jia)密(mi)方(fang)麵(mian)的(de)知(zhi)識(shi)。
jiamigongfenweidaiyaochijiamihebudaiyaochijiami,zheshiyiwodexiguanhuafen。budaiyaochijiamihaolijie,jiushiyigesuanfa,buyilaiyurenhewaibushuju,zhezhongsuanfabuhaodedifangshiyidanbeipojiejiubunengshiyong,jiuxiangdangyuwozhidaonishiyongzhezhongfangfajiami,namenidexinxiyehaowuanquankeyan,yejiubuhaozaiwangluolianjiezhefangmianshiyong。
lingwaiyizhongshidaiyaochijiami,yejiushishuopojiederenjiyaozhidaoshishenmesuanfayeyaozhidaoyaochishishenme,zhizhidaoqiyibunengpojie。yidanpojie,zaihuanyigeyaochi,haikeyijixuyong,zhegeyaochijiushicanyujiamisuanfadewaibushuju。
那(na)麼(me),帶(dai)鑰(yao)匙(chi)加(jia)密(mi)的(de)算(suan)法(fa)又(you)分(fen)為(wei)兩(liang)種(zhong),一(yi)種(zhong)是(shi)對(dui)稱(cheng)加(jia)密(mi)的(de)算(suan)法(fa),另(ling)一(yi)種(zhong)是(shi)不(bu)對(dui)稱(cheng)加(jia)密(mi)的(de)算(suan)法(fa)。對(dui)稱(cheng)是(shi)指(zhi)加(jia)密(mi)用(yong)的(de)什(shen)麼(me)鑰(yao)匙(chi),解(jie)密(mi)也(ye)得(de)用(yong)這(zhe)個(ge)鑰(yao)匙(chi)。不(bu)對(dui)稱(cheng)加(jia)密(mi)是(shi)指(zhi)加(jia)密(mi)用(yong)的(de)是(shi)一(yi)種(zhong)鑰(yao)匙(chi),解(jie)密(mi)用(yong)的(de)是(shi)另(ling)外(wai)一(yi)種(zhong)鑰(yao)匙(chi)。SSL用的就是不對稱加密算法。具體用的什麼,好像還不止一種,有興趣的讀者可以查詢相關資料,這裏隻是簡介,將大概原理介紹一下。
假如通信雙方甲和乙,甲給乙發信息,乙給甲發信息,如何確保第三方看不到(或看不懂)他ta們men之zhi間jian發fa送song的de數shu據ju呢ne?采cai用yong不bu對dui稱cheng加jia密mi。甲jia給gei乙yi發fa信xin,甲jia要yao給gei它ta加jia密mi,用yong一yi個ge鑰yao匙chi加jia好hao了le,好hao比bi現xian在zai發fa的de內nei容rong是shi火huo星xing文wen,誰shui也ye看kan不bu懂dong,那na麼me乙yi接jie收shou了le,要yao想xiang知zhi道dao是shi什shen麼me內nei容rong,就jiu得de解jie密mi。
前麵說這是不對稱加密:一,乙必然要知道這個算法;er,yibiranyaozhidaojiemisuoxuyaodeyaochi。zhegeyaochinalilaide,jiageide?bushi。jiemideyaochiyuanbijiamideyaochizhongyaodeduo,zhinengzijizhidao,bieren,napashijiafangyebuxing,yinweiyidannidejiemiyaochirangbierenzhidao,jiamisuanfayoushigongkai,namejiudengyusuoyoufageinidexinxineirongyejiuquanbugongkaile。suoyijiemimiyaozhinengzijizhidao。
由you於yu不bu對dui稱cheng加jia密mi的de兩liang個ge密mi鑰yao是shi一yi對dui,所suo以yi用yong什shen麼me鑰yao匙chi解jie密mi,就jiu得de用yong相xiang對dui應ying的de鑰yao匙chi加jia密mi,這zhe話hua雖sui然ran反fan過guo來lai說shuo比bi較jiao通tong順shun一yi點dian,但dan都dou是shi一yi個ge意yi思si。這zhe麼me說shuo來lai,先xian前qian甲jia方fang加jia密mi數shu據ju所suo用yong的de鑰yao匙chi和he乙yi方fang解jie密mi數shu據ju所suo用yong的de鑰yao匙chi是shi一yi對dui,是shi由you乙yi方fang來lai製zhi作zuo。現xian在zai清qing楚chu了le,乙yi方fang產chan生sheng了le一yi個ge鑰yao匙chi對dui,把ba其qi中zhong一yi個ge告gao訴su甲jia方fang,讓rang他ta用yong來lai加jia密mi,另ling一yi個ge放fang在zai自zi家jia的de保bao險xian櫃gui裏li,隻zhi有you自zi己ji知zhi道dao,用yong來lai解jie密mi甲jia方fang傳chuan來lai的de信xin息xi。甲jia給gei乙yi發fa信xin是shi這zhe樣yang的de,乙yi給gei甲jia發fa信xin也ye一yi樣yang,用yong甲jia給gei他ta的de鑰yao匙chi加jia密mi,發fa給gei甲jia,甲jia再zai用yong自zi己ji的de鑰yao匙chi解jie密mi。這zhe就jiu是shi一yi個ge公gong鑰yao,一yi個ge私si鑰yao。公gong鑰yao發fa布bu出chu去qu,別bie人ren用yong來lai加jia密mi,私si鑰yao自zi己ji拿na著zhe用yong來lai解jie密mi。
有(you)人(ren)問(wen)公(gong)鑰(yao)別(bie)人(ren)知(zhi)道(dao)了(le),會(hui)不(bu)會(hui)被(bei)人(ren)推(tui)算(suan)出(chu)私(si)鑰(yao),我(wo)可(ke)以(yi)這(zhe)麼(me)回(hui)答(da),會(hui),隻(zhi)是(shi)時(shi)間(jian)的(de)問(wen)題(ti)。你(ni)說(shuo),時(shi)間(jian)不(bu)是(shi)問(wen)題(ti),我(wo)可(ke)以(yi)等(deng)。我(wo)告(gao)訴(su)你(ni),問(wen)題(ti)是(shi)你(ni)沒(mei)那(na)麼(me)多(duo)時(shi)間(jian)等(deng)。
破po解jie不bu對dui稱cheng加jia密mi,可ke簡jian可ke繁fan,是shi根gen據ju密mi鑰yao的de長chang短duan來lai決jue定ding,密mi鑰yao越yue短duan,破po解jie時shi間jian越yue短duan,密mi鑰yao越yue長chang,破po解jie時shi間jian越yue長chang。一yi個ge足zu夠gou長chang的de密mi鑰yao,等deng破po解jie出chu來lai要yao等deng到dao天tian荒huang地di老lao,這zhe是shi現xian在zai的de情qing況kuang,也ye許xu過guo些xie年nian這zhe種zhong情qing況kuang會hui有you改gai觀guan。
說(shuo)完(wan)加(jia)密(mi),再(zai)說(shuo)認(ren)證(zheng),認(ren)證(zheng)相(xiang)對(dui)加(jia)密(mi)來(lai)說(shuo)會(hui)複(fu)雜(za)一(yi)些(xie),還(hai)可(ke)能(neng)說(shuo)不(bu)太(tai)清(qing)楚(chu),這(zhe)裏(li)一(yi)樣(yang)隻(zhi)是(shi)對(dui)原(yuan)理(li)做(zuo)一(yi)些(xie)簡(jian)單(dan)介(jie)紹(shao),認(ren)證(zheng),打(da)個(ge)比(bi)方(fang)說(shuo),你(ni)如(ru)何(he)證(zheng)明(ming)你(ni)的(de)身(shen)份(fen),用(yong)身(shen)份(fen)證(zheng),什(shen)麼(me)?你(ni)用(yong)一(yi)個(ge)假(jia)的(de)身(shen)份(fen)證(zheng),那(na)麼(me)我(wo)再(zai)查(zha)你(ni)的(de)電(dian)子(zi)身(shen)份(fen)證(zheng)等(deng)等(deng)。我(wo)來(lai)調(tiao)查(zha)你(ni)的(de)身(shen)份(fen),這(zhe)個(ge)過(guo)程(cheng)就(jiu)叫(jiao)認(ren)證(zheng)。認(ren)證(zheng)是(shi)為(wei)了(le)防(fang)止(zhi)有(you)人(ren)假(jia)冐(冐)成(cheng)別(bie)人(ren)發(fa)信(xin)息(xi)。
再(zai)回(hui)顧(gu)一(yi)下(xia),甲(jia)和(he)乙(yi)發(fa)信(xin)息(xi),甲(jia)先(xian)把(ba)公(gong)鑰(yao)發(fa)給(gei)乙(yi),讓(rang)乙(yi)用(yong)來(lai)加(jia)密(mi)信(xin)息(xi),這(zhe)時(shi),如(ru)果(guo)有(you)一(yi)個(ge)第(di)三(san)方(fang)丙(bing),截(jie)獲(huo)到(dao)公(gong)鑰(yao),則(ze)他(ta)就(jiu)可(ke)以(yi)用(yong)甲(jia)的(de)公(gong)鑰(yao)加(jia)密(mi)信(xin)息(xi),並(bing)且(qie)假(jia)冒(mao)成(cheng)乙(yi)給(gei)甲(jia)發(fa)信(xin)。如(ru)果(guo)甲(jia)在(zai)接(jie)收(shou)乙(yi)的(de)公(gong)鑰(yao)時(shi)要(yao)求(qiu)乙(yi)提(ti)供(gong)“身份證”,術語叫證書,那丙就傻眼了。
這zhe種zhong證zheng書shu是shi由you一yi些xie機ji構gou簽qian發fa,這zhe些xie機ji構gou被bei稱cheng為wei證zheng書shu頒ban發fa機ji構gou,這zhe些xie機ji構gou被bei人ren信xin任ren,證zheng書shu發fa給gei你ni時shi,還hai是shi經jing過guo這zhe機ji構gou簽qian名ming,就jiu像xiang微wei軟ruan頒ban發fa給gei你niMVP證zheng書shu時shi上shang麵mian有you比bi爾er蓋gai茨ci的de簽qian名ming一yi樣yang,不bu同tong的de是shi這zhe裏li是shi數shu字zi簽qian名ming。關guan於yu數shu字zi簽qian名ming,又you是shi一yi套tao很hen複fu雜za的de理li論lun,這zhe裏li暫zan不bu表biao露lu。有you數shu字zi簽qian名ming之zhi後hou,證zheng書shu基ji本ben上shang就jiu不bu能neng造zao假jia。又you有you人ren問wen,如ru果guo證zheng書shu頒ban發fa機ji構gou發fa給gei你ni一yi個ge錯cuo誤wu的de證zheng書shu怎zen麼me辦ban?這zhe是shi個ge很hen嚴yan肅su的de問wen題ti,責ze任ren要yao由you證zheng書shu頒ban發fa機ji構gou承cheng擔dan。當dang甲jia方fang要yao求qiu乙yi出chu示shi證zheng書shu後hou,乙yi把ba證zheng書shu提ti交jiao上shang去qu,上shang麵mian有you頒ban發fa機ji構gou的de名ming字zi和he簽qian名ming,也ye有you乙yi的de名ming字zi,這zhe樣yang甲jia就jiu可ke以yi放fang心xin地di和he乙yi交jiao流liu,這zhe樣yang第di三san方fang就jiu無wu從cong插cha足zu。
甲和乙互發信息聊得火爆,第三方丙即使截獲信息也看不懂,但他不甘寂寞,使出最後一招--篡(cuan)改(gai)。這(zhe)是(shi)個(ge)損(sun)人(ren)不(bu)利(li)已(yi)的(de)活(huo),對(dui)付(fu)這(zhe)種(zhong)搗(dao)蛋(dan)的(de)人(ren),可(ke)以(yi)使(shi)用(yong)哈(ha)希(xi)值(zhi)的(de)辦(ban)法(fa),俗(su)稱(cheng)電(dian)子(zi)摘(zhai)要(yao)。固(gu)定(ding)的(de)內(nei)容(rong)對(dui)應(ying)固(gu)定(ding)的(de)電(dian)子(zi)摘(zhai)要(yao),當(dang)通(tong)信(xin)內(nei)容(rong)被(bei)篡(cuan)改(gai)後(hou),接(jie)收(shou)方(fang)再(zai)計(ji)算(suan)一(yi)次(ci)電(dian)子(zi)摘(zhai)要(yao),生(sheng)成(cheng)出(chu)來(lai)的(de)就(jiu)和(he)原(yuan)來(lai)的(de)對(dui)不(bu)上(shang)了(le),這(zhe)不(bu)就(jiu)發(fa)現(xian)內(nei)容(rong)被(bei)篡(cuan)改(gai)了(le)嗎(ma)?
總之SSL利用很多對付監聽、偽造和篡改等行為的技術,來保障網絡雙方安全地交流。目前隨著監聽與反監聽、偽造和反偽造、篡改與反篡改技術的不斷進步,SSLjishuyezaibuduanfazhan,liangfangmianshiyiduibuketiaohedemaodun,queqidaohuxiangcujin,gongtongfazhandezuoyong。biaomianshangshifenpingjingdehulianwang,zhelidezhanzhengqiaowushengxiqueyichangjilie。■
|