硬件式數字版權管理(DRM)技術剖析
——
內容業者懼怕辛苦產制的內容遭人盜拷、軟件業者害怕用心開發的產品被人破解注冊機制、企業用戶煩惱重要商務數據外泄流傳,凡此種種,就需要各種防拷防護、加密防護。
當USB隨身碟、光盤刻錄機等復制技術愈來愈便利,同時Internet愈來愈普及,連網絡率速率不斷增快,也讓盜拷及泄密等情事愈來愈容易發生!為遏止盜拷、泄密,業界提出「數字版權管理」防拷技術,即DRM(Digital Rights Management),也有業者稱為「信息版權管理」,即IRM(Information Rights Management),如Microsoft就以IRM稱之。
除DRM、IRM外,早有各種模擬、數字的防拷機制!例如為防止VHS錄像帶被轉拷、側錄,因而有Macrovision的ACP技術,或如DVD光盤片有CSS、CPRM技術,就連DVI、HDMI等數字視訊接頭也有HDCP防拷機制,更不用談Blu-ray Disc、HD DVD等新一代光盤也有AACS防拷。
儲存媒體或視訊接口等的防護很單純,就是防止被復制,或防止在傳遞時被攔截轉拷,但個人計算機上的數據防護就遠比媒體、接口來的復雜,每個人用Word、Excel編創的數據,有太多種可能與管道導致外泄,例如另存新檔、復制/貼上、打印、硬拷(擷圖,按下Print Screen鈕)等等。
到底PC端的數據防拷要如何做才穩固?才能防止各種外泄與非法開啟、存取的可能?以下本文將以騋揚科技(McAMOS Technology)的InfoLock Data Security System(以下簡稱:InfoLock)為范例,進行DRM方案的實現原理及防護機制。
從「Key Pro,硬件鎖」開始
早在光盤燒錄器與Internet未盛行前的90年代前期,PC產業一直有個頭痛的問題,那就是軟件的盜拷盛行,每盜拷1套即會造成軟件創作者、軟件發行商重大商業利益受損,現在透過方便的因特網,盜拷現象更是雪上加霜,因此更需要應用程序的防拷技術。
業界提出Key Pro(硬件鎖)的防護手法,Key Pro是個硬件裝置,早期多接在PC的打印機端口上,之后將應用程序安裝至硬盤,在應用程序啟動時,程序會查核Key Pro是否連接,若否應用程序就會中止啟動無法使用,達到防拷效果,或者實行更縝密的作法,應用程序運作時會定期查核Key Pro?或者在重要動作(如:儲存檔案)時查核Key Pro是否被拔走?以此達到更高程度的防護。此外,除了查核Key Pro是否接于PC上,也可搭配密碼輸入的查核比對,在Key Pro接上且密碼正確才能啟動程序。
不過隨著USB接口的普及,現在PC已鮮少使用打印機端口,所以Key Pro也必須提升,從打印機端口的類型轉變成USB接口的類型(有時也稱:USB Token),然除此之外一切的運作原理、查核機制都與過往作法無異。
從程序防拷提升到數據防拷
了解Key Pro的原理機制后,DRM即是以Key Pro為基礎所擴展延伸而成,過去是在軟件啟動時進行Key Pro查核,而今是在檔案要開啟時進行Key Pro查核,以及對檔案進行敏感性動作(如:復制、打印)時進行查核。
另外InfoLock必須對用戶的檔案進行加解密,加密之后的檔案即可安心傳遞,即便被有心人士取得檔案,也無法正常開啟該檔案,即是無法正確解讀檔案的內容?;蛘撸幢阍试S他人正確開啟檔案,但也不允許他人另存新文件,即不允許拷貝檔案。
再者,若有人運用復制、貼上擷取檔案部分內容,InfoLock也可禁止此行為,一是讓有心者選取、復制,但在貼上時只會貼出一堆無法解讀的亂碼,另一則是連程序的「復制」選項都呈現灰暗而無法點選。同樣的,想運用「打印」印出檔案內容,或用「擷圖」等硬拷方式竊取,也統統會被InfoLock監督,并依據原創者對檔案的權限設定來決定是否要絕禁打印、擷圖。
解析Key Pro的硬件構造
接下來許多人會對Key Pro感到興趣,Key Pro內的硬件組成為何?又是如何達到防護功效?
事實上Key Pro內的硬件相當簡單,與常見的USB隨身碟相當接近,USB隨身碟內有控制器(Controller)與NAND型閃存(NAND Flash)2個芯片。其中控制器芯片的前端接口是USB接口,負責與PC上的USB接口相連,而后端界面則是NAND Flash的存取接口,與NAND Flash連接。如此,PC端可以對USB隨身碟下達命令,如寫入、讀出、格式化等,控制器芯片在接受命令后就會對NAND Flash進行存取操控。
類似的,Key Pro內也有一個控制器芯片,另外也有1個內存芯片,控制器芯片方面是1個8位的微控制器(Microcontroller),事實上USB隨身碟的控制器芯片,其核心也是1個8位的MCU。而內存芯片方面也類似,也都是非揮發性的內存(斷電后數據依然留存),只是容量不需要很大,而Key Pro只需要少量的容量,因此使用串行式的EEPROM即可。
更具體而言,InfoLock的USB型Key Pro,其控制器部分使用的是Cypress Semiconductor的8位MCU,該MCU本身就內建USB接口,然后MCU再與串行式EEPROM連接。
MCU與PC端USB接口連接的部分必然要有內建的USB接口電路,倘若沒有內建的USB接口,而是用一般用途性的I/O接腳(General Purpose Input Output;GPIO),再搭配上MCU的控工藝序來實現USB通訊,將會大幅增加MCU的運算負荷。
至于MCU與EEPROM連接的部分,由于串行式EEPROM的存取、操控相當簡易,且沒有高速性的必要,因此MCU是否有內建的對應存取接口并不重要,「有」也可行,「沒有」也能用GPIO搭配控工藝序的方式來實現存取、操控。以InfoLock而言,其EEPROM為1,024Bytes(即1KB)容量。
接著是原理,Key Pro的MCU內會放入加解密的算法程序,而金鑰(Key)或其它相關的參數(Parameter)資料則會放于EEPROM內,并依據加解密的運作來讀取、寫入EEPROM內的數據。
這時各位可能會猜想:「或許直接取出Key Pro內的EEPROM,并讀取EEPROM內的數據,如此就可以破解加密?!龟P于此舉,其實是沒有效用的,純粹讀取EEPROM內的數據并無法理出加解密的規則脈絡,因為真正的演算是存于MCU的控工藝序內。
本機端、服務器端程序功效及原理
了解Key Pro部分后,接下來就是PC端的軟件部分,用戶必須安裝InfoLock的客戶端程序,將程序安裝于自用的PC上,程序本身已包含了Key Pro的裝置驅動程序,所以不用再行安裝Key Pro的驅動程序。
程序安裝完后,用戶就可以針對檔案類型來進行加密,例如對 .doc檔加密、對 .xls檔加密等,甚至可以進行本機端的批次加密,即是在本機端的所有 .ppt檔、 .pdf檔一律加密,或者是設定加密時限,例如:在多久時間內對檔案加密,超過時間后則解除加密。
至此各位或許會問:針對檔案類型進行加密,是否意味著我用不同的應用程序來開啟就可以破解加密?例如一般使用者是用Adobe Reader來開啟 .pdf檔,然而也有人使用Foxit Reader來開啟 .pdf檔,如此是否表示使用Foxit Reader就能夠順利開啟加密后的 .pdf檔?
對此其實是否定的,無論任何一種應用程序,對相同類型的檔案都采取相同的檔案開啟、檔案解讀方式,所以對該類型檔案加密后,換用其它應用程序來開啟,結果依然是亂碼,或者該檔案允許開啟,但存盤、編輯、復制、打印、擷圖等也依然受到管控。
除客戶端程序外,對于大編制機構或企業而言,需要對檔案進行更一致性的權限管控,如此則需要架設一部服務器,在服務器端安裝InfoLock的服務器端程序,服務器端程序會與客戶端程序進行通訊,客戶端會將前端使用者的加解密操作進行記錄,再將這些記錄集中回傳至服務器上,成為日志記錄,如此機構或企業的資管人員就可進行資安管控,或協助企業內進行稽核防弊、公司治理等工作。
值得一提的是,InfoLock也能針對.htm檔進行加密,如此即便是放于網站上的網頁數據也可以進行加密,前端瀏覽者必須具有Key Pro才能正確瀏覽該加密網頁的內容。
無硬件鎖(Key-less)方案
前述的作法是在每個使用者都擁有自己的Key Pro為前提所設計的加解密、存取防護等機制,但也有部分客戶認為能否省去Key Pro,完全在現有PC上內實現全然相同的安全功效。
關于此其實是可行的,騋揚科技也有設計出Key-less的方案,原有EEPROM內的儲存數據,轉變成PC硬盤內的一個數據文件,該數據文件也與EEPROM一樣僅1KB左右的容量,而MCU的運算功效則改由PC內的CPU來替代,至于MCU程序就成了PC上的執行程序。
未來展望
InfoLock是以Key Pro軟件防拷技術為基礎,擴展延伸成DRM的數字版權管理,而過往純軟件防拷的技術方案稱為SmartLock,用戶檔案的數字版權防護則為本文所談論的InfoLock,不過兩者其實也可合為一體,既能防止應用程序盜拷,也可防止用戶數據外泄,二合一的方案則稱為GoldLock。
往未來看,騋揚科技還會持續強化提升InfoLock,由于現在愈來愈多人使用USB隨身碟,且用戶不期望被Key Pro獨占一個USB接口,因為PC上即便有4~6個USB接口,也經常有不夠使用,以下一版的Key Pro/USB Token有可能會與USB隨身碟合而為一,一方面可以讓使用者存放個人資料,另一方面也可進行用戶數據加密防護。
如果要讓Key Pro/USB Token與USB隨身碟結合,則USB隨身碟所用的控制器芯片必須放入原有Key Pro MCU所用的控工藝序,而EEPROM的數據則改放入到NAND Flash內。
其次,InfoLock的Key Pro/USB Token也可能會轉變成合乎TPM(Trusted Platform Module,可信任平臺模塊)規范的硬件設計,這是目前在PC上逐漸普及運用的硬件加解密規范,許多處理器、以太網絡控制器芯片都已內建,并運用在筆記本電腦、電視游樂器內,例如Microsoft的Xbox 360即有內建。
最后,下一版的InfoLock在軟件上也要進行提升,現有InfoLock的PC端程序是直接進行I/O運作層次的攔截與監視,以此來絕禁開文件、編修、存盤、轉存、復制、打印、擷圖等行為,此種作法在現有的Windows 98、Me、XP上可行,但在Windows Vista上則會被認為是不安全的程序運作,必須經過再次的提示、確認才能執行。
因此,新的PC端程序將會依據Windows Vista對應用程序、裝置驅動程序的新規范來開發、撰寫,以不直接介入I/O層次的方式,但同樣能實現、執行版權管理防護。不過現在Windows Vista的使用量仍少,且現有作法仍適用于Windows 98、XP,同時Windows Vista也仍可運用,預計在Windows Vista更成熟普遍時,新架構、新執行方式的InfoLock軟件才需要登場。

△圖說:騋揚科技(McAMOS Technology)的數字版權管理方案:InfoLock Data Security System。盒內包含了PC端安裝軟件與USB接口的Key Pro硬件鎖。(黃鴻模攝)

△圖說:USB界面的Key Pro(或稱:USB Token)的圖片。(郭長佑攝)

△圖說:Key Pro/USB Token插入筆記本電腦時的模樣。(郭長佑攝)

△圖說:圖上為一般USB隨身碟的內部電路,控制器左側用USB接口與PC的USB端口連接,右側用NAND Flash接口與NAND Flash內存連接。圖下則是USB型的Key Pro之電路,微制器左側用USB接口與PC相連,右側以GPIO或SPI、Microwire等接口與串行式EEPROM相連。(郭長佑繪)
評論