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