摘 要: 文件夾作為計算機操作系統組織電子信息文件的一種載體,其安全性越來越受到人們的重視。針對基于傳統密碼或單純生物特征在身份認證中存在的安全問題,設計了一種基于人臉特征與密碼技術相結合的雙重身份認證方案,并實現了由基于Eigenface人臉識別、DES密碼認證和用戶接口組成的原型系統。通過實驗表明,該方法能夠快速有效地實現對文件夾的認證和加解密,并能提高文件夾的安全性。
關鍵詞: 文件夾加密; Eigenface人臉識別; DES密碼認證; 雙重身份認證
中圖分類號: TN918?34; TP301.6 文獻標識碼: A 文章編號: 1004?373X(2016)03?0080?04
Method of folder encryption based on face recognition and password authentication
TANG Shoujun
(The Open University of Guangdong, Guangzhou 510091, China)
Abstract: Folder as an information carrier to organize the electronic information document in computer operating system, its safety has been increasingly paid more attention. Since the identity authentication based on traditional password or pure biometric feature has security risk, a dual identity authentication scheme based on the integration of facial features and cryptography technology was designed, and its prototype system composed of face recognition based on Eigenface, DES password authentication and user interface was implemented. The experimental results show that the method can quickly and effectively realize the authentication and encryption/decryption of the folder, and improve the folder security.
Keywords: folder encryption; Eigenface?based face recognition; DES password authentication; dual identity authentication
0 引 言
當今信息社會,計算機文件已成為當前人們保存日常信息的重要載體,而文件夾又是計算機系統進行文件組織和管理的重要形式。如何控制、保護文件夾信息資源成為一個極其復雜而且富有挑戰性的問題。身份認證是安全信息系統的第一道屏障,由于目前廣泛使用的密碼認證等方式自身存在固有的弱點[1] 導致該技術面臨著嚴峻的挑戰,已顯得越來越不適應現代科技的發展和社會的進步,需要一種更加方便可靠的方法進行身份認證。
在不同的身份認證方法中,人臉識別有其自身特殊的優勢[2],在身份認證系統中有著重要的地位:
(1) 非侵擾性。人臉識別無需干擾人們的正常行為就能較好地達到識別效果,無需擔心被識別者懼怕麻煩的預定使用規范。
(2) 采集設備簡單,使用快捷。
(3) 人臉識別身份認證,人和機器都可以使用人臉圖片進行識別,使得人和機器可以配合工作。
但是,單純的人臉識別認證,仍然存在一些隱患。為了解決傳統密碼或單純生物特征在身份認證中存在的安全問題,本文針對文件夾設計了基于人臉識別和密碼雙重身份認證的文件夾加密方法。旨在利用傳統密碼認證和人臉識別雙重身份認證來提高加密強度,有效保證用戶的文件夾信息安全。
1 基于人臉識別和密碼認證的文件夾加密方法
基于人臉識別和密碼認證的文件夾加密方法主要包括人臉識別和口令加解密兩部分。
人臉識別技術就是利用計算機分析人臉圖像,從中提取有效的識別信息,用來辨認身份的一種技術。本方法中人臉識別認證部分作為先于密碼的第一層認證,主要通過四個功能依次完成。
(1) 圖像的采集:采用攝像頭實時抓取圖像。
(2) 人臉檢測:采用Adaboost實時人臉檢測算法從輸入圖像中檢測出人臉。
(3) 人臉化簡和特征提取:主要包括子圖像的灰度化和大小的歸一化。
(4)人臉識別:采用Eigenface算法,根據已知的人臉信息判斷待識別的人臉是否屬于系統中的已知用戶。
口令加解密采用傳統口令加密技術對文件夾進行手動加解密,其優點是軟件容易實現,并且操作簡單。人臉識別認證作為文件夾加解密的第一道安全屏障,在通過人臉識別認證的情況下,才能進入下一步的加解密認證。本方法的結構如圖1所示。
1.1 人臉識別
1.1.1 圖像實時采集和化簡
OpenCV[3]是Intel?開源計算機視覺庫。它由一系列 C 函數和少量 C++ 類構成,實現了圖像處理和計算機視覺方面的很多通用算法。OpenCV對Adaboost人臉檢測算法、Eigenface本征臉人臉識別算法都有比較完整的實現[4?5]。
利用OpenCV攝像頭驅動程序,實時驅動攝像頭采集用戶上半身的正面圖像,將采集到的圖像保存起來作為后續人臉檢測和識別的源圖像。
為了給人臉識別提供歸一化的人臉圖像,需要對人臉檢測到的人臉圖像進行化簡。歸一化主要包括直方圖均衡化、圖像的灰度化和尺寸的歸一化。直方圖均衡化主要是為了增強圖像以初步消除光照的影響。灰度化和尺寸歸一化則是為了計算的速度和方便。
1.1.2 基于Adaboost的人臉檢測
人臉檢測是指在輸入圖像中確定所有存在的人臉的位置、大小、姿勢的過程。近年來出現了大量的人臉檢測方法,但是各種方法都有一定的不足。本方法采用的是一種基于Adaboost的人臉檢測算法[6],該算法建立了第一個真正實時的人臉檢測系統,從根本上解決了檢測速度的問題,同時也有較好的檢測效果。
Adaboost人臉檢測方法是基于Harr_Like特征、積分圖、Adaboost算法的實現方法[7?8]。算法的基本思想是:給定一個弱學習算法和一個訓練集,其中,[Xi]是輸入的訓練樣本向量,[Yi]是分類的類別標志。由于人臉檢測的任務是判斷某幅圖像是否是人臉圖像,因而可以視為二分類問題。初始化時,對所有訓練樣本均賦予一個相同的權重,然后用該弱學習算法對訓練樣本集進行[T]輪訓練。在每一輪訓練結束后,對訓練失敗的樣本賦予較大的權重,以便讓學習算法在后來的學習中主要對比較難的訓練樣本進行學習。這樣,就可以得到一個預測函數序列,其中,預測效果比較好的預測函數的權重較大。最終的預測函數[β]采用一種有權重的投票方式產生。
Adaboost方法基于弱學習模型(Weak Leaning Model),它假設存在弱學習算法,這些算法獲得分類器的預測能力只比隨機預測好一些,通過推進弱學習算法,從而得到任意高精度的分類器。Adaboost訓練強分類器的算法描述如下。
(1) 給定訓練樣本集:
式中:[xi]表示樣本特征向量;[yi]表示訓練結果,[yi=0]表示樣本為負樣本,[yi=1]表示樣本為正樣本;[n]為訓練樣本的總量。
(2) 初始化樣本權重[wl,i,]即訓練樣本的初始概率分布。樣本的權重初始化為[1n]。
(3) 對于[t=1,2,…,T](T為迭代次數)。
① 歸一化樣本的權值公式為:
② 對于每一個特征[j,]調用弱學習算法,訓練一個弱分類器[hj,]計算該分類器的錯誤率[gf。]
③ 選擇擁有最小錯誤率的最佳弱分類器。
④ 按最佳弱分類器,重新調整樣本的權重。
式中:[ei=0]表示[x]被正確地分類;[ei=1]表示[x]被錯誤地分類。這樣就可以增大分類錯誤樣本的權重,降低分類正確樣本的權重,下一次迭代時弱分類器的選擇就會重視上一次分類錯誤的樣本。
(4) 最后生成強分類器。
最后在確定人臉的具體位置時,將循環遍歷圖像得到的由預測函數判斷為人臉圖像的各個圖像子區域求均值,所得到的區域便是人臉所在的具體位置。
1.1.3 Eigenface人臉識別
目前,對于人臉識別學者已經提出了相當多的識別算法[9]。其中基于PCA主成分分析方法的Eigenface[10?11]人臉識別方法識別原理簡單、識別速度快,適用于對識別準確度要求不是很嚴格的實時環境下的人臉識別場合。
Eigenface特征臉是從PCA主成分分析方法導出的一種人臉識別技術。它將包含人臉的圖像區域看作一個隨機向量, 將所有的訓練樣本圖像組合起來形成一個生成矩陣,然后采用KL變換得到正交 KL基,對應其中較大特征值的基具有與人臉相似的形狀,因此又被稱為特征臉。
利用這些正交KL基的線性組合可以描述、表達和逼近人臉圖像,可進行人臉識別與合成。識別過程就是將人臉圖像映射到由特征臉組成的子空間上,并比較其在特征臉空間中的位置,然后利用對圖像的這種投影間的某種度量確定圖像間的相似度,最常見的就是選擇各種距離函數進行度量分類實現人臉識別,采用歐幾里德距離計算。為了提高識別速度,在選擇正交KL基時,可根據生成矩陣特征值的大小將對應的正交KL基排序。選取能代表訓練樣本基本信息的前面若干個正交KL基作為特征臉子空間。這樣在不明顯損失信息量的情況下進一步達到降低維度的目的,減少運算復雜度,其算法流程如圖2所示。
1.2 口令加解密
采用著名的對稱密鑰加密算法——DES數據加密算法[12]。遞歸遍歷待加密文件夾的每個文件,針對各種類型的文件,統一采用字符串讀取方式加載到內存中,經過DES加密后的文件信息寫入到另外一個和原文件路徑和名稱相同但類型不同的(利用MFC的文檔注冊機制指定的類型)文件中,加密成功后將原文件刪除。為了解密時能夠正確恢復原文件,系統采用統一的格式將原文件的完整路徑信息、類型信息和密碼保存在加密后的文件的頭部。
為了避免對文件夾重復加密,需要將已加密文件夾的路徑統一保存起來。每當系統開始運行,就加載已加密文件夾的路徑信息到內存中,將當前路徑信息和內存中的路徑信息比較,如果前者和后者的某一項相等,或者后者某一項是前者的子字符串(當前路徑是某個已加密文件夾路徑的子路徑,也即子文件夾或者子文件),則說明當前路徑已經加密,不再提供加密服務。每當系統退出時就將加密路徑記錄持久化到特定文件中。
解密時首先解析文件頭信息,得到原文件路徑、類型信息和原密碼,然后遞歸解密每個文件。
2 實驗和分析
2.1 實驗平臺
在Windows XP平臺上,以Visual Studio 6.0為開發工具,用C++開發語言結合OpenCV 1.0視覺開源庫,利用MFC框架實現具有文檔視圖結構的原型系統[4]。
2.2 實驗數據
原型系統采用的是ORL人臉庫。該庫是目前使用最廣泛的標準數據庫,它含有大量的比較結果。在此基礎上,在網上收集并整理了16個具有代表性的人臉,每個人有10張圖片,作為備用人臉庫。其中人臉部分表情和細節均有變化,例如笑與不笑、眼睛睜著或閉著,戴或不戴眼鏡等,人臉姿態也有變化,其人臉尺寸也有變化。這些圖片通過編寫的人臉圖片預處理程序統一來實現圖片的歸一化。歸一化的步驟包括人臉的檢測。這是為了在尺寸固定(92×112)的圖片上保存更多的人臉信息,避免那種背景區域很多人臉很小的情況。檢測出來的人臉經過尺寸歸一化和灰度化,最后還要進行直方圖均衡化以便盡量消除光照的影響。
2.3 實驗結果及分析
運行原型系統,對于文件夾E:\Test\圖片,解密時進行人臉識別認證的效果如圖3所示。
實驗結果表明:人臉識別認證準確率要比Eigenface用在人臉識別靜態測試[5]時的準確率要低。其原因是在實時獲取人臉圖像時,由于用戶的運動特性,抓取到的圖像難免因位移現象而導致圖像模糊,影響識別效果;文件夾的合法用戶能夠容易的通過人臉識別驗證,非法用戶不易通過驗證;最后,就系統整體來說,人臉識別的漏檢率高于錯檢率。口令認證階段還可以彌補漏檢率偏高的缺陷,使系統總體上安全性比較高。
3 結 語
本文提出了一種基于人臉識別和密碼認證的文件夾加密方法,并實現了基于Eigenface人臉識別、DES密碼認證和用戶接口組成的原型系統。經過系統測試和運行,證明該方法安全性較高,是一個安全可信的文件夾加解密方案。
另外,為了進一步提高其安全性和實用性,可作適當改進。首先,可考慮加入光照消除算法來改善人臉檢測和人臉識別的效果,或者也可以考慮其他更好的識別算法。其次,加解密時,DES算法針對所有的文件字符信息速度比較慢,可考慮采用基于文件夾的整體加密,在文件夾層次上實現消息攔截從而實現加解密。
參考文獻
[1] 向元平,寧子嵐.基于人臉識別的雙因素身份認證系統的設計與實現[J].計算機測量與控制,2009,17(5):959?961.
[2] 肖冰,王映輝.人臉識別研究綜述[J].計算機應用研究,2005(8):1?5.
[3] 于仕琪.OpenCV中文網站[EB/OL].[2006?01?27].http://www.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5.2009.10.
[4] HEWITT R. Seeing with OpenCV, part 2: finding faces in images [EB/OL]. [2007?04?11]. http://www.cognotics.com/opencv/servo_2007_series/part_2/index.html.
[5] HEWITT R. Seeing with OpenCV, part 5: implementing Eigenface [EB/OL]. [2007?05?23]. http://www.cognotics.com/opencv/servo_2007_series/part_5/index.html.
[6] VIOLA P, JONES M. Rapid object detection using a boosted cascade of simple features [C]// Proceedings of 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. [S.l.]: IEEE, 2001: 511?518.
[7] 梁路宏,艾海舟,徐光檔,等.人臉檢測研究綜述[J].計算機學報,2002,25(5):449?458.
[8] VIOLA P, JONES M. Robust real?time face detection [J]. International Journal of Computer Vision, 2004, 57(2): 137?154.
[9] 嚴嚴,章毓晉.基于視頻的人臉識別研究進展[J].計算機學報,2009,32(5):878?886.
[10] TURK M A, PENTLAND A P. Face recognition using Eigenfaces [C]// Proceedings of 1991 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Shanghai, China: IEEE, 1991: 586?591.
[11] ZHOU S H, RAMA C. From sample similarity to ensemble similarity: probabilistic distance measures in reproducing kernel Hilbert space [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 28(6): 917?929.
[12] STINSON D R.密碼學原理與實踐[M].馮登國,譯.北京:電子工業出版社,2003.