GlobalSign是一家數字證書供應商,這家公司目前已向全球各地的眾多網站出售了250萬份SSL/TLS證書。但就在上周,GlobalSign頒發的部分證書卻被瀏覽器判斷為無效證書——難道是跟沃通一樣的遭遇?
就在上周,GlobalSign在更新一個交叉證書時,無意間吊銷了中間證書,造成許多網站不再被瀏覽器和應用信任。該事故影響了許多大型網站,包括維基百科、金融時報等,甚至連GlobalSign自己的服務器都受到了影響。
所幸這次事故并未對所有人造成影響:如果你的電腦、手機或者其他設備不幸在周四(10月13日)收到了GlobalSign的吊銷列表,這個吊銷列表會告知你的瀏覽器,GlobalSign發布的加密證書不再有效,那么你的瀏覽器就會阻止你訪問相應的合法HTTPS網站。
懂技術的用戶可以清除證書吊銷列表緩存,并從GlobalSign處獲取修正后的列表來解決這一問題。不那么懂的用戶就會受到影響,瀏覽器將持續發出一些錯誤信息。如果你瀏覽網頁時沒有發現類似問題,可能是你的電腦或者手機已經收到修正后的列表了,或者你訪問的網站不使用GlobalSign證書。
針對此事,GlobalSign一開始以為是瀏覽器的問題,后來發現是自己系統的毛病。
技術細節
十月初,GlobalSign發布了一份由Root CA R2簽發的證書吊銷列表,吊銷了一個交叉證書,并且停用了一個舊的次級CA。之所以要停用這個次級CA,是因為其發布的SHA1 EV SSL證書已漸漸過時。
通常來講,交叉證書可以用來提高網站的可信度和可靠性:GlobalSign的交叉證書可允許瀏覽器和應用,使用GlobalSign的Root CA R1或者Root CA R2證書,來驗證GlobalSign簽發的HTTPS證書的完整性。
然后,在軟件驗證一個網站的HTTPS證書時,上述的交叉證書會為軟件創造兩條可能的信任路徑。只要瀏覽器信任GlobalSign的Root CA R1或者R2證書,瀏覽器就會信任該網站的HTTPS證書。
下圖是GlobalSign嘗試停用的證書——一個交叉證書和一個舊的次級CA。
這個交叉證書由GlobalSign的Root CA R2簽發,證書的主題是Root CA R1(如上圖所示,Subject: –Root CA R1; Issuer: –Root CA R2)。10月13日,也就是上述的證書吊銷列表發布后6天,GlobalSign更新了指定“在線證書狀態協議(OCSP)”responder數據庫。這個數據庫會給一些指定吊銷responder系統傳輸信息。
“受Root CA R2要吊銷的交叉證書影響,responder將所有Root CA R1中間證書誤判為‘不良’證書,因為這兩種證書的公鑰和主題名稱是一樣的,而交叉證書的日期更近一些,”GlobalSign在最近發布的事故調查報告中解釋道。
所以,結果就是responder中運行的軟件發現,交叉證書的公鑰和主題名稱與Root CA R1證書相符,而交叉證書的起始有效日期比較新,就認為既然交叉證書要被吊銷,那么所有的R1次級證書也要被停用:
GMO GlobalSign用的是一個第三方安全授權負載均衡的OCSP responder系統,向各產品、以及對外向客戶群及其依賴的其他團體提供指定應答。但是,對我們的生態系統、利益相關方及其客戶而言,很不幸,responder代碼庫內部邏輯認為,交叉證書的吊銷(根據其公鑰和主題名稱確定),實際上命令了該代碼庫也要將所有其他的次級證書機構(包括Domain SSL和Alpha SSL)識別為‘不良’。
因為交叉證書的起始有效日期更近,該邏輯于是人為它比原始的Root CA R1證書更新,從而認定這是一個可信的指令,并將所有Root CA R1發布的次級證書認定為‘不良’。
一些網站和企業持有Root CA R1的次級證書。吊銷了中間證書后,所有這些客戶的證書變為“不可信”狀態——實際上就是無效了。因為信任鏈被打破,瀏覽器無法核實使用GlobalSign證書的網站的身份,然后拒絕訪問這些網站。
事件影響與最新進展
GlobalSign作出了一些補救措施,但為時已晚。吊銷列表已經通過CDN傳輸,如果有應用當時聯系GlobalSign,請求最新吊銷列表——這些吊銷列表即上文提到的問題列表。所幸,還是有瀏覽器和程序還是收到了正確的數據。
“局面已經得到控制,負載均衡器和CDN也已被清理,但有些用戶依然得到了‘不良’應答,更多用戶保留了先前訪問GMO GlobalSign SSL認證的網站時留下的‘良好’應答,”GlobalSign解釋道。
目前尚未公布該問題代碼的來源。下圖展示了這個錯誤的指令是如何被一層負載均衡器和分布系統推進的(瀏覽器和其他客戶端軟件都與這些負載均衡器相連);變動信息并非統一傳輸,某些設備和計算機因此幸免,沒有收到錯誤的吊銷列表。瀏覽器和其他應用每隔幾天才檢查吊銷證書,因此如果他們沒有剛好在那個時間請求更新,他們也不會受到此事件影響。
GlobalSign就此事故發布了完整報告,其中涵蓋所有技術細節、更多支持信息和一份問答表,依舊受此問題困擾的用戶可參考報告內容。
GlobalSign提醒稱,由于緩存的關系,而且多數應用一般每四天更新一次吊銷列表,可能得到本周初,此問題才能完全解決。如果你的應用不幸在上周四中招了,那么可能要等到周一才能恢復。