本發(fā)明屬于智能終端隱私保護技術(shù),具體涉及一種抗側(cè)信道攻擊的智能終端安全輸入方法。
背景技術(shù):
隨著智能終端的快速普及,越來越多的用戶需要在智能終端上輸入密碼等敏感信息。與此同時,越來越多的針對智能終端的側(cè)信道攻擊開始涌現(xiàn),側(cè)信道攻擊主要分為兩種:內(nèi)部攻擊和外部攻擊。其中內(nèi)部攻擊指攻擊者通過在設(shè)備上安裝惡意程序獲取傳感器數(shù)據(jù)從而推測用戶輸入內(nèi)容,例如陀螺儀、加速度器、攝像頭、麥克風(fēng)以及光傳感器等;外部攻擊指攻擊者通過設(shè)備外部手段達(dá)到攻擊目的,例如攻擊者可以使用計算機視覺、屏幕殘留物等方式推測用戶輸入,對用戶的隱私和數(shù)據(jù)安全造成巨大的威脅。
針對多種側(cè)信道攻擊威脅,現(xiàn)有方案主要采用隨機鍵盤來抵御相應(yīng)攻擊。隨機鍵盤保證用戶每次調(diào)用的鍵盤布局均不同,從而使得攻擊者難以基于鍵盤布局信息猜測用戶輸入。但是隨機鍵盤增加了用戶輸入的時間,很難被用戶廣泛接受。
根據(jù)調(diào)查發(fā)現(xiàn),在目前許多流行的智能終端系統(tǒng)中,應(yīng)用程序無需任何權(quán)限即可獲取加速度傳感器和方向傳感器的數(shù)據(jù)。其中,加速度傳感器數(shù)據(jù)可以用來檢測用戶點擊設(shè)備背面的動作,方向傳感器可以使用戶通過傾斜設(shè)備控制虛擬鍵盤上光標(biāo)的移動,從而使得用戶無需直接接觸屏幕即可完成輸入,在很大程度上可以保護用戶輸入的敏感數(shù)據(jù)。
技術(shù)實現(xiàn)要素:
發(fā)明目的:本發(fā)明的目的在于解決現(xiàn)有技術(shù)中存在的不足,提供一種抗側(cè)信道攻擊的智能終端安全輸入方法,利用智能終端的加速度傳感器和方向傳感器,用戶可通過結(jié)合對智能終端的傾斜操作和背面點擊操作來完成密碼等隱私信息的輸入,達(dá)到保護隱私信息的目的。
技術(shù)方案:本發(fā)明所述的一種抗側(cè)信道攻擊的智能終端安全輸入方法,依次包括以下步驟:
(1)控制光標(biāo)運動:
用戶通過傾斜智能終端控制虛擬鍵盤上的光標(biāo)移動,檢測智能終端的方向傳感器數(shù)據(jù),然后根據(jù)方向傳感器的數(shù)據(jù)計算光標(biāo)移動方向和移動速度,并在計算過程中加入隨機參數(shù),因此即使攻擊者可以獲取方向傳感器數(shù)據(jù)也難以正確計算光標(biāo)的位置,從而極大地增加攻擊者利用相關(guān)側(cè)信道攻擊技術(shù)竊取用戶輸入內(nèi)容的難度,提高系統(tǒng)的安全性;
(2)識別設(shè)備背面點擊動作:
用戶通過點擊智能終端背面來完成光標(biāo)所定位按鍵對應(yīng)鍵值的輸入,收集智能終端加速度傳感器數(shù)據(jù),經(jīng)過一定的預(yù)處理后,從加速度傳感器數(shù)據(jù)中提取有效特征,利用機器學(xué)習(xí)分類算法識別用戶對設(shè)備背面點擊動作,使得用戶無需直接接觸屏幕即可完成輸入,因此可防御基于屏幕殘留物的相關(guān)側(cè)信道攻擊。
進一步的,在步驟(1)中,光標(biāo)是指智能終端虛擬鍵盤上的鼠標(biāo),用戶通過傾斜設(shè)備即可控制鼠標(biāo)的移動,只要將鼠標(biāo)移動到相應(yīng)的按鍵上方,用戶通過點擊設(shè)備背面即可完成相應(yīng)鍵值的輸入。
進一步的,在步驟(2)中,收集用戶執(zhí)行設(shè)備背面點擊動作對應(yīng)的加速度傳感器ground-truth數(shù)據(jù)并對其進行一定的預(yù)處理操作,針對經(jīng)過預(yù)處理的加速度傳感器數(shù)據(jù),提取35種有效特征(包括平均值、中位數(shù)和標(biāo)準(zhǔn)差等)作為特征向量,利用機器學(xué)習(xí)分類算法(包括隨機森林、支持向量機或者決策樹等)訓(xùn)練分類模型,最終利用該分類模型識別用戶點擊動作。
進一步的,所述預(yù)處理操作包括刪除輕微的不明顯的點擊動作對應(yīng)的數(shù)據(jù)以及確定合適的數(shù)據(jù)選擇窗口使得能夠正確提取點擊動作對應(yīng)的加速度傳感器數(shù)據(jù)。
有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:
(1)本發(fā)明采用非隨機的鍵盤布局,符合用戶的輸入習(xí)慣,使得用戶仍然可以正??焖俚剌斎胄畔ⅰ?/p>
(2)本發(fā)明保證用戶在輸入信息的過程中,無需直接接觸屏幕,因此不會在屏幕上留下殘留物,攻擊者難以通過殘留物推測出用戶輸入的內(nèi)容。
(3)本發(fā)明在計算光標(biāo)的移動速度時,加入了隨機參數(shù),使得光標(biāo)的移動速度不固定,因此即使攻擊者可以獲取設(shè)備傳感器數(shù)據(jù),也難以通過計算光標(biāo)的移動推測用戶的輸入。
附圖說明
圖1為本發(fā)明中的流程示意圖;
圖2為本發(fā)明中方向傳感器示意圖;
圖3為本發(fā)明中加速度傳感器示意圖;
圖4為實施例中的一次設(shè)備背面點擊對應(yīng)的加速度傳感器數(shù)據(jù)。
具體實施方式
下面對本發(fā)明技術(shù)方案進行詳細(xì)說明,但是本發(fā)明的保護范圍不局限于所述實施例。
如圖1所示,本發(fā)明的一種抗側(cè)信道攻擊的智能終端安全輸入方法,依次包括以下步驟:
(1)控制光標(biāo)運動:
用戶通過傾斜智能終端控制虛擬鍵盤上的光標(biāo)移動,檢測智能終端的方向傳感器數(shù)據(jù),然后根據(jù)方向傳感器的數(shù)據(jù)計算光標(biāo)移動方向和移動速度,并在計算過程中加入隨機參數(shù),因此即使攻擊者可以獲取方向傳感器數(shù)據(jù)也難以正確計算光標(biāo)的位置,從而極大地增加攻擊者利用相關(guān)側(cè)信道攻擊技術(shù)竊取用戶輸入內(nèi)容的難度,提高系統(tǒng)的安全性;光標(biāo)是指智能終端虛擬鍵盤上的鼠標(biāo),用戶通過傾斜設(shè)備即可控制鼠標(biāo)的移動,只要將鼠標(biāo)移動到相應(yīng)的按鍵上方,用戶通過點擊設(shè)備背面即可完成相應(yīng)鍵值的輸入;
(2)識別設(shè)備背面點擊動作:
用戶通過點擊智能終端背面來完成光標(biāo)所定位按鍵對應(yīng)鍵值的輸入,收集智能終端加速度傳感器數(shù)據(jù),經(jīng)過一定的預(yù)處理后,從加速度傳感器數(shù)據(jù)中提取有效特征,利用機器學(xué)習(xí)分類算法識別用戶對設(shè)備背面點擊動作,使得用戶無需直接接觸屏幕即可完成輸入,因此可防御基于屏幕殘留物的相關(guān)側(cè)信道攻擊。
步驟(2)中,收集用戶執(zhí)行設(shè)備背面點擊動作對應(yīng)的加速度傳感器ground-truth數(shù)據(jù)并對其進行一定的預(yù)處理操作(包括刪除輕微的不明顯的點擊動作對應(yīng)的數(shù)據(jù)以及確定合適的數(shù)據(jù)選擇窗口使得能夠正確提取點擊動作對應(yīng)的加速度傳感器數(shù)據(jù)),針對經(jīng)過預(yù)處理的加速度傳感器數(shù)據(jù),提取35種有效特征(包括平均值、中位數(shù)、標(biāo)準(zhǔn)差等)作為特征向量,利用機器學(xué)習(xí)分類算法(包括隨機森林、支持向量機、決策樹等)訓(xùn)練分類模型,最終利用該分類模型識別用戶點擊動作。
實施例1:
本實施中的抗側(cè)信道攻擊的智能終端安全輸入方法:包括以下步驟:
一、安全的光標(biāo)運動控制:
通過監(jiān)測用戶傾斜設(shè)備的角度來計算光標(biāo)的移動速度和方向,如圖2所示方向傳感器可監(jiān)測的設(shè)備繞各坐標(biāo)軸的傾角。用戶通過傾斜設(shè)備移動虛擬鍵盤上的光標(biāo)來選擇想要輸入的按鍵。傾斜力度和角度定義為:
θ=arcsin(β/m)
其中,m為控制光標(biāo)移動速度的虛擬作用力的大小,θ即控制光標(biāo)移動方向的虛擬作用力的方向,α與β即方向傳感器所記錄的設(shè)備繞x軸和y軸的傾角。
根據(jù)調(diào)查發(fā)現(xiàn),攻擊者通過安裝惡意軟件可獲取方向傳感器的數(shù)據(jù),從而計算虛擬鍵盤上光標(biāo)移動位置。因此,本發(fā)明改進傾斜力度的計算方式,并通過引入乘數(shù)l將傾斜力度的計算公式直接轉(zhuǎn)換為計算光標(biāo)移動速度的公式:
其中,l,w,e將分別從通過實驗確定的取值集合{l1,...,lm},{w1,...,wm},{e1,...,em}中隨機選擇,例如本發(fā)明中實驗結(jié)果為m=5,l∈{2,4,6,8,10},w∈{0.4,0.5,0.6,0.7,0.8},e∈{2,2.5,3,3.5,4,4.5},因此每次都計算得到新的隨機光標(biāo)移動速度。
假設(shè)i(i)表示方向傳感器第i次與前一次讀數(shù)之間的時間間隔,可計算得到基于第i次讀數(shù)的光標(biāo)的移動距離:
d(i)=m(i)*i(i)
結(jié)合傾斜角度θ,可分別得到光標(biāo)在x軸與y軸的移動距離:
dx(i)=d(i)*sinθ
dy(i)=d(i)*cosθ
通過這種改進后的計算方式,所計算出的光標(biāo)移動速度會被隨機化,因此即使攻擊者能夠獲取傳感器數(shù)據(jù),也難以基于此推測用戶的真實輸入。
二、設(shè)備背面點擊動作的識別:
收集用戶點擊設(shè)備背面產(chǎn)生的加速度傳感器數(shù)據(jù),提取特征形成特征向量,利用機器學(xué)習(xí)分類算法訓(xùn)練分類模型。
1)收集ground-truth數(shù)據(jù)
記錄智能終端在(x,y,z)坐標(biāo)軸上加速度(ax,ay,az),單位為m/s2,坐標(biāo)系統(tǒng)如圖3所示。ax=1.0表示x軸上的加速度為一個地球重力加速度(即9.8m/s2)。收集用戶點擊設(shè)備背面產(chǎn)生的加速度傳感器數(shù)據(jù),其中加速度傳感器的采樣頻率大約為100hz,即每秒采集100個數(shù)據(jù)。由于無法獲得用戶對設(shè)備背面點擊的開始和結(jié)束時刻,因此用戶點擊開始按鈕即開始采集加速度傳感器數(shù)據(jù),并且保證3秒內(nèi)點擊一下設(shè)備背面,該程序3秒后自動停止采集并存儲已采集的數(shù)據(jù)。圖4為一次設(shè)備背面點擊對應(yīng)的加速度傳感器數(shù)據(jù)。由于加速度傳感器非常敏感,在數(shù)據(jù)采集過程中很容易產(chǎn)生噪聲,例如點擊開始按鈕。因此,用戶應(yīng)保證在點擊開始按鈕后等待1秒才開始點擊動作(點擊動作通常在1秒內(nèi)完成)。最終,本實驗招募8名志愿者共采集了993次設(shè)備背面點擊動作對應(yīng)的加速度數(shù)據(jù)作為正樣本,并采集了同等數(shù)量的設(shè)備隨機晃動對應(yīng)的加速度傳感器數(shù)據(jù)作為負(fù)樣本。
2)數(shù)據(jù)預(yù)處理
為了減輕相關(guān)因素對后續(xù)實驗的影響,需要對原始數(shù)據(jù)進行預(yù)處理。首先,如圖4所示,當(dāng)用戶點擊設(shè)備背面時,設(shè)備將受到z軸方向上的作用力,設(shè)備會上下輕微浮動,因此,可以觀察到加速度傳感器數(shù)據(jù)在z軸負(fù)方向上出現(xiàn)很大的落差?;谶@個現(xiàn)象,設(shè)置一個閾值-1.2g(g為地球重力加速度),對于z軸加速度數(shù)據(jù)的絕對值小于該閾值的絕對值的樣本,視其為輕微抖動而非設(shè)備背面點擊,并將該類數(shù)據(jù)濾除。為了截取設(shè)備背面點擊動作對應(yīng)的加速度傳感器數(shù)據(jù),通過設(shè)置一個點擊數(shù)據(jù)窗口來收集最大加速度值附近的數(shù)據(jù)。
3)特征提取
針對點擊數(shù)據(jù)窗口范圍內(nèi)的數(shù)據(jù)提取35個特征,包括傳統(tǒng)特征(平均值、中位數(shù)、標(biāo)準(zhǔn)方差、眾數(shù)、變異系數(shù)、峰度、偏度以及均方根)和特殊特征(avgdeltas(逐樣本變化平均值)、rcr(過均方根率)、atm(每個樣本對應(yīng)的時刻至最大值點對應(yīng)時刻的時間間隔平均值)、actm(數(shù)據(jù)在波谷處的下降速率)、acfm(數(shù)據(jù)在波谷處的上升速率)),定義如表1所示。
表1:特殊特征列表
4)分類
基于上述所提取的特征向量,利用機器學(xué)習(xí)方法來識別用戶點擊動作。通過對比多種不同的分類算法(包括隨機森林、支持向量機、決策樹),將735個樣例作為訓(xùn)練集,剩下的226個樣例作為測試集,實驗結(jié)果表明支持向量機的實驗效果最好。因此,本實施例最終選用支持向量機算法來實現(xiàn)對設(shè)備背面點擊動作的識別。
通過上述實施例可以看出,本發(fā)明使用戶可通過結(jié)合對智能終端的傾斜操作和背面點擊操作來完成密碼等隱私信息的輸入,能夠有效防御不同類型的側(cè)信道攻擊,例如用戶在輸入時無需直接接觸屏幕,因此可防御基于屏幕殘留物的側(cè)信道攻擊。另外,本發(fā)明改進了基于方向傳感器數(shù)據(jù)的光標(biāo)移動速度的計算方式,即在計算移動速度時加入隨機參數(shù),因此即使攻擊者能夠獲取方向傳感器數(shù)據(jù)也難以正確計算得到光標(biāo)的實際位置。