溫旭霞 孫鉑 宮樹紅
摘 要: 針對現(xiàn)有視頻監(jiān)控的信息安全問題,采用ARM Cortex?A8,USB攝像頭,AES加密模塊,以及可信計算芯片(TPM)設計了視頻監(jiān)控安全模塊。用AES對視頻采集端采集的視頻數(shù)據(jù)進行加密,通過網(wǎng)絡將密文傳輸?shù)椒斩?。對于AES密鑰的傳輸安全問題,以可信計算為基礎,通過TPM的綁定功能進行非對稱加密,采用對稱密碼和非對稱密碼配合使用的混合加密方案,實現(xiàn)對稱密鑰加密數(shù)據(jù),非對稱密鑰加密對稱密鑰的加密功能。簡要介紹了安全視頻監(jiān)控的組成,對AES加密算法和TPM加密做了闡述,最后通過實驗驗證加密解密。
關鍵詞: 視頻監(jiān)控; AES加密; 非對稱加密; 混合加密; TPM; TPM綁定模式
中圖分類號: TN948.64?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2017)22?0078?04
Abstract: For information security problems existing in video surveillance, ARM Cortex?A8, USB camera, AES encryption module and TPM are used to design a security video surveillance module. AES is adopted to encrypt video data collected by the video capture terminal. The ciphertext is transmitted to the server through network. For transmission security issue of AES key, the binding function of TPM is utilized for asymmetric encryption on the basis of the trusted computing. The hybrid encryption scheme of symmetric cryptography and asymmetric cryptography is used to achieve symmetric key encryption data and the encryption function of symmetric key encrypted asymmetric key. The composition of security video surveillance is briefly introduced. AES encryption algorithm and TPM encryption are expounded. The encryption and decryption was verified in the experiments.
Keywords: video surveillance; AES encryption; asymmetric encryption; hybrid encryption; TPM; TPM binding pattern
0 引 言
隨著網(wǎng)絡的發(fā)展,智能城市的建設,攝像頭的增加,監(jiān)控的安全越來越得到重視。2014年央視報道的多起黑客入侵并將監(jiān)控視頻泄露到網(wǎng)上的事件,引起了高度關注。泄露的視頻包括公園、停車場等,還有許多類似科研實驗室、工廠內(nèi)部監(jiān)控視頻,甚至部分畫面直接對著電腦。只要有監(jiān)控的地方都有被曝光的可能。
360攻防實驗室在2016年5月份發(fā)布的首份《國內(nèi)智能家庭攝像頭安全狀況評估報告》寫到近80%產(chǎn)品存在用戶信息泄露、數(shù)據(jù)傳輸未加密等問題。黑客有可能將入侵攝像頭當作一個跳板,從而把辦公網(wǎng)絡或者家庭網(wǎng)絡整垮,進行信息竊取等非法行為。
現(xiàn)在很多學者開始研究視頻加密以解決監(jiān)控視頻泄露等問題。文獻[1]提出的以DSP為硬件核心的智能數(shù)字網(wǎng)絡攝像機對目標識別并且提取信息的同時,將特征信息經(jīng)過RSA加密后通過網(wǎng)絡傳輸。這種方法對視頻進行了加密,一般需要RSA私鑰才可以解密讀取數(shù)據(jù),RSA加密的數(shù)據(jù)不能太大,這個局限了部分加密內(nèi)容,而且RSA私鑰的存儲也有風險。文獻[2]實現(xiàn)了無線音頻和視頻的AES加密,對稱加密可以加密大的數(shù)據(jù),而且不會影響速度。但是密鑰的存儲和傳輸很重要,加入TS解碼模塊,這樣增加了復雜度。文獻[3]也是采用AES加密模塊進行數(shù)據(jù)加密,實現(xiàn)了視頻數(shù)據(jù)的加密以及傳輸,但是AES密鑰傳輸有風險。
本文提出一種采用AES加密攝像頭采集的視頻數(shù)據(jù),通過網(wǎng)絡傳輸,TPM加密AES密鑰進行傳輸,在服務端用另一個TPM解密,獲得AES密鑰,然后解密數(shù)據(jù)。確保數(shù)據(jù)的安全傳輸?shù)耐瑫r,保證密鑰的存儲和傳輸?shù)陌踩?/p>
1 安全監(jiān)控模塊設計
1.1 安全網(wǎng)絡監(jiān)控框架
安全網(wǎng)絡監(jiān)控的前端是具有網(wǎng)絡傳輸功能的智能數(shù)字網(wǎng)絡攝像機,核心處理器是TI公司的處理器TI AM335X ARM Cortex A8,然后用AES對稱加密算法進行加密,通過以太網(wǎng)網(wǎng)絡端口傳到服務端,完成終端遠程監(jiān)控的功能。安全網(wǎng)絡監(jiān)控框圖如圖1所示。
多個攝像機通過局域網(wǎng)絡將數(shù)據(jù)傳到服務端,服務端對各個區(qū)域進行監(jiān)控,監(jiān)控網(wǎng)絡連接框圖如圖2所示。每個視頻采集端存入PC的TPM的綁定公鑰,每個TPM所加密的AES密鑰不同,所以只有第一次服務端需要用自己的TPM綁定密鑰的私鑰解密,之后就直接用AES密鑰進行解密數(shù)據(jù)。
1.2 硬件設計
安全攝像頭的硬件設計框圖如圖3所示,核心處理器采用了TI AM335X ARM Cortex A8。在ARM中裝入Linux操作系統(tǒng),并且安裝TPM的配套軟件棧trousers。CPU通過I2C控制TPM,AES以及與FLASH等進行通信。endprint
將視頻采集端采集的數(shù)據(jù)傳入CPU,通過對稱加密算法AES加密數(shù)據(jù),存儲到存儲單元,通過網(wǎng)絡TCP/IP協(xié)議將密文傳輸?shù)椒斩松?,然后通過服務端的AES解密軟件解密。為了AES密鑰傳輸安全,用TPM的綁定功能(tpm_bind)對AES密鑰進行加密。因為TPM的處理速度比較慢,所以不能加密太大的數(shù)據(jù),這里加密對稱密鑰,加密后是256 B,這樣完全不影響處理速度。
本文TPM芯片采用Atmel公司推出的一種專為嵌入式設計,以I2C總線為接口的AT97SC3204T。該芯片遵循TPM1.2規(guī)范,內(nèi)置非對稱密鑰引擎RSA,隨機數(shù)發(fā)生器,散列算法引擎SHA?1,計算引擎HMAC等,通過TWI總線進行通信。TWI總線是I2C總線的繼承和發(fā)展,完全兼容I2C總線。典型的接線電路如圖5所示。
1.3 軟件設計
本文設計的整體結(jié)構(gòu)是以ARM為主控芯片,將視頻采集端的數(shù)據(jù)用AES算法進行加密,通過網(wǎng)絡TCP/IP協(xié)議傳輸,將對稱密鑰通過TPM加密傳輸。系統(tǒng)軟件主要實現(xiàn)AM335X軟件編程、AES采集的視頻數(shù)據(jù)加密編程和TPM對AES密鑰加密三部分。
本視頻監(jiān)控是基于ARM?Linux平臺開發(fā)的,在系統(tǒng)上移植U?Boot,Linux內(nèi)核和根文件系統(tǒng)。首先對嵌入式Linux內(nèi)核進行裁剪并移植,安裝交叉編譯器,并進行適配修改,搭建交叉編譯環(huán)境。在源代碼中加入以下5行定義代碼,增加了可信芯片AT97SC3204T的支持。然后進行編譯得到可信的MLO和u?boot.img文件。
軟件棧TSS是TPM配套的軟件,為TPM的使用提供了支持。采用IBM開發(fā)的trousers軟件包1.1版本,通過makefile編譯后,生成3個文件[4]:TDDL.o,TCS daemon,libtspi.a。其中TDDL.o是TPM設備驅(qū)動;TCS daemon是TPM的TSS核心服務程序;libtspi.a是TPM操作函數(shù)庫,若調(diào)用TPM的秘密引擎要使用它的API。
2 數(shù)據(jù)傳輸與加密
本文用對稱加密算法AES對攝像頭端的數(shù)據(jù)進行加密,能夠在通信中確保機密性。然而要在實際中運用對稱密碼,就必須解決密鑰配送問題。而非對稱密碼就可以避免解密密鑰的配送,從而就解決了對稱密碼所具有的密鑰配送問題。但是非對稱密碼還有倆個很大的問題:
(1) 因為一般來說,在采用具備同等機密性的密鑰長度的情況下,公鑰密碼的處理速度只有對稱密碼的幾百分之一,遠遠低于對稱密碼。
(2) 公鑰密碼難以抵御中間人攻擊。因此,公鑰密碼并不適合用來對很長的消息內(nèi)容進行加密[5]。本文采用對稱密碼和非對稱密碼配合使用,用對稱密碼提高速度,用公鑰密碼保護會話密鑰。
2.1 AES加密
AES加密算法即密碼學中的高級加密標準,是美國聯(lián)邦政府采用的一種區(qū)塊加密標準[6]。AES加密算法適合硬件實現(xiàn),有很多開源的項目,許多研究人員利用這些開源項目開發(fā)適合自己需要的AES加密系統(tǒng)。
AES加密模塊一般分為加密部分和解密部分,本文實現(xiàn)方法是在視頻采集端用AES模塊加密采集的視頻數(shù)據(jù),然后經(jīng)由網(wǎng)絡將密文傳到服務端,再由專門的AES解密軟件對密文進行解密[3],AES加密方式如圖6所示。
2.2 TPM加密
非對稱加密算法體制中要求公鑰對外公開,但是私鑰是嚴格保密的。在實際應用系統(tǒng)中,攻擊者可以從保密密鑰和加密系統(tǒng)內(nèi)部通過側(cè)信道攻擊手段獲得私鑰[7]。本文的非對稱密鑰是由本地硬件TPM模塊產(chǎn)生,TPM的最底層的密鑰有EK和SRK,EK是用來惟一標識TPM的身份的,由生產(chǎn)商指定,是固定不變的,TPM只能獲取一次。SRK是用來標識所有者的身份的,是由所有者通過指令tpm_takeownership獲得的。TPM對于密鑰的管理是絕對安全的,因為之后所用的密鑰都是由SRK產(chǎn)生的,包括綁定密鑰,而SRK是由硬件保護存儲的,很難獲得。
可信模塊TPM是可信計算組織(TCG)發(fā)行的一款可信芯片,是符合TCG規(guī)范的一個小型片上系統(tǒng),內(nèi)部有隨機數(shù)產(chǎn)生器、身份認證秘鑰、SHA?1引擎等??蓪崿F(xiàn)功能有:完整性度量、身份認證、敏感數(shù)據(jù)保護、內(nèi)部資源授權(quán)訪問、數(shù)據(jù)傳輸加密等。目前基于可信計算的安全啟動方式主要是通過以TPM為可信根的可信度量來實現(xiàn)的。
TPM有5種秘鑰類型,分別是身份認證秘鑰(Attestation Identity Keys,AIK)、簽名秘鑰(Signing Keys,SK)、存儲秘鑰(Storage Root Keys,SRK)、綁定秘鑰(Binding Keys)、傳統(tǒng)秘鑰(Legacy Keys)。SRK是2 048位的RSA,用于加密秘鑰,可以密封(seal)數(shù)據(jù)或者存儲其他非對稱秘鑰。Binding Keys是一種加密秘鑰,只用于存儲小型數(shù)據(jù),通常用于存儲AES秘鑰[8]。
將PC端的TPM產(chǎn)生的綁定密鑰公鑰部分發(fā)送給攝像頭端進行存儲。然后攝像頭模塊在自己平臺用PC端的綁定密鑰進行綁定(tpm_bind),對AES密鑰進行加密,然后將加密后的密文傳輸?shù)絇C端,在PC端TPM用自己的私鑰進行解綁定(tpm_unbind)。
tpm_bind是用TPM的Binding Keys綁定數(shù)據(jù),是標準的用公鑰加密。相應的解綁定tpm_unbind是用私鑰解密。
3 實驗結(jié)果及分析
本文實驗硬件平臺選用嵌入式板Beaglebone Black(BBB),通過USB接攝像頭,通過網(wǎng)口連接網(wǎng)絡,BBB的擴展模塊Cryptocape上有AES芯片和TPM芯片。
首先用AES加密采集的視頻數(shù)據(jù),如圖7所示,實現(xiàn)了AES對稱加密數(shù)據(jù),視頻圖像經(jīng)加密完全無法識別,如果無法獲取對稱密鑰,就算截獲視頻也無法觀看。
如圖8所示,可以看到TPM產(chǎn)生綁定密鑰,獲取非對稱密鑰的公鑰部分,并且對AES密鑰加密。
4 結(jié) 語
本設計是用外接USB免驅(qū)攝像頭,AES加密模塊和TPM可信模塊設計的安全視頻模塊。本文設計的模塊運行穩(wěn)定、通信良好、加密可靠,很好地解決了監(jiān)控視頻數(shù)據(jù)泄露的問題,有效地防止黑客軟件攻擊,經(jīng)驗證其不影響攝像頭監(jiān)控傳輸性能。
參考文獻
[1] 陳圣熙,陸盛浩.基于Smart Camera的目標識別和加密傳輸[J].電視技術,2011,35(23):149?152.
[2] 陶星辰.基于AES加密的無線音頻傳輸系統(tǒng)設計及應用[D].合肥:合肥工業(yè)大學,2015.
[3] 謝慧芝,劉嘩,彭煜,等.基于Android的嵌入式加密視頻監(jiān)控系統(tǒng)研究應用[J].電視技術,2014,38(3):70?72.
[4] 李霏,王讓定,徐霽.內(nèi)嵌TPM的視頻監(jiān)控服務器安全方案[J].微電子學與計算機,2007,24(9):32?35.
[5] 結(jié)城浩.圖解密碼技術[M].周自恒,譯.北京:人民郵電出版社,2015:135?143.
[6] 龔進.AES加密算法在電子系統(tǒng)中的優(yōu)化及應用研究[D].太原:中北大學,2012.
[7] 張明武,陳泌文,何德彪,等.高效彈性泄漏下CCA2安全公鑰加密體制[J].計算機學報,2016,39(3):492?502.
[8] CHALLENER David, YODER Kent, CATHERMAN Ryan, et al. 可信計算[M].趙波,嚴飛,余發(fā)江,等譯.北京:機械工業(yè)出版社,2008:56?63.endprint