摘要:IPv6是應(yīng)所謂“IPv4地址耗盡問(wèn)題”而出現(xiàn)的,簡(jiǎn)單來(lái)說(shuō)就是認(rèn)為原來(lái)的IPv4地址空間不夠用了,要給IP地址升位。類似6位電話號(hào)碼不夠用了,就升位到7位或8位。IPv6第一個(gè)版本出現(xiàn)于1995年12月份,萬(wàn)維網(wǎng)和第一個(gè)流行的瀏覽器Mosaic都剛剛出現(xiàn),大數(shù)據(jù)和手機(jī)定位等技術(shù)都是近十年間才逐步獲得應(yīng)用的。技術(shù)時(shí)代的局限使得該IPv6在其地址結(jié)構(gòu)的設(shè)計(jì)思想上存在很大缺陷。
因當(dāng)時(shí)盲目地認(rèn)為128位地址太過(guò)富裕,因此就集成進(jìn)了物理層及應(yīng)用層的信息,混淆了網(wǎng)絡(luò)層次,形成奇特的“拼接地址”結(jié)構(gòu),由此帶來(lái)無(wú)解的安全漏洞等潛在問(wèn)題。另一方面,因在過(guò)去IPv4技術(shù)條件下發(fā)展的NAT等技術(shù),“IPv4地址耗盡”本質(zhì)上其實(shí)是不成立的。
事實(shí)上,不采用IPv6,繼續(xù)在IPv4框架內(nèi)平滑演進(jìn)也無(wú)妨。電信技術(shù)因其特殊的標(biāo)準(zhǔn)性質(zhì),當(dāng)一種標(biāo)準(zhǔn)技術(shù)一定程度上成為“全球公認(rèn)”的時(shí)候,它就成為一種政治正確,即使大家都明顯看出其中存在問(wèn)題,卻誰(shuí)都不敢再發(fā)表質(zhì)疑的意見(jiàn),這導(dǎo)致類似ATM等看似完美和全球一致公認(rèn)的技術(shù),卻長(zhǎng)期無(wú)法大規(guī)模普及,甚至永遠(yuǎn)也無(wú)法普及,這會(huì)白白耗費(fèi)大量社會(huì)資源。因此呼吁重新思考IPv6的發(fā)展問(wèn)題。
一、IPv6“拼接編碼”結(jié)構(gòu)簡(jiǎn)介
IPv6地址有128位長(zhǎng)度,人們普遍認(rèn)為IPv6的地址空間就是128位。但這種想法是不對(duì)的,因IPv6地址結(jié)構(gòu)設(shè)計(jì)很奇特,其地址空間并非如人們想象的就是128位空間。要理解IP地址的結(jié)構(gòu)原理,可以用E.164電話號(hào)碼來(lái)做參考。電話號(hào)碼的結(jié)構(gòu)是“國(guó)家或地區(qū)代碼+區(qū)號(hào)+電話號(hào)碼”,三段不同的代碼代表了不同的層級(jí)。在IPv4地址中,是采用“網(wǎng)絡(luò)ID(A、B、C、D、E類不同長(zhǎng)度的地址)+主機(jī)ID”的結(jié)構(gòu)。在IPv6主要的單播地址中,從大的原則上看,似乎也是采用類似IPv4的“網(wǎng)絡(luò)ID+主機(jī)ID”結(jié)構(gòu),只不過(guò)IPv6的網(wǎng)絡(luò)ID變成了具有三層更細(xì)結(jié)構(gòu),并且是固定長(zhǎng)度的子網(wǎng)前綴:“頂級(jí)聚合ID+次級(jí)聚合ID+站點(diǎn)級(jí)聚合ID”,而IPv4中的主機(jī)ID,變成固定64位長(zhǎng)度的“接口ID”。
表面上看,這樣的設(shè)計(jì)是符合一般地址結(jié)構(gòu)設(shè)計(jì)規(guī)律的。問(wèn)題在于,從通信協(xié)議的最一般原理來(lái)說(shuō),需要有“分層”的概念,最一般的通信原理是七層協(xié)議。不同層次的問(wèn)題應(yīng)當(dāng)交給不同層次的協(xié)議去解決,不同協(xié)議層之間應(yīng)當(dāng)透明。由于IPv6地址設(shè)計(jì)者認(rèn)為128位長(zhǎng)度實(shí)在是太富裕,既然IP地址要升位,不如乘機(jī)解決更多的問(wèn)題。這樣一來(lái),把過(guò)多不應(yīng)該由IP地址層考慮的其他協(xié)議層的問(wèn)題,過(guò)多地?fù)诫s進(jìn)了IPv6地址中,由此導(dǎo)致了一系列致命的后果。原則上說(shuō),IP地址應(yīng)當(dāng)屬于網(wǎng)絡(luò)層的協(xié)議,它應(yīng)當(dāng)與物理層和應(yīng)用層透明,但I(xiàn)Pv6兩個(gè)大的地址段的設(shè)計(jì)摻進(jìn)了物理層地址和應(yīng)用層。兩個(gè)地址段事實(shí)上采用了完全不同的編址設(shè)計(jì)和分配體系,這是一個(gè)非常奇怪的設(shè)計(jì),使得IPv6事實(shí)上并不是單一的地址,有點(diǎn)像把6位郵政編碼與13位個(gè)人身份證號(hào)碼,這兩種各自獨(dú)立的編碼直接拼接在一起形成的“拼接編碼”。
二、IPv6詳解2.1 子網(wǎng)前綴地址
IPv6地址有很多分配給了一些特殊目的用途,如:
未指明地址 ::/128
環(huán)回地址 ::1/128
組播地址 FF00::/8
本地聯(lián)接的地址 FE80::/10
這些不是專業(yè)人員可以不用去詳細(xì)討論。除此之外,IPv6地址的主體是可聚合的“全網(wǎng)單播地址”(global unicast address),這些地址的前綴從001直到111。這種單播地址采用“子網(wǎng)前綴”加“接口ID”的基本模式,并且“可聚合的全網(wǎng)單播地址”采用子網(wǎng)前綴和接口ID各占64位的模式進(jìn)行分配。
以IPv6版本RFC2373為例,其分配的細(xì)節(jié)如下:
2.2 接口ID
以2006年的IPv6版本RFC4291為例,相關(guān)描述如下
ModifiedEUI-64 format-based interface identifiers may have universal scope when derivedfrom a universal token (e.g., IEEE 802 48-bit MAC or IEEE EUI-64 identifiers [EUI64])or may have local scope where a global token is not available (e.g., seriallinks, tunnel end-points) or whereglobal tokens are undesirable (e.g., temporary tokens for privacy [PRIV]).
這就是說(shuō),接口ID是按照IPv6協(xié)議之外的其他全網(wǎng)唯一的標(biāo)識(shí)來(lái)解決的。一般是采用全網(wǎng)唯一的48位(實(shí)際長(zhǎng)度為47位)長(zhǎng)度的MAC地址(就是計(jì)算機(jī)網(wǎng)卡等都會(huì)有的唯一標(biāo)識(shí))生成或64位長(zhǎng)度的IEEE EUI-64標(biāo)識(shí)符。也可以在全網(wǎng)唯一標(biāo)識(shí)難以獲得情況下,獲得只在本地唯一的標(biāo)識(shí)。還可以在不希望有全網(wǎng)唯一標(biāo)識(shí)情況下采用私有策略。
RFC2373附錄A里,提供了“如果只具有非全網(wǎng)唯一物理接口地址,以及沒(méi)有物理地址情況下”產(chǎn)生接口ID的方法。
對(duì)于沒(méi)有物理地址的情況,可以采用三種方法來(lái)產(chǎn)生接口ID:
手工配置;
產(chǎn)生一個(gè)隨機(jī)數(shù)字;
利用節(jié)點(diǎn)的序號(hào)。
并且在這里強(qiáng)烈推薦采用沖突檢測(cè)的算法。
在這個(gè)設(shè)計(jì)里,之所以采用“接口ID”(interface ID)這個(gè)名稱,顯然表明了它的根本目的就是要采用終端物理地址來(lái)建立這部分編碼。從最普遍的設(shè)計(jì)原則來(lái)說(shuō),物理地址是需要具有全網(wǎng)唯一性的。并且在IPv6所設(shè)定的使用環(huán)境中,接口ID的全網(wǎng)唯一性也具有重要價(jià)值。這主要體現(xiàn)在兩個(gè)方面:
一是很好地支持移動(dòng)。如果假設(shè)物理地址不具有唯一性的話,當(dāng)兩個(gè)具有相同物理地址的終端移動(dòng)到同一個(gè)站點(diǎn)時(shí),它們產(chǎn)生的IPv6地址將沒(méi)有區(qū)別。如果太多沖突的話,將使整個(gè)系統(tǒng)崩潰。因此,盡管附錄A里對(duì)不具有全網(wǎng)唯一物理地址、甚至不具有物理地址情況下如何獲得接口ID進(jìn)行了建議,并且建議中甚至有任意產(chǎn)生一個(gè)隨機(jī)數(shù)字的方式,但這種方式顯然不能成為主流,因?yàn)樗绻蔀橹髁鞯脑挘^“接口ID”就完全失去意義了。
二是其安全性的考慮。就是通過(guò)全網(wǎng)唯一的物理地址來(lái)唯一地確定終端的身份。
根據(jù)以上對(duì)IPv6地址基本思路的分析,可知該協(xié)議會(huì)存在如下嚴(yán)重的問(wèn)題。
三、IPv6將使運(yùn)營(yíng)商網(wǎng)絡(luò)拓?fù)渫耆该?/p>
在IPv6的地址申請(qǐng)過(guò)程中,并不像IPv4那樣是申請(qǐng)整個(gè)IP地址段。IPv6運(yùn)營(yíng)商只能申請(qǐng)前64位的子網(wǎng)前綴地址,后64位的接口ID完全是另外一套分配規(guī)則,基本不受運(yùn)營(yíng)商管理和控制,不同結(jié)構(gòu)段的地址分配規(guī)則完全不一樣。其實(shí),E.164電話號(hào)碼不同號(hào)碼段的分配規(guī)則機(jī)制也不一樣。ITU給各個(gè)國(guó)家分配國(guó)家或區(qū)域代碼,各個(gè)國(guó)家自己給各個(gè)城市分配區(qū)號(hào)和不同運(yùn)營(yíng)商的號(hào)段。各個(gè)運(yùn)營(yíng)商自己分配用戶號(hào)碼。IPV6卻有點(diǎn)反過(guò)來(lái)了,子網(wǎng)前綴是批量申請(qǐng)到,具體編碼由運(yùn)營(yíng)商自己分配,而位于后面的接口ID卻不受運(yùn)營(yíng)商的管理和分配。有點(diǎn)兒像電話網(wǎng)的區(qū)號(hào)是運(yùn)營(yíng)商自己分配,而用戶號(hào)碼卻不受運(yùn)營(yíng)商管理和分配一樣。這的確會(huì)讓人理解起來(lái)有點(diǎn)兒繞得頭暈。
我們來(lái)設(shè)想一下,如果一個(gè)電信運(yùn)營(yíng)商申請(qǐng)到了一批子網(wǎng)前綴,它會(huì)如何用這些子網(wǎng)前綴進(jìn)行網(wǎng)絡(luò)規(guī)劃和分配呢?例如某移動(dòng)運(yùn)營(yíng)商M,它可以用頂級(jí)聚合ID來(lái)規(guī)劃省或直轄市,用次級(jí)聚合ID來(lái)規(guī)劃城市及城區(qū),用站點(diǎn)聚合ID來(lái)規(guī)劃各個(gè)基站及扇區(qū)。這意味著什么?當(dāng)該移動(dòng)運(yùn)營(yíng)商的某個(gè)手機(jī)用戶生成它的IPv6地址以后,在地址里面就清楚地顯示了該用戶所在省或直轄市,城市及城區(qū),直到其所在的基站和載扇等子網(wǎng)前綴號(hào)碼。這樣一來(lái),假如該用戶訪問(wèn)網(wǎng)站GOOGLE,那么GOOGLE很容易就可以獲取移動(dòng)運(yùn)營(yíng)商M的一個(gè)路徑上的網(wǎng)絡(luò)拓?fù)洌踔镣ㄟ^(guò)該用戶的所在位置精確地定位用戶所在基站和其扇區(qū)的位置。如果僅僅是這一個(gè)信息,意義是不大的。但是,當(dāng)大量用戶訪問(wèn)GOOGLE網(wǎng)絡(luò)后,該網(wǎng)站可以通過(guò)大數(shù)據(jù)分析很快還原出整個(gè)運(yùn)營(yíng)商M的所有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),基站所在位置、扇區(qū)方向、載頻數(shù)量甚至網(wǎng)絡(luò)性能。
當(dāng)然,這個(gè)問(wèn)題技術(shù)上并非絕對(duì)不能有反制的方法。M可以采用隨機(jī)的甚至動(dòng)態(tài)分配的方式來(lái)調(diào)整子網(wǎng)前綴的分配。但是,這種動(dòng)態(tài)調(diào)整不是隨便可以進(jìn)行的,尤其當(dāng)業(yè)務(wù)量比較大的時(shí)候,一旦調(diào)整會(huì)造成大量業(yè)務(wù)一定時(shí)間內(nèi)的中斷。另外,IPv6對(duì)子網(wǎng)前綴進(jìn)行這樣的設(shè)計(jì),本來(lái)一個(gè)很重要的目的就極大提升路由效率。地址規(guī)劃與網(wǎng)絡(luò)拓?fù)湓绞且恢拢酚杀砭驮胶?jiǎn)單,可以只根據(jù)子網(wǎng)地址前綴中部分層級(jí)的地址信息就可以完成路由。它有點(diǎn)類似IPv4時(shí)代提出的MPLS(多協(xié)議標(biāo)記交換),子網(wǎng)前綴中的部分層級(jí)編址就相當(dāng)于標(biāo)記,它可以把相應(yīng)子網(wǎng)內(nèi)的IPv6包聚合在一起進(jìn)行交換。這對(duì)提升路由效率和增強(qiáng)QoS確實(shí)是有很大好處的。例如,北京朝陽(yáng)區(qū)到深圳皇崗區(qū)的IPv6包都可以聚合在一起,而不管站點(diǎn)地址和接口ID是多少。這就是為什么把子網(wǎng)前綴的地址稱為“可聚合的”根本原因所在。如果子網(wǎng)前綴不按網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)隨機(jī)地進(jìn)行分配,可聚合的根本好處就沒(méi)有了。如果僅從IP路由本身角度看,IPv6可聚合的子網(wǎng)前綴設(shè)計(jì)的確是一個(gè)很突出的優(yōu)點(diǎn),對(duì)提升路由效率和增強(qiáng)QoS確實(shí)是有好處的。可是在大數(shù)據(jù)和手機(jī)定位已經(jīng)普及的時(shí)代,這個(gè)優(yōu)點(diǎn)同時(shí)又可能面對(duì)嚴(yán)重的安全問(wèn)題。
當(dāng)M網(wǎng)絡(luò)里用戶量大到一定程度,對(duì)網(wǎng)站、尤其像GOOGLE等訪問(wèn)非常集中的網(wǎng)站,即使采用隨機(jī)甚至動(dòng)態(tài)的子網(wǎng)前綴分配,還是可以在很短時(shí)間內(nèi)就可以完成對(duì)M網(wǎng)絡(luò)拓?fù)涞拇髷?shù)據(jù)分析。
E.164電話號(hào)碼結(jié)構(gòu)中的不同層級(jí)也是包含網(wǎng)絡(luò)拓?fù)湫畔⒌模瑸槭裁碔Pv6會(huì)有這樣的后果,而E.164號(hào)碼就沒(méi)這個(gè)問(wèn)題?原因在于:
E.164是服務(wù)于固網(wǎng)運(yùn)營(yíng)商電話業(yè)務(wù),當(dāng)號(hào)碼是固定的時(shí)候,即使是通過(guò)來(lái)電顯示知道電話號(hào)碼,沒(méi)有位置信息,也無(wú)法確定對(duì)應(yīng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
點(diǎn)對(duì)點(diǎn)之間的通話僅僅能知道極少量的電話號(hào)碼,很少存在所有用戶經(jīng)常向某一個(gè)服務(wù)點(diǎn)打電話的情況。
電話網(wǎng)不是數(shù)據(jù)服務(wù),很少大數(shù)據(jù)的分析能力。
來(lái)電顯示是電信運(yùn)營(yíng)商主動(dòng)提供的服務(wù)。如果電信運(yùn)營(yíng)商不想對(duì)方知道來(lái)電信息,可以不提供。
用戶不移動(dòng),很難準(zhǔn)確區(qū)分局號(hào)和用戶號(hào)分界點(diǎn)。
但I(xiàn)Pv6時(shí)代已經(jīng)完全不同,“用戶移動(dòng)尤其還是接口ID固定的用戶移動(dòng)”“大數(shù)據(jù)”“手機(jī)定位”,這幾個(gè)技術(shù)加起來(lái)就會(huì)讓采用IPv6的運(yùn)營(yíng)商網(wǎng)絡(luò)拓?fù)浠旧咸幱谕耆该鳡顟B(tài)。由于手機(jī)可通過(guò)WiFi等接入固網(wǎng),因此固網(wǎng)電信運(yùn)營(yíng)商的網(wǎng)絡(luò)結(jié)構(gòu)同樣可以輕易地被破解。不僅是GOOGLE擁有這樣的能力,用戶量稍微多一點(diǎn)的任何一個(gè)IPv6互聯(lián)網(wǎng)站都可以具備這種能力。
最早的IPv6版本RFC1884是1995年12月份發(fā)布,那個(gè)時(shí)候別說(shuō)是大數(shù)據(jù),連互聯(lián)網(wǎng)的萬(wàn)維網(wǎng)1990年剛出現(xiàn),第一個(gè)流行的瀏覽器Mosaic1.0版是在1993年11月份才發(fā)布,GOOGLE公司也都還沒(méi)有成立,那時(shí)侯根本想不到會(huì)出現(xiàn)今天的技術(shù)局面。雖然后來(lái)IPv6協(xié)議的版本經(jīng)過(guò)很多的改變,如:
RFC2373,1998年7月
RFC3513,2003年4月
RFC4291,2006年2月
接口ID設(shè)計(jì)的最新標(biāo)準(zhǔn)是RFC8064,2017年2月。
但是,IPv6這種將物理層的信息嵌入到IP地址中的基本設(shè)計(jì)思想,在其最初一旦形成后是無(wú)法改變的,能改變的只是細(xì)節(jié)。如接口ID可以不止是采用MAC地址作為全球唯一編址的工具,也可以利用其他更多的物理層地址等。
為什么IPv4沒(méi)有這個(gè)問(wèn)題,而IPv6會(huì)有這個(gè)問(wèn)題呢?因?yàn)镮Pv4純粹只是網(wǎng)絡(luò)層的地址,電信運(yùn)營(yíng)商各個(gè)網(wǎng)絡(luò)拓?fù)涞腎Pv4地址主要只是在網(wǎng)絡(luò)內(nèi)部使用,通信的信宿(信息接收的終端)并不會(huì)知道這些地址。在現(xiàn)在的電信運(yùn)營(yíng)商網(wǎng)絡(luò)里,拓?fù)涞母鱾€(gè)節(jié)點(diǎn)都有對(duì)應(yīng)的物理層地址,包括基站和扇區(qū)都有編號(hào)。但它們都只是在運(yùn)營(yíng)商的網(wǎng)絡(luò)內(nèi)部使用,一旦出了運(yùn)營(yíng)商的網(wǎng)絡(luò),這些信息就都被剝離掉了,對(duì)方通信終端的信宿不可能獲得這些地址信息。但I(xiàn)Pv6把所有物理地址與IP層的地址混同了,而IP通信的雙方一般都是知道對(duì)方的整個(gè)IP地址信息的,因?yàn)橐粋€(gè)完整的IP包頭會(huì)包含通信雙方的IP地址信息。把電信運(yùn)營(yíng)商的物理層信息完全暴露在IP地址信息中,等同于裸奔。
一個(gè)電信運(yùn)營(yíng)商的網(wǎng)絡(luò)拓?fù)浜途W(wǎng)絡(luò)性能往往是其核心商業(yè)機(jī)密之一,運(yùn)營(yíng)商們真的想清楚了IPv6帶來(lái)的這種后果,并且愿意承受嗎?
四、“良民IPv6用戶”同樣裸奔
如果電信運(yùn)營(yíng)商們真的不在乎這個(gè)事情,那到也罷了,作為普通用戶我們何苦要操這份閑心。但是,IPv6會(huì)讓用戶也同樣裸奔,那我們就不能不操心了。
接口ID對(duì)應(yīng)了最終用戶終端的地址。一般情況下,這個(gè)地址是用MAC地址等物理地址按一定規(guī)則生成的。這樣,采用這種方式的用戶一旦進(jìn)行通信,通信的另一方從IPv6地址的接口ID中是可以根據(jù)IPv6的規(guī)則輕易還原出用戶的MAC地址的。而MAC地址相當(dāng)于用戶的網(wǎng)絡(luò)身份證。這會(huì)導(dǎo)致什么情況?這種“良民IPv6用戶”也相當(dāng)于在互聯(lián)網(wǎng)上裸奔。尤其當(dāng)你訪問(wèn)導(dǎo)航類網(wǎng)站的時(shí)候,相當(dāng)于讓這些網(wǎng)站時(shí)時(shí)刻刻在跟蹤自己,這實(shí)在是太糟糕了。更糟糕的是,一般不懂互聯(lián)網(wǎng)技術(shù),尤其不懂IPv6這種地址設(shè)計(jì)缺陷的人不知不覺(jué)地會(huì)用MAC地址生成自己的接口ID,而IPv6又容許可以用其他方式,甚至用隨機(jī)方法和手工生成。這會(huì)導(dǎo)致什么結(jié)果?黑客、極專業(yè)的用戶等可以自己知道如何用這些方法匿名,形成“匿名或隱身IPv6用戶”。這樣,IPv6就會(huì)通過(guò)接口ID是否采用全網(wǎng)唯一的物理地址,而將用戶分成“良民”和“隱身”兩類。像GOOGLE、百度、騰訊、阿里巴巴等這種全網(wǎng)用戶都可能會(huì)大量使用的網(wǎng)站,很容易通過(guò)解析良民用戶IPv6地址中的MAC地址等開(kāi)發(fā)相應(yīng)的軟件進(jìn)行大數(shù)據(jù)分析。這會(huì)是什么結(jié)果——近似于人口和物聯(lián)網(wǎng)終端及其軌跡、行為的實(shí)時(shí)監(jiān)控。
一旦人們普遍發(fā)現(xiàn)這個(gè)問(wèn)題、尤其是出了安全事故之后會(huì)是怎樣?絕大多數(shù)用戶都會(huì)要求自己的接口ID是匿名和隱身的,甚至于不斷變換接口ID。這樣會(huì)導(dǎo)致全網(wǎng)唯一的物理地址生成接口ID的途徑最終有可能被廢棄。而本質(zhì)上接口ID要求是全網(wǎng)唯一的,能保證全網(wǎng)唯一性的途徑只能是全網(wǎng)統(tǒng)一分配且地址固定。其他途徑,尤其黑客等隨機(jī)生成的接口ID不可能是全網(wǎng)統(tǒng)一分配的。沖突檢測(cè)也只是在一個(gè)站點(diǎn)內(nèi)、頂多同一個(gè)次級(jí)聚合ID覆蓋的站點(diǎn)內(nèi)進(jìn)行,不可能全網(wǎng)進(jìn)行。現(xiàn)在IPv6沒(méi)普及,所以對(duì)這個(gè)問(wèn)題不會(huì)有任何感覺(jué)。但隨著網(wǎng)上IPv6用戶量越來(lái)越大,接口ID的沖突機(jī)率就會(huì)越來(lái)越大。這相當(dāng)于全世界所有用戶都在隨機(jī)地或自己給自己編64位的接口ID,地址沖突的機(jī)率就會(huì)越來(lái)越大。
5G準(zhǔn)備全部采用IPv6,如果5G手機(jī)用戶知道自己將在5G時(shí)代完全在網(wǎng)上裸奔,他們是否會(huì)要求自己的IPv6地址接口ID必須是隨機(jī)變換的,否則就會(huì)拒絕采用該運(yùn)營(yíng)商的5G服務(wù)。如果出現(xiàn)這種情況,5G的推廣是否會(huì)受到阻礙?
五、安全設(shè)計(jì)帶來(lái)的巨大安全隱患
如果表面來(lái)看,IPv6提供了更多安全設(shè)計(jì),通信應(yīng)該更安全才對(duì)。但是,我們一定要首先理解安全性的一個(gè)最基本的特點(diǎn),就是它相對(duì)不同利益相關(guān)方的互斥性。
簡(jiǎn)單來(lái)說(shuō),通信安全類似于戰(zhàn)爭(zhēng)中的攻防雙方較量的過(guò)程,同一個(gè)技術(shù)相對(duì)于較量的雙方,其安全性評(píng)價(jià)是完全相反的。例如,采用防空雷達(dá)可增強(qiáng)防御一方的安全性,但對(duì)進(jìn)攻一方的海空軍就不安全了。采用隱身戰(zhàn)機(jī)對(duì)進(jìn)攻一方更安全,而對(duì)防御一方就更不安全了。反導(dǎo)系統(tǒng)對(duì)防御導(dǎo)彈攻擊的一方來(lái)說(shuō)更安全了,但對(duì)導(dǎo)彈進(jìn)攻的一方就更不安全。
通信技術(shù)的安全性對(duì)不同利益相關(guān)方來(lái)說(shuō),其評(píng)價(jià)也是完全相反的。通信系統(tǒng)涉及的利益相關(guān)方不僅有通信的雙方,而且還有主權(quán)國(guó)家對(duì)通信系統(tǒng)的安全監(jiān)管,對(duì)潛在黑客的偵破等。如果通信過(guò)程可以被監(jiān)聽(tīng)到,對(duì)通信者來(lái)說(shuō)是不安全的,但對(duì)監(jiān)控通信過(guò)程的一方來(lái)說(shuō)則更安全。如果通信過(guò)程被加密后不能被其他第三方監(jiān)聽(tīng)到,對(duì)通信雙方來(lái)說(shuō)更安全,但對(duì)監(jiān)管通信網(wǎng)絡(luò)的主權(quán)國(guó)家來(lái)說(shuō)就存在信息安全問(wèn)題。因此,互聯(lián)網(wǎng)的通信安全是應(yīng)用層的事情,而不能在IP層去考慮。
互聯(lián)網(wǎng)曾把匿名作為其優(yōu)點(diǎn)之一,但是,這種完全不能確認(rèn)用戶身份的狀態(tài)導(dǎo)致了網(wǎng)絡(luò)黑客橫行。IPv6試圖在IP層提供解決通信安全性的手段,這種技術(shù)手段主要體現(xiàn)在兩個(gè)方面。
一是IPv6地址設(shè)計(jì)中采用接口ID設(shè)置,提供了確認(rèn)對(duì)方物理終端的技術(shù)條件。
二是IPv6還在其擴(kuò)展頭中增加了身份驗(yàn)證頭AH和封裝安全性數(shù)據(jù)頭(ESP)。
這些安全設(shè)計(jì)提供了多方面的安全服務(wù):
驗(yàn)證數(shù)據(jù)源身份。這是通過(guò)使用散列技術(shù)來(lái)實(shí)現(xiàn)數(shù)字簽名;
對(duì)數(shù)據(jù)傳輸過(guò)程進(jìn)行保密。如果使用隧道模式,則不僅可以對(duì)傳送的數(shù)據(jù)進(jìn)行保密,甚至對(duì)IP包頭也可以保密。
要理解以上設(shè)計(jì)存在的問(wèn)題,我們可以先參考一下INTEL公司CPU安全設(shè)計(jì)的案例。INTEL公司曾經(jīng)想在其CPU中增加全球唯一的序列號(hào),以增加所謂的安全性。但這個(gè)設(shè)計(jì)因?yàn)闀?huì)使全球終端PC用戶被鎖定而受到強(qiáng)烈反對(duì),此事不得不最終作罷。但I(xiàn)Pv6接口ID的設(shè)計(jì)相比CPU中增加序列號(hào)有過(guò)之而無(wú)不及。因?yàn)镃PU中的序列號(hào)還需要特殊的軟件才能啟用,不是隨便誰(shuí)都可以用的,并且一旦在CPU中加了序列號(hào),所有CPU都會(huì)有,大家都是平等的。但I(xiàn)Pv6的接口ID會(huì)使“良民IPv6用戶”在通訊過(guò)程中一旦自己的IP包傳過(guò)去,第一時(shí)間就把自己終端的MAC地址告訴對(duì)方了。這相當(dāng)于把自己的身份證號(hào)碼貼在自己腦門上,并在所有通信過(guò)程中暴露自己的身份。同時(shí)IPv6的隨機(jī)產(chǎn)生接口ID的方式卻讓黑客IPv6用戶可以輕易匿名。作為生活在社會(huì)中的每個(gè)人,在很多情況下必須接受自己的身份被公開(kāi),例如采坐飛機(jī)和高鐵就得出示身份證。如果只是去超市買瓶水,到餐館吃個(gè)飯,憑什么要人出示身份證?但是,IPv6事實(shí)上是要求良民IPv6用戶在網(wǎng)上一切條件下進(jìn)行任何服務(wù)得在出示自己的身份證。這能被社會(huì)接受嗎?
如果市場(chǎng)不能接受INTEL公司在CPU中增加全球唯一序列號(hào)的話,實(shí)在難以理解為什么可以接受IPv6的接口ID設(shè)計(jì)方式?原因只是IPv6還沒(méi)有大規(guī)模地普及,人們根本搞不明白IPv6的接口ID是怎么回事,等明白了并且出過(guò)問(wèn)題后就不會(huì)再接受了。
在IPv4為基礎(chǔ)的互聯(lián)網(wǎng)中,如果黑客對(duì)某個(gè)合法用戶發(fā)起攻擊,我們有可能通過(guò)IP地址找到其攻擊地點(diǎn)。但如果IPv6中安全網(wǎng)關(guān)的隧道方式被黑客采用的話,從網(wǎng)上就根本無(wú)法確認(rèn)其數(shù)據(jù)包是從什么地方發(fā)出的了。如果隧道方式被敵對(duì)國(guó)家的間諜機(jī)關(guān)以及犯罪分子采用,我方安全機(jī)關(guān)就難以追蹤其活動(dòng)。不僅搞不清楚對(duì)方通信的內(nèi)容,連對(duì)方通信地址和如何區(qū)別敵方通信的數(shù)據(jù)包都做不到了。作為主權(quán)國(guó)家,能接受這樣的狀況出現(xiàn)嗎?
IP層所要做的事情就只是做好IP層的事情就夠了。IP層要解決的安全問(wèn)題應(yīng)當(dāng)僅限于數(shù)據(jù)本身的正確性和可靠性,即:如何準(zhǔn)確、可靠、高效地將數(shù)據(jù)從信源傳遞到信宿,不該它解決的問(wèn)題就不該去考慮。如果像IPv6這樣把從物理層到應(yīng)用層的功能全包在里面,由于互聯(lián)網(wǎng)贏家通吃的特點(diǎn),像GOOGLE這種全球用戶都可能去訪問(wèn)的網(wǎng)站,不僅成為人口管理的新聯(lián)合國(guó)政府,而且成為世界所有電信運(yùn)營(yíng)商網(wǎng)絡(luò)拓?fù)湫畔⒋笕恕V袊?guó)和其他各國(guó)政府真的想清楚這種后果是什么了嗎?
六、含混的地址空間問(wèn)題
正如前面所說(shuō),IPv6是一種拼接編址。這樣一來(lái),它的地址空間就不是單純的128位。子網(wǎng)前綴決定的只是子網(wǎng)地址的空間,與最終用戶數(shù)量是多少?zèng)]有直接關(guān)系(只有每個(gè)站點(diǎn)管理多少用戶的間接關(guān)系)。如同一個(gè)郵政編碼覆蓋的區(qū)域與最終居民是多少根本沒(méi)有直接關(guān)系一樣。用戶地址的空間是由接口ID的長(zhǎng)度決定的,從目前看,它最大就是64位。當(dāng)然,未來(lái)也可以將保留的編址部分進(jìn)行新增的設(shè)計(jì),對(duì)接口ID進(jìn)行擴(kuò)展,從而高于64位。但這樣一來(lái)整個(gè)路由算法就將完全不同,一定程度上等同于另一個(gè)全新的IP協(xié)議。并且接口ID地址長(zhǎng)度增加了,會(huì)壓縮子網(wǎng)前綴的地址空間。如果64位用戶地址真的不夠用了,同時(shí)也會(huì)需要更多子網(wǎng)前綴的地址空間來(lái)管理用戶。因此,這樣的未來(lái)設(shè)想不能簡(jiǎn)單地以增加接口ID來(lái)考慮。
如果接口ID是采用48位的MAC地址,因?yàn)槠渲衭比特在IPv6中要求是固定為1,因此,事實(shí)上的有效長(zhǎng)度是47位,這才是實(shí)際的這種設(shè)計(jì)的IPv6用戶地址空間。當(dāng)然,從我們所進(jìn)行的分析來(lái)說(shuō),47位地址其實(shí)也足夠了,但人們?cè)谛麄鱅Pv6的時(shí)候簡(jiǎn)單地說(shuō)它有128位地址空間,“可以給地球上每個(gè)沙子分配一個(gè)地址”顯然在技術(shù)上太不嚴(yán)格。47位地址空間相比IPv4也就增加了15位,與宣傳的128位差距實(shí)在是太遠(yuǎn)了。
七、IPv4地址空間耗盡問(wèn)題其實(shí)并不存在
這可能會(huì)是一個(gè)非常令人震驚的結(jié)論,但它卻是實(shí)實(shí)在在的客觀現(xiàn)實(shí)。IPv4地址空間并不是人們一般理解的32位。因?yàn)镹AT地址的使用,事實(shí)上IPv4的地址被極大地?cái)U(kuò)展了。它有點(diǎn)類似電話網(wǎng)中的分機(jī)號(hào)碼。具體能擴(kuò)展多少呢?NAT地址使用了三個(gè)不同類型的網(wǎng)絡(luò)ID。
A類地址:10.0.0.0至10.255.255.255
B類地址:172.16.0.0至172.31.255.255
C類地址:192.168.0.0至192.168.255.255
即使以C類地址來(lái)看,一個(gè)公網(wǎng)IPv4地址可以擴(kuò)展出65535個(gè)NAT里的IPv4地址。事實(shí)上,即使純粹從IPv4的公網(wǎng)地址來(lái)看,所謂IPv4地址不夠用的問(wèn)題遠(yuǎn)沒(méi)那么嚴(yán)重。隨著互聯(lián)網(wǎng)用戶量接近人口總量,其對(duì)IP地址的消耗速度也很快慢下來(lái)。只要比IPv4的理論空間多出2個(gè)數(shù)量級(jí),其地址空間就足夠了。多年前我們經(jīng)常聽(tīng)到電話號(hào)碼升位的消息,但有很多年已經(jīng)沒(méi)聽(tīng)到過(guò)這樣的消息了。原因在于一方面由于移動(dòng)技術(shù)的發(fā)展,固定電話用戶增加到一定程度后轉(zhuǎn)為下降,不再需要更多號(hào)碼資源。另一方面,電話升到8位以后,其理論空間為8千萬(wàn)個(gè),這已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)世界上任何城市的潛在用戶量。NAT地址以最少的C類地址來(lái)進(jìn)行擴(kuò)展也有4個(gè)數(shù)量級(jí)的潛力。如果采用B類甚至A類地址潛力就更大了。
NAT地址確實(shí)也存在一定的技術(shù)問(wèn)題,如私網(wǎng)穿透等,但這些都已經(jīng)解決或有很簡(jiǎn)單的技術(shù)就可完全解決。
更準(zhǔn)確地說(shuō),現(xiàn)在一般使用的是NAPT,用NAT網(wǎng)關(guān)IP地址的端口號(hào)作為建立臨時(shí)TCP/IP鏈接的映射,這個(gè)會(huì)存在端口號(hào)2字節(jié)16位長(zhǎng)度(65535個(gè))的限制。如果真想解決這個(gè)限制也不是沒(méi)有辦法。我本人就設(shè)計(jì)了一種超級(jí)IPv4的專利技術(shù),可以很好地解決這個(gè)問(wèn)題。另外,采用現(xiàn)在的SDN技術(shù),也可以很容易解決NAPT端口數(shù)量限制的問(wèn)題。這些技術(shù)都不復(fù)雜,并且真正兼容IPv4,幾乎可以無(wú)限擴(kuò)展IPv4的地址空間。它們都是只需要很簡(jiǎn)單的邊緣路由器以及終端TCP/IP部分的軟件升級(jí)一下就完全可以解決問(wèn)題,根本不需要IPv6這么大的動(dòng)靜。
因此,僅從地址空間角度來(lái)說(shuō),IPv6也純屬雞肋,有它不多,無(wú)它也真不少。
八、平滑升級(jí)問(wèn)題
網(wǎng)絡(luò)技術(shù)并不像面包一樣,只要生產(chǎn)出來(lái)一個(gè)就可以被消費(fèi),它必須要形成一個(gè)網(wǎng)才有可能獲得應(yīng)用。因此,通信的新技術(shù)要成功,充分考慮與原有技術(shù)的兼容和平滑升級(jí)是極為關(guān)鍵的。IP地址是互聯(lián)網(wǎng)最基礎(chǔ)的協(xié)議,要通過(guò)完全另引爐灶徹底更換的方式解決難度極大。最初IPv6的設(shè)計(jì)者們沒(méi)太深入地動(dòng)腦子,就認(rèn)為IPv4的32地址空間問(wèn)題不可能通過(guò)平滑升級(jí)的方式解決,因此就輕易地采用完全另起爐灶的方式重新設(shè)計(jì)。我們只要考察另外一個(gè)技術(shù)案例就知道網(wǎng)絡(luò)領(lǐng)域里的平滑升級(jí)有多重要,并且為此付多么大的努力都是值得的了。
電視技術(shù)最初是黑白的,為了發(fā)展彩色電視,要克服的困難并不在于如何實(shí)現(xiàn)彩電本身,而是如何能讓過(guò)去的黑白電視網(wǎng)絡(luò)兼容且可以平滑升級(jí)。也就是黑白電視傳播發(fā)射設(shè)備可以兼容彩色電視信號(hào),原來(lái)的黑白電視機(jī)可以接收和播放彩色電視信號(hào)(雖然放出來(lái)當(dāng)然還是黑白的),新的彩色電視機(jī)也可以接收原來(lái)的黑白電視信號(hào)。這個(gè)難度實(shí)在是太大了,為了解決這個(gè)問(wèn)題,人們把三基色的彩色信號(hào)分離成亮度信號(hào)(相當(dāng)于黑白電視信號(hào))和色度信號(hào),通過(guò)梳狀的頻譜安排將兩者混在一起,在接收機(jī)端用梳狀濾波器將兩者分離。這些功能都是通過(guò)模擬技術(shù)實(shí)現(xiàn)的,花了業(yè)界整整30多年時(shí)間才攻破了所有技術(shù)難題。可以說(shuō),彩色電視系統(tǒng)是模擬電路時(shí)代技術(shù)復(fù)雜度的巔峰之作。但是,一旦解決了平滑升級(jí)的問(wèn)題,彩色電視很快就普及了。
因?yàn)镮Pv6想圖省事兒繞開(kāi)解決平滑升級(jí)的問(wèn)題,所以雖然它短時(shí)間內(nèi)很快就推出來(lái),卻花了20多年還是看不到真正普及的希望。到現(xiàn)在還想靠行政命令搞IPv6-Only強(qiáng)行推廣。在平滑演進(jìn)的問(wèn)題上,想快是快不了的。想最快的結(jié)果很有可能就是根本做不成。
由于現(xiàn)在全網(wǎng)如此之多的用戶全都在用IPv4,如果要想實(shí)現(xiàn)IPv4向IPv6的轉(zhuǎn)換,不可能全球用戶在同一時(shí)間一次性完成,必然存在一個(gè)非常漫長(zhǎng)的轉(zhuǎn)換期。在其轉(zhuǎn)換過(guò)程中,如果只是部分用戶采用IPv6,無(wú)論采用隧道方式還是雙棧方式進(jìn)行兼容,采用IPv6的用戶其實(shí)就相當(dāng)于IPv4中的一個(gè)私網(wǎng),它的一切假設(shè)的技術(shù)優(yōu)勢(shì)特點(diǎn)都發(fā)揮不出來(lái)。既然如此,為什么不直接用IPv4的NAT網(wǎng)解決問(wèn)題拉倒?IPv6已經(jīng)成了全球通信領(lǐng)域里的一個(gè)政治正確,所有運(yùn)營(yíng)商和用戶誰(shuí)也不敢反對(duì)它,甚至表面上大家都在支持它,但又誰(shuí)都不會(huì)積極地率先采用它。
有人認(rèn)為物聯(lián)網(wǎng)是最適合IPv6的,這完全是立場(chǎng)決定觀點(diǎn),屁股決定腦袋。NB-IoT里的終端通信頻率極低,碼率也極低,幾乎沒(méi)有任何通信性能的要求,采用NAT技術(shù)才是最適合的,用一個(gè)IPv4公網(wǎng)地址和A類私網(wǎng)地址擴(kuò)展出數(shù)量上千萬(wàn)的物聯(lián)網(wǎng)終端都沒(méi)問(wèn)題。如果不去大規(guī)模地使用,網(wǎng)絡(luò)設(shè)備里IPv6的潛在技術(shù)缺陷就發(fā)現(xiàn)不了,這樣率先采用IPV6的用戶反而可能遇到很多服務(wù)不好的問(wèn)題。要一直到所有用戶全都采用IPv6了,它使用起來(lái)才真正順暢。
說(shuō)白了,IPv6最大的價(jià)值就是要解決一個(gè)地址空間問(wèn)題,其他多余引入的技術(shù)只會(huì)同時(shí)引入一堆潛在的麻煩。地址空間問(wèn)題又因IPv4的NAT技術(shù)的存在而可有可無(wú),這就會(huì)使IPv6的普及變得如登天般困難。
坦率地說(shuō),原來(lái)以IPv4為甚礎(chǔ)的互聯(lián)網(wǎng)也有不同的安全問(wèn)題,社會(huì)也都忍了,或叫適應(yīng)了,或通過(guò)其他技術(shù)彌補(bǔ)了,或者再說(shuō)得悲觀點(diǎn)叫不愿接受也無(wú)可奈何吧。所以,就算我們不考慮前面所說(shuō)的IPv6存在安全性的巨大問(wèn)題,它要是真能普及的話我們也樂(lè)見(jiàn)其成。但因?yàn)樗目缍忍蠖荒芷交?jí),同時(shí)IPv4又足以很簡(jiǎn)單甚至更有效、更合理地解決所有IPv6想解決的問(wèn)題,而IPv6本身新帶來(lái)的安全問(wèn)題比它解決的還要多得多,所以IPv6很可能成為另一個(gè)ATM——它純屬一個(gè)政治正確,全世界所有人表面上都在支持它,甚至一致公認(rèn)地認(rèn)為它是最理想的技術(shù),但100年以后也沒(méi)法普及。為此整個(gè)社會(huì)將永無(wú)止盡地為一個(gè)根本不可能普及的技術(shù)無(wú)謂地白白耗費(fèi)大量資源。
別以為所有技術(shù)都是越變化越好的。有誰(shuí)希望自己的郵政編碼不斷變化的?
-
IPv6
+關(guān)注
關(guān)注
6文章
683瀏覽量
59332 -
網(wǎng)絡(luò)層
+關(guān)注
關(guān)注
0文章
40瀏覽量
10290
原文標(biāo)題:重新思考IPv6發(fā)展的呼吁
文章出處:【微信號(hào):industry4_0club,微信公眾號(hào):工業(yè)4俱樂(lè)部】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論