專利名稱:集中賬號(hào)密碼認(rèn)證生成系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬信息安全領(lǐng)域,涉及一種集中賬號(hào)密碼認(rèn)證生成系統(tǒng)。
背景技術(shù):
目前因特網(wǎng)上的網(wǎng)站越來越多,大多數(shù)網(wǎng)站都需要注冊(cè)賬號(hào),并且設(shè)置相應(yīng)的密碼。有些網(wǎng)站還需進(jìn)行身份認(rèn)證才能注冊(cè),但是這種認(rèn)證有時(shí)候就是隨意輸入自己的身份證號(hào)碼、提交一些證明材料等,不僅工作量大,而且很容易偽造。為了方便,許多網(wǎng)站無需提交認(rèn)證信息,用戶就可以自由注冊(cè),這帶來了安全隱患。對(duì)于用戶而言,在不同的網(wǎng)站注冊(cè)需要設(shè)置不同的賬號(hào)利密碼,由于賬號(hào)都是用戶任意注冊(cè)的,用戶的常用用戶名可能已經(jīng)被他人搶先注冊(cè),不得不設(shè)置許多不同的用戶名,而且密碼為了保證安全性,也不得不設(shè)置不同的密碼,所以用戶造成了記憶上的不方便,往往會(huì)混淆不同網(wǎng)站的注冊(cè)信息。目前市場(chǎng)存在措施目前市場(chǎng)上普遍推廣的單點(diǎn)登陸系統(tǒng)可以簡(jiǎn)化企業(yè)內(nèi)部多個(gè)系統(tǒng)登陸的繁瑣問題。但是這種系統(tǒng)只適合在企業(yè)內(nèi)部使用,適用范圍較窄,不適合互聯(lián)網(wǎng)范圍內(nèi)的廣泛應(yīng)用。本發(fā)明設(shè)計(jì)了一種低成本的,一次認(rèn)證即可應(yīng)用到所有網(wǎng)站的集中賬號(hào)密碼認(rèn)證生成系統(tǒng),由一個(gè)可信任的賬號(hào)認(rèn)證管理中心來認(rèn)證個(gè)人用戶和網(wǎng)站用戶,為個(gè)人用戶生成唯一的賬號(hào),密碼則根據(jù)算法自動(dòng)生成。各個(gè)網(wǎng)站可以通過安全連接獲得用戶的賬戶和密碼,而且密碼只是對(duì)于該網(wǎng)站適用,其他網(wǎng)站的密碼不能由此網(wǎng)站密碼推算。各個(gè)網(wǎng)站可以獨(dú)立設(shè)置一種自己網(wǎng)站的獨(dú)立用戶名和賬戶認(rèn)證中心的統(tǒng)一賬戶(比如可以用Osohu. com和@ca. org分別標(biāo)識(shí)網(wǎng)站自己的賬戶和認(rèn)證中心的賬戶),也可以全部采用賬戶認(rèn)證中心的賬戶密碼。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種集中式的認(rèn)證和賬戶管理方法。發(fā)明涉及到三方認(rèn)證中心C,用戶A和網(wǎng)站B。認(rèn)證中心負(fù)責(zé)用可靠的方式認(rèn)證用戶和網(wǎng)站,管理用戶的賬戶和密碼。用戶在認(rèn)證中心的注冊(cè)用戶提交自己的信息,認(rèn)證中心通過各種方式,對(duì)用戶的各種資料和信息進(jìn)行認(rèn)證,并且備案。經(jīng)過認(rèn)證后,采用安全的鏈接,與用戶共享一個(gè)主密鑰K。網(wǎng)站在認(rèn)證中心的注冊(cè)用戶提交自己的信息,認(rèn)證中心通過各種方式,核實(shí)網(wǎng)站的真實(shí)性,并且將相關(guān)信息備案。核實(shí)網(wǎng)站的身份后,獲得網(wǎng)站的公鑰,授予其唯一的一個(gè) ID。認(rèn)證中心將網(wǎng)站Id公開,并且給網(wǎng)站B發(fā)一個(gè)簽名文件,證明B的ID就是公開的那個(gè)。 完成注冊(cè)后,網(wǎng)站需要進(jìn)行相應(yīng)編程,首先是要支持認(rèn)證中心的賬戶類型,假設(shè)為org 類賬戶其次要建立網(wǎng)站和認(rèn)證中心直接的安全通信的編程。用戶在網(wǎng)站的注冊(cè)只要用戶A和網(wǎng)站B都經(jīng)過合法的認(rèn)證,用戶第一次注冊(cè)網(wǎng)站B的時(shí)候,如果選擇網(wǎng)站獨(dú)立的賬戶,則與本系統(tǒng)無關(guān);如果選擇@ca. org類賬戶,則用戶可以提交自己的統(tǒng)一賬戶,用戶先查看認(rèn)證中心網(wǎng)站中公布的網(wǎng)站B的ID,或者在B網(wǎng)站上下載一個(gè)認(rèn)證中心的簽名,證明網(wǎng)站B的ID,然后用戶方根據(jù)主密鑰、網(wǎng)站的ID和一些其他附加信息,附加信息中包括一個(gè)固定長(zhǎng)度是用來標(biāo)識(shí)掛失次數(shù)的,其中也可以包括賬戶名,注冊(cè)的時(shí)候其值設(shè)置為0,采用單向函數(shù)來生成密碼,注意如果生成的值很長(zhǎng),可以約定截取一定的位數(shù)。用戶將信息提交給網(wǎng)站,網(wǎng)站將信息轉(zhuǎn)發(fā)給認(rèn)證中心,網(wǎng)站用認(rèn)證中心的公鑰加密用戶的賬戶和密碼給認(rèn)證中心,并且用自己的私鑰簽名,認(rèn)證中心接受到信息后, 先用網(wǎng)站的公鑰驗(yàn)證簽名,然后用自己的私鑰解密。由于認(rèn)證中心和用戶共享主密鑰,所以認(rèn)證中心也可以根據(jù)主密鑰、網(wǎng)站的ID和一些其他附加信息,采用同樣的單向函數(shù)來生成密碼。由于兩者知道的信息是一樣的,所以,如果用戶身份屬實(shí),得到的結(jié)果應(yīng)該是一樣的。 認(rèn)證中心將核實(shí)的結(jié)果告訴網(wǎng)站,如果身份得到核實(shí),網(wǎng)站即可認(rèn)可用戶的賬戶和密碼。此后如果用戶需要修改密碼,可以直接自己在網(wǎng)站修改。其中的附加信息為功能的拓展提供了預(yù)留的空間,預(yù)留的附加信息為做更多的設(shè)置和限定提供了條件,包括在同一網(wǎng)站的不同位置如果需要采用不同的密碼的時(shí)候,可以在附加信息中加以區(qū)分,得到不同密碼,也可以將賬戶名作為附加信息的一部分以達(dá)到更好的安全效果。用戶密碼掛失和更新如果用戶密碼泄露了或者被木馬盜取了,就需要將原來的密碼掛失,并且更新新的密碼,用戶掛失的時(shí)候可以自動(dòng)生成一個(gè)新的密碼,其產(chǎn)生方式為利用單向函數(shù),主密鑰、網(wǎng)站的ID和一些其他附加信息,將標(biāo)識(shí)掛失次數(shù)的比特位發(fā)置為掛失的次數(shù)。網(wǎng)站接受到后,用類似的方法轉(zhuǎn)發(fā)給認(rèn)證中心,認(rèn)證中心認(rèn)證通過后,即可采用該新密碼。掛失和更新是一體的,用更新的密碼可以認(rèn)證用戶的身份,這樣避免一些人偽冒真正用戶進(jìn)行惡意掛失。由于采用了單向函數(shù),網(wǎng)站知道用戶的密碼不能反推權(quán)威賬號(hào)管理中心與戶共享的密鑰。密碼泄露后,其他的人也無法通過密碼來獲取主密鑰相關(guān)的信息,或者是新密碼的相關(guān)信息。從而在保證便利性的同時(shí),也保證了安全性。
具體實(shí)施例方式下面舉例說明系統(tǒng)的各個(gè)功能可以采用B/S或者C/S模式實(shí)現(xiàn),包括用戶密碼的計(jì)算,當(dāng)然有些功能可以采用獨(dú)立程序?qū)崿F(xiàn),我們這里假設(shè)采用B/S模式。由于采用了單向函數(shù),網(wǎng)站知道用戶的密碼不能反推權(quán)威賬號(hào)管理中心與用戶共享的密鑰。密碼泄露后,其他的人也無法通過密碼來獲取主密鑰相關(guān)的信息,或者是新密碼的相關(guān)信息。本系統(tǒng)在實(shí)現(xiàn)的時(shí)候,主要是集中在認(rèn)證中心的系統(tǒng)開發(fā),并且認(rèn)證中心可以給各個(gè)網(wǎng)站提供一個(gè)的代碼模板供網(wǎng)站使用,另外,為了方便用戶,可以開發(fā)一個(gè)密碼生成器供用戶下載到本地,隨時(shí)可計(jì)算各個(gè)網(wǎng)站的密碼,使得用戶不用網(wǎng)頁(yè)腳本就可以計(jì)算密碼。(一)認(rèn)證中心網(wǎng)站采用單向加密的安全套接字鏈接。用戶登錄認(rèn)證中心網(wǎng)站,提交注冊(cè)信息,.包括用戶的身份信息等。認(rèn)證中心看到注冊(cè)申請(qǐng)后,閱讀用戶提交的資料, 并且采用查驗(yàn)證件等方式來核實(shí)用戶資料的真實(shí)性,然后請(qǐng)求用戶提交主密鑰。用戶采用安全鏈接將主密鑰K加密后發(fā)給認(rèn)證中心,認(rèn)證中心將用戶的各種資料和主密鑰存放在數(shù)據(jù)庫(kù)中。(二)網(wǎng)站管理員登錄認(rèn)證中心網(wǎng)站,提交網(wǎng)站的注冊(cè)信息,.包括網(wǎng)站及其法人的身份信息等。認(rèn)證中心看到注冊(cè)申請(qǐng)后,閱讀網(wǎng)站提交的資料,并且采用各種方式來核實(shí)用戶資料的真實(shí)性,然后給網(wǎng)站分配一個(gè)ID,要求網(wǎng)站提交自己的公鑰(如果沒有,請(qǐng)求用戶生成密鑰對(duì),提交公鑰),對(duì)公鑰做一個(gè)數(shù)字簽名,同時(shí),也將分配給網(wǎng)站的ID、網(wǎng)站的域名、Ip、網(wǎng)站的公鑰等信息存放在一個(gè)文件中做一個(gè)簽名,發(fā)給網(wǎng)站,網(wǎng)站可以將這一文件放在網(wǎng)上供用戶下載利驗(yàn)證。(三)用戶將認(rèn)證中心的數(shù)字證書設(shè)置為受信任的發(fā)行者類別。用戶注冊(cè)網(wǎng)站時(shí), 可以登錄認(rèn)證中心的網(wǎng)站,查詢網(wǎng)站B的ID,或者直接在網(wǎng)站B上下載認(rèn)證中心的簽名文件。然后認(rèn)證中心的一個(gè)網(wǎng)頁(yè)的腳本可以根據(jù)主密鑰、ID和附加的信息生成密碼。用戶打開這個(gè)頁(yè)面,生成密碼。這其中可以采用多種方式來實(shí)現(xiàn)單向函數(shù)第一種方法是對(duì)所有的信息,比如主密鑰、ID和附加的信息做MD5等哈希函數(shù)運(yùn)算,取其中固定長(zhǎng)度的一部分作為密碼。第二種方法是以主密鑰作為密鑰,用某個(gè)固定的分組密碼或者流密碼算法來加密ID 和附加信息,截取密文的固定長(zhǎng)度的一部分作為密碼。由于分組密碼和流密碼在已知明文密文對(duì)的時(shí)候是安全的,無法獲得密鑰,所以,即使是網(wǎng)站,也不能根據(jù)ID利附加信息與密碼來反推主密鑰。(四)用戶登錄網(wǎng)站B,提交自己的用戶名利密碼,進(jìn)行注冊(cè)。網(wǎng)站將ID、賬戶名和密碼加密后轉(zhuǎn)發(fā)給認(rèn)證中心,認(rèn)證中心認(rèn)證網(wǎng)站身份的真實(shí)性,并且解密信息后,驗(yàn)證用戶的密碼是否正確,并且告知網(wǎng)站,網(wǎng)站得到正確的信息后,接受用戶的注冊(cè),將用戶名和密碼存放在數(shù)據(jù)庫(kù)中。注意用戶和網(wǎng)站B之間也必須采用安全套接字進(jìn)行安全連接。網(wǎng)站B 和認(rèn)證中心則必須采用雙向認(rèn)證的安全套接字連接。(五)如果用戶在網(wǎng)站的密碼泄露了,可以在認(rèn)證中心的一個(gè)掛失的網(wǎng)頁(yè)中用腳本計(jì)算第η次掛失的密碼,然后在網(wǎng)站B中選擇掛失頁(yè)面,提交一個(gè)掛失的請(qǐng)求,掛失的請(qǐng)求中包括了掛失的次數(shù),網(wǎng)站將用戶以前的掛失次數(shù)調(diào)出來,核對(duì)新的掛失次數(shù)是否是增加了 1次,如果是,將掛失次數(shù)加1,然后將掛失相關(guān)信息提交給認(rèn)證中心,認(rèn)證中心做核對(duì),將結(jié)果告知網(wǎng)站B ;如果不是,拒絕用戶的請(qǐng)求。如果被告知用戶的掛失時(shí)輸入的密碼正確,接受用戶的掛失,并且更新用戶的密碼。
權(quán)利要求
1.一種集中賬號(hào)密碼認(rèn)證生成系統(tǒng),其特征在于可以在不同的網(wǎng)站采用相同的賬戶名,而密碼由一個(gè)主密鑰,結(jié)合網(wǎng)站ID,是否掛失既掛失次數(shù)以及其他的信息采用單向函數(shù)生成每一個(gè)網(wǎng)站的密碼。
2.如權(quán)利要求1所述的集中賬號(hào)密碼認(rèn)證生成系統(tǒng),其特征在于單向函數(shù)可以采用哈希函數(shù),將主密鑰、網(wǎng)站ID、其他附加信息合并后,輸入哈希函數(shù)生成哈希值,取其中的一部分作為密碼。
3.如權(quán)利要求1所述的集中賬號(hào)密碼認(rèn)證生成系統(tǒng),其特征在于單向函數(shù)可以采用對(duì)稱加密算法,采用某一個(gè)固定的對(duì)稱加密算法,以主密鑰作為加密密鑰,加密合并后的網(wǎng)站 ID和其他附加信息,取其中一部分作為密碼。
4.如權(quán)利要求1所述的集中賬號(hào)密碼認(rèn)證生成系統(tǒng),其特征在于用戶與認(rèn)證中心采用單向認(rèn)證的安全套接字連接,網(wǎng)站與認(rèn)證中心采用雙向認(rèn)證的安全套接字連接。
5.如權(quán)利要求1所述的集中賬號(hào)密碼認(rèn)證生成系統(tǒng),其特征在于認(rèn)證中心采用數(shù)字簽名的方式來證實(shí)網(wǎng)站的真實(shí)性,而通過單向函數(shù)產(chǎn)生的密碼來證實(shí)和驗(yàn)證用戶身份的真實(shí)性。
6.如權(quán)利要求1所述的集中賬號(hào)密碼認(rèn)證生成系統(tǒng),其特征在于用戶密碼泄露,需要掛失以前的密碼并且更新密碼的時(shí)候,可以將主密鑰、網(wǎng)站ID、掛失次數(shù)等附加信息輸入單向函數(shù),使得用戶可以掛失而直接得到認(rèn)證,泄露的密碼將會(huì)被廢棄。
7.如權(quán)利要求1所述的集中賬號(hào)密碼認(rèn)證生成系統(tǒng),其特征在于預(yù)留的附加信息為更多的設(shè)置利限定提供了條件,包括在同一網(wǎng)站的不同位置如果需要采用不同的密碼的時(shí)候,可以在附加信息中加以區(qū)分,得到不同密碼。附加信息為預(yù)留新的功能提供了條件。
全文摘要
本發(fā)明涉及一種集中賬號(hào)密碼認(rèn)證生成系統(tǒng),可以依賴它將用戶的身份認(rèn)證、密碼生成都集中在一個(gè)權(quán)威的認(rèn)證中心。認(rèn)證中心與用戶共享主密鑰,給網(wǎng)站頒發(fā)ID,并且進(jìn)行數(shù)字簽名證實(shí)其身份,認(rèn)證網(wǎng)站轉(zhuǎn)發(fā)的用戶的賬號(hào)密碼的真實(shí)性。用戶在各個(gè)網(wǎng)站的賬號(hào)是一樣的,而密碼都是由主密鑰、網(wǎng)站ID等信息派生的,其中用到單向函數(shù),因此即使知道一個(gè)網(wǎng)站的密碼也無法反推主密鑰,無法推測(cè)其他的網(wǎng)站的密碼,并且用戶可以無需認(rèn)證的情況下進(jìn)行安全的掛失和密碼更新,不知道主密鑰的人無法完成掛失。系統(tǒng)保證用戶憑一個(gè)賬號(hào)和主密鑰,就可在所有加盟的網(wǎng)站無需認(rèn)證進(jìn)行注冊(cè)和密碼更新,既方便用戶記憶,也方便網(wǎng)站的認(rèn)證。
文檔編號(hào)H04L29/06GK102170354SQ20111009431
公開日2011年8月31日 申請(qǐng)日期2011年4月11日 優(yōu)先權(quán)日2011年4月11日
發(fā)明者汪華登, 王勇, 蔡國(guó)永 申請(qǐng)人:桂林電子科技大學(xué)