朱劍 陳家琪
摘 要:針對(duì)目前移動(dòng)智能終端數(shù)據(jù)存儲(chǔ)易泄露問(wèn)題,提出一種移動(dòng)端數(shù)據(jù)存儲(chǔ)安全模型??紤]到移動(dòng)終端計(jì)算能力局限性,提出一種改進(jìn)的超輕量級(jí)加密算法,既能保證數(shù)據(jù)安全又可提高計(jì)算效率。將改進(jìn)的基于時(shí)間戳的認(rèn)證方案與透明加/解密技術(shù)相結(jié)合,使文件以密文形式上傳到服務(wù)器,重新回到移動(dòng)智能終端時(shí)才被解密成明文,實(shí)現(xiàn)對(duì)用戶文件的全生命周期保護(hù),保證數(shù)據(jù)傳輸安全性。以iOS客戶端為例對(duì)方案進(jìn)行了功能測(cè)試,實(shí)驗(yàn)表明,該系統(tǒng)能有效保障移動(dòng)智能終端用戶的數(shù)據(jù)安全性。
關(guān)鍵詞:移動(dòng)智能終端;超輕量級(jí)加密;時(shí)間戳認(rèn)證;透明加/解密
DOI:10.11907/rjdk.172737
中圖分類號(hào):TP309
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2018)005-0201-04
Abstract:Aiming at the problem of easy leakage of mobile intelligent terminal data storage, a security model of mobile data storage is proposed. Considering the limitation of computing capability of mobile terminal, we propose an improved ultra-lightweight encryption algorithm in the model both to ensure data security and improve computing efficiency. Since time the model involves the server, so we make use of improved timestamp-based authentication scheme and transparent encryption/decryption technology, so that when the file is uploaded in cipher text to the file server, only to be decrypted into a plaintext after returned to the mobile intelligent terminal, to achieve the user file life cycle protection and to ensure the security of data transmission. We take iOS client as an example for the models functional test, which verifies its reliability in ensung data security of mobile terminal.
Key Words:mobile intelligent terminal; ultra-lightweight block cipher; timestamp based authentication; transparent encryption/decryption technology
0 引言
目前移動(dòng)智能終端數(shù)據(jù)安全傳輸、存儲(chǔ)保護(hù)脆弱,一些不法分子只要截獲傳輸內(nèi)容就很容易造成數(shù)據(jù)泄露,為此學(xué)者們進(jìn)行了相關(guān)研究。如冉娟等[1]考慮到移動(dòng)終端處理數(shù)據(jù)速度的局限性,推薦在服務(wù)端對(duì)數(shù)據(jù)進(jìn)行加密存儲(chǔ);余琦等[2]提出的基于HDFS的云存儲(chǔ)安全技術(shù)方案,雖然保證了數(shù)據(jù)的安全性,但是加解密過(guò)程計(jì)算量大、運(yùn)算復(fù)雜度高,沒(méi)有考慮到移動(dòng)終端的計(jì)算能力局限性,不適合在移動(dòng)智能終端上對(duì)數(shù)據(jù)文件進(jìn)行加解密,同時(shí)沒(méi)有考慮身份認(rèn)證安全問(wèn)題,用戶身份容易被假冒;陳超群等[3]提出的移動(dòng)智能終端信息防泄漏模型,雖然考慮到數(shù)據(jù)文件傳輸過(guò)程中的安全性,提出的輕量級(jí)SMS4加密算法非常適用于計(jì)算能力有限的移動(dòng)設(shè)備,但是其將密鑰存儲(chǔ)在移動(dòng)終端本地,造成用戶在更換移動(dòng)設(shè)備時(shí)容易密鑰丟失,無(wú)法再還原密文。鑒于此,本文提出一種將密鑰組成部分存儲(chǔ)在服務(wù)端的方式來(lái)保證數(shù)據(jù)的可移植性,保證用戶不會(huì)因?yàn)楦鼡Q設(shè)備而丟失數(shù)據(jù),同時(shí)通過(guò)對(duì)Jagdish Patil等[4]提出的超輕量級(jí)LiCi加密算法進(jìn)行改進(jìn),使用透明加/解密過(guò)程,進(jìn)一步提升安全性和節(jié)省內(nèi)存,加快加解密速度;增加服務(wù)端對(duì)客戶端的用戶認(rèn)證機(jī)制,加強(qiáng)訪問(wèn)控制,防止非法用戶在獲取到用戶名和密碼后竊取用戶數(shù)據(jù)。提出了基于時(shí)間戳認(rèn)證訪問(wèn)控制技術(shù)的移動(dòng)智能終端防泄漏模型,該模型克服了“用戶名+口令”這種單一因子認(rèn)證模式的不足,增強(qiáng)了用戶認(rèn)證的安全性。
1 超輕量級(jí)加密算法
移動(dòng)智能終端計(jì)算能力有限,本文對(duì)超輕量級(jí)LiCi[4]加密算法的密鑰生成部分進(jìn)行改進(jìn),使算法更加完善。
1.1 加密過(guò)程
LiCi算法包括一個(gè)31輪的Feistal結(jié)構(gòu),其每一輪加密流程如圖1所示。該算法采用64位明文輸入,加密后輸出64位密文,其中用于非線性變換的4×4的S-box,每一輪需要兩個(gè)子密鑰rk1和rk2。
1.1.1 加密流程
輸入明文等分成PT_MSB和PT_LSB兩部分,每個(gè)32位,其加密流程偽代碼如下:
(3)線性攻擊:計(jì)算算法S盒的線性分布矩陣,可以得到矩陣元素的最大絕對(duì)值為16,從而分析出S盒線性逼近的概率較低,因此其線性特性較弱,滿足分組密碼算法對(duì)非線性特性的要求。
由此可見(jiàn),改進(jìn)的LiCi算法能夠有效抵抗目前常見(jiàn)的攻擊方法。
2 安全模型
基于透明加/解密技術(shù)的移動(dòng)智能終端數(shù)據(jù)存儲(chǔ)安全模型如圖2所示,該模型借助改進(jìn)的輕量級(jí)加密算法,并通過(guò)透明加/解密技術(shù)對(duì)移動(dòng)智能終端上的文件進(jìn)行自動(dòng)加/解密。模型適用于Android、iOS等主流移動(dòng)智能終端操作系統(tǒng)。在此首先要解決以下幾個(gè)技術(shù)問(wèn)題:①移動(dòng)智能終端接入云存儲(chǔ)服務(wù)器端時(shí)的身份認(rèn)證問(wèn)題;②移動(dòng)智能終端本地的透明加/解密問(wèn)題。
2.1 基于時(shí)間戳的認(rèn)證方案
一個(gè)安全的訪問(wèn)模型少不了一個(gè)安全的認(rèn)證方案,以防止非法入侵用戶數(shù)據(jù),目前移動(dòng)客戶端都采取了一定的保護(hù)措施,如加時(shí)間戳的方案、加隨機(jī)數(shù)的方案等,但這些方案都有一定的缺陷。鐘聲等[9]提出的基于時(shí)間戳的密碼身份認(rèn)證方案,雖然能保證安全性,但過(guò)程太復(fù)雜,在申請(qǐng)認(rèn)證過(guò)程中要求雙方都等待回應(yīng),很浪費(fèi)計(jì)算資源。因此,本文提出一種改進(jìn)的基于時(shí)間戳的方案。
2.1.1 普通時(shí)間戳認(rèn)證方案
普通的加時(shí)間戳方案主要用來(lái)防重放攻擊。每次HTTP請(qǐng)求都需要加上timestamp參數(shù),然后把timestamp和其它參數(shù)一起進(jìn)行數(shù)字簽名。因?yàn)橐淮握5腍TTP請(qǐng)求,從發(fā)出到服務(wù)器一般都不會(huì)超過(guò)60s,所以服務(wù)器收到HTTP請(qǐng)求后,首先判斷時(shí)間是否超過(guò)60s,如果超過(guò)則認(rèn)為是非法請(qǐng)求。假如黑客通過(guò)抓包得到了請(qǐng)求api,其中含有請(qǐng)求參數(shù)用戶唯一id(uid)、時(shí)間戳(stime)以及私鑰簽名(sign)。一般情況下,黑客從抓包重放請(qǐng)求耗時(shí)遠(yuǎn)遠(yuǎn)超過(guò)60s,所以此時(shí)請(qǐng)求中的stime參數(shù)已經(jīng)失效。如果黑客修改stime參數(shù)為當(dāng)前的時(shí)間戳,則sign參數(shù)對(duì)應(yīng)的數(shù)字簽名就會(huì)失效。因?yàn)楹诳筒恢纓oken值,沒(méi)有辦法生成新的數(shù)字簽名。但這種方式的漏洞也顯而易見(jiàn):如果黑客確實(shí)在60s之內(nèi)進(jìn)行重放攻擊成功,系統(tǒng)將毫無(wú)辦法,所以這種方式不能保證請(qǐng)求僅一次有效。
2.1.2 改進(jìn)的基于時(shí)間戳認(rèn)證方案
改進(jìn)的基于時(shí)間戳方案引進(jìn)了一個(gè)nonce隨機(jī)數(shù)方案,改進(jìn)后的方案大致流程如圖3所示,nonce的一次性方案可以解決timestamp參數(shù)60s的問(wèn)題。在timestamp方案的基礎(chǔ)上加上nonce參數(shù),因?yàn)閠imstamp參數(shù)對(duì)于超過(guò)60s的請(qǐng)求都認(rèn)為是非法請(qǐng)求,所以只需存儲(chǔ)60s的nonce參數(shù)的“集合”即可。如果在60s內(nèi),重放該HTTP請(qǐng)求,因?yàn)閚once參數(shù)已經(jīng)在首次請(qǐng)求時(shí)被記錄在服務(wù)器的nonce參數(shù)“集合”中,所以會(huì)被判斷為非法請(qǐng)求。超過(guò)60s之后,stime參數(shù)就會(huì)失效,此時(shí)因?yàn)楹诳筒磺宄oken的值,所以無(wú)法重新生成簽名。
2.2 透明加/解密過(guò)程
本文采用基于改進(jìn)的LiCi超輕量級(jí)加密算法對(duì)明文進(jìn)行加密以保證加/解密速度。對(duì)稱加密算法的優(yōu)點(diǎn)是算法公開(kāi)、計(jì)算量小、加密速度快、加密效率高。由于移動(dòng)設(shè)備的計(jì)算能力有限,在本地加密文件采用對(duì)稱加密更好,而LiCi算法正是對(duì)稱加密,但采用對(duì)稱加密就必須涉及到加密密鑰的保存問(wèn)題。本方案既不直接保存密鑰到服務(wù)器也不直接保存在本地,而是根據(jù)加密時(shí)間的時(shí)間戳生成。這樣做的目的是防止服務(wù)器數(shù)據(jù)泄露或客戶端數(shù)據(jù)存儲(chǔ)被盜導(dǎo)致密鑰直接泄露,該過(guò)程如圖4所示。
3 實(shí)驗(yàn)分析
3.1 安全性分析
通過(guò)在移動(dòng)智能終端上對(duì)上傳/下載的文件進(jìn)行透明加/解密處理,保證了用戶的數(shù)據(jù)文件在存儲(chǔ)服務(wù)器端和傳輸過(guò)程中的機(jī)密性;通過(guò)改進(jìn)的基于時(shí)間戳方案,可以有效防止攻擊者假冒合法用戶訪問(wèn)服務(wù)器端的數(shù)據(jù)文件??梢?jiàn),本文提出的模型安全性取決于密碼算法的安全性以及身份認(rèn)證方法的安全性。下面在輕量級(jí)LiCi算法的安全性確有保障的前提下,對(duì)基于時(shí)間戳認(rèn)證方法的安全性進(jìn)行分析。
(1)抗重放攻擊:假設(shè)攻擊者試圖進(jìn)行重放攻擊。由于認(rèn)證消息中使用時(shí)間戳和nonce雙重認(rèn)證參數(shù),使攻擊者難以修改其中參數(shù),如果使用相同的nonce則重放攻擊請(qǐng)求會(huì)被服務(wù)端自動(dòng)忽略,從而攻擊者無(wú)法進(jìn)行重放攻擊。
(2)抗中間人攻擊:假設(shè)攻擊者試圖進(jìn)行中間人攻擊。移動(dòng)終端的請(qǐng)求api中采用RSA算法私鑰加密簽名,攻擊者無(wú)法獲得sign中的參數(shù),無(wú)法進(jìn)行中間人攻擊。由此可見(jiàn),改進(jìn)的基于時(shí)間戳認(rèn)證方法能夠有效抵抗目前已知的多種攻擊方法,同可靠的超輕量級(jí)LiCi算法一起,能為移動(dòng)智能終端提供可靠的安全保障。
3.2 性能分析
移動(dòng)智能終端采用OC語(yǔ)言,以Xcode為開(kāi)發(fā)工具,測(cè)試平臺(tái)為iPhone6s手機(jī),搭載主頻為1.8GHz,蘋(píng)果A9處理器,iOS10操作系統(tǒng),一臺(tái)部署了Apache的Web服務(wù)器及Mysql 5.5版本的數(shù)據(jù)庫(kù)。測(cè)試網(wǎng)絡(luò)為無(wú)線局域網(wǎng)絡(luò)。運(yùn)行移動(dòng)智能終端程序后,進(jìn)入應(yīng)用主界面,獲取測(cè)試文件列表,如圖5所示。
實(shí)驗(yàn)中對(duì)不同格式、不同大小的文件加解密時(shí)間進(jìn)行測(cè)試,數(shù)據(jù)如表2所示。實(shí)驗(yàn)中的測(cè)試加/解密時(shí)間分別指本地加密時(shí)間(不包含密文上傳時(shí)間)和本地解密時(shí)間 (加密文件下載到本地開(kāi)始計(jì)時(shí)到文件解密完畢),因?yàn)檫@之間不涉及到網(wǎng)絡(luò)耗時(shí),所以數(shù)據(jù)測(cè)試更準(zhǔn)確。表格中的數(shù)據(jù)以Xcode開(kāi)發(fā)平臺(tái)控制臺(tái)輸出為準(zhǔn)。
4 結(jié)語(yǔ)
本文提出了基于改進(jìn)的超輕量級(jí)LiCi算法的移動(dòng)智能終端信息存儲(chǔ)模型。案例研發(fā)及實(shí)驗(yàn)驗(yàn)證表明,該系統(tǒng)能有效保障移動(dòng)智能終端用戶數(shù)據(jù)的安全性。但當(dāng)用戶名和密碼都被獲取的情況下,黑客可在平臺(tái)登錄進(jìn)而盜取用戶數(shù)據(jù),因此下一步的研究重點(diǎn)是如何預(yù)防偽造攻擊,或者當(dāng)用戶發(fā)現(xiàn)自己的用戶名和密碼丟失的情況下如何采取補(bǔ)救措施。
參考文獻(xiàn):
[1] 冉娟,李曉宇.基于秘密共享協(xié)議的移動(dòng)數(shù)據(jù)存儲(chǔ)研究[J].計(jì)算機(jī)科學(xué),2016,43(4):145-149.
[2] 余琦,凌捷.基于HDFS的云存儲(chǔ)安全技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(8):2700-2705.
[3] 陳超群,李志華,閆成雨,等.移動(dòng)智能終端信息防泄漏模型的研究及應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2016,37(10):2632-2638.
[4] PATIL J, BANSOD G, KANT K S. LiCi: A new ultra-lightweight block cipher[C].2017 International Conference on Emerging Trends & Innovation in ICT (ICEI) Pune Institute of Computer Technology, Pune, India, Feb 3-5,2017.
[5] ALIOTO M, BONGIOVANNI S, SCOTTI G, et al. Leakage power analysis attacks against a bit slice implementation of the serpent block cipher[C].Proceeding soft the 21st International Conference on Mixed Design of Integrated Circuits and Systems. Poland: IEEE Press,2014:241-246.
[6] BOGDANOV A, LEANDER G, KNUDSEN L R, et al. PRESENT-an ultraLightweight block cipher[J]. In P. Paillier and I. Verbauwhede, editors, Cryptographic Hardware and Embedded Systems—Springer Berlin Heidelberg,2007(4727):450-466.
[7] LEE C H. Biclique cryptanalysis of PRESENT-80 and PRESENT-128[J]. The Journal of Supercomputing October 2014,70(1):95-103.
[8] 惠越超,汪一鳴.基于S盒優(yōu)化的輕量級(jí)加密算法設(shè)計(jì)[J].通信技術(shù),2010,43(5):103-108.
[9] 鐘聲,邱鋼,孫紅兵.基于時(shí)間戳的密碼認(rèn)證方案[J].計(jì)算機(jī)應(yīng)用,2006(26):295-301.
[10] BANSOD G, PATIL A, SUTAR S, et al. An ultra lightweight encryption design for security in pervasive computing[C].IEEE International Conference on High Performance and Smart Computing (HPSC), and IEEE International Conference on Intelligent Data and Security (IDS),2016.
[11] 李悅,李瑋,曹艷琴,等.幾種輕量級(jí)分組密碼算法的性能分析[J].計(jì)算機(jī)應(yīng)用與軟件,2016,33(10):317-320.
[12] 李悅,李乾文,王高麗,等.基于輕量級(jí)加密算法的手機(jī)短信加密軟件[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2016,25(11):151-155.
(責(zé)任編輯:杜能鋼)