亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于多云存儲(chǔ)的Android密鑰管理技術(shù)

        2020-09-09 03:09:20余宇勁
        關(guān)鍵詞:加解密服務(wù)端份額

        余宇勁 凌 捷

        (廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 廣東 廣州 510006)

        0 引 言

        Android是一款基于Linux的,擁有開源性和可移植性的智能移動(dòng)操作系統(tǒng)。2008年9月,谷歌公司發(fā)布了第一版Android 1.0系統(tǒng),至今Android系統(tǒng)已經(jīng)占據(jù)了全球智能手機(jī)操作系統(tǒng)份額的85.9%。隨著Android設(shè)備的廣泛使用,Android平臺(tái)上的惡意軟件數(shù)量急劇增加,騰訊安全實(shí)驗(yàn)室在2019年公布的手機(jī)安全報(bào)告中指出,去年國內(nèi)Android新增病毒包達(dá)800.62萬個(gè),Android手機(jī)病毒感染用戶數(shù)近1.13億。2018年手機(jī)病毒類型占比中,隱私獲取與遠(yuǎn)程控制的綜合比例為17.57%。 Android設(shè)備中隱私數(shù)據(jù)的存儲(chǔ)是一個(gè)難題,隱私數(shù)據(jù)包含用戶敏感信息、設(shè)備信息、密鑰等,其中密鑰的存儲(chǔ)是關(guān)鍵問題。

        Android系統(tǒng)中的密鑰一般可分為兩種:一是安卓應(yīng)用中,用來與服務(wù)器通信,或是加密App自身數(shù)據(jù)的密鑰;二是安卓應(yīng)用中因?yàn)榧用芪募a(chǎn)生的密鑰。目前針對Android設(shè)備的安全問題,國內(nèi)外學(xué)者已經(jīng)做了大量的研究。文獻(xiàn)[1-3]指出了近年來Android設(shè)備安全問題研究優(yōu)點(diǎn)和不足,詳細(xì)歸納了Android系統(tǒng)的安全缺陷以及所面臨的威脅。在企業(yè)移動(dòng)管理系統(tǒng)上,文獻(xiàn)[4]提出了密鑰容器的概念,保護(hù)文件的加密密鑰,實(shí)現(xiàn)了移動(dòng)端的安全存儲(chǔ),但該方案需要對已有App進(jìn)行函數(shù)重寫以及重打包,實(shí)現(xiàn)成本高。文獻(xiàn)[5]提出了基于RFID智能卡的 Android 移動(dòng)終端數(shù)據(jù)保護(hù)方案,可以增加攻擊者破解難度,把密鑰信息存放在RFID卡上,采用機(jī)卡配合的形式,增加安全性,但是需要額外的硬件如智能卡、設(shè)備的NFC支持。文獻(xiàn)[6]提出了基于指紋與移動(dòng)端協(xié)助的口令認(rèn)證方法,利用指紋和口令結(jié)合生成密鑰,避免了密鑰的存儲(chǔ),但其需要存儲(chǔ)指紋信息,存在安全隱患。文獻(xiàn)[7-8]提出了一些攻擊手段,可以遠(yuǎn)程使存儲(chǔ)在設(shè)備上的密鑰泄露。文獻(xiàn)[9]提出了在Android平臺(tái)上進(jìn)行多云存儲(chǔ)的思想,將密文分片后進(jìn)行壓縮,然后分存到不同云服務(wù)商上,可以避免廠商鎖定的危害,有一定的可用性,但其密文分片的計(jì)算量很大,對于計(jì)算力有限的安卓設(shè)備會(huì)是一個(gè)巨大的開銷。文獻(xiàn)[10]提出了一種基于位置的移動(dòng)設(shè)備加解密模型,使用位置信息結(jié)合密鑰進(jìn)行加密,用戶只能在有效位置內(nèi)進(jìn)行解密。文獻(xiàn)[11]提出在安卓應(yīng)用開發(fā)中將密鑰分存在SharedPreferences、文件存儲(chǔ)、Setting.System中,提高了數(shù)據(jù)的安全性,創(chuàng)新性地將密鑰分存的思想引入Android客戶端的開發(fā)中。文獻(xiàn)[12]在亞馬遜S3(傳統(tǒng)云平臺(tái))的基礎(chǔ)上提出一種密鑰管理(Key Manager,KM)的概念,KM向用戶請求密鑰并與云服務(wù)商交互。但此方案沒有考慮用戶端是否存在惡意操作,如果用戶端受到入侵,那么數(shù)據(jù)的安全不能得到保障。

        為了解決Android設(shè)備中密鑰的安全存儲(chǔ)問題,本文提出一種結(jié)合密鑰分塊和多云存儲(chǔ)的密鑰安全存儲(chǔ)技術(shù),實(shí)現(xiàn)了密鑰的安全存儲(chǔ),無須額外硬件支持,在終端設(shè)備上不涉及密鑰信息存儲(chǔ),對文件加解密時(shí)間的影響較小,實(shí)驗(yàn)證明了其安全性、可靠性和實(shí)用性。

        1 預(yù)備知識(shí)

        1.1 秘密共享

        秘密共享方案中,有一個(gè)加密者和一組共享者{P1,P2,…,Pn},加密者持有一個(gè)秘密s∈S,為每個(gè)共享者產(chǎn)生一個(gè)保密的秘密份額,使得共享者的任何一個(gè)授權(quán)集合能夠通過他們各自掌握的份額恢復(fù)出s。

        (1) 秘密分割。秘密分割是由加密者實(shí)現(xiàn)的一個(gè)映射:

        F:S·R→S1·S2·…·Sn

        其中:S是秘密所在的集合;R是隨機(jī)輸入集;Si(i=1,2,…,n)是Pi的秘密份額集合。對?s∈S,?r∈R,映射F(s,r)得到一個(gè)n元組(s1,s2,…,sn),使得si∈Si(i=1,2,…,n)。si稱為Pi的份額,記為Fi(s,r)=si,加密者以秘密方式將si給Pi。

        (2) 重構(gòu)。s能被任一授權(quán)集合重構(gòu),即對?G∈A,A為授權(quán)集合,設(shè)G={i1,i2,…,i|G|},有一個(gè)重構(gòu)函數(shù):

        hG:Si1·Si2·…·Si|G|→S

        使得對?s∈S,?r∈R,如果F(s,r)= (s1,s2,…,sn),則有:

        hG(si1,si2,…,si|G|)=s

        方案的安全性要求:任一非授權(quán)集合都不能得到s的任何信息[13]。即一個(gè)秘密被n個(gè)人分享,只有m(m≤n)個(gè)或更多的參與者聯(lián)合可以重構(gòu)該秘密,而任意小于m個(gè)參與者不能得到該秘密的任何信息,以上定義為(m,n)-門限秘密分割方案,m稱為方案的門限值。

        1.2 Android系統(tǒng)中的存儲(chǔ)

        Android系統(tǒng)中存儲(chǔ)方式包括文件存儲(chǔ)、SharedPreferences存儲(chǔ)、數(shù)據(jù)庫存儲(chǔ)等。其中:文件存儲(chǔ)是Android中最基本的一種數(shù)據(jù)存儲(chǔ)方式,它不對存儲(chǔ)的內(nèi)容進(jìn)行任何格式處理,所有數(shù)據(jù)都原封不動(dòng)地保存在文件中,適合存儲(chǔ)一些簡單的數(shù)據(jù);SharedPreferences使用鍵值對的方式存儲(chǔ)數(shù)據(jù),即保存數(shù)據(jù)時(shí),給此條數(shù)據(jù)提供一個(gè)鍵,在讀取數(shù)據(jù)時(shí)通過對應(yīng)的鍵取數(shù)據(jù),如果把密鑰直接存儲(chǔ)在SharedPreferences很容易被竊??;數(shù)據(jù)庫存儲(chǔ),Android內(nèi)置了數(shù)據(jù)庫SQLite,適合存儲(chǔ)量大、結(jié)構(gòu)性復(fù)雜的數(shù)據(jù)。

        要在設(shè)備上安全存儲(chǔ)密鑰,目前常用的辦法是不斷加固客戶端,增大逆向成本。為了提高安卓設(shè)備上密鑰的安全性,本文不在本地上做密鑰的任何存儲(chǔ),將密鑰按照秘密共享的思想,拆分成n塊秘密份額,上傳到n個(gè)云平臺(tái)上,即使是逆向成功,或是某云服務(wù)器與云客戶端以某種方式進(jìn)行合謀攻擊,也不能獲得密鑰去解密密文。

        1.3 多云平臺(tái)

        云存儲(chǔ)是在云計(jì)算概念的基礎(chǔ)上發(fā)展起來的一種新的存儲(chǔ)方式,它是指通過網(wǎng)格計(jì)算、集群文件系統(tǒng)、分級存儲(chǔ)等現(xiàn)有技術(shù),將網(wǎng)絡(luò)中大量的存儲(chǔ)設(shè)備通過硬件、軟件的方式集合在一起,并對外提供標(biāo)準(zhǔn)的存儲(chǔ)接口,以供用戶調(diào)用并存儲(chǔ)數(shù)據(jù)的存儲(chǔ)方式[14]。國內(nèi)已經(jīng)興起了多種云平臺(tái)如阿里云、騰訊云等。云存儲(chǔ)的最大特點(diǎn)在于存儲(chǔ)即服務(wù),用戶可以通過開放的API將自己的數(shù)據(jù)上傳到云端保存,如百度Pesonal Cloud Storage(PCS)、阿里開放云平臺(tái)。但由于用戶喪失了數(shù)據(jù)的絕對控制權(quán),一些數(shù)據(jù)安全的隱患也由此產(chǎn)生[15]。惡意云服務(wù)器與云客戶端進(jìn)行合謀竊取用戶隱私,以及目前已知的多種攻擊手段如拒絕服務(wù)攻擊、僵尸網(wǎng)絡(luò)攻擊、音頻隱寫攻擊等都會(huì)造成用戶數(shù)據(jù)泄露。單云環(huán)境下還可能出現(xiàn)廠商鎖定或者服務(wù)器損壞的場面,用戶的數(shù)據(jù)安全得不到足夠的保障。

        單云下存在諸多潛在的安全問題,如服務(wù)可用性故障、內(nèi)部人員的惡意破壞等,為了提高云存儲(chǔ)可靠性,充分利用各個(gè)云的優(yōu)勢,多云架構(gòu)應(yīng)運(yùn)而生,通過在多個(gè)云存儲(chǔ)服務(wù)中分散存儲(chǔ)用戶數(shù)據(jù)的方式來避免和緩解云存儲(chǔ)提供商壟斷問題。這樣既可解決單云故障問題,又能提高安全性、可靠性,降低更換云服務(wù)提供商的成本。

        各大云平臺(tái)開放的API使開發(fā)者能夠把自己的App和云服務(wù)端建立連接,根據(jù)API類型進(jìn)行不同的操作,如圖1所示。

        圖1 與云平臺(tái)建立連接

        2 方法描述

        本文提出的結(jié)合多云存儲(chǔ)和秘密共享的密鑰管理技術(shù)由三個(gè)部分組成,分別是加密部分、解密部分、處理密鑰部分, 其中處理密鑰部分是核心。

        加密部分:負(fù)責(zé)結(jié)合用戶輸入的一次性口令產(chǎn)生隨機(jī)密鑰,對文件進(jìn)行加密。

        解密部分:與處理密鑰部分進(jìn)行交互,利用傳回的重組的密鑰進(jìn)行解密。

        處理密鑰部分:進(jìn)行拉格朗日插值多項(xiàng)式運(yùn)算,選擇服務(wù)器,驗(yàn)證服務(wù)器,傳輸完畢后刪除密鑰。

        實(shí)現(xiàn)原理如圖2所示。

        圖2 技術(shù)原理圖

        2.1 加密階段

        安卓端啟動(dòng)加密程序,結(jié)合用戶輸入的一次性口令p生成隨機(jī)密鑰s,對明文M進(jìn)行AES加密,得到密文C,存儲(chǔ)密文完畢,刪除p,初步加密完成。

        2.2 密鑰保護(hù)階段

        設(shè)門限法方案選擇(m,n)=(3,5),將密鑰通過拉格朗日插值多項(xiàng)式進(jìn)行切片,即生成5個(gè)秘密共享項(xiàng),任意大于等于3個(gè)共享項(xiàng)即可解密。具體步驟如下:

        (1) 生成隨機(jī)數(shù)R1、R2、x1、x2、x3、x4、x5。

        (2) 計(jì)算對應(yīng)的F(xi):

        (3) 給不同的(xi,F(xi))分配唯一的ID,發(fā)送給5個(gè)云服務(wù)端,刪除R和s。ID的作用是在多密鑰共享的情況下,區(qū)分不同的密鑰對應(yīng)的(xi,F(xi))。

        在密鑰保護(hù)階段完畢后,無論是本地還是云盤中,都不涉及到口令和密鑰的存儲(chǔ),而是轉(zhuǎn)換成(xi,F(xi))的存儲(chǔ),無須上傳密文,實(shí)現(xiàn)了用戶數(shù)據(jù)的私有化。

        2.3 解密階段

        當(dāng)用戶需要解密時(shí),安卓客戶端向隨機(jī)的三個(gè)服務(wù)端發(fā)出請求,進(jìn)行各自的驗(yàn)證,驗(yàn)證通過后,根據(jù)ID依次返回(xi,F(xi))給安卓客戶端,客戶端進(jìn)行方程組求解,得到s,進(jìn)行解密。本文解密階段涉及到與不同的云進(jìn)行交互,隨機(jī)選取m個(gè)云服務(wù)商進(jìn)行驗(yàn)證,查找ID,返回(xi,F(xi)),因?yàn)閭鬏旙w積小,所以網(wǎng)絡(luò)消耗和時(shí)間成本較低。

        2.4 安全性分析

        文獻(xiàn)[11]將秘密份額存儲(chǔ)在SharedPreference、文件存儲(chǔ)和系統(tǒng)數(shù)據(jù)庫Setting.Systeam中,提高了攻擊者的破解難度,但是因?yàn)樵贘ava層實(shí)現(xiàn),攻擊者可以從apk文件包中解壓提取出classes.dex文件,利用反編譯工具(如apktool、Jadx等)獲得Java源碼,進(jìn)而分析出秘密份額存儲(chǔ)位置進(jìn)行重組密鑰。本文方法需要獲得憑證與多個(gè)云服務(wù)端建立連接,才能夠進(jìn)行密鑰重組操作,假設(shè)攻擊者逆向成功,只能得到密鑰的拆分方式,用戶的一次性口令和秘密份額都已被刪除。用戶與n個(gè)云客戶端之間的通信,通過Android沙箱機(jī)制相互隔離,所以攻擊者與m個(gè)云服務(wù)端建立連接的可能性相當(dāng)?shù)停瑯O大地降低了攻擊者獲得密鑰的可能性。

        即使某個(gè)云服務(wù)商想窺探存儲(chǔ)在該云的數(shù)據(jù),或者是黑客攻擊云存儲(chǔ)平臺(tái),也只能得到部分的秘密份額(xi,F(xi)),這對整個(gè)解密過程是無意義的。假設(shè)運(yùn)行在客戶端上的云客戶端得到了root權(quán)限,在未經(jīng)用戶許可的情況下,與對應(yīng)的云服務(wù)商進(jìn)行合謀,竊取用戶密文,因?yàn)樾∮趍個(gè)云服務(wù)端不能恢復(fù)密鑰,所以不能進(jìn)行解密,攻擊者沒有辦法得到密鑰和明文信息。

        3 實(shí)驗(yàn)與結(jié)果分析

        本實(shí)驗(yàn)開發(fā)環(huán)境使用了Android Studio 2.2進(jìn)行界面和邏輯編寫,Eclipse 4.10用于Java代碼調(diào)試;測試手機(jī)型號為Nexus 6,手機(jī)參數(shù)為Android 7.0系統(tǒng),3 GB內(nèi)存,CPU類型為驍龍805。利用本文方法對KB級到MB級的14個(gè)文件進(jìn)行加解密測試,結(jié)果如表1所示。

        表1 文件加解密時(shí)間

        續(xù)表1

        處理密鑰時(shí)間為加密之后的分片時(shí)間加上解密之前的組裝時(shí)間,和密鑰長度有關(guān)?;谠O(shè)備和實(shí)驗(yàn)環(huán)境的原因,加解密時(shí)間不是線性增長的,但總體是隨著文件大小而上升的。

        本文中,處理密鑰時(shí)間與密鑰長度有關(guān),當(dāng)文件大小增大時(shí),處理密鑰時(shí)間占總時(shí)間的比重會(huì)縮小,對加解密時(shí)間的影響越小,如圖3所示。

        文獻(xiàn)[8]提出在將密鑰分存在Android設(shè)備中的不同位置,如存儲(chǔ)在SharedPreferences、文件存儲(chǔ)、Setting.System等,選取該方案作為對比,處理相同位數(shù)的密鑰,所用時(shí)間對比如圖4所示,縱坐標(biāo)為本文方案所用時(shí)間減去文獻(xiàn)[8]方案所用時(shí)間。

        文獻(xiàn)[8]方案在Java層實(shí)施,分存在同一設(shè)備的不同地方,相對于密鑰直接存儲(chǔ)和密鑰硬編碼,提高了安全性,與本文方案對比,不需要與云服務(wù)商交互,節(jié)省了傳輸時(shí)間,但是將秘密份額分存在設(shè)備上,只要逆向了源文件,得到Java代碼,便可以分析秘密份額存儲(chǔ)位置,從而獲取密鑰。本文方案則是在密鑰保護(hù)階段,通過與多云平臺(tái)交互,將秘密份額存在不同的云服務(wù)端上,逆向不能得到密鑰存儲(chǔ)的相關(guān)信息,具有更高的安全性。

        由于實(shí)驗(yàn)環(huán)境、設(shè)備參數(shù)、代碼復(fù)雜度等因素存在差異,所以實(shí)驗(yàn)結(jié)果會(huì)有一定的誤差,但是總體來看時(shí)間差穩(wěn)定在100~150 ms內(nèi),不會(huì)影響用戶體驗(yàn)。

        4 結(jié) 語

        本文提出了一種新的Android密鑰管理技術(shù),通過結(jié)合多云存儲(chǔ)和秘密共享的思想,在密鑰處理階段,將秘密份額存放在n個(gè)云服務(wù)端上,與現(xiàn)有方案相比,減少了逆向得到密鑰信息的可能性,能夠避免云客戶端和云服務(wù)端的合謀攻擊,實(shí)現(xiàn)了Android客戶端密鑰的安全存放。在大文件加解密時(shí),對加解密總時(shí)間的影響會(huì)顯著減少,具有實(shí)用性。

        猜你喜歡
        加解密服務(wù)端份額
        2024年主動(dòng)權(quán)益類基金收益率、規(guī)模前50名
        云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
        在Windows Server 2008上創(chuàng)建應(yīng)用
        PDF中隱私數(shù)據(jù)的保護(hù)方法
        電子取證中常見數(shù)據(jù)加解密理論與方法研究
        基于FPGA的LFSR異步加解密系統(tǒng)
        網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)募咏饷芟到y(tǒng)研究
        軟件工程(2014年11期)2014-11-15 20:02:46
        分級基金的折算機(jī)制研究
        競爭性要素收入份額下降機(jī)理分析——壟斷租金對競爭性要素收入份額的侵害
        中文字幕有码人妻在线| 中文字幕亚洲欧美日韩在线不卡| 婷婷亚洲国产成人精品性色 | 老熟女高潮一区二区三区| 久久av无码精品人妻糸列| 亚洲高清自偷揄拍自拍| 国产AⅤ无码久久丝袜美腿| 亚洲性码不卡视频在线| 精品人妻久久一区二区三区| 国产美女精品一区二区三区| 国产毛片网| 亚洲精品尤物av在线网站| 亚洲国产一区二区三区精品| 色狠狠色噜噜av天堂一区| 美女黄18以下禁止观看| 蜜桃av噜噜一区二区三区香| 中文字幕丰满人妻av| 亚洲国产成人片在线观看| 一本色道久久99一综合| 亚洲综合久久久中文字幕| 一二三区无线乱码中文在线 | 色欲麻豆国产福利精品| 国产午夜精品久久久久| 亚洲一区久久久狠婷婷| 蜜桃一区二区三区视频网址| 日韩国产成人无码av毛片蜜柚 | 无遮无挡爽爽免费毛片| 婷婷色综合成人成人网小说| 国产成人aa在线观看视频| aa日韩免费精品视频一| 浪货趴办公桌~h揉秘书电影 | 91精选视频在线观看| 久久综合激激的五月天| 日韩精品一区二区三区在线视频| 久久久久国产一区二区| 欧美黑人乱大交| 国产免费激情小视频在线观看| 久久精品国产色蜜蜜麻豆国语版| 狠狠做深爱婷婷久久综合一区| 国产精品国产三级国产专播| 中文字日产幕码三区做法|