Please enable JavaScript.
Coggle requires JavaScript to display documents.
HandiText Handwriting Recognition Based on Dynamic Characteristics with…
HandiText Handwriting Recognition Based on Dynamic Characteristics with Incremental LSTM
大綱
為了確保有關IoT設備的數據的可信度,身份驗證已逐漸成為IoT生態系統中的重要研究主題
身分驗證的方式
傳統
圖形密碼
缺點:用戶嚴重的內存負擔
文本密碼
針對手機等移動終端設備
輸入文本密碼
密碼重用度很高
還不能抵抗多種攻擊,例如暴力破解攻擊,隨機猜測攻擊[8],字典攻擊[33],肩膀衝浪攻擊[18、20],污跡攻擊[17、28],錄製屏幕攻擊
圖像密碼
本論文
基於行為和生物識別特徵提出了一種名為HandiText的手寫識別認證方案
方式
HandiText會在書寫過程中捕獲其靜態生物學特徵和動態行為特徵(書寫速度,壓力等)
優點
這些功能與習慣有關,這使攻擊者難以模仿
採用長短期記憶具有最高的分類準確率
同時保持較低的假陽性率和假陰性率
具有很強的泛化能力
介紹
IOT
到2020年,物聯網設備的數量將達到260億個
如何保護這些設備的隱私得到越來越多的關注
因此身份驗證成為IoT生態系統中的一個非常重要的問題
目前有的技術
輸入密碼
優
很方便
缺
攻擊者很容易偷窺以獲取密碼
生物辨識
臉部
優
可在一定程度上確保安全性
缺
識別設備的成本很高
在活體偵測中仍然存在一些困難
可以通過3D影印技術來破解[14]
指紋
HandiText
基於生物學的靜態和動態特徵
寫作過程中收集人的壓力,速度和其他特徵,使用機器學習算法來訓練數據,並對用戶的登錄身份驗證數據進行分類以完成身份驗證
LSTM可以 以較低的假陽性率和假陰性率達到99%的最佳準確度,並且模型的訓練時間也很短,這使它更易於使用
限制了收集用戶編寫數據的時間, 這使得攻擊者難以進行模擬登錄操作,這比傳統解決方案更安全
還對其他數據集進行了測試,例如MNIST [6],IAM [3,21]和CASIA [19,25],平均準確度超過98%,並且假陽性率低且假錯誤率低。 負利率; 證明了我們的方案具有很強的泛化能力
貢獻
建立了一個中文動態手寫數據集
包括壓力和速度等動態行為特徵
與離線數據庫相比增加了在線特徵,使數據特徵更加豐富
基於生物學的靜態和動態特徵,我們提出了一個名為HandiText的登錄身份驗證方案
由於其在線和動態功能,它具有更多的優勢
由於其動態特性,攻擊者很難模仿,因此HandiText可以抵抗肩膀衝浪攻擊,污跡攻擊和屏幕錄製攻擊
通過與LSTM,SVM,KNN,LR和其他算法進行比較
發現LSTM的假陽性率和假陰性率較低,準確率高達99%,並且身份識別時間與TouchID和FaceID相似
HandiText還對其他數據集進行了測試
平均準確性超過98%,這證明了我們的可用性 方案
相關工作
虹膜辨識
虹膜包含許多交錯的斑點,細絲,日冕,條紋,凹陷和其他細節,這些決定了虹膜的獨特性。 虹膜識別通常用於高度安全的位置,例如銀行,金庫等。 一些對安全性要求很高的物聯網設備也具有虹膜識別功能,例如智能鎖
因為大多數硬件都使用虹膜識別[1],所以根本沒有進行活動檢測,並且可以繞過某些活動,因此人們可以通過模仿其他人來進行身份驗證,故漸漸被棄用
通過設備上的LED燈將紅外光照射到眼睛上,然後通過紅外攝像頭捕獲虹膜圖像來進行的,然後紅外攝像頭使用算法進行定位和預處理。 像指紋識別一樣,最後一步是規範化,關鍵點提取以及與數據庫信息的比較
指紋識別
近年來,它已應用於移動設備解鎖[11],例如手機屏幕解鎖,移動支付,計算機屏幕解鎖等。 由於大多數物聯網設備當前受手機應用程序控制,因此指紋識別的安全性不可低估。 儘管指紋識別既方便又易於使用,但由於其不變形和靜態特性,它是最容易破解的身份驗證形式。 例如,指紋識別很容易通過3D打印和指紋膜破裂,從而對用戶的財產構成威脅,因此,指紋識別不再安全
人臉識別
人臉識別也越來越廣泛地被使用,例如手機[23],智能鎖等。 人臉識別與其他生物特徵之間的區別在於,人臉識別主要使用活體檢測,但也可以通過將人們的靜態照片與某些圖像處理技術和動態合成技術結合使用來成功地進行識別。
到2019年初,NVIDIA使用GAN [95]破解了面部識別,成功率達95%。 在2019年的黑帽大會上,騰訊發明了一副眼鏡,該眼鏡可以通過破壞人臉識別中的活動檢測來破壞人臉識別[2]。 因此,現有的基於生物學特徵的登錄認證方案不再安全。 人們需要新的,方便且安全的登錄身份驗證方案。
手寫識別
現有的大多數手寫識別和認證系統主要使用英語
根據 [4]的研究,中文和英文等語言結構差異很大,例如,書寫中文的筆劃較英文多,但兩種語言的手寫特徵的特徵體系相似,也就是說,語言書寫結構的特徵很少對分類結果的造成影響。 另有[16]研究表明,儘管由於中文本身的複雜性,中文手寫比英文複雜,但中英文手寫識別之間並沒有本質上的區別。 因此,在本文中,我們的研究對像是中文
方法
多點觸摸
優
結合生物特徵和行為特徵,使用機器學習算法,識別的準確性非常高
缺
在小電話屏幕上執行該方法並不容易。 有些屏幕不夠大,無法容納四個手指。 因此這對用戶的行為不友好。 為了解決該問題,用戶必須使用三個或更少的手指在屏幕上滑動。 在這種情況下,錯誤率將從2%增加到7.7%,因為生物特徵的數量減少了
基於生物特徵和行為特徵的混合。 它收集用戶的手部幾何形狀,包括手的大小和手指之間的間距,以及用戶滑動手指的習慣,包括速度,壓力和角度。
Humm’s Scheme[13]
優
可以在不增加訪問時間的情況下使身份驗證結果更加準確
缺
在使用麥克風的過程中,對硬件設備有一定的要求,可能給用戶帶來不便
同時收集在線筆記和語音的新方法, 它只需要用戶指出他們在寫什麼
TextCaps
建議通過算法轉換只能使用200個數據量來生成更多數據。 這些數據具有一定的模糊性,但是由於數據量和訓練集的增加,可以提高分類的準確性
HandiText
設計目標
設計一種具有高速,高安全性和良好可用性的身份驗證方案
快速
當出現新數據時,該算法不應花費太長時間來訓練新數據,以確保用戶無需等待太長時間即可進行身份驗證過程
高安全性
需要認證的地方通常會保護用戶的隱私或財產,因此需要很高的安全性,以確保認證的秘密密鑰不容易被攻擊者破解。 在該方案中,要求算法具有較高的精度,並且假陽性率或假陰性率也應保持在較低的值。
良好的可用性
對於傳統的身份驗證,用戶通常需要記住由數字,字母和符號組成的高強度文本密碼,這對於用戶的存儲也是一個挑戰。 並且隨著密碼重用時間的增加,它的安全性也難以保證,因此我們需要一種身份驗證方案,使用戶可以輕鬆地操作而又不需要太多的內存
實作
模組
訓練模組
當用戶註冊時,數據將存儲在數據庫中,並且訓練模組可以從數據庫中獲取數據。 第一步是過濾數據,在刪除錯誤數據的同時對數據進行正規化。 數據過濾後,將對數據進行訓練,最後會輸出一個新的訓練模型
為了提高分類的準確性,我們採用了增量算法。 每次用戶完成身份驗證時,都會生成新數據並將其存儲在數據庫中。 當新數據達到一定數量時,我們將重新訓練新數據以提高算法的準確性
分類模組
當用戶進行身份驗證時,他或她需要輸入用戶的秘密密鑰,即用戶的手寫數據
該數據作為分類模塊的輸入,並根據訓練模塊訓練的模型進行分類,分類結果由後端發送回前端。 由於這是單一分類,因此後端結果僅需要確定數據是否為用戶的正確密鑰
資料與特徵
傳統手寫驗證可以離線顯示,只要用戶的筆跡足夠相似,攻擊者就可以模擬用戶進行身份驗證
因此,從時間的角度出發,我們採用在線機制來收集寫作過程中行為特徵的動態變化,以確保攻擊者難以模仿普通用戶的寫作過程,從而使他們無法假裝。 成為普通用戶進行認證,大大提高了手寫認證的安全性
時間
手寫是一個連續的過程,因此某一時刻的狀態與上一時刻和下一時刻的狀態高度相關,因此很自然地收集時間序列數據作為數據集。 在3 秒內,每20 ms捕獲一個固定的時間點,並記錄這些時間點的訊息以大致代表整個手寫過程。 如果數據超過3 s,則將超過的部份刪除;如果數據不足3 s,則將使用最後一個有效數據補齊到3秒。 當最後一次有效的數據完成發生時,可以證明用戶的簽名時間少於3秒。 由於同一用戶寫相同的單詞,因此花費的時間應該相似,並且該用戶的實際手寫時間也可以當作一個特徵
相對位置
我們將第一個記錄的觸摸點定義為坐標的原點,因此以下所有點的位置都可以視為第一個點的相對位置
我們使用X和Y坐標表示每個點的位置。 知道了坐標和間隔,我們可以算出任意兩個點之間的平均線速度。 如圖2所示,我們記錄了點A,B和C的位置坐標,可以得出向量BC = AC − AB. 同時,點B和C之間的間隔為20 ms。 我們可以得到從B點到C點的線速度ν和角速度ω
壓力值
我們捕獲每個點的壓力值,例如,我們記錄了B點和C點的壓力值,而不是B點到C點的平均壓力值
記錄用戶在手寫過程中使用的壓力,並將其轉換為介於0和1之間的數值。如果用戶的手機不支持壓力監測,則壓力值都為0。在數據處理過程中,我們可以獲得平均壓力值,記錄中的最大壓力值,整個記錄過程中的最小壓力值以及每個記錄點的壓力值可以通過與時間點組合來獲得
每個點都包含三個數值:XY坐標和壓力值,並且數據的順序形式也隱含了時間和速度信息,這些信息並不能直接體現出來,總共,在一個筆跡中,每個時間點有3個特徵,而點數是150(3s=3000ms,3000/20 = 150)。這意味著一個筆跡總共具有450個特徵。 像正常的順序數據一樣,每個點都相對於相鄰點,因此應將數據系列作為一個整體,如表1所示
RNN演算法
LSTM
原因
我們擁有的數據是有時間性的
數據相對於其相鄰數據的距離要遠於與之相鄰的數據,因此,要忘記較早的數據,最好使用帶有遺忘門的LSTM
LSTM具有三個控制閥門,一個輸入閥門,一個輸出閥門和一個遺忘閥門,以保護和控制單元狀態
設A為初始訓練樣本集,B為增量集,AT為分類器T1的輸出,Berr為測試誤差集,Bcor r為測試正確集。 我們首先用初始訓練樣本集A訓練分類器T1,然後根據分類器T1驗證B,將B分為測試誤差集Berr和測試正確集Bcor r。 如果為Berr∅,則將AT和Berr的並集作為新的訓練集並獲得T2。 對於A,將Asv和Bcor r的剩餘樣本的並集作為T2分類器的增量樣本集B刪除。 令B = B,並重複前面的步驟。 如果Berr =∅,則重複結束。 該算法的輸出是最終的訓練分類器。
使用過程
註冊階段
如圖3(a)所示,用戶輸入用戶名和手機號碼後,點擊“註冊”進入註冊階段。 在註冊階段,用戶需要多次寫入某個單詞以完成註冊,如圖3(b)所示
認證階段
如圖3(a)所示,輸入用戶名和手機號碼後,用戶單擊“認證”進入認證階段。 在認證階段,用戶需要在註冊階段手工輸入單詞,系統將返回結果,提示用戶認證成功或失敗,如圖3(c)所示
不同演算法的比較
實驗準備
市場調查
我們需要收集的功能包括手寫過程中每時每刻用戶的壓力,因此我們需要調查市場上的手機是否可以收集壓力
2016年以後生產的手機可以支持壓力感應屏幕
實驗設置
實施該方案時我們封裝模組,因此我們可以試驗不同的算法,並比較它們的準確性,假陽性率,假陰性率。 我們的算法都在相同的環境中進行了測試,以確保在相同的環境下進行最準確的安全性比較
數據集
為了方便收集訓練數據,作者設計了一個基於Android和iOS的APP。 該APP要求用戶輸入用戶名和電話號碼,然後根據第3.2.2節中的功能將其筆跡垂直轉換為“ .csv”文件,並將其轉換為數字到數據庫
可以通過用戶的使用來擴展此數據集,這有助於我們逐步訓練模型,提高系統識別的準確性並提高泛化性能,因為數據涉及用戶隱私問題,因此作者不公開
參加者
隨機抽取500人,每個人至少完成10個完整的單詞編寫程序,因此至少生成了5,000條數據,但是,由於某些手機不支持壓敏屏幕和其他原因,最終的有效數據為2,490
HandiText分別針對每個用戶進行培訓。 因此,在進行二進制分類訓練時,將該用戶的數據標記為1,將其他用戶的數據標記為0
評估
Table2 3
實驗實施與結果分析
檢查了數據集,發現XY坐標的值遠高於壓力值,並且在一些資料中,150個壓力值是相同的。 通過檢查APP的源代碼,我們發現某些智能手機沒有壓力支持。 為了使分類更加準確,我們刪除了具有相同壓力值的數據。
當使用越來越多的人並生成越來越多的數據記錄時,這意味著越來越多的數據被標記為0,從而在正樣本和負樣本之間存在不平衡。 為了平衡樣本,我們將正樣本與負樣本的比率定義為1:4,這也是通過我們的實驗獲得的最佳比率
我們選擇相同用戶A的樣本作為正樣本,並隨機選擇其餘用戶的樣本作為負樣本。 經過數據清理和規範化後,我們選擇151個樣本,其中30個由用戶A編寫,被視為正樣本並標記為1,其餘樣本由其他用戶編寫,被視為負樣本並標記為 0。然後,我們將數據集隨機分為一個訓練數據集(包含113個樣本)和一個測試數據集(包含38個樣本)。
分別使用KNN,SVM,LR,LSTM,RNN,GRU和HMM並將訓練數據集輸入這些模型,並使用測試數據集測試其性能。 測試結果顯示在表2和圖4中。這僅是在比較算法中使用的數據,而不是實際使用的樣本數據。
為了提高數據的訓練時間和算法的分類精度,LSTM與增量學習相結合在實驗中取得了良好的效果。 如表3所示,在執行增量LSTM學習之後,諸如準確性和F分數之類的綜合評估表明,增量學習確實可以縮短訓練時間並提高分類準確性。 HandiText的準確性從99.06%提高到99.37%,訓練模型的時間從73s減少到54s,繼續進行增量學習後,準確性仍將提高,訓練時間將減少,這將有助於 提高HandiText的性能並增強其泛化能力。
表4是LSTM算法的詳細測試信息,包括學習率,神經元數量,迭代次數和每個實驗的損失函數。 也可以看出,在保證準確性的前提下,每次培訓都不會花費太長時間; 即,在每次註冊之後,用戶不必等待太長時間即可執行認證操作。
泛化能力測試
測試結果如表5
手寫文本的性能評估
大多數物聯網設備都可以通過移動應用程序進行訪問和控制,因此移動身份驗證也至關重要
通過實驗比較以下指標,以基於用戶行為和生物特徵評估手寫身份驗證方案(HandiText)的實際性能
新用戶和有經驗的用戶向系統註冊並進行身份驗證的時間token
需要所有參與者進行註冊和身份驗證,然後計算最終的身份驗證成功率
用戶在不同情況下的可用性偏好(usability preferences)
一個人模仿另一個人的筆跡進行身份驗證,併計算其成功率
實驗
參加者
324位
每位參與者都使用自己的帳戶進行了10次身份驗證
每個參與者將根據用戶手冊進行註冊和認證
實驗研究
設計調查表並將其分發給每個參與者,以收集該軟件無法輕鬆衡量的數據,例如用戶的偏好
您的手機是否支持壓力感應?
您願意在電話上使用手寫識別嗎?
您願意在計算機上使用手寫識別嗎?
您願意在智能鎖上使用手寫識別嗎?
您願意在零用錢罐上使用手寫識別嗎?
實驗結果與分析
主要從用戶註冊和身份驗證的成功身份驗證率和時間,用戶使用的設備,使用偏好和模擬身份驗證成功率來分析該方案的實際性能
成功認證比率
324位參與者被要求註冊和認證。 每個人都需要進行五次身份驗證操作,我們計算了最終成功或失敗的人數。 如果身份驗證操作每5次失敗一次,則將參與者視為身份驗證失敗。 如表6所示,共有324個參與者進行了342·5 = 1,620個認證,成功認證率為100%
時間
我們記錄了註冊和身份驗證階段參與者的時間成本。 如圖5(a)所示,新用戶和有經驗的用戶的註冊時間與身份驗證時間之間沒有太大差異。 前四次的平均註冊時間為33.4309s,第五次和第五次之後的平均註冊時間為27.8102s,前四次的平均認證時間為4.8779s,第五次和第五次的平均認證時間 第五個之後是1.4094 s。 隨後的註冊和身份驗證時間保持穩定,如圖5(a)所示。
設備
由於用戶使用的設備的屏幕是否包含壓力測試可能會影響我們的實驗結果,因此我們沒有刻意規定使用用戶的手機品牌和型號。 實驗結束後,我們對用戶的手機是否支持壓力感應進行了調查,結果如圖5(b)所示
參與者的手機中,有76.8519%支持壓力收集,但有23.1481%的人不支持壓力收集。 經過進一步調查,我們發現這些參與者的手機型號均在2016年之前發布。我們相信,隨著時間的流逝,這種情況會有所改善。 另外,根據用戶的反饋結果,可以忽略手機是否支持壓力採集的影響。
偏好
我們還對用戶的使用偏好進行了調查。我們建立了幾種不同的方案,以調查用戶是否願意將基於行為的生物識別手寫身份驗證方案應用於這些方案。 結果示於圖5(b)
對於手機和計算機等個人數位產品,超過一半的參與者選擇了此方案。 對於智能鎖,一些參與者擁有智能住宅,可以保護住宅中的財產。 因此,超過一半的參與者選擇了此選項。 為了獲得零用錢,大多數參與者選擇使用此方案。 因此,對於安全性要求較高的場所,用戶具有很強的安全感
模擬成功認證率
招募來模仿一個人的筆跡並嘗試進行身份驗證的324位參與者中選擇了20位參與者,結果如表6所示(Imitation Situation)
與其他研究比較
Table7
未來工作與結論
未來的工作
我們將專注於提高HandiText的安全性。 即使HandiText的準確性現在很高,達到99.06%,我們也可以從功能的複雜性入手,並使用更多功能使HandiText更安全,例如用戶舉手時的手勢。 在確保HandiText的安全性的同時,我們還將提高系統性能,例如減少模型訓練時間。 我們可以改進算法,以減少模型訓練的時間,提高準確性,並同時提高泛化能力
結論
在本文中,我們基於行為和生物識別特徵提出了一種名為HandiText的手寫識別身份驗證方案。 當人們用手書寫一個單詞時,HandiText會在書寫過程中捕獲其靜態生物學特徵和動態行為特徵,例如速度和壓力。 即使攻擊者通過用戶的獨特動態特徵和諸如速度和壓力之類的書寫時間的限制,也通過肩膀衝浪攻擊,污跡攻擊或屏幕錄製攻擊獲得了用戶寫的特定單詞。 如果在3 s內寫入不同的筆跡,則筆跡更難被攻擊者模仿。 因此,HandiText可以抵抗肩膀衝浪攻擊,污跡攻擊和屏幕錄製攻擊。 實驗結果還表明,HandiText比傳統解決方案更安全,並且具有良好的可用性。 因此,它可以更好地保證物聯網設備中數據的安全性。