楊硯冰
摘要:根據(jù)現(xiàn)有鎖屏密碼中圖形密碼類的特點(diǎn),針對圖形密碼不同圖案和不同規(guī)則進(jìn)行研究,利用人工計算、編程計算和幾何計算等方式,在密碼圖案和密碼規(guī)則兩方面設(shè)計了多類不同的密碼。通過對這些密碼的比較和計算,對密碼安全性和實用性進(jìn)行研究,得到安全性和實用性的定量評價,并和其他類型的密碼進(jìn)行了比較,得出在不同圖形的密碼中,結(jié)合圖案的形狀和占據(jù)屏幕空間的面積,“3*3式密碼”“八邊形式密碼”“正三角形式密碼”三種密碼安全性和實用度較強(qiáng);在不同規(guī)則的密碼中,“類棒圖式密碼”的安全性和實用性要高于“多用點(diǎn)式密碼”;當(dāng)包含的元素個數(shù)相同時,數(shù)字密碼的安全性要普遍高于圖形密碼。
關(guān)鍵詞:手機(jī)鎖屏;密碼圖案;密碼規(guī)則;安全性;實用性
中圖分類號:TP311? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ? ? 文章編號:1009-3044(2018)36-0024-04
Abstract:According to the characteristics of graphic cipher class in the existing lock screen password, research on different patterns and different rules of graphic password, by means of manual calculation, programming calculation and geometric calculation, several different kinds of passwords are designed in two aspects: password pattern and password rule, through the comparison and discussion of these kinds of passwords,research on the security and practicability of cryptography, quantitative evaluation of safety and practicability is obtained and compared with other types of passwords, while the shape of the pattern and the area occupied by the screen space are encoded in the passwords of different figures, it is concluded that three kinds of passwords, 3*3 code, eight side form code and positive triangle form password, are more secure and practical;in different rules of passwords, The security and practicability of ‘rod like schema cryptography is higher than ‘multi use point cipher; when the number of elements is the same, the security of digital cryptography is generally higher than that of graphical cryptography.
Key words:mobile telephone screen locking, password graph; password rule, security, practicability
在當(dāng)今信息社會,手機(jī)常會存儲重要或私密的信息。由于對信息安全及個人隱私的重視,手機(jī)屏幕上的密碼鎖被設(shè)計出來[1]。這其中,Android設(shè)計的九點(diǎn)圖形密碼是最普遍的一種密碼形式。九點(diǎn)圖形密碼不僅用于手機(jī)屏保,還被應(yīng)用于其他密保中,如騰訊QQ??紤]到手機(jī)中信息被獲取而產(chǎn)生的風(fēng)險,對以下問題進(jìn)行研究已變得十分必要:當(dāng)作為圖形密碼時,是否存在比3*3正方形這一圖形安全性和實用性更高的圖形,是否存在比連線規(guī)則更好的規(guī)則使密碼安全性更好,實用性更高,圖形密碼與傳統(tǒng)的數(shù)字密碼相比,哪一種安全性系數(shù)更高。為提高圖形密碼安全性,應(yīng)從其圖案和規(guī)則入手進(jìn)行設(shè)計,本文正是研究了圖形密碼的圖案、規(guī)則與安全性之間的關(guān)系[2][3]。
1 問題描述
目前的圖形密碼,組成圖形均為3*3的正方形(下文稱“3*3式”),在密碼的規(guī)則上,也均為在3*3圖形中九個點(diǎn)之間相互連線。此種圖形密碼所包含的元素點(diǎn)僅9個,規(guī)則也較單一,轉(zhuǎn)換成的密文過于簡易,被密鑰解析法破解時所用時間也較短。另外,圖形密碼目前為止只有3*3式應(yīng)用較廣,其余的圖形幾乎沒有被嘗試。除數(shù)字密碼和3*3式圖形密碼安全性的比較以外,將3*3式與其他圖案在安全性上相比較也是必要的?;谏鲜隹紤],研究以下問題:
1) 哪一種圖形密碼最安全;2)圖形密碼與傳統(tǒng)的六位數(shù)字密碼,哪一個更安全;3)改變構(gòu)造圖案的規(guī)則,密碼的安全程度會有哪些改變。
2 理論分析
2.1 密碼安全性
鎖屏密碼的安全性是指密碼的有效程度,即密碼防止被破譯的程度。密碼的破譯方法主要有窮舉攻擊法、統(tǒng)計分析法和數(shù)學(xué)分析攻擊法。密碼的破譯方法不是本文研究重點(diǎn),為支持此論文開展研究,此論文只涉及第一種破譯方法。針對窮舉破譯方法,密碼的安全性則體現(xiàn)在密碼被嘗試出的概率。換言之,一個密碼鎖所擁有密碼的組合越多,其安全性便越高[4]。因此,本文研究的一個重點(diǎn)是分析與計算各式圖形密碼鎖的圖案數(shù)量。
2.2 密碼圖案
如果為增加安全性而直接增多圖形的行數(shù)或列數(shù),如將3*3的九宮格改為3*4或4*3的矩陣,其密碼組合個數(shù)雖然增加,但所占屏幕的空間會大幅增加,壓縮圖形又會使圖形中的點(diǎn)過于密集而不便操作。因此應(yīng)該從占據(jù)空間與3*3式密碼相近,但形狀不同的圖案入手。基于此,設(shè)計了以下幾種圖形密碼:八邊形式圖形密碼、正三角形式圖形密碼、等腰直角三角形式圖形密碼、弦圖式圖形密碼。
2.2.1 八邊形式圖形密碼
八邊形式圖形密碼是所用密碼點(diǎn)的個數(shù)較少的一種。若圖形是正八邊形且圖形中的點(diǎn)均取在端點(diǎn)上,則此圖中有八個點(diǎn),考慮到安全性略不足,在八邊形的幾何中心加入第九個點(diǎn)會使圖形的安全性大大提升,如圖1。此種圖形密碼包含點(diǎn)的數(shù)量便與3*3相等,點(diǎn)數(shù)較少,編程也較為簡便。此種密碼如點(diǎn)的半徑與兩點(diǎn)之間的距離均與3*3式相等,其占據(jù)的屏幕空間也比后者小。
2.2.2 正三角形式圖形密碼
正三角形式圖形密碼共有九個點(diǎn)。在其中加入一個點(diǎn),既不會增加屏幕空間,又不會使密碼操作不便,較3*3式及上述八邊形式圖形密碼點(diǎn)數(shù)更多,理論上安全性會更高。正三角形式圖形密碼如圖2。
2.2.3 等腰直角三角形式圖形密碼
以上兩種密碼中的點(diǎn)都較為集中,不適合在扁平的屏幕上作鎖屏密碼。針對上述問題,設(shè)計了從第一行到第三行分別為1-3-5個點(diǎn)且排布對稱均勻的等腰直角三角形式圖形密碼,如圖3。
2.2.4 弦圖式圖形密碼
弦圖式圖形密碼是本文的一個創(chuàng)新,如圖4。此密碼有12個點(diǎn),占據(jù)的屏幕空間較大,存在的密碼組合也較多。
2.3 密碼規(guī)則
2.3.1 規(guī)則及其改變
現(xiàn)有的3*3式圖形密碼的設(shè)置一般遵循如下三條規(guī)則:1)至少經(jīng)過四個點(diǎn);2)點(diǎn)擊的必須是完整的一條折線,且每個端點(diǎn)和折點(diǎn)必須經(jīng)過圖形中任意一個不與之前相同的點(diǎn)上;3)若其中一條組成該折線的線段經(jīng)過了至少三個點(diǎn),則包含在這條線段中間的所有點(diǎn)不能再次成為端點(diǎn)或折點(diǎn),但可以再次被穿過,該點(diǎn)被穿過時不被視為經(jīng)過。
上述規(guī)則(以下稱“連線式密碼”)已廣為運(yùn)用。本文研究上述三條規(guī)則中的一條或多條加以改變對密碼安全程度的優(yōu)化情況。本文先研究一條規(guī)則改變的情況下安全性的變化情況。
規(guī)則1被改變。此條規(guī)則的改變帶給密碼安全性的改變顯而易見。
規(guī)則2或3被改變。規(guī)則3本質(zhì)上是由規(guī)則2衍生而來且針對3*3式圖形密碼中心點(diǎn)的規(guī)則。這兩條規(guī)則有兩種方式微調(diào)。一是改變線段本身性質(zhì),二是改變線段經(jīng)過點(diǎn)的規(guī)則。前者可以改變線段的連貫性,后者改變可以根據(jù)圖形性質(zhì)改變經(jīng)過某些點(diǎn)次數(shù)。本文設(shè)計了以下密碼規(guī)則。
2.3.2 不同規(guī)則的圖形密碼
1) 觸點(diǎn)式密碼規(guī)則
此規(guī)則構(gòu)成圖案的元素不是線段或折線,而是單一的點(diǎn)。在解鎖密碼時,按一定順序依次觸碰幾個固定的點(diǎn)來解鎖。圖5中數(shù)字為觸碰點(diǎn)的順序。
2) 類棒圖密碼規(guī)則
此規(guī)則下的密碼可以不是一條連續(xù)的折線,可以是多條線段或折線。本文設(shè)計的限制規(guī)則如下:折線或線段至少經(jīng)過兩個點(diǎn),所有線經(jīng)過的點(diǎn)均不能重復(fù),且必須經(jīng)過所有背景圖形的點(diǎn)。圖6中左圖由于一個點(diǎn)未被經(jīng)過,故為不合法情況。圖6中中圖由于一個點(diǎn)被經(jīng)過了兩次,故為不合法情況。圖6中右圖為合法情況。
3) 多用點(diǎn)式密碼規(guī)則
對于3*3的圖形密碼,中心點(diǎn)為一較特殊的點(diǎn)。為提高密碼安全性,將這一點(diǎn)上附加的部分規(guī)則去除,令其可以多次被作為折點(diǎn),這大大增加了手機(jī)密碼的安全性。此種方式安全性和原規(guī)則之間的差異會在下文考察。
3 計算分析
在計算密碼情況總數(shù)中,選擇人工計算和編程相結(jié)合的方式來研究。人工計算是基本的計算方式,在此基礎(chǔ)上,編程二次計算確保答案正確。在討論密碼圖案占據(jù)屏幕位置和大小時,采用平面幾何計算[5][6]。
3.1 人工排列組合計算
人工計算的主要方法是枚舉,并按照經(jīng)過點(diǎn)數(shù)量的情況分類討論。
可知3*3式至少經(jīng)過的點(diǎn)為4個,所以先討論只經(jīng)過4個點(diǎn)的情況個數(shù),然后按點(diǎn)數(shù)遞增的順序逐次討論。當(dāng)經(jīng)過的點(diǎn)為4個時,考慮到對稱性,可以得知所有從其中一個角的點(diǎn)開始的情況數(shù)目完全相等,其情況均可以把從另一個角開始的圖案旋轉(zhuǎn)若干個九十度。從四條邊中心的點(diǎn)開始的同上述推理。故只需討論“從角開始”,“從邊開始”和“從中心一點(diǎn)開始”三種情況。
當(dāng)經(jīng)過的點(diǎn)數(shù)為5時,可以根據(jù)經(jīng)過點(diǎn)數(shù)為4的每一種情況進(jìn)行延伸,每種情況均可以延伸出若干種經(jīng)過點(diǎn)數(shù)為5的情況。當(dāng)點(diǎn)數(shù)大于5的時候亦然,一一列出可能的情況并做出代表密碼情況的樹狀圖,最后統(tǒng)一討論。
其他圖案也可以用此種延伸式方法計算。由于八邊形為中心對稱圖形,八個角均為對稱,八邊形式密碼計算可以以其中一個點(diǎn)為初始點(diǎn)研究,統(tǒng)計完畢后乘以八(角的個數(shù))即可。
正三角形圖案則略復(fù)雜。這種圖案中的9個點(diǎn)分為在邊上的點(diǎn)和在角上的兩種,人工計算需要分兩種情況分別討論,方法與上述基本相同。需要注意的是這一類圖形的一條邊上有四點(diǎn)共線的情況出現(xiàn),且所有三條邊上都有四個點(diǎn),當(dāng)在三角形一條邊上的兩個點(diǎn)若都已被經(jīng)過,則在這條折線經(jīng)過三角形這條邊的一個頂點(diǎn)時,可以直接穿過這條邊上已被經(jīng)過的兩個點(diǎn)并連接到這條邊的另一端點(diǎn)。
等腰直角三角形式中則有一條五點(diǎn)共線的底邊,且對稱軸僅為底邊垂直平分線一條,計算時需考慮更多情況,計算起來較復(fù)雜。
弦圖式密碼由于圖形中包含的點(diǎn)數(shù)多及其含有四條四點(diǎn)共線的線段,計算起來更復(fù)雜。此圖形為中心對稱,需詳細(xì)討論的情況可以根據(jù)對稱性精簡為總數(shù)的四分之一,但共有12個點(diǎn),情況數(shù)與上述幾種相比為次方級,用人工計算無法確保正確,主要采用編程計算[7][8]。
有關(guān)規(guī)則被改變的幾種情況,用人工計算方式相對簡單。觸點(diǎn)式密碼的計算十分簡易,由于點(diǎn)之間沒有線段和折線上的約束條件,這些點(diǎn)之間是無差別的,計算排列的情況總數(shù),僅用知道點(diǎn)的個數(shù)即可,等于點(diǎn)數(shù)的階乘。
上文提到的類棒圖式密碼可根據(jù)基礎(chǔ)的3*3式密碼,將各個折線之間的分段加以不同方式的排列來加以統(tǒng)計。也就是根據(jù)3*3圖形密碼在上文觸點(diǎn)式密碼中經(jīng)過全部9個點(diǎn)的情況,將觸碰的點(diǎn)的順序加以不同分段,針對其連接點(diǎn)的順序有一定限制,又可參考3*3式密碼的全部情況,再結(jié)合一部分不符合3*3式密碼情況的例子來分別加以討論。計算可知,當(dāng)3*3式密碼圖形中的所有點(diǎn)必須被經(jīng)過,且單一的一條線段或折線至少經(jīng)過3個點(diǎn)時,類棒圖密碼在3*3式密碼中的情況個數(shù)。
多用點(diǎn)式密碼在3*3式和八邊形中應(yīng)用最好。由于取這些圖形的中心一點(diǎn)研究時有對稱性,所以本文不過多研究其他情況。討論情況數(shù)時可將所有情況去掉中心一點(diǎn),再依據(jù)是否必須在某兩點(diǎn)加入一中心點(diǎn)的判定標(biāo)準(zhǔn)在一種情況的每兩點(diǎn)之間分別討論。
3.2 編程計算
將圖形密碼中的每一個點(diǎn)表示為數(shù)組的某一元素,用單純的循環(huán)邏輯來為這些數(shù)組賦值,并在當(dāng)滿足圖形密碼規(guī)則所轉(zhuǎn)換成的字符條件的情況下用在字符串某位追加元素的方式來表達(dá)圖案排列的總情況數(shù)。
關(guān)于三個及以上數(shù)量的點(diǎn)共線的情況,如果這條線上兩個不相鄰的點(diǎn)之間的點(diǎn)未全部被經(jīng)過,則連續(xù)通過這兩點(diǎn)的情況屬無效。當(dāng)共線的點(diǎn)數(shù)不小于四時,在代碼中須分別討論其中三個以及更多相鄰點(diǎn)的情況。而僅用數(shù)組和條件判斷無法做出一種符合之前被編為數(shù)組元素的圖形中的任一點(diǎn)的通式來計算,故選擇總結(jié)并依次列出不滿足的情況。3*3式、正三角形式、八邊形式、等腰直角三角形式與弦圖式均用此方法來計算與驗證情況數(shù)量[9]。
針對不同規(guī)則,編程計算的方式也不同。對多用點(diǎn)式密碼規(guī)則,可用上述方式先編出除多用點(diǎn)外的其余點(diǎn),并依次判定出每一種合法情況中或不使用多用點(diǎn)不合法、使用則合法的情況,再在每一種情況的每兩個相鄰數(shù)組元素中進(jìn)行是否必須加入多用點(diǎn)的判斷,判斷成功則在一開始設(shè)置的字符串尾部追加元素[10]。
3.3 幾何計算
除了密碼安全性問題,手機(jī)鎖屏密碼的選擇還需考慮占據(jù)手機(jī)屏幕的空間大小和圖形中點(diǎn)的間距。用幾何推導(dǎo)研究上述問題:為計算圖案和“占據(jù)屏幕空間大小”“點(diǎn)間距”這兩個量的關(guān)系,選取“點(diǎn)間距”為自變量,記為r,將“占據(jù)屏幕的空間大小”作為因變量。
占據(jù)屏幕空間有兩層含義:一是所有點(diǎn)和線圍成封閉圖形的面積,二是以手機(jī)方形屏幕兩側(cè)的邊作為軸,r作為軸建立平面直角坐標(biāo)系,圖案構(gòu)成的封閉圖形上的任意兩點(diǎn)X或Y坐標(biāo)值差的最大值,兩者乘積即為該種圖形密碼“占據(jù)屏幕空間”。為方便描述,將第一種含義稱為封閉圖形面積,第二種稱為圖形占據(jù)屏幕面積。按照這兩種含義,分別計算了3*3式、八邊形式、正三角形式、等腰直角三角形式、弦圖式圖形密碼占據(jù)屏幕空間的大小。
3.4 計算結(jié)果
3.4.1 關(guān)于圖案排布的結(jié)論
經(jīng)計算得知,在3*3式密碼中,折線經(jīng)過的點(diǎn)數(shù)為4時有1624種情況,經(jīng)過的點(diǎn)數(shù)為5有7152種,經(jīng)過的點(diǎn)數(shù)為6有26016種,經(jīng)過的點(diǎn)數(shù)為7有72912種,經(jīng)過的點(diǎn)數(shù)為8和9均有140704種??傻?,3*3圖形的密碼排列情況共389112種。
在八邊形式密碼中,折線經(jīng)過的點(diǎn)數(shù)為4有2208種情況,點(diǎn)數(shù)為5有10464種,點(diǎn)數(shù)為6有40512種,點(diǎn)數(shù)為7有119232種,點(diǎn)數(shù)為8和9均有236544種。可得,八邊形圖形的密碼排列情況共645504種。
在正三角形式密碼中,折線經(jīng)過的點(diǎn)數(shù)為4時有1458種情況,經(jīng)過的點(diǎn)數(shù)為5時有6000種,經(jīng)過的點(diǎn)數(shù)為6時有19902種,經(jīng)過的點(diǎn)數(shù)為7時有55758種,經(jīng)過的點(diǎn)數(shù)為8和9時均有100152種。得:正三角形圖形的密碼排列情況共283422種。
3.4.2 關(guān)于規(guī)則的結(jié)論
當(dāng)密碼規(guī)則為觸點(diǎn)式密碼,且形式為3*3式、八邊形式、無中心一點(diǎn)的正三角形式、等腰直角三角形式時,點(diǎn)的個數(shù)為9個,得知當(dāng)9個點(diǎn)必須全部取到時,密碼情況數(shù)為362880個,若9個點(diǎn)可取到的個數(shù)為4-9個,密碼的總情況數(shù)為985824;當(dāng)點(diǎn)的個數(shù)為12個時(弦圖式),若12個點(diǎn)必須全部取到,則密碼總數(shù)為479001600個,若可取4-12個點(diǎn),則密碼總數(shù)為1302059800個,安全性遠(yuǎn)遠(yuǎn)大于9點(diǎn)密碼的觸點(diǎn)式情況。
當(dāng)密碼規(guī)則為類棒圖式,每條線段或折線須經(jīng)過至少三個點(diǎn),且形式為3*3式時,密碼排列情況共571328種。
3.4.3 關(guān)于占據(jù)屏幕空間的結(jié)論
若兩點(diǎn)間距離為r,則3*3式密碼封閉圖形面積和占據(jù)屏幕的空間面積均為4r2;八邊形密碼的封閉圖形面積為([22]+1)r2,占據(jù)屏幕的空間面積為([22]+3)r2;正三角形式密碼的封閉圖形面積為([93]r2/4,占據(jù)屏幕的空間面積為([93])r2/2;等腰直角三角形式密碼的封閉圖形面積為4r2,占據(jù)屏幕的空間面積為8r2;弦圖式密碼的封閉圖形面積為10r2,若其各條邊都與屏幕方向垂直或平行,則占據(jù)屏幕的空間面積為16r2,若以其最外圍的鄰近兩點(diǎn)連線作為平行于屏幕其中一邊方向的邊,則占據(jù)屏幕的空間面積為10r2。
圖案中若點(diǎn)與點(diǎn)之間距離相等,所占據(jù)屏幕空間的面積由大到小排列應(yīng)依次是弦圖式密碼、等腰直角三角形式密碼、正三角形式圖形密碼、八邊形式密碼、3*3式密碼。
3.4.4 不同圖形密碼與數(shù)字密碼比較的結(jié)論
可知普通的6位數(shù)字密碼共有10的6次方等于1000000種,多于3*3圖形密碼的389112、八邊形密碼的645504種、正三角形密碼的283422種。
八邊形密碼的情況個數(shù)大約為普通3*3式密碼的1.65倍,占據(jù)屏幕空間則略大于3*3式密碼,約為3*3式密碼的1.45倍。普通3*3式密碼在占用空間和安全程度上均比無中心一點(diǎn)的正三角形式圖形密碼要占優(yōu)勢。等腰直角三角形式密碼占據(jù)屏幕空間大,且密碼的安全程度均低于上述幾種,即使在寬屏設(shè)備上使用也沒有高安全性。
3.4.5 相同圖形密碼在不同規(guī)則下比較的結(jié)論
當(dāng)使用觸點(diǎn)式密碼時,密碼的情況總個數(shù)則取決于圖形里點(diǎn)的數(shù)量,點(diǎn)數(shù)越多則密碼情況個數(shù)越多。例如,弦圖式密碼的點(diǎn)數(shù)為12個,其情況個數(shù)為1302059800,遠(yuǎn)多于9點(diǎn)密碼的985824種。且觸點(diǎn)式密碼的情況數(shù)由于沒有線段經(jīng)過點(diǎn)的限制,情況大于一般的連線式密碼,當(dāng)圖形有9個點(diǎn)時,觸點(diǎn)式密碼的安全性是各式圖案平均安全性的兩倍,占據(jù)的空間與連線式密碼占據(jù)的空間也相同,故此種密碼較有效率。
使用類棒圖式密碼的安全性普遍高于當(dāng)今普及的連線式密碼,但少于觸點(diǎn)式密碼。在3*3式密碼和八邊形式密碼中,使用多用點(diǎn)式密碼的情況個數(shù)多于類棒圖式密碼。相同密碼圖形在不同規(guī)則下的情況個數(shù)趨勢大約為:觸點(diǎn)式密碼>多用點(diǎn)式密碼>類棒圖式密碼>棒圖式密碼>普通連線式密碼。
3.4.6 不同圖案的圖形密碼安全性比較的結(jié)論
不同圖案的圖形密碼安全性由高到低排列應(yīng)依次是弦圖式密碼、八邊形式密碼、3*3式密碼、正三角形式密碼、等腰直角三角形式密碼。
4 結(jié)束語
本文利用人工計算、編程計算、幾何計算,對弦圖式密碼、八邊形式密碼、3*3式密碼、正三角形式密碼、等腰直角三角等圖形密碼在不同規(guī)則下的安全性、占用屏幕大小進(jìn)行了研究,得到相關(guān)結(jié)論,并與數(shù)字密碼進(jìn)行了比較。本文的研究成果對手機(jī)屏保密碼的設(shè)計具有理論價值和實際參考價值。
參考文獻(xiàn):
[1] 陳兆煙,黃君燦,魏馳.Android手機(jī)屏幕圖形鎖問題分析[J].海峽科學(xué),2014(10):50-51.
[2] 徐金成.Android手機(jī)屏幕保護(hù)安全性研究[J].信息通信,2013(3):97-98.
[3] 楊婷婷,賈樹.基于Android操作系統(tǒng)手機(jī)屏保設(shè)計與開發(fā)[J].計算機(jī)光盤軟件與應(yīng)用,2014(16):51-52.
[4] 李潤榮. 智能手機(jī)安全問題及防護(hù)技術(shù)分析[J].無線互聯(lián)科技,2015(10):16-18.
[5] 謝金鳳,戴燕,化潔玉. Android系統(tǒng)智能手機(jī)安全威脅及保護(hù)機(jī)制淺析[J].電信網(wǎng)技術(shù),2016,(4):69-71.
[通聯(lián)編輯:唐一東]