|
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)用(yong)SSL,被邪惡的第三方將其截獲,就能看出我的意圖,如果加上不帶認證的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)。
加jia密mi共gong分fen為wei帶dai鑰yao匙chi加jia密mi和he不bu帶dai鑰yao匙chi加jia密mi,這zhe是shi以yi我wo的de習xi慣guan劃hua分fen。不bu帶dai鑰yao匙chi加jia密mi好hao理li解jie,就jiu是shi一yi個ge算suan法fa,不bu依yi賴lai於yu任ren何he外wai部bu數shu據ju,這zhe種zhong算suan法fa不bu好hao的de地di方fang是shi一yi旦dan被bei破po解jie就jiu不bu能neng使shi用yong,就jiu相xiang當dang於yu我wo知zhi道dao你ni是shi用yong這zhe種zhong方fang法fa加jia密mi,那na麼me你ni的de信xin息xi也ye毫hao無wu安an全quan可ke言yan,也ye就jiu不bu好hao在zai網wang絡luo連lian接jie這zhe方fang麵mian使shi用yong。
另ling外wai一yi種zhong是shi帶dai鑰yao匙chi加jia密mi,也ye就jiu是shi說shuo破po解jie的de人ren既ji要yao知zhi道dao是shi什shen麼me算suan法fa也ye要yao知zhi道dao鑰yao匙chi是shi什shen麼me,隻zhi知zhi道dao其qi一yi不bu能neng破po解jie。一yi旦dan破po解jie,再zai換huan一yi個ge鑰yao匙chi,還hai可ke以yi繼ji續xu用yong,這zhe個ge鑰yao匙chi就jiu是shi參can與yu加jia密mi算suan法fa的de外wai部bu數shu據ju。
那(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,乙yi必bi然ran要yao知zhi道dao解jie密mi所suo需xu要yao的de鑰yao匙chi。這zhe個ge鑰yao匙chi哪na裏li來lai的de,甲jia給gei的de?不bu是shi。解jie密mi的de鑰yao匙chi遠yuan比bi加jia密mi的de鑰yao匙chi重zhong要yao得de多duo,隻zhi能neng自zi己ji知zhi道dao,別bie人ren,哪na怕pa是shi甲jia方fang也ye不bu行xing,因yin為wei一yi旦dan你ni的de解jie密mi鑰yao匙chi讓rang別bie人ren知zhi道dao,加jia密mi算suan法fa又you是shi公gong開kai,那na麼me就jiu等deng於yu所suo有you發fa給gei你ni的de信xin息xi內nei容rong也ye就jiu全quan部bu公gong開kai了le。所suo以yi解jie密mi密mi鑰yao隻zhi能neng自zi己ji知zhi道dao。
由(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)“身份證”,術語叫證書,那丙就傻眼了。
zhezhongzhengshushiyouyixiejigouqianfa,zhexiejigoubeichengweizhengshubanfajigou,zhexiejigoubeirenxinren,zhengshufageinishi,haishijingguozhejigouqianming,jiuxiangweiruanbanfageiniMVP證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利用很多對付監聽、偽造和篡改等行為的技術,來保障網絡雙方安全地交流。目前隨著監聽與反監聽、偽造和反偽造、篡改與反篡改技術的不斷進步,SSL技(ji)術(shu)也(ye)在(zai)不(bu)斷(duan)發(fa)展(zhan),兩(liang)方(fang)麵(mian)是(shi)一(yi)對(dui)不(bu)可(ke)調(tiao)和(he)的(de)矛(mao)盾(dun),卻(que)起(qi)到(dao)互(hu)相(xiang)促(cu)進(jin),共(gong)同(tong)發(fa)展(zhan)的(de)作(zuo)用(yong)。表(biao)麵(mian)上(shang)十(shi)分(fen)平(ping)靜(jing)的(de)互(hu)聯(lian)網(wang),這(zhe)裏(li)的(de)戰(zhan)爭(zheng)悄(qiao)無(wu)聲(sheng)息(xi)卻(que)異(yi)常(chang)激(ji)烈(lie)。■
|