技術(shù)領(lǐng)域
本發(fā)明涉及智能手機(jī)技術(shù)領(lǐng)域,具體是一種基于智能手機(jī)的用戶(hù)賬號(hào)安全管理系統(tǒng)。
背景技術(shù):
在網(wǎng)絡(luò)發(fā)達(dá)的今天,很多網(wǎng)站需要用戶(hù)注冊(cè)后才能使用。由于網(wǎng)站太多,用戶(hù)名和密碼太難記憶,所以很多用戶(hù)對(duì)許多網(wǎng)站都使用同一套用戶(hù)名和密碼,一旦某個(gè)網(wǎng)站的用戶(hù)名和密碼泄露,其他網(wǎng)站的用戶(hù)名和密碼也將被攻破。而且由于太復(fù)雜的密碼難以記憶,大多數(shù)人使用簡(jiǎn)單的密碼,攻擊者可以用字典攻擊的方法攻破。最近,有很多網(wǎng)站爆出了用戶(hù)信息泄露事件,分析其中泄露的密碼可以看出,大多數(shù)人使用的是“123456”等簡(jiǎn)單的密碼,非常不安全。
有的用戶(hù)為了記憶復(fù)雜的密碼,會(huì)把密碼明文存儲(chǔ)在本地,但這樣也是不安全的,本地計(jì)算機(jī)或者手機(jī)系統(tǒng)被攻破的話,信息就會(huì)泄露。如果密碼加密保存,使用的時(shí)候每次都需要手動(dòng)解密,這樣使用非常不方便?,F(xiàn)有的密碼管理器一般加密算法都比較簡(jiǎn)單,而且增加密碼、修改密碼等操作不方便。數(shù)字圖像隱寫(xiě)技術(shù)是將數(shù)據(jù)隱藏到圖片中的技術(shù),與傳統(tǒng)的加密技術(shù)相比,隱蔽性更強(qiáng)。
近年來(lái),智能手機(jī)的使用量已經(jīng)超過(guò)個(gè)人計(jì)算機(jī),但是智能手機(jī)上還缺乏使用方便的、安全性高的密碼管理器。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于智能手機(jī)的用戶(hù)賬號(hào)安全管理系統(tǒng),提高智能手機(jī)上本地用戶(hù)賬號(hào)數(shù)據(jù)的安全性,不涉及網(wǎng)絡(luò)傳輸。
本發(fā)明的技術(shù)方案為:
一種基于智能手機(jī)的用戶(hù)賬號(hào)安全管理系統(tǒng),該系統(tǒng)包括數(shù)據(jù)庫(kù)模塊、管理模塊和插件模塊;
所述數(shù)據(jù)庫(kù)模塊,用于為管理模塊和插件模塊提供用戶(hù)賬號(hào)數(shù)據(jù)的隱寫(xiě)存儲(chǔ)和調(diào)用服務(wù),所述用戶(hù)賬號(hào)數(shù)據(jù)包括網(wǎng)站的網(wǎng)址或應(yīng)用程序的包名及該網(wǎng)站或應(yīng)用程序?qū)?yīng)的用戶(hù)名和密碼;
所述管理模塊,用于提供該系統(tǒng)的用戶(hù)登錄界面和數(shù)據(jù)編輯界面,對(duì)用戶(hù)賬號(hào)數(shù)據(jù)進(jìn)行增加、刪除、查找或修改操作;
所述插件模塊,用于監(jiān)聽(tīng)網(wǎng)站或應(yīng)用程序界面,當(dāng)用戶(hù)需要輸入用戶(hù)名和密碼時(shí),自動(dòng)填充用戶(hù)名和密碼編輯框,當(dāng)用戶(hù)修改密碼時(shí),更新存儲(chǔ)在數(shù)據(jù)庫(kù)模塊內(nèi)的密碼,當(dāng)用戶(hù)注冊(cè)新賬號(hào)時(shí),將網(wǎng)站的登錄界面網(wǎng)址或應(yīng)用程序的包名及新建的該網(wǎng)站或應(yīng)用程序?qū)?yīng)的用戶(hù)名和密碼存儲(chǔ)在數(shù)據(jù)庫(kù)模塊內(nèi)。
所述的基于智能手機(jī)的用戶(hù)賬號(hào)安全管理系統(tǒng),所述數(shù)據(jù)庫(kù)模塊包括驗(yàn)證子模塊、隱寫(xiě)子模塊和提取子模塊,所述管理模塊包括登錄子模塊和編輯子模塊,所述插件模塊包括填充子模塊、更改子模塊和注冊(cè)子模塊;
所述驗(yàn)證子模塊,用于驗(yàn)證系統(tǒng)登錄密碼是否正確,驗(yàn)證成功后,用系統(tǒng)登錄密碼解密數(shù)據(jù)加密密鑰,并將數(shù)據(jù)加密密鑰存儲(chǔ)在智能手機(jī)的內(nèi)存中,還用于驗(yàn)證管理模塊和插件模塊的敏感操作是否在系統(tǒng)登錄密碼記憶時(shí)間內(nèi);
所述隱寫(xiě)子模塊,用于利用內(nèi)存中存儲(chǔ)的數(shù)據(jù)加密密鑰對(duì)新增加或修改的用戶(hù)賬號(hào)數(shù)據(jù)進(jìn)行加密,再利用圖像隱寫(xiě)算法將加密后的用戶(hù)賬號(hào)數(shù)據(jù)隱藏進(jìn)預(yù)定圖片;
所述提取子模塊,用于利用圖像隱寫(xiě)算法將隱藏進(jìn)預(yù)定圖片的用戶(hù)賬號(hào)數(shù)據(jù)提取出來(lái),再利用內(nèi)存中存儲(chǔ)的數(shù)據(jù)加密密鑰解密后傳送至管理模塊或插件模塊;
所述登錄子模塊,用于提供該系統(tǒng)的用戶(hù)登錄界面,將用戶(hù)輸入的系統(tǒng)登錄密碼和設(shè)置的系統(tǒng)登錄密碼記憶時(shí)間傳送至驗(yàn)證子模塊;
所述編輯子模塊,用于提供該系統(tǒng)的數(shù)據(jù)編輯界面,從提取子模塊獲取用戶(hù)賬號(hào)數(shù)據(jù),對(duì)用戶(hù)賬號(hào)數(shù)據(jù)進(jìn)行增加、刪除、查找或修改操作,并將新增加或修改的用戶(hù)賬號(hào)數(shù)據(jù)傳送至隱寫(xiě)子模塊;
所述填充子模塊,用于監(jiān)聽(tīng)網(wǎng)站或應(yīng)用程序的登錄界面,當(dāng)用戶(hù)需要輸入用戶(hù)名和密碼登錄時(shí),自動(dòng)識(shí)別出填充用戶(hù)名和密碼的編輯框,并將從提取子模塊獲取的與該網(wǎng)站或應(yīng)用程序?qū)?yīng)的用戶(hù)名和密碼填充進(jìn)所述編輯框;
所述更改子模塊,用于監(jiān)聽(tīng)網(wǎng)站或應(yīng)用程序的密碼修改界面,當(dāng)用戶(hù)修改密碼時(shí),將修改后的密碼傳送至隱寫(xiě)子模塊;
所述注冊(cè)子模塊,用于監(jiān)聽(tīng)網(wǎng)站或應(yīng)用程序的注冊(cè)界面,當(dāng)用戶(hù)注冊(cè)新賬號(hào)時(shí),生成指定位數(shù)的隨機(jī)字符串作為新賬號(hào)的安全密碼,并將網(wǎng)站的登錄界面網(wǎng)址或應(yīng)用程序的包名及新建的該網(wǎng)站或應(yīng)用程序?qū)?yīng)的用戶(hù)名和密碼傳送至隱寫(xiě)子模塊。
所述的基于智能手機(jī)的用戶(hù)賬號(hào)安全管理系統(tǒng),所述圖像隱寫(xiě)算法具體為L(zhǎng)SB算法。
由上述技術(shù)方案可知,本發(fā)明可以安全保存用戶(hù)賬號(hào)數(shù)據(jù),而且在需要填寫(xiě)用戶(hù)名和密碼的網(wǎng)站或應(yīng)用程序界面可以自動(dòng)填充,方便用戶(hù)在智能手機(jī)上使用,同時(shí)保障了信息安全。
附圖說(shuō)明
圖1是本發(fā)明具體實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例進(jìn)一步說(shuō)明本發(fā)明。
如圖1所示,一種基于智能手機(jī)的用戶(hù)賬號(hào)安全管理系統(tǒng),包括數(shù)據(jù)庫(kù)模塊1、管理模塊2和插件模塊3,其中,數(shù)據(jù)庫(kù)模塊1包括驗(yàn)證子模塊11、隱寫(xiě)子模塊12和提取子模塊13,管理模塊2包括登錄子模塊21和編輯子模塊22,插件模塊3包括注冊(cè)子模塊31、更改子模塊32和填充子模塊33。
驗(yàn)證子模塊11,通過(guò)采用不可逆的安全哈希算法(Safe Hash Algorithm)計(jì)算登錄子模塊21傳送過(guò)來(lái)的系統(tǒng)登錄密碼的hash值,并與預(yù)存的系統(tǒng)登錄密碼的hash值進(jìn)行比對(duì),來(lái)驗(yàn)證用戶(hù)輸入的系統(tǒng)登錄密碼是否正確。驗(yàn)證成功后,用系統(tǒng)登錄密碼解密數(shù)據(jù)加密密鑰,并將數(shù)據(jù)加密密鑰存儲(chǔ)在智能手機(jī)的內(nèi)存中以供隱寫(xiě)子模塊12和提取子模塊13調(diào)用。
驗(yàn)證子模塊11,還負(fù)責(zé)檢查管理模塊2和插件模塊3的敏感操作是否有權(quán)限,即是否在系統(tǒng)登錄密碼記憶時(shí)間內(nèi)進(jìn)行這些操作。敏感操作指的是復(fù)制密碼、編輯密碼、查看密碼列表等操作,這里的“密碼”指的是網(wǎng)站或應(yīng)用程序?qū)?yīng)的密碼,而不是本發(fā)明的系統(tǒng)登錄密碼。
隱寫(xiě)子模塊12,利用內(nèi)存中存儲(chǔ)的數(shù)據(jù)加密密鑰對(duì)新增加或修改的用戶(hù)賬號(hào)數(shù)據(jù)進(jìn)行加密,再利用LSB算法將加密后的用戶(hù)賬號(hào)數(shù)據(jù)隱藏進(jìn)預(yù)定圖片。這樣所有的用戶(hù)賬號(hào)數(shù)據(jù)在智能手機(jī)上都是藏在一張圖片中,即使智能手機(jī)丟失,攻擊者也得不到任何有效信息。用戶(hù)賬號(hào)數(shù)據(jù)包括網(wǎng)站的網(wǎng)址或應(yīng)用程序的包名及該網(wǎng)站或應(yīng)用程序?qū)?yīng)的用戶(hù)名和密碼。應(yīng)用程序的包名指的是應(yīng)用程序在智能手機(jī)上的唯一標(biāo)志。
提取子模塊13,利用LSB算法將隱藏進(jìn)預(yù)定圖片的用戶(hù)賬號(hào)數(shù)據(jù)提取出來(lái),再利用內(nèi)存中存儲(chǔ)的數(shù)據(jù)加密密鑰對(duì)提取出來(lái)的用戶(hù)賬號(hào)數(shù)據(jù)進(jìn)行解密,然后傳送至管理模塊2或插件模塊3。
登錄子模塊21,提供該系統(tǒng)的用戶(hù)登錄界面,用戶(hù)輸入登錄密碼,并選擇記住密碼的時(shí)間:1分鐘、10分鐘、30分鐘、1小時(shí)或24小時(shí)。登錄子模塊21將用戶(hù)輸入的系統(tǒng)登錄密碼和選擇的密碼記憶時(shí)間傳送至驗(yàn)證子模塊11。登錄成功后,在選擇的時(shí)間段內(nèi)進(jìn)行敏感操作時(shí),不需要再次登錄。
編輯子模塊22,提供該系統(tǒng)的數(shù)據(jù)編輯界面,從提取子模塊13獲取用戶(hù)賬號(hào)數(shù)據(jù),對(duì)用戶(hù)賬號(hào)數(shù)據(jù)進(jìn)行增加、刪除、查找或修改操作,并將新增加或修改的用戶(hù)賬號(hào)數(shù)據(jù)傳送至隱寫(xiě)子模塊12。
用戶(hù)使用編輯子模塊22編輯網(wǎng)站或應(yīng)用程序的賬號(hào)密碼過(guò)程如下:
(1)用戶(hù)在編輯子模塊22的界面選擇查看賬號(hào)密碼列表;
(2)驗(yàn)證子模塊11檢查用戶(hù)上次的登錄是否過(guò)期,即是否在設(shè)置的系統(tǒng)登錄密碼記憶時(shí)間內(nèi),如果過(guò)期,則需要重新登錄,否則繼續(xù);
(3)提取子模塊13將用戶(hù)賬號(hào)明文數(shù)據(jù)返回給編輯子模塊22;
(4)用戶(hù)選擇一條記錄,修改密碼,然后點(diǎn)擊存儲(chǔ);
(5)編輯子模塊22將修改的記錄發(fā)給隱寫(xiě)子模塊12,加密后隱寫(xiě)進(jìn)預(yù)定圖片。
填充子模塊31,監(jiān)聽(tīng)網(wǎng)站或應(yīng)用程序的登錄界面,當(dāng)用戶(hù)需要輸入用戶(hù)名和密碼登錄時(shí),自動(dòng)識(shí)別出填充用戶(hù)名和密碼的編輯框,并將從提取子模塊13獲取的與該網(wǎng)站或應(yīng)用程序?qū)?yīng)的用戶(hù)名和密碼填充進(jìn)編輯框。對(duì)于一個(gè)網(wǎng)站或應(yīng)用程序有多個(gè)賬號(hào)的情況,用戶(hù)可以選擇賬號(hào)填充,同時(shí)用戶(hù)可以復(fù)制該網(wǎng)站或應(yīng)用程序?qū)?yīng)的用戶(hù)名或密碼,其中復(fù)制密碼時(shí)需要在系統(tǒng)登錄密碼記憶時(shí)間內(nèi)進(jìn)行,否則需要重新輸入系統(tǒng)登錄密碼。
更改子模塊32,監(jiān)聽(tīng)網(wǎng)站或應(yīng)用程序的密碼修改界面,當(dāng)監(jiān)聽(tīng)到用戶(hù)修改了密碼時(shí),在用戶(hù)同意后將修改后的密碼傳送至隱寫(xiě)子模塊12。
注冊(cè)子模塊33,監(jiān)聽(tīng)網(wǎng)站或應(yīng)用程序的注冊(cè)界面,當(dāng)用戶(hù)注冊(cè)新賬號(hào)時(shí),生成指定位數(shù)的隨機(jī)字符串作為新賬號(hào)的安全密碼,并在用戶(hù)同意后將網(wǎng)站的登錄界面網(wǎng)址或應(yīng)用程序的包名及新建的該網(wǎng)站或應(yīng)用程序?qū)?yīng)的用戶(hù)名和密碼傳送至隱寫(xiě)子模塊12。
當(dāng)用戶(hù)在網(wǎng)站或應(yīng)用程序界面操作時(shí),插件模塊3開(kāi)始工作,由上述可知,使用插件模塊3,可以很方便地填充、更改、新建用戶(hù)名和密碼,同時(shí)敏感操作又需要系統(tǒng)登錄密碼驗(yàn)證,在安全性和易用性上達(dá)到了很好的均衡,方便在智能手機(jī)上使用。
下面舉例說(shuō)明插件模塊3在用戶(hù)登錄網(wǎng)頁(yè)時(shí)的工作過(guò)程:
(1)用戶(hù)在瀏覽器中打開(kāi)了百度的登錄界面,沒(méi)有賬號(hào),去注冊(cè)界面填寫(xiě)了新用戶(hù)名,點(diǎn)擊插件模塊3的懸浮窗,選擇生成安全密碼;
(2)插件模塊3的注冊(cè)子模塊33生成一個(gè)指定位數(shù)的隨機(jī)字符串,返回給用戶(hù)作新密碼;
(3)用戶(hù)提交新用戶(hù)名和密碼時(shí),彈出對(duì)話框,提醒用戶(hù)是否保存新的用戶(hù)名和密碼;
(4)用戶(hù)點(diǎn)擊是,注冊(cè)子模塊33將新的百度用戶(hù)名和密碼及百度的登錄界面網(wǎng)址傳送至數(shù)據(jù)庫(kù)模塊1的隱寫(xiě)子模塊12進(jìn)行保存;
(5)用戶(hù)回到百度的登錄界面,插件模塊3的填充子模塊31將百度的登錄界面網(wǎng)址傳送至數(shù)據(jù)庫(kù)模塊1的提取子模塊13;
(6)提取子模塊13查到了網(wǎng)址對(duì)應(yīng)的用戶(hù)名和密碼,返回給填充子模塊31;
(7)填充子模塊31自動(dòng)填充了用戶(hù)名和密碼的表單,用戶(hù)可以直接登錄而不用再填寫(xiě)密碼。
下面舉例說(shuō)明當(dāng)用戶(hù)在應(yīng)用程序中修改密碼時(shí),插件模塊3的工作方式:
(1)用戶(hù)打開(kāi)新浪微博app,進(jìn)入到修改密碼界面;
(2)填寫(xiě)了新密碼之后點(diǎn)擊確認(rèn)按鈕,插件模塊3的更改子模塊32檢測(cè)到了修改密碼,用戶(hù)確認(rèn)保存修改后,將修改密碼請(qǐng)求傳送至數(shù)據(jù)庫(kù)模塊1的隱寫(xiě)子模塊12;
(3)隱寫(xiě)子模塊12將修改后的記錄加密后隱寫(xiě)進(jìn)特定圖片,覆蓋原記錄。
以上所述實(shí)施方式僅僅是對(duì)本發(fā)明的優(yōu)選實(shí)施方式進(jìn)行描述,并非對(duì)本發(fā)明的范圍進(jìn)行限定,在不脫離本發(fā)明設(shè)計(jì)精神的前提下,本領(lǐng)域普通技術(shù)人員對(duì)本發(fā)明的技術(shù)方案作出的各種變形和改進(jìn),均應(yīng)落入本發(fā)明的權(quán)利要求書(shū)確定的保護(hù)范圍內(nèi)。