基本介紹
- 中文名:高杏欣
- 外文名:Grace Xingxin Gao
- 畢業院校:史丹福大學
- 性別:女
教育背景,人物爭議,相關報導,
教育背景
2001年本科畢業於清華大學精儀系
2003年碩士畢業於清華大學電子工程系
2008年博士畢業於史丹福大學電子工程系
人物爭議
格蕾絲博士(高杏欣)已經在衛星導航領域做出了非常值得一提的貢獻。她的研究專注於新型全球導航衛星系統所使用的信號及其接收機。格蕾絲是首個破解伽利略試驗衛星和北斗一代地球中軌道衛星所使用的編碼規則的人。2005年10月,歐洲人發射了伽利略系統的首顆試驗衛星,即GIOVE-A。該衛星的信號於2006年1月被激活。在幾個小時之內,格蕾絲與實驗室里的其它工作人員一道捕捉到了三個波段上的新民用信號。在接下來的幾周里,格蕾絲獨立工作,破解了GIOVE-A用於生成編碼的底層算法,並對其三個波段上所使用的頻率進行了解碼。她的成果作在2006年5-6月份的《Inside GNSS》封面故事“新一代全球衛星導航系統信號的願景與全貌”中被刊發。在此之後不久,全世界的接收機公司都使用她的編碼來製造原型接收機以獲取和跟蹤伽利略衛星的信號。
2007年4月,中國發射了屬於其北斗一號系統的首顆地球中軌道衛星。在其先前取得成功的技術基礎上,格蕾絲解調了這顆M1衛星上所有民用碼廣播的三個波段頻率(E2,E5b,E6),證實了所有的北斗-M1編碼都是Gold碼,並且破解出其編碼生成器為線性移位反饋暫存器。她還將這些偽隨機數碼套用於一個軟體接收機中獲取並跟蹤北斗-M1衛星。2008年4月,歐洲人發射了GIOVE-B,即伽利略系統的另一枚試驗用原型衛星。格蕾絲又在第一時間破解了其底層編碼生成器。格蕾絲於2008年9月在史丹福大學取得博士學位。之後她繼續從事斯坦福研究項目中有關衛星導航系統的研究,聯邦航空局資助了這一項目。她已經在各類會議上提交並發表了16篇高質量的論文。她是2007年國際導航技術大會的資助學生,在這屆大會上,她的論文贏得了該屆大會的最佳論文獎。清華大學精儀系本科畢業的女學生高杏欣,在斯坦佛大學攻讀博士學位期間破解了我國北斗二代定位導航衛星的信道編碼規則,隨之發表了多篇高水平的論文,並獲得了美國航空無線電委員會的表彰。訊息傳到國內,一石引起千層浪,招來罵聲一片。有人稱她在清華大學就讀時就參與過北斗項目。
相關報導
坊間流言,她在清華參加過北斗項目,其真實性我們不得而知,但想必讓其掌握核心機密的可能性很小。而且,若她在美國的研究真的破解了我國軍事機密,美國想必會對此嚴格保密,在未來的軍事對抗中拿將出來,一定可以搞我們個措手不及,不太會像現在這樣高調公開,從而讓我們提前防範。
那她的研究究竟是怎么回事呢?這得從衛星通信的編碼流程說起。
衛星要對信號按信源編碼+加密編碼+信道編碼的次序進行處理,其中信源編碼的作用是使用更精煉的符號來攜帶更多的信息,加密編碼的作用當然就是加密了,信道編碼的作用是將前面已經生成的碼處理成更適應信道傳輸的碼。衛星使用電池工作,發射功率不可能很大,加上其距離地面成千上萬公里,信號傳到地面時功率會衰減到很小,甚至會被淹沒在背景噪聲之中。那該如何保證接收端能正確接受呢?關鍵就在於信道編碼,導航衛星普遍採用了擴頻技術,即用一個擴頻碼序列代表原碼中的“1”,用它的反碼代表原碼中的“0”,這個擴頻碼序列被稱為碼片(chip),原來的10序列就變成了由碼片組成的新序列。舉個例子,如果由碼片“-1 -1 -1 +1 +1 -1 +1 +1”代表原碼中的“1”,由“+1 +1 +1 -1 -1 +1 -1 -1”代表原碼中的“0”,則原碼序列“101”就變成“-1 -1 -1 +1 +1 -1 +1 +1 +1 +1 +1 -1 -1 +1 -1 -1 -1 -1 -1 +1 +1 -1 +1 +1”這樣的碼片序列了,為了便於您區分這三段,中間加了兩處空格,而實際序列中是沒有空格的。
地面的接收站收到信號後,要按上述的編碼次序的反序進行解碼,這就好比下床時按先內衣後外衣的次序穿衣服,上床時就要按先外衣後內衣的次序脫。在進行信道解碼時,將接收到的序列按每8位分成一段,然後用已知的碼片序列“-1 -1 -1 +1 +1 -1 +1 +1”去跟每段逐位相乘,然後再相加,以上述的“101”為例,其三段的第一段“-1 -1 -1 +1 +1 -1 +1 +1”,跟“-1 -1 -1 +1 +1 -1 +1 +1”逐位相乘,第一位是-1乘-1得+1……,相加的結果是+8,第二段結果是-8,第三段是+8。由於信道中有很大幹擾,在碼片序列中的每一位上都會迭加上不同的干擾值,這些干擾值跟“-1 -1 -1 +1 +1 -1 +1 +1”逐位相乘再相加,會因為正負相抵而削弱。顯然,若碼片長度是100,則上述結果就會是“+100 -100 +100”,而隨著碼片長度的增加,信號增強噪聲抵消的效果就越發明顯,實際中的碼片長度會成千上萬。
這段話不好理解,不妨打個比方,我在紙條上寫100個+1和-1的總數相等的序列,例如-1 -1 -1 +1 +1 -1 +1 +1......,你也在紙條上寫100個段話,分別是 贏78 輸23 輸39 贏42 輸8......你寫的序列中輸贏次數及總量是均勻的。
都寫好後雙方都把紙條亮出來,你的第1條贏78對應的是我的-1,此條算你輸我78元,你的第4條贏42對應我的+1,此條算你贏我42元。由於我寫的正負次序你是不知道的,最終的輸贏應該接近打個平手,按術語說就是數學期望為0。如果只寫幾條,你都碰對的可能性還不小,但隨著序列越長,就越傾向於打平手。
而高杏欣出現了,她偷看了我寫的+1和-1序列,她寫的序列是 輸23 輸39 輸8 贏78 贏42......這個序列的輸贏次數及總量也是均勻的,在外人看來跟你寫的沒啥兩樣。但她的次序是號著我的脈搞出來的,每條都是她贏,結果就是連贏100把,序列越長,累加的錢數就越多。
從時間次序來看,空中的干擾就好比是你寫出的正正負負大大小小很亂但很均衡的序列,而我寫的+1和-1序列就是前面說的碼片序列,兩個序列所對應的正負是不相關的,對應相乘再累加就把噪聲抵消了。而把所傳輸的信號有意搞成高杏欣那個序列的樣子,那在接收端與碼片序列(即我寫的+1和-1序列)進行相乘再累加運算,那信號自然就會大大增強了。
由此可以看出,序列越長,接收效果就越好,但是,由一大長串正負1來表示原始的一個“1”或“0”,效率會隨著序列的增加而降低,這就有個效率與可靠性的平衡問題了,一般說來,幾千位的序列是比較常見的。
言歸正轉回到北斗,北斗一代是由幾顆對地靜止同步軌道衛星組成的,位於我國上空,提供區域級的定位導航服務。2007年4月14日,我國發射了M-1衛星,這是北斗二代的第一顆衛星,北斗二代跟一代有很大不同,預計發射35顆星,其中非靜止軌道30顆,靜止軌道5顆。與美國GPS和俄羅斯GLONASS一樣,北斗二代是全球定位導航系統,我國有望搶在歐洲的伽利略系統之前成為第三個GNSS(Global Navigation Satellites System)俱樂部成員。國外常用的北斗英文名是Beidou或Compass。
按照國際法,衛星軌道和衛星頻率信道先占先得,歐洲的伽利略系統跟北斗二代的頻率有重合部分,但伽利略系統的第一顆實驗衛星於05年打上去後很長時間沒有動靜,而北斗二代07年後卻是連續地打,與伽利略形成了競爭關係。雖說頻率信道先占先得,但總是要先備案的,我們在國際電信聯盟備案了四個頻率,分別是1590MHz、1561MHz、1269MHz、1207MHz。M-1打上去後引起了廣泛關注,法國的國家空間研究中心就盯著研究了一個月,並公布了1589.74 MHz(E1)、1561.1 MHz(E2)、1268.52 MHz(E6)、1207.14 MHz(E5b)四個實測頻率。
北斗二代並不是高杏欣的第一個破解目標,伽利略系統的首顆試驗衛星於2006年1月被激活後,在幾個小時之內,她就與實驗室里工作人員一道捕捉到了三個波段上的信號,並在接下來的幾周里破解了信道編碼,對北斗二代M-1衛星的破解,更多的是上述工作的重複。
她和她的團隊使用了斯坦佛大學的GNSS監控站,圖2為1.8米的監控站碟形天線,圖3為監控站的攜帶型地面設備。地面設備的核心是安捷倫89600矢量信號分析系統,配合其專用的VXI匯流排的測試設備,可對射頻信號進行非常深入的分析,這套組合非常高端,可對三種國際3G標準設備進行測試分析,包括我國提出的TD-SCDMA標準的設備,甚至下一代的LTE設備。
衛星信號經過長徒跋涉後衰減很大,到天線那裡的功率就只剩下區區10的十六次方分之一瓦特了,雖然斯坦佛GNSS監控站很先進,可以把信號放大300多倍,但信號還是會弱到無法識別。有人可能會問,這么高端的設備都識別不了,那丁點大小的用戶機是咋識別的呢?原因就在於合法的用戶機里有前面說的碼片序列,與帶擾信號進行逐位相乘再相加後,可以大幅度的放大信號和抵消干擾。作為破解者,高杏欣並不知道這個碼片序列(事實上這個碼片序列正是她想要知道的),那她會怎么辦呢?
她採用的是相同碼片累加法,從很長的接收序列中找出相同的段落,然後對齊累加,原碼片部分正正加得更大的正,負負加得更小的負,而不同時段的干擾部分因互不相關,會趨向於正負抵消,對齊累加的段落數越多,則干擾被抑制得越多,碼片幅度被放大得越大。
為說明這個方法,不妨設計一個遊戲,我和其他10個人都寫個8位數,+1和-1各4個,然後把這11個序列諸位相加,形成一個新序列,假如7個人的第1個數是+1,4個人的第1個數是-1,則新序列的第1個數是+3,以此類推。把這個新序列交給高杏欣,讓她來猜我寫的序列是什麼。她還知道兩個情況,即我永遠寫“-1 -1 -1 +1 +1 -1 +1 +1”這個序列,而其他10個人的正負次序每次都變,互相也不溝通。
那她如何猜呢?她會要求玩很多把這個遊戲,等手上攢了一大把新序列的紙條後,就把這些紙條對齊,逐位都累加起來再得到一個更新的序列,例如-78,-82,-69,+89,+58,-56,+66,+77。
她知道只玩一把並靠一張新序列的紙條是猜不出來的,因為我的數據被其它10個人的亂數據給淹沒了。但她同時知道那10個人的數據每次都是隨機變的,而且又是互不相關,搞的次數多了,這10個人的每一位的數值和就會趨向於0,而我的次序是固定的,在第1236位永遠貢獻-1,在4578位永遠貢獻+1,隨著遊戲次數的增多,我的固定次序就脫穎而出,從“-78,-82,-69,+89,+58,-56,+66,+77”中就可以讀出,我的次序就是“-1 -1 -1 +1 +1 -1 +1 +1”。
說著容易做著難,特別是如何找到相同的段落?如何對齊?這涉及到都卜勒頻偏消除、相位調整等很複雜的技術問題,但她的文章並沒有詳細地介紹。
好了,某個碼片被她找到了。很明顯,設計者不會把幾千位的碼片數據存在衛星上的快閃記憶體里,這種調用式的編碼方式效率太低而成本太高,通常都是用移位暫存器來編碼的。由找到的碼片特例來倒推出移位暫存器的結構,跟從“0,2,4,6,8……”倒推出f(x)=2x公式一樣,需要破解者的經驗和數學技巧,當然也少不了計算機的仿真運算,她們用MATLAB軟體把這個移位暫存器的結構給分析出來了,這個結構直接對應著生成多項式,而生成多項式相當於f(x)=2x這樣的公式,知道輸入,經這個生成多項式一計算,碼片就編出來了。
至此,高杏欣在沒有得到授權的情況下,就可以跟蹤利用北斗二代了,但她所獲知的東西,在北斗二代將來民用化後都是會提供給用戶的,現在所使用的短碼是民用的,而且也並未有意做防破解處理。北斗二代的頻率是不能隨便換的,但其中的編碼和算法等都是可以任意重設的,在將來實際套用時,完全可以做到與GPS的P碼一樣,重複一次需要267天,那這種靠對齊累加來提取碼片的方法就不靈光了。
北斗一代除了定位導航外,還有一個與眾不同的功能,即可以進行數據通信,報導稱北斗二代繼承了一代的優點,想必這個優點也繼承了,而數據通信的安全取決於加密編碼體制,這是不同於信道編碼的另一個層面的問題,她的研究與此無關。
高杏欣的研究也並不是沒有意義,北斗在一些波段上覆蓋了GPS和伽利略系統,研究北斗衛星信號的編碼調製方式可以幫助搞清楚系統之間是否會產生衝突。
高杏欣將現行的民用短碼的信道編碼生成多項式公開,想必並不是北斗設計者所樂見的,但對北斗二代的安全,特別是軍事套用的安全,並不會產生實質性的危害。