亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種密碼使用方法與流程

文檔序號(hào):12486167閱讀:524來(lái)源:國(guó)知局
一種密碼使用方法與流程

本發(fā)明涉及密碼技術(shù)領(lǐng)域,具體地說(shuō)是涉及一種能增強(qiáng)用戶密碼及用戶敏感數(shù)據(jù)安全性的密碼使用方法。



背景技術(shù):

目前,軟件系統(tǒng)的應(yīng)用已經(jīng)深入到個(gè)各行各業(yè),大多數(shù)人都會(huì)有某個(gè)軟件系統(tǒng)的帳號(hào)并在系統(tǒng)中存儲(chǔ)了一些敏感的數(shù)據(jù)如銀行卡號(hào)、身份證號(hào)碼等。

現(xiàn)有軟件系統(tǒng)常見(jiàn)的密碼使用方式是:用戶設(shè)置密碼時(shí),在客戶端用戶輸入用戶名和密碼后,用戶名和密碼以明文形式發(fā)送到服務(wù)端,在服務(wù)端將用戶密碼加鹽經(jīng)過(guò)散列運(yùn)算后存儲(chǔ),也有少數(shù)系統(tǒng)直接存儲(chǔ)密碼明文;用戶登錄時(shí)在登錄界面輸入用戶名和密碼然后將用戶名和密碼以明文的方式發(fā)送到服務(wù)端進(jìn)行驗(yàn)證,在傳輸過(guò)程中數(shù)據(jù)會(huì)經(jīng)過(guò)很多網(wǎng)絡(luò)節(jié)點(diǎn),任意一個(gè)節(jié)點(diǎn)被監(jiān)聽(tīng)就會(huì)造成用戶密碼被竊取。

使用SSL可以一定程度上解決上述問(wèn)題,但大部分訪問(wèn)量大的軟件系統(tǒng)都是分布式架構(gòu)有多臺(tái)應(yīng)用服務(wù)器,客戶端先連到網(wǎng)關(guān),再由網(wǎng)關(guān)分發(fā)到具體的應(yīng)用服務(wù)器,為了減少服務(wù)器的壓力或?qū)崿F(xiàn)某些功能往往只有用戶到網(wǎng)關(guān)的連接會(huì)使用SSL在從網(wǎng)關(guān)到應(yīng)用服務(wù)器的傳輸中還是可以通過(guò)數(shù)據(jù)監(jiān)聽(tīng)來(lái)竊取用戶密碼及數(shù)據(jù)。

由于用戶密碼及敏感數(shù)據(jù)明文會(huì)傳輸?shù)椒?wù)器,如果服務(wù)器被入侵用戶密碼及敏感數(shù)據(jù)也很容易被竊取。

此外,在某些系統(tǒng)中服務(wù)端不需要知道內(nèi)容或不需要單獨(dú)使用的用戶敏感數(shù)據(jù)通常也是明文存儲(chǔ),如證件號(hào)碼、銀行卡號(hào)、用戶備份的通訊錄、日程表、備忘錄等數(shù)據(jù);有數(shù)據(jù)訪問(wèn)權(quán)限的人員可以輕易地獲取到這些數(shù)據(jù),如數(shù)據(jù)庫(kù)管理員、成功入侵的黑客,也有系統(tǒng)會(huì)把用戶敏感信息加密后存儲(chǔ)但加密的密鑰往往是放在服務(wù)端,若密鑰被竊取所有或一批用戶數(shù)據(jù)就能被解密,這樣會(huì)使用戶信息泄露造成經(jīng)濟(jì)或其它方面的損失。



技術(shù)實(shí)現(xiàn)要素:

為了克服現(xiàn)有系統(tǒng)用戶密碼及敏感數(shù)據(jù)容易泄露的問(wèn)題,本發(fā)明專利提供一種密碼使用方法。

本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:

1. 一種密碼使用方法,其特征在于:先將用戶密碼與目標(biāo)密碼因子經(jīng)過(guò)目標(biāo)密碼運(yùn)算得到目標(biāo)密碼,改變目標(biāo)密碼因子同一個(gè)用戶密碼可得到多個(gè)不能相互推導(dǎo)的目標(biāo)密碼,再把目標(biāo)密碼用于用戶認(rèn)證、數(shù)據(jù)加密。

一種密碼使用方法,其特征在于:目標(biāo)密碼因子隨機(jī)或按規(guī)則生成,若生成的密碼因子不固定則生成后需要存儲(chǔ)使用時(shí)從存儲(chǔ)區(qū)讀取,否則可不存儲(chǔ)在使用時(shí)用相同的方法再重新生成,比如目標(biāo)密碼因子根據(jù)用戶名生成則生成的目標(biāo)密碼因子是固定的,若目標(biāo)密碼因子是隨機(jī)生成,或者加入了一些變化的參數(shù)如當(dāng)前時(shí)間則生成的目標(biāo)密碼因子不是固定的;目標(biāo)密碼因子可以是一個(gè)或多個(gè);目標(biāo)密碼運(yùn)算使用不可從結(jié)果計(jì)算出輸入?yún)?shù)的算法或算法組合;用戶名也可作為目標(biāo)密碼運(yùn)算的參數(shù)。

一種密碼使用方法,其特征在于:用于數(shù)據(jù)加密包括以下步驟:

(1)加密時(shí),生成目標(biāo)密碼因子,將用戶密碼和目標(biāo)密碼因子經(jīng)過(guò)目標(biāo)密碼運(yùn)算得到目標(biāo)密碼;

(2)使用目標(biāo)密碼對(duì)數(shù)據(jù)明文加密得到數(shù)據(jù)密文;

(3)存儲(chǔ)數(shù)據(jù)密文,若生成的目標(biāo)密碼因子不固定也需要存儲(chǔ);

(4)解密時(shí),讀取數(shù)據(jù)密文,讀取或生成對(duì)應(yīng)的目標(biāo)密碼因子;

(5)將用戶密碼和目標(biāo)密碼因子經(jīng)過(guò)目標(biāo)密碼運(yùn)算得到目標(biāo)密碼;

(6)使用目標(biāo)密碼對(duì)數(shù)據(jù)密文解密得到數(shù)據(jù)明文。

一種密碼使用方法,其特征在于:用于用戶認(rèn)證包括以下步驟:

(1)設(shè)置密碼時(shí),生成目標(biāo)密碼因子,將用戶密碼和目標(biāo)密碼因子經(jīng)過(guò)目標(biāo)密碼運(yùn)算得到目標(biāo)密碼;

(2)存儲(chǔ)目標(biāo)密碼,目標(biāo)密碼可直接存儲(chǔ)或經(jīng)過(guò)運(yùn)算后存儲(chǔ),若生成的目標(biāo)密碼因子不固定也需要存儲(chǔ);

(3)用戶登錄時(shí),輸入用戶名密碼后,讀取或生成對(duì)應(yīng)的目標(biāo)密碼因子;

(4)將用戶密碼和目標(biāo)密碼因子經(jīng)過(guò)目標(biāo)密碼運(yùn)算得到目標(biāo)密碼;

(5)驗(yàn)證生成的目標(biāo)密碼和存儲(chǔ)的目標(biāo)密碼是否相同,相同則用戶認(rèn)證成功否則失敗。

一種密碼使用方法,其特征在于:添加密碼因子進(jìn)行密碼運(yùn)算的次數(shù)可以是1次或多次;在生成目標(biāo)密碼前可添加一次密碼運(yùn)算---基礎(chǔ)密碼運(yùn)算,先將用戶密碼和基礎(chǔ)密碼因子通過(guò)基礎(chǔ)密碼運(yùn)算得到基礎(chǔ)密碼,再將基礎(chǔ)密碼與目標(biāo)密碼因子經(jīng)過(guò)目標(biāo)密碼運(yùn)算得到目標(biāo)密碼。

一種密碼使用方法,其特征在于:本方法可單獨(dú)用于用戶認(rèn)證或數(shù)據(jù)加密,也可同時(shí)用于用戶認(rèn)證和數(shù)據(jù)加密,同時(shí)用于用戶認(rèn)證和數(shù)據(jù)加密時(shí)用于用戶認(rèn)證和數(shù)據(jù)加密的用戶密碼可相同也可不同;加密不同的數(shù)據(jù)可使用不同的目標(biāo)密碼以提高安全性;若用戶認(rèn)證和數(shù)據(jù)加密使用相同的用戶密碼,數(shù)據(jù)加密可添加基礎(chǔ)密碼運(yùn)算,用于數(shù)據(jù)加密的基礎(chǔ)密碼可以在用戶登錄后計(jì)算,解密數(shù)據(jù)前進(jìn)行目標(biāo)密碼運(yùn)算時(shí),用戶不用再次輸入密碼直接使用已經(jīng)計(jì)算的基礎(chǔ)密碼。

一種密碼使用方法,其特征在于:目標(biāo)密碼可以直接加密用戶數(shù)據(jù)也可以加密密鑰, 再使用密鑰加密用戶數(shù)據(jù)。

本發(fā)明的有益效果是,不存儲(chǔ)和傳輸用戶密碼可防止通過(guò)破解數(shù)據(jù)存儲(chǔ)區(qū)、監(jiān)聽(tīng)網(wǎng)絡(luò)數(shù)據(jù)包來(lái)竊取用戶密碼,目標(biāo)密碼泄露也不能獲取用戶密碼,其中一個(gè)目標(biāo)密碼泄露不影響其它的目標(biāo)密碼的安全,提高了用戶密碼及數(shù)據(jù)的安全性;若目標(biāo)密碼泄露用戶只需使用新的密碼因子重新生成目標(biāo)密碼,原用戶密碼可繼續(xù)使用,給用戶帶來(lái)了方便;本發(fā)明可實(shí)現(xiàn)同一個(gè)用戶密碼即用于用戶認(rèn)證又用于用戶數(shù)據(jù)加密,加密的數(shù)據(jù)保存到服務(wù)端而服務(wù)端又不知道加密后數(shù)據(jù)的密碼,對(duì)用戶來(lái)說(shuō)既安全又方便;目標(biāo)密碼運(yùn)算可采用SHA、AES等公認(rèn)安全的算法或算法組合,實(shí)現(xiàn)可靠、簡(jiǎn)便。

附圖說(shuō)明

下面結(jié)合附圖和示例對(duì)發(fā)明進(jìn)一步說(shuō)明。

圖1是本發(fā)明密碼生成基本原理流程圖。

圖2是用于用戶認(rèn)證—密碼設(shè)置及存儲(chǔ)流程圖。

圖3是用于用戶認(rèn)證—密碼驗(yàn)證流程圖。

圖4是用于數(shù)據(jù)加密—加密數(shù)據(jù)及存儲(chǔ)流程圖。

圖5是用于數(shù)據(jù)加密—解密數(shù)據(jù)流程圖。

具體實(shí)施方式

實(shí)施示例1

本示例的場(chǎng)景是一個(gè)網(wǎng)絡(luò)軟件系統(tǒng),在系統(tǒng)中用戶需要登錄,并且對(duì)用戶身份證號(hào)碼加密存儲(chǔ);用戶認(rèn)證、數(shù)據(jù)加密使用相同的目標(biāo)密碼算法;目標(biāo)密碼算法是:將用戶密碼進(jìn)行SHA256運(yùn)算然后將結(jié)果加上目標(biāo)密碼因子進(jìn)行SHA256運(yùn)算,目標(biāo)密碼=SHA256(SHA256(用戶密碼)+目標(biāo)密碼因子);目標(biāo)密碼存儲(chǔ)前先加鹽(SALT),加鹽算法為SHA256(目標(biāo)密碼+SALT)。

具體過(guò)程如下:

1)用戶設(shè)置密碼或新建時(shí),在客戶端,用戶輸入認(rèn)證密碼后隨機(jī)生成一個(gè)目標(biāo)密碼因子A,對(duì)用戶密碼和目標(biāo)密碼因子A進(jìn)行目標(biāo)密碼運(yùn)算SHA256(SHA256(用戶密碼)+目標(biāo)密碼因子A)得到用于用戶認(rèn)證的目標(biāo)密碼C,將目標(biāo)密碼因子A和目標(biāo)密碼C發(fā)送到服務(wù)端。

2)在服務(wù)端,對(duì)目標(biāo)密碼C加鹽(SALT),隨機(jī)生成32位長(zhǎng)的字符串SALT D,對(duì)目標(biāo)密碼加SALT算法是SHA256(目標(biāo)密碼C + SALT D),得到加SALT后的目標(biāo)密碼E,存儲(chǔ)加SALT后的目標(biāo)密碼E、目標(biāo)密碼因子A、SALT D以及與用戶名的關(guān)系。

3)用戶登錄時(shí),在客戶端,用戶輸入用戶名和認(rèn)證密碼F后,發(fā)送用戶名到服務(wù)端獲取存儲(chǔ)的目標(biāo)密碼因子A,對(duì)用戶輸入的認(rèn)證密碼F和目標(biāo)密碼因子A進(jìn)行目標(biāo)密碼運(yùn)算,目標(biāo)密碼=SHA256(SHA256(認(rèn)證密碼F) + 目標(biāo)密碼因子A),得到目標(biāo)密碼H,將目標(biāo)密碼H發(fā)送到服務(wù)端。

4)在服務(wù)端,取出SALT D,對(duì)目標(biāo)密碼H和SALT D進(jìn)行加鹽運(yùn)算SHA256(目標(biāo)密碼H + SALT D)得到加鹽后的目標(biāo)密碼I,然后與存儲(chǔ)的加鹽后的目標(biāo)密碼E作比較,如果相同則用戶密碼輸入正確認(rèn)證成功,否則用戶密碼輸入不正確,用戶認(rèn)證失敗。

5)當(dāng)用戶設(shè)置身份證號(hào)碼J時(shí),在客戶端,用戶輸入數(shù)據(jù)保護(hù)用戶密碼K(可與用戶認(rèn)證的密碼相同);隨機(jī)生成一個(gè)目標(biāo)密碼因子L;將用戶密碼K和目標(biāo)密碼因子L進(jìn)行目標(biāo)密碼運(yùn)算SHA256(SHA256(用戶密碼K)+目標(biāo)密碼因子L)得到目標(biāo)密碼N,使用Aes256加密算法以目標(biāo)密碼N為密鑰對(duì)身份證號(hào)碼J進(jìn)行加密Aes256_Encrypt(身份證號(hào)碼J, 目標(biāo)密碼N)得到身份證號(hào)碼數(shù)據(jù)密文O,將身份證號(hào)碼數(shù)據(jù)密文O、目標(biāo)密碼因子L發(fā)送到服務(wù)端并存儲(chǔ)。

6)使用身份證號(hào)碼時(shí),用戶輸入數(shù)據(jù)保護(hù)的用戶密碼P,接著從服務(wù)端讀取身份證號(hào)碼數(shù)據(jù)密文O、目標(biāo)密碼因子L,再將用戶密碼P和讀取的目標(biāo)密碼因子L進(jìn)行目標(biāo)密碼運(yùn)算SHA256(SHA256(用戶密碼P)+目標(biāo)密碼因子L)得到目標(biāo)密碼R,再使用目標(biāo)密碼R對(duì)身份證號(hào)碼數(shù)據(jù)密文O進(jìn)行解密,如果用戶密碼P輸入正確則能正確解密出身份證號(hào)碼J,否則解密失敗。

實(shí)施示例2

本示例的場(chǎng)景是一個(gè)網(wǎng)絡(luò)軟件系統(tǒng),功能之一是用戶可備份通訊錄到服務(wù)端并可把備份到服務(wù)端的通訊錄恢復(fù)到本地,在系統(tǒng)中用戶需要登錄,并且要對(duì)備份的通訊錄數(shù)據(jù)進(jìn)行保護(hù)加密存儲(chǔ)。用戶認(rèn)證密碼采用一次密碼運(yùn)算---目標(biāo)密碼運(yùn)算,數(shù)據(jù)保護(hù)采用兩次密碼運(yùn)算---基礎(chǔ)密碼運(yùn)算、目標(biāo)密碼運(yùn)算。用戶認(rèn)證目標(biāo)密碼算法:目標(biāo)密碼=SHA256(SHA256(用戶密碼)+目標(biāo)密碼因子);目標(biāo)密碼直接存儲(chǔ),登錄時(shí)使用CHAP類似的協(xié)議。數(shù)據(jù)保護(hù)基礎(chǔ)密碼算法:基礎(chǔ)密碼=SHA256(用戶密碼+基礎(chǔ)密碼因子),目標(biāo)密碼算法是:目標(biāo)密碼=SHA256(基礎(chǔ)密碼+目標(biāo)密碼因子)。

具體過(guò)程如下:

1)用戶設(shè)置密碼時(shí),在客戶端,用戶輸入認(rèn)證用戶密碼后隨機(jī)生成一個(gè)目標(biāo)密碼因子A,然后對(duì)用戶密碼和目標(biāo)密碼因子A進(jìn)行目標(biāo)密碼運(yùn)算SHA256(SHA256(用戶密碼)+目標(biāo)密碼因子A)得到用于用戶認(rèn)證的目標(biāo)密碼C,再將目標(biāo)密碼因子A和目標(biāo)密碼C發(fā)送到服務(wù)端。

2)在服務(wù)端,隨機(jī)生成用于數(shù)據(jù)加密的基礎(chǔ)密碼因子D,然后存儲(chǔ)目標(biāo)密碼因子A、目標(biāo)密碼C、數(shù)據(jù)加密基礎(chǔ)密碼因子D及其與用戶的關(guān)系。

3)用戶登錄時(shí),在客戶端,當(dāng)用戶輸入用戶名和密碼E后,將用戶名發(fā)送到服務(wù)端,在服務(wù)端,通過(guò)用戶名找到存儲(chǔ)的目標(biāo)密碼因子A,并生成一個(gè)認(rèn)證隨機(jī)數(shù)據(jù)F,將目標(biāo)密碼因子A、認(rèn)證隨機(jī)數(shù)據(jù)F發(fā)送到客戶端。

4)在客戶端,先對(duì)用戶密碼E和目標(biāo)密碼因子A進(jìn)行目標(biāo)密碼運(yùn)算SHA256(SHA256(用戶密碼E)+ 目標(biāo)密碼因子A),得到目標(biāo)密碼G;以目標(biāo)密碼G為密鑰對(duì)認(rèn)證隨機(jī)數(shù)據(jù)F進(jìn)行Aes256加密運(yùn)算, Aes256_Encrypt(認(rèn)證隨機(jī)數(shù)據(jù)F, 目標(biāo)密碼G),得到認(rèn)證串H,將認(rèn)證串H發(fā)送到服務(wù)端。

5)在服務(wù)端,從存儲(chǔ)區(qū)讀取目標(biāo)密碼C,以讀取的目標(biāo)密碼C為密鑰對(duì)認(rèn)證隨機(jī)數(shù)據(jù)F進(jìn)行Aes256加密運(yùn)算Aes256_Encrypt(認(rèn)證隨機(jī)數(shù)據(jù)F, 目標(biāo)密碼C),得到認(rèn)證串I,比較認(rèn)證串H和I是否相同,如果相同則用戶密碼輸入正確認(rèn)證成功,否則用戶密碼輸入不正確,用戶認(rèn)證失敗。

6)用戶認(rèn)證成功后,服務(wù)端發(fā)送數(shù)據(jù)加密基礎(chǔ)密碼因子D到客戶端;在客戶端,將用戶密碼E和數(shù)據(jù)加密基礎(chǔ)密碼因子D進(jìn)行數(shù)據(jù)保護(hù)基礎(chǔ)密碼運(yùn)算SHA256(用戶密碼E+基礎(chǔ)密碼因子D)得到數(shù)據(jù)保護(hù)基礎(chǔ)密碼J,然后刪除內(nèi)存中的用戶密碼。

7)當(dāng)用戶備份通訊錄時(shí),隨機(jī)生成一個(gè)目標(biāo)密碼因子K;將基礎(chǔ)密碼J和目標(biāo)密碼因子K進(jìn)行目標(biāo)密碼運(yùn)算SHA256(基礎(chǔ)密碼J+目標(biāo)密碼因子K)得到數(shù)據(jù)保護(hù)目標(biāo)密碼L,使用Aes256加密算法以目標(biāo)密碼L為密鑰對(duì)通訊錄數(shù)據(jù)M加密Aes256_Encrypt(通訊錄數(shù)據(jù)M,目標(biāo)密碼L),得到通訊錄數(shù)據(jù)密文N,將目標(biāo)密碼因子K、通訊錄數(shù)據(jù)密文N發(fā)送到服務(wù)端。

8)在服務(wù)端,存儲(chǔ)目標(biāo)密碼因子K、通訊錄數(shù)據(jù)密文N。

9)恢復(fù)通訊錄時(shí),客戶端從服務(wù)端獲取目標(biāo)密碼因子K、通訊錄數(shù)據(jù)密文N,將基礎(chǔ)密碼J和目標(biāo)密碼因子K進(jìn)行目標(biāo)密碼運(yùn)算SHA256(基礎(chǔ)密碼J+目標(biāo)密碼因子K)得到目標(biāo)密碼L,再使用目標(biāo)密碼L對(duì)通訊錄數(shù)據(jù)密文N進(jìn)行解密Aes256_Decrypt(通訊錄數(shù)據(jù)密文N,目標(biāo)密碼L),得到通訊錄數(shù)據(jù),然后將通訊錄數(shù)據(jù)恢復(fù)到本地。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,因此并不以此來(lái)限定本發(fā)明之權(quán)利范圍,凡在本發(fā)明的原則和精神之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均就包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1