防止肩窺攻擊的圖形密碼認證系統(tǒng)及方法
【專利摘要】本發(fā)明涉及一種防止肩窺攻擊的圖形密碼認證系統(tǒng)及方法,使用者可在一圖片清單中選定一圖片或自行輸入一圖片,系統(tǒng)將選定的圖片分割為M*N個的圖片方格,使用者可選擇圖片方格其中之一作為一密碼產(chǎn)生的依據(jù),該使用者欲登錄該系統(tǒng)時,該系統(tǒng)產(chǎn)生一組隨機產(chǎn)生的登錄指示,該使用者可依據(jù)該登錄指示,移動一水平軸及一垂直軸至該登錄指示所標示的位置,并確認輸入,系統(tǒng)檢驗該位置所對應的數(shù)據(jù)是否與一數(shù)據(jù)庫中所存儲的數(shù)據(jù)相同,如果相同,使用者便可登錄該系統(tǒng)。
【專利說明】防止肩窺攻擊的圖形密碼認證系統(tǒng)及方法
【技術領域】
[0001]本公開涉及一種防止肩窺攻擊的圖形密碼認證的系統(tǒng)及方法。
【背景技術】
[0002]現(xiàn)存的認證系統(tǒng)(Authentication System)的密碼是以大小寫的字母和數(shù)字的組合為主,是謂傳統(tǒng)的文字密碼。近十年網(wǎng)絡服務(Web Service)、網(wǎng)頁應用程序(Webapplication)如雨后春筍般的涌現(xiàn),為了取得相關的服務,使用者必須在個別的平臺注冊帳號及密碼,在每次進入系統(tǒng)使用服務時,輸入其所注冊的帳號與密碼,輸入正確才得以使用服務。然而,為了能快速且正確的進行認證,使用者傾向于在多個系統(tǒng)使用相同的帳號密碼,并且使用簡單的密碼(如圖1A所示),如純數(shù)字、純小寫英文單字等等,造成若密碼(Weak Password)問題,攻擊者可以通過暴力破解法(Brute Force Attack)及字典攻擊(Dictionary Attack)破解使用者密碼。
[0003]除此之外,目前認證系統(tǒng)在認證階段,是以直接敲打鍵盤輸入密碼或直接觸摸屏幕繪制圖形的方式為主,而科技的進步讓使用者可以隨時隨地以簡易型計算機(ThinClient)及移動裝置(Mobile Device)來使用云端計算(Cloud Computing)的服務,大幅增加了使用者在公共場所進行認證已取得服務的機會。當認證階段暴露在公共場所中,有心人士可以通過肩窺攻擊(Shoulder Surfing Attack)以肉眼或圖像錄制技術清楚記錄使用者認證過程,而輕松破解使用者密碼,造成使用者個人隱私及財產(chǎn)安全受到威脅。
[0004]近年來許多不同類型的認證方法陸續(xù)被提出,例如圖形認證系統(tǒng)(GraphicalAuthentication System)以及基于生物特征的認證系統(tǒng)如指紋辨識系統(tǒng)(FingerprintRecognition System)、虹膜辨識系統(tǒng)(Iris Recognition System)等等,用來解決人類對文字字串在長期記憶的不足,但由于生物特征的認證系統(tǒng)需有額外裝置的輔助,不具可攜性,因此目前認證系統(tǒng)皆以基于知識(Knowledge-based)的認證系統(tǒng)為主流;然而,這些認證系統(tǒng)多無法抵御肩窺攻擊(Shoulder Surfing Attack),只要以肉眼或圖像錄制技術就能輕易破解使用者密碼。
[0005]針對已知專利而言,例如美國專利Apparatus and Method for Inputting UserPassword所公開的技術,是基于Personal Identification Number (PIN)為登錄密碼的一種防止肩窺攻擊的方法。其使用者事先定義一數(shù)字字串作為其日后登錄的密碼,并且為每個PIN碼位定義一個顏色,例如PIN碼設定為“531”,顏色分別為黃色、咖啡色、紫色。在登錄時,系統(tǒng)顯示PIN碼輸入界面并隨機分配一個背景顏色,使用者需利用方向鍵來移動背景顏色,以本例來說,使用者需執(zhí)行右、上將黃色色塊移到數(shù)字5下方來輸入5 (參考圖1B)。由于顏色為事先定義,每次登錄時都將相同顏色移動到特定數(shù)字。
[0006]再如美國專利Graphical Image Authentication and Security System 提出之一種認證方法,其使用者于注冊階段,從至少一個類別的圖形中選擇至少一張圖作為其認證密碼,在認證階段,系統(tǒng)將隨機顯示9張圖,其中包含至少一張密碼圖,而每張圖都隨機產(chǎn)生一個識別碼,識別碼為數(shù)字或文字,使用者輸入其密碼涂上的識別碼以進行認證。如圖IC所示,如使用者密碼圖為樹及草莓,則輸入“E3”。
[0007]本公開是設計一個基于圖形密碼的認證系統(tǒng),利用一個一次性(僅有一次效力)的登錄指示來防止肩窺攻擊,有效保護使用者密碼安全。
【發(fā)明內(nèi)容】
[0008]本公開主要在于提供一種防止肩窺攻擊的圖形密碼認證的系統(tǒng)及方法,該系統(tǒng)包括:
[0009]一圖片分割模塊,用以將使用者選定的圖片分割為M*N個圖片方格,使用者可依據(jù)圖片方格內(nèi)所具有的圖形特征,選擇其中一個圖片方格作為該使用者日后登錄的密碼;
[0010]一登錄指示模塊,用以提供一組隨機產(chǎn)生的登錄指示,該登錄指示由一水平軸元件及一垂直軸元件組成;
[0011]一水平與垂直軸控制模塊,用以于該使用者進行密碼認證時提供該使用者控制一水平軸及一垂直軸,該水平軸與垂直軸分別中由M個及N個特征可相互區(qū)別的元件所組成;
[0012]一服務器溝通模塊,用以負責一服務器與其他模塊間的數(shù)據(jù)傳輸;
[0013]一密碼驗證模塊,用以驗證使用者輸入的密碼;及
[0014]一數(shù)據(jù)庫,用以存儲使用者的帳戶信息。
[0015]本公開的防止肩窺攻擊的圖形密碼認證的方法包括:
[0016]使用者于一系統(tǒng)上輸入一唯一的使用者名稱;
[0017]該使用者從一圖片清單中選定一圖片或該使用者自行從存儲介質(zhì)中上載一圖片;
[0018]系統(tǒng)將選定的圖片分割為M*N個的圖片方格;
[0019]該使用者選擇其中的一圖片方格作為一密碼產(chǎn)生的依據(jù);
[0020]將該使用者名稱、該選定的圖片及該選定的該格圖片存儲于一數(shù)據(jù)庫;
[0021]該使用者欲登錄該系統(tǒng)時,該系統(tǒng)產(chǎn)生一組隨機產(chǎn)生的登錄指示,該登錄指示由一水平軸元件及一垂直軸元件其一組成,該系統(tǒng)并產(chǎn)生一水平軸元件與一垂直軸元件,該水平軸元件與一垂直軸元件分別由M個、N個特征可相互區(qū)別的元件所組成;
[0022]該使用者依據(jù)該登錄指示,移動該水平軸及垂直軸至該登錄指示所標示的位置,并確認輸入;
[0023]系統(tǒng)檢驗該位置所對應的數(shù)據(jù)是否與一數(shù)據(jù)庫中所存儲的數(shù)據(jù)相同;及
[0024]如果相同,使用者可登錄該系統(tǒng)。
[0025]通過本公開的系統(tǒng)及方法,可有效防止肩窺攻擊(Shoulder Surfing Attack),保護使用者密碼的安全。
【專利附圖】
【附圖說明】
[0026]圖1A是傳統(tǒng)純數(shù)字及純小寫英文單字所組成的密碼的示意圖。
[0027]圖1B是一種傳統(tǒng)密碼的示意圖。
[0028]圖1C是另一種傳統(tǒng)密碼的示意圖。
[0029]圖2是依據(jù)本公開的一實施例的系統(tǒng)架構圖。[0030]圖3A是依據(jù)本公開的一實施例的使用者注冊流程步驟的示意圖。
[0031]圖3B是依據(jù)本公開的一實施例使用者取得登錄指示的示意圖。
[0032]圖4是依據(jù)本公開的一實施例將一圖片切割成圖片方格的示意圖。
[0033]圖5是依據(jù)本公開的一實施例中使用者取得登錄提示的示意圖。
[0034]圖6是依據(jù)本公開的一實施例中移動垂直軸及水平軸的示意圖。
[0035]圖7A及圖7B是依據(jù)本公開的一實施例中使用者進行認證操作的示意圖。
[0036]圖8是依據(jù)本公開的一實施例的使用者進行認證的流程步驟的示意圖。
[0037]【主要元件符號說明】
[0038]02—防止肩窺攻擊的圖形密碼認證系統(tǒng)
[0039]21—圖片分割模塊(Image Discretization Module)
[0040]22—登錄指不模塊(Login Indicator generating Module)
[0041]23—水平與垂直軸控制模塊(Horizontal and Vertical Axis Control Module)
[0042]24—服務器溝通模塊(Communication Module)
[0043]25—密碼驗證模 塊(Password Verification Module)
[0044]26—數(shù)據(jù)庫(Database)
[0045]31、32、33、34、35 -流程步驟
[0046]81、82、83、84、85、86 -流程步驟
【具體實施方式】
[0047]為使本領域技術人員能對本公開的特征及功能有更進一步的認知與了解,下文特將本公開的裝置的相關細部結構以及設計的理念原由進行說明,以使得本領域技術人員可以了解本公開的特點,詳細說明陳述如下:
[0048]圖2是依據(jù)本公開的防止肩窺攻擊的圖形密碼認證系統(tǒng)02的一實施例的系統(tǒng)架構圖,由圖2可知,該系統(tǒng)包括一圖片分割模塊(Image Discretization Module) 21>一登錄指示模塊(Login Indicator generating Module) 22、一水平與垂直軸控制模塊(Horizontal and Vertical Axis Control Module) 23、一服務器溝通模塊(CommunicationModule)24、 一密碼驗證模塊(Password Verification Module)25 及一數(shù)據(jù)庫(Database)26。
[0049]本公開的系統(tǒng)及方法于使用前,使用者必須先進行注冊,使用者注冊的執(zhí)行流程步驟如圖3所示,由圖3A可知,其步驟包括:
[0050]使用者輸入一唯一的使用者名稱(步驟31):從一圖片清單中選定一圖片或使用者自行從存儲介質(zhì)中上載一圖片(步驟32):將選定的圖片分割為M*N個的圖片方格(步驟33):選擇其中的一格圖片作為一密碼產(chǎn)生的依據(jù)(步驟34);將該使用者名稱、該選定的圖片及該選定的該圖片方格存儲于一數(shù)據(jù)庫(步驟35)。
[0051]由以上的流程可知,使用者于注冊時,可選擇一張圖(或一張以上的圖)以及圖上的一圖片方格作為其取得登錄指示的方式。如圖3B所示的實施例,使用者在注冊時,設定圖上(9,5)為取得登錄提示的位置(太太的水瓶),則根據(jù)此次登錄指示模塊以隨機排列產(chǎn)生的水平軸和垂直軸所示,所取得的登錄指示為(E,11)。
[0052]本公開的系統(tǒng)的該圖片分割模塊是將使用者選定的圖片分割為M*N的圖片方格(如圖4所示),讓使用者可以依據(jù)圖片方格內(nèi)所具有的圖形特征,來選擇其中一個圖片方格作為其日后登錄的密碼,如圖4所示,一組密碼可由一張或一張以上的圖片與其上某一方格所組成,亦即每張圖經(jīng)過圖形分割模塊切割后,使用者可選擇圖上其中一個方格作為密碼。也就是說,倘若有三張圖就選三個方格(如圖4中的圖片方格41,42及43所示)。值得注意的是,對于每張圖,系統(tǒng)所產(chǎn)生的水平垂直軸元素,位置皆為隨機擺放,以圖4為例,此一密碼共包含三張圖,密碼方格分別為(8,4)、(2,7)以及(10,7)。日后登錄時,依三張圖的實施例,其流程步驟如下,假設圖片分別為圖A、圖B、圖C,首先,系統(tǒng)隨機產(chǎn)生圖A的登錄指示,例如:C5,接著,系統(tǒng)顯示圖A,并為圖A隨機生成水平軸與垂直軸,使用者操作兩個軸,使登錄指示指向當初設定圖A的密碼方格,接著,系統(tǒng)隨機產(chǎn)生圖B的登錄指示,例如:B7,系統(tǒng)顯示圖B,并為圖B隨機生成水平軸與垂直軸,使用者操作兩個軸,使登錄指示指向當初設定圖B的密碼方格,接著,系統(tǒng)隨機產(chǎn)生圖C的登錄指示,例如:E11,系統(tǒng)顯示圖C,并為圖C隨機生成水平軸與垂直軸,最后,使用者操作兩個軸,使登錄指示指向當初設定圖C的密碼方格,使用者完全正確操作以上流程步驟,登錄才能成功。在本公開中的一實施例,一圖片可被分割成7x 11的圖片方格,M與N可依據(jù)系統(tǒng)對于安全性的考慮作調(diào)整,圖片分割得越細密,圖片方格數(shù)越多,密碼空間就越大,因此就暴力破解法的角度而言就較為安全。然而,一個過度分割的圖形將會造成使用者在屏幕小的裝置上辨識困難度提升,因此本公開建議系統(tǒng)M與N兩個數(shù)字需考慮屏幕大小而定。在本公開中的一實施例以屏幕最小的智能手機為例,將圖片的水平、垂直兩個方向每隔60 Pixels做一次切割。圖4中,圖片分割可為二維,使用者登錄時需操作水平軸及垂直軸來進行身分認證,但圖片的分割不以二維為限,圖片分割也可為一維(單一的水平軸或單一的垂直軸),例如,電子投票系統(tǒng)中,候選人不多的情況時,一個分割區(qū)塊表示一位候選人,使用單一水平軸或垂直軸,即可進行圖片區(qū)塊(候選人)選擇。
[0053]該登錄指示模塊提供一組隨機產(chǎn)生的登錄指示,登錄指示由一水平軸元件及一垂直軸元件其一組成。在本公開的一實施例中,水平軸以英文字母為元件,垂直軸以數(shù)字為元件,則登錄指示便是由一個英文字母與一個數(shù)字所組成,例如:(A,3)、(E,11)。登錄指示中的兩個元件皆為隨機產(chǎn)生,也就是說使用者每次取得的登錄指示都不同。使用者可以各種不同的方式來取得此組登錄指示,各種方式皆不在此限,例如:使用耳機聽取指示或?qū)问质终乒捌鸪烧趽鯛?,以手掌?cè)邊觸摸屏幕時,屏幕顯現(xiàn)登錄指示,當手提起時立即消失,其示意圖如圖5所示。
[0054]該水平與垂直軸控制模塊于使用者進行密碼認證時使用,提供功能函數(shù)讓使用者控制水平軸及垂直軸。水平軸與垂直軸分別中由M個及N個特征明顯可相互區(qū)別的元件所組成,在本公開的一實施例中,水平軸以英文字為元件,而垂直軸以數(shù)字為元件。每次產(chǎn)生的水平垂直軸,其上頭元件皆重新隨機排序,并且兩軸整條皆可以循環(huán)的方式卷動,如圖6中所示,當垂直軸的(a)列往上位移3單位,原先位于最頂端的10就如同輪胎滾動般地從卷軸下方出現(xiàn)然后往上,如圖6的(b)列所示,此二軸用于指出使用者所選的方格位置。
[0055]該服務器溝通模塊用以負責一服務器與其他模塊間的數(shù)據(jù)傳輸,包括使用者端向服務器取得使用者注冊時所設定的圖片及其密碼方格等數(shù)據(jù)。任何數(shù)據(jù)的傳輸通訊皆由SSL (Secure Socket Layer)協(xié)議所保護,因此所傳遞的信息不會被惡意第三方所監(jiān)聽或提取。[0056]該密碼驗證模塊用于使用者認證的最后階段,用以驗證使用者輸入的密碼(包括間接告知系統(tǒng)的輸入方式)。使用者注冊時所設定的每一張圖及其密碼方格都必須正確輸入,使用者才得以認證成功而進入系統(tǒng)使用服務。例如使用者注冊時設定了一張圖(如圖7A所示),而其密碼方格位置為(5,10),當取得的第一個登錄指示為(E,ll)時,使用者須將水平軸的〃E〃移至第5列,垂直軸的"11〃移至第10行,此使用者才會驗證通過。
[0057]該密碼驗證模塊的執(zhí)行流程步驟如圖8所示,由圖8可知,其步驟包括:
[0058]使用者輸入使用者名稱(步驟81):系統(tǒng)產(chǎn)生及顯示登錄指示(步驟82);系統(tǒng)產(chǎn)生及顯示一組具英文字母或數(shù)字標示的水平軸元件及垂直軸元件,該登錄指示由一個英文字母與一個數(shù)字所組成(步驟83);使用者移動該水平軸元件及垂直軸元件至該登錄指示所標示的位置,并確認輸入(步驟84);系統(tǒng)檢驗該位置所對應的數(shù)據(jù)是否與一數(shù)據(jù)庫中所存儲的數(shù)據(jù)相同(步驟85);如果相同,使用者可登錄該系統(tǒng)(步驟86)。
[0059]該數(shù)據(jù)庫用以存儲了使用者的帳戶信息如使用者名稱、使用者密碼所使用的數(shù)據(jù)(如所選擇的圖片編號,及該張圖的方格位置),注冊時間、每一次的登錄紀錄,及每次都入所花費的時間等等。提供系統(tǒng)進行新增、刪除,以及搜尋數(shù)據(jù)的功能。
[0060]本公開可應用于不同的平臺,如果本公開應用于網(wǎng)頁應用程序(WebApplication),則可以用相關網(wǎng)頁技術包含版面設計語言HTML、CSS,方便客戶端元件以非同步的方式與服務器端溝通的技術如Ajax (Javascript+XML),以及數(shù)據(jù)庫處理語言PHP、MySQL,這些技術來實作的;如果本公開應用于Android OS上開發(fā)的App,則可使用Java及Android API,搭配數(shù)據(jù)庫語言來實作。
[0061]然而以上所述者,僅為本公開的示范實施例,當不能以之限定本公開所實施的范圍。即大凡依本公開申請專利范圍所作的均等變化與修飾,皆應仍屬于本公開專利涵蓋的范圍內(nèi)。
【權利要求】
1.一種防止肩窺攻擊的圖形密碼認證系統(tǒng),其包括: 一圖片分割模塊,用以將一使用者選定的圖片分割為M*N個圖片方格,該使用者可依據(jù)圖片方格內(nèi)所具有的圖形特征,選擇其中一個圖片方格作為該使用者日后登錄的密碼;一登錄指示模塊,用以提供一組隨機產(chǎn)生的登錄指示,該登錄指示由一水平軸元件及一垂直軸元件組成; 一水平與垂直軸控制模塊,用以于該使用者進行密碼認證時提供該使用者控制一水平軸及一垂直軸,該水平軸與垂直軸分別中由M個及N個特征可相互區(qū)別的元件所組成;一服務器溝通模塊,用以負責一服務器與其他模塊間的數(shù)據(jù)傳輸; 一密碼驗證模塊,用以驗證該使用者輸入的該密碼 '及 一數(shù)據(jù)庫,用以存儲該使用者的一帳戶信息。
2.如權利要求1所述的系統(tǒng),其中,該使用者選定的圖片個數(shù)可為多個。
3.如權利要求1所述的系統(tǒng),其中,該水平軸元件可為英文字母、數(shù)字、顏色或圖示,該垂直軸元件可為英文字母、數(shù)字、顏色或圖示。
4.如權利要求1所述的系統(tǒng),其中,該圖片可分割為二維的圖片方格,即具一水平軸及一垂直軸,該圖片也可分割為一維的圖片方格,即具一水平軸或一垂直軸。
5.如權利要求1所述的系統(tǒng),其中,該登錄指示中的兩個元件皆為隨機產(chǎn)生,該使用者可以耳機聽取該指示或?qū)问质终乒捌鸪烧趽鯛睿允终苽?cè)邊觸摸一手機或一計算機屏幕以屏幕顯現(xiàn)該登錄指示,當手提起離開該屏幕時,該登錄指示立即消失。
6.如權利要求1所述的系統(tǒng),其中,該密碼驗證模塊驗證密碼的流程步驟包括: 一使用者欲登錄一系統(tǒng),該·系統(tǒng)產(chǎn)生及顯示登錄指示; 該系統(tǒng)產(chǎn)生及顯示一組具英文字母或數(shù)字標示的水平軸元件及垂直軸元件,該登錄指示由一個英文字母與一個數(shù)字所組成; 該系統(tǒng)產(chǎn)生一水平軸及一垂直軸,該使用者依據(jù)該登錄指示,移動該水平軸及垂直軸至該登錄指示所標示的位置,并確認輸入; 系統(tǒng)檢驗該位置所對應的數(shù)據(jù)是否與一數(shù)據(jù)庫中所存儲的數(shù)據(jù)相同;及 如果相同,該使用者可登錄該系統(tǒng)。
7.如權利要求1所述的系統(tǒng),其中,該使用者的帳戶信息可包括該使用者名稱、該使用者密碼所使用的數(shù)據(jù)包括所選擇的圖片編號、該張圖的方格位置,及該使用者注冊時間。
8.如權利要求1所述的系統(tǒng),其中,該系統(tǒng)可使用于一手機或一計算機。
9.一種防止肩窺攻擊的圖形密碼認證方法,其包括以下的流程步驟: 一使用者從一圖片清單中選定一圖片或該使用者自行從存儲介質(zhì)中上載一圖片; 系統(tǒng)將選定的圖片分割為M*N個的圖片方格; 該使用者選擇其中的一圖片方格作為一密碼產(chǎn)生的依據(jù); 將該使用者名稱、該選定的圖片及該選定的該格圖片存儲于一數(shù)據(jù)庫; 該使用者欲登錄該系統(tǒng)時,該系統(tǒng)產(chǎn)生一組隨機產(chǎn)生的登錄指示,該登錄指示由一水平軸元件及一垂直軸元件其一組成,該系統(tǒng)并產(chǎn)生一水平軸元件與一垂直軸元件,該水平軸元件與一垂直軸元件分別由M個、N個特征可相互區(qū)別的元件所組成; 該使用者依據(jù)該登錄指示,移動該水平軸及垂直軸至該登錄指示所標示的位置,并確認輸入;系統(tǒng)檢驗該位置所對應的數(shù)據(jù)是否與一數(shù)據(jù)庫中所存儲的數(shù)據(jù)相同;及 如果相同,使用者可登錄該系統(tǒng)。
10.如權利要求9所述的方法,其中,該使用者選定的圖片個數(shù)可為多個。
11.如權利要求9所述的方法,其中,該水平軸元件可為英文字母、數(shù)字、顏色或圖示,該垂直軸元件可為英文字母、數(shù)字、顏色或圖示。
12.如權利要求9所述的方法,其中,該圖片可分割為二維的圖片方格,即具一水平軸及一垂直軸,該圖片也可分割為一維的圖片方格,即具一水平軸或一垂直軸。
13.如權利要求9所述的方法,其中,該登錄指示中的兩個元件皆為隨機產(chǎn)生,該使用者可以耳機聽取該指示或?qū)问质终乒捌鸪烧趽鯛?,以手掌?cè)邊觸摸一手機或一計算機屏幕以屏幕顯現(xiàn)該登錄指示,當手提起離開該屏幕時,該登錄指示立即消失。
14.如權利要求9所述的方法,其中,該使用者的帳戶信息可包括該使用者名稱、該使用者密碼所使用的數(shù)據(jù)包括所選擇的圖片編號、該張圖的方格位置,及該使用者注冊時間。
15.如權利要求9所述的方法,其中,該系統(tǒng)可使用于一手機或一計算機。
【文檔編號】H04L9/32GK103595531SQ201210367885
【公開日】2014年2月19日 申請日期:2012年9月28日 優(yōu)先權日:2012年8月17日
【發(fā)明者】孫宏民, 鄭佳蕓 申請人:財團法人工業(yè)技術研究院