專利名稱:一種認(rèn)證方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息領(lǐng)域,特別是認(rèn)證技術(shù)。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,人們的工作和生活對(duì)網(wǎng)絡(luò)的依賴性越來(lái)越高。例如銀行開(kāi)始通過(guò)網(wǎng)絡(luò)向公司和個(gè)人提供各種銀行服務(wù),企業(yè)通過(guò)網(wǎng)絡(luò)為自己的員工提供各種服務(wù)和資料,內(nèi)容服務(wù)商為用戶提供各種網(wǎng)絡(luò)服務(wù),例如郵箱、網(wǎng)絡(luò)游戲、網(wǎng)絡(luò)存儲(chǔ)等。這些網(wǎng)絡(luò)服務(wù)大多都需要對(duì)客戶的身份進(jìn)行認(rèn)證,以保證服務(wù)或者交易的安全。 目前,主流的認(rèn)證技術(shù)是通過(guò)靜態(tài)的用戶名和密碼進(jìn)行認(rèn)證。也即,用戶可以自己設(shè)定一個(gè)用戶名和密碼,并每次通過(guò)這個(gè)用戶名和密碼進(jìn)行認(rèn)證。采用這種靜態(tài)的用戶名和密碼的認(rèn)證方法存在很大的安全隱患,因?yàn)檫@種靜態(tài)的用戶名和密碼在使用過(guò)程中非常容易泄露并且很容易遭受重放攻擊,例如黑客可以截取這種靜態(tài)的用戶名和密碼,或者可以通過(guò)計(jì)算或者多次嘗試破解靜態(tài)的用戶名和密碼,或者容易被熟人猜出。上述安全隱患一旦成為現(xiàn)實(shí),會(huì)導(dǎo)致用戶的財(cái)產(chǎn)損失或者公司信譽(yù)損失等,嚴(yán)重?cái)_亂正常的社會(huì)秩序。為了解決用戶身份認(rèn)證的問(wèn)題,目前人們提出了幾種解決方案。一種解決方案為, 定期要求用戶更換密碼,例如每3個(gè)月更換一次密碼。但是由于在3個(gè)月內(nèi),用戶名和密碼仍然是靜態(tài)的,所以仍然具有很大的安全隱患。另一種解決方案為,使用一次性密碼硬件技術(shù)進(jìn)行用戶的身份認(rèn)證。在一次性密碼的硬件技術(shù)中,不再使用靜態(tài)的密碼,而是使用硬件生成一次性密碼,用于進(jìn)行身份認(rèn)證。每次認(rèn)證時(shí)都使用一個(gè)新生成的密碼,可以使得黑客難以獲取或者破解,也很難猜測(cè), 從而能夠提供較高的安全防護(hù)。但是由于硬件成本過(guò)高,生命周期有限,并且更新或者購(gòu)買的費(fèi)用較高,很難推廣應(yīng)用。還有一種解決方案為,使用短消息直接發(fā)送一次性密碼,用于用戶進(jìn)行身份認(rèn)證。 采用短消息直接發(fā)送一次性密碼不僅可以進(jìn)行動(dòng)態(tài)的認(rèn)證,避免了靜態(tài)密碼容易被破解的問(wèn)題,還可以節(jié)省硬件成本。但是,通過(guò)空口下發(fā)密碼時(shí),密碼較容易被截獲,或者當(dāng)用戶與手機(jī)分離時(shí),其他人很容易看到通過(guò)短信發(fā)送的一次性密碼,從而使用該密碼進(jìn)行身份認(rèn)證。
發(fā)明內(nèi)容
考慮到現(xiàn)有技術(shù)的上述缺陷,本發(fā)明實(shí)施例提供一種認(rèn)證方法、裝置以及系統(tǒng),以實(shí)現(xiàn)提高用戶身份認(rèn)證的安全性的低成本解決方案。本發(fā)明各實(shí)施例提供了以下技術(shù)方案以解決上述技術(shù)問(wèn)題。本發(fā)明實(shí)施例提供的一種認(rèn)證方法,該方法包括認(rèn)證服務(wù)器接收用戶發(fā)送的認(rèn)證請(qǐng)求;所述認(rèn)證服務(wù)器在接收到所述認(rèn)證請(qǐng)求后,生成包含一次性密鑰的密鑰序列;所述認(rèn)證服務(wù)器向所述用戶發(fā)送所述密鑰序列;
5
所述認(rèn)證服務(wù)器接收所述用戶發(fā)送的所述一次性密鑰的一次性密鑰信息;所述認(rèn)證服務(wù)器比較所述接收的一次性密鑰信息與本地保存的一次性密鑰信息;在比較結(jié)果為相同時(shí),所述認(rèn)證服務(wù)器反饋認(rèn)證通過(guò)。本發(fā)明實(shí)施例提供的一種認(rèn)證裝置,該裝置包括接收模塊、序列生成模塊、發(fā)送模塊以及比較模塊;其中,該接收模塊,用于接收用戶發(fā)送的認(rèn)證請(qǐng)求;該序列生成模塊,用于在所述接收模塊接收到所述認(rèn)證請(qǐng)求后,生成包含一次性密鑰的密鑰序列;該發(fā)送模塊,用于向所述用戶發(fā)送所述序列生成模塊生成的密鑰序列;該接收模塊進(jìn)一步用于接收所述用戶發(fā)送的所述一次性密鑰的一次性密鑰信息;該比較模塊,用于比較所述第二接收模塊接收的一次性密鑰信息以及本地保存的一次性密鑰信息,在比較結(jié)果為相同時(shí),通知所述發(fā)送模塊反饋認(rèn)證通過(guò)。本發(fā)明實(shí)施例提供的一種認(rèn)證系統(tǒng),該認(rèn)證系統(tǒng)包括認(rèn)證代理服務(wù)器包含上述認(rèn)證裝置;認(rèn)證代理,用于所述認(rèn)證代理用于向所述認(rèn)證服務(wù)器發(fā)送所述用戶的認(rèn)證請(qǐng)求, 并接收所述認(rèn)證服務(wù)器反饋的認(rèn)證結(jié)果。通過(guò)本發(fā)明各實(shí)施例提供的技術(shù)方案,可以為用戶提供包含一次性密鑰的密鑰序列,使得用戶以外的其他人獲得該密鑰序列時(shí),難以獲知用戶的一次性密鑰,從而降低了一次性密鑰被濫用的風(fēng)險(xiǎn),并且由于采用一次性密鑰進(jìn)行認(rèn)證一定程度上能夠防御重放攻擊。因此,通過(guò)上述技術(shù)方案可以提高網(wǎng)絡(luò)認(rèn)證的安全性。
本發(fā)明實(shí)施例的其他特點(diǎn)、特征和優(yōu)點(diǎn)通過(guò)以下結(jié)合附圖的詳細(xì)描述將變得更加顯而易見(jiàn),其中圖Ia為本發(fā)明實(shí)施例提供的一種認(rèn)證方法的流程示意圖;圖Ib為本發(fā)明實(shí)施例提供的一種認(rèn)證方法的流程示意圖;圖Ic為本發(fā)明實(shí)施例提供的一種認(rèn)證方法的流程示意圖;圖2為本發(fā)明實(shí)施例提供的一種認(rèn)證方法的流程示意圖;圖3a為本發(fā)明實(shí)施例提供的一種認(rèn)證方法的流程示意圖;圖北為本發(fā)明實(shí)施例提供的另一種認(rèn)證方法的流程示意圖;圖如為本發(fā)明實(shí)施例提供的一種認(rèn)證裝置的結(jié)構(gòu)示意圖;圖4b為本發(fā)明實(shí)施例提供的一種認(rèn)證裝置的結(jié)構(gòu)示意圖;圖如為本發(fā)明實(shí)施例提供的一種認(rèn)證裝置的結(jié)構(gòu)示意圖;圖4d為本發(fā)明實(shí)施例提供的一種認(rèn)證裝置的結(jié)構(gòu)示意圖;圖如為本發(fā)明實(shí)施例提供的一種認(rèn)證裝置的結(jié)構(gòu)示意圖;圖4f為本發(fā)明實(shí)施例提供的一種認(rèn)證裝置的結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例提供的一種認(rèn)證裝置的結(jié)構(gòu)示意圖6為本發(fā)明實(shí)施例提供的一種認(rèn)證系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供的認(rèn)證方法可以應(yīng)用于各種網(wǎng)絡(luò)安全場(chǎng)景,例如,可以應(yīng)用于企業(yè)雇員登錄企業(yè)網(wǎng)絡(luò),可以應(yīng)用于銀行的網(wǎng)絡(luò)服務(wù),還可以應(yīng)用在網(wǎng)絡(luò)游戲等各種應(yīng)用中。圖Ia為本發(fā)明實(shí)施例提供的一種認(rèn)證方法的流程示意圖,下面結(jié)合圖Ia詳細(xì)描述本發(fā)明實(shí)施例提供的認(rèn)證方法。該認(rèn)證方法包括步驟101,接收認(rèn)證請(qǐng)求。本實(shí)施例中,步驟101的執(zhí)行主體通??梢詾檎J(rèn)證服務(wù)器,或者也可以為認(rèn)證代理,或者還可以為同時(shí)集成了認(rèn)證服務(wù)器和認(rèn)證代理的設(shè)備。該認(rèn)證請(qǐng)求可以為用戶直接發(fā)送的,也可以為認(rèn)證代理發(fā)送的,或者還可以是網(wǎng)絡(luò)中其他設(shè)備轉(zhuǎn)發(fā)的。步驟102,生成包含一次性密鑰(One Time Password, OTP)的密鑰序列。本實(shí)施例中,步驟102的執(zhí)行主體通??梢詾檎J(rèn)證服務(wù)器,或者其他具有認(rèn)證服務(wù)器功能的實(shí)體。根據(jù)認(rèn)證請(qǐng)求,可以獲知用戶的身份信息,并通過(guò)用戶的身份信息獲知該用戶對(duì)應(yīng)的密鑰生成序列?;蛘撸鶕?jù)認(rèn)證請(qǐng)求可以直接獲知待認(rèn)證用戶對(duì)應(yīng)的密鑰生成序列。本實(shí)施例中,密鑰生成序列用于從一次性密鑰序列中獲取一次性密鑰。生成密鑰序列時(shí),步驟102具體例如可以包括生成初始序列,按照密鑰生成序列對(duì)初始序列進(jìn)行處理,從而獲得密鑰序列。本實(shí)施例中,初始序列例如可以是隨機(jī)序列或者半隨機(jī)序列,或者可以是按照一定規(guī)則生成的序列。為了提高網(wǎng)絡(luò)的安全性能,減少密鑰被破解的可能,初始序列優(yōu)選的為隨機(jī)序列或者半隨機(jī)序列。步驟102中按照密鑰生成序列對(duì)初始序列進(jìn)行處理,獲得密鑰序列,例如可以為, 將初始序列的部分或者全部作為一次性密鑰與密鑰生成序列進(jìn)行數(shù)學(xué)運(yùn)算,獲得密鑰序列;或者還可以生成一次性密鑰,并將一次性密鑰的第η位插入到初始序列的第m位之前或者之后,或者代替初始序列的第m位,將得到的序列作為密鑰序列,其中m為密鑰生成序列的第η位的值,η的取值為從1到N的自然數(shù),N為一次性密鑰的長(zhǎng)度。本領(lǐng)域技術(shù)人員根據(jù)上述示例可以得到其他的密鑰生成序列。在本實(shí)施例中,初始序列的長(zhǎng)度為Μ,則m還可以為密鑰生成序列的第η位的值模Μ,從而可以避免由于m的值大于M可能造成的錯(cuò)誤。步驟102還可以為直接生成密鑰序列,該密鑰序列即為隨機(jī)序列/半隨機(jī)序列或者其他序列。并且,在步驟102后,還包括根據(jù)密鑰生成序列,從密鑰序列中獲取一次性密鑰的步驟。其中,根據(jù)密鑰生成序列,從密鑰序列中獲取一次性密鑰例如可以為根據(jù)密鑰生成序列,按照獲取規(guī)則,從密鑰序列中獲取一次性密鑰,其中獲取規(guī)則為,一次性密鑰的第η位的值為密鑰序列的第m位的值,m為密鑰生成序列的第η位的值,η的取值為從1開(kāi)始到N的自然數(shù),N為密鑰生成序列的長(zhǎng)度。在本實(shí)施例中,密鑰序列的長(zhǎng)度為Μ,則m還可以為密鑰生成序列的第η位的值模Μ,從而可以避免由于m的值大于M可能造成的錯(cuò)誤。步驟103,發(fā)送生成的密鑰序列。
本實(shí)施例中,發(fā)送生成的密鑰序列可以是通過(guò)短消息服務(wù)網(wǎng)關(guān)向用戶發(fā)送短消息,也可以是通過(guò)互聯(lián)網(wǎng)向用戶發(fā)送郵件或者即時(shí)消息等。通過(guò)上述步驟,可以生成并發(fā)送包含一次性密鑰的密鑰序列,從而使得用戶可以從該一次性密鑰序列中獲取一次性密鑰,并使用一次性密鑰進(jìn)行認(rèn)證。該方法不直接傳送一次性密鑰文本本身,而是通過(guò)密鑰序列向用戶傳遞密鑰,用戶可以根據(jù)自己的密鑰生成序列從密鑰序列中獲取一次性密鑰。因此,該方法可以最大程度的避免一次性密鑰被截獲、 破譯,從而提高了網(wǎng)絡(luò)認(rèn)證的安全性。如圖Ib所示,本發(fā)明實(shí)施例提供的認(rèn)證方法,還可以包括以下步驟步驟107,接收一次性密鑰信息。本實(shí)施例中,該一次性密鑰信息可以是用戶直接發(fā)送的,也可以是認(rèn)證代理發(fā)送的。該一次性密鑰信息既可以是直接的一次性密鑰文本本身,也可以是一次性密鑰的哈希 (Hash)值,或者還可以是另一個(gè)包含一次性密鑰的密鑰序列。步驟108,根據(jù)接收的一次性密鑰信息進(jìn)行認(rèn)證。本實(shí)施例中,如果接收的是一次性密鑰本身,則可以直接比較接收的一次性密鑰與保存的一次性密鑰;如果接收的是一次性密鑰的哈希值,則可以比較該哈希值與保存的一次性密鑰的哈希值;如果接收的是包含一次性密鑰的密鑰序列,則通過(guò)該密鑰序列獲取一次性密鑰,并與保存的一次性密鑰進(jìn)行對(duì)比。步驟109,反饋認(rèn)證結(jié)果。在步驟109中,向用戶或者認(rèn)證代理發(fā)送認(rèn)證結(jié)果。通過(guò)上述步驟,可以根據(jù)用戶提供的一次性密鑰對(duì)用戶進(jìn)行認(rèn)證,增加了網(wǎng)絡(luò)的安全性能。并且在傳輸一次性密鑰信息時(shí),如果采用哈希值或者密鑰序列會(huì)進(jìn)一步增將網(wǎng)絡(luò)的安全性能,避免黑客通過(guò)多次攔截密鑰信息學(xué)習(xí)密鑰生成方法。進(jìn)一步的,如圖Ic所示,本發(fā)明實(shí)施例提供的認(rèn)證方法還可以包括以下步驟步驟111,獲取用戶的注冊(cè)信息。本步驟的執(zhí)行主體通常為認(rèn)證服務(wù)器或者其他具有認(rèn)證服務(wù)器功能的實(shí)體。獲取用戶的注冊(cè)信息可以有多種途徑,例如,用戶通過(guò)用戶終端發(fā)送短消息,該短消息中包括注冊(cè)信息;或者用戶通過(guò)互聯(lián)網(wǎng)向認(rèn)證服務(wù)器發(fā)送注冊(cè)信息;或者用戶通過(guò)固定電話向認(rèn)證服務(wù)器發(fā)送注冊(cè)信息;或者還可以通過(guò)其他方式,例如填寫申請(qǐng)單由系統(tǒng)管理員進(jìn)行人工注冊(cè)。本發(fā)明各實(shí)施例中,注冊(cè)信息包括以下之一或其任意組合用戶ID,用戶的 PIN (Personal Identification Number,個(gè)人標(biāo)識(shí)號(hào))碼,用戶定義的密碼生成序列、用戶的聯(lián)系方式。其中,用戶的聯(lián)系方式例如可以為用戶的手機(jī)號(hào)碼、郵箱地址等能夠向用戶發(fā)送密鑰序列的方式。本發(fā)明的各實(shí)施例中,注冊(cè)信息包括的內(nèi)容可以不同。在具體實(shí)現(xiàn)時(shí),不同的認(rèn)證系統(tǒng)可以使用不同的注冊(cè)策略,從而注冊(cè)信息的內(nèi)容可以不同。例如,認(rèn)證系統(tǒng)在注冊(cè)時(shí), 僅需要用戶的用戶ID,認(rèn)證系統(tǒng)會(huì)為該用戶分配相應(yīng)的PIN碼和密碼生成序列,此時(shí)注冊(cè)信息中僅需要包含用戶ID。例如,認(rèn)證系統(tǒng)在注冊(cè)時(shí),僅需要用戶的用戶ID和PIN碼,認(rèn)證系統(tǒng)會(huì)為該用戶分配相應(yīng)的密碼生成序列,此時(shí)注冊(cè)信息中僅需要包含用戶ID和PIN碼。 為了提供給用戶更多的自主權(quán)利或者使用更加方便,優(yōu)選的,注冊(cè)信息中需要包括用戶ID,
8PIN碼,用戶定義的密碼生成序列以及用戶的聯(lián)系方式。步驟112,保存用戶的注冊(cè)信息。通過(guò)上述步驟,可以為用戶的認(rèn)證提供更多的靈活性,用戶可以自己設(shè)定PIN碼、 密碼生成序列等,從而使得認(rèn)證對(duì)于用戶而言更加方便。本實(shí)施例中,用戶的上述注冊(cè)過(guò)程可以應(yīng)用于對(duì)于后續(xù)請(qǐng)求認(rèn)證的用戶進(jìn)行是否為注冊(cè)用戶的檢驗(yàn)。例如,在接收到用戶的認(rèn)證請(qǐng)求后,可以先根據(jù)注冊(cè)信息驗(yàn)證該用戶是否為注冊(cè)用戶,若是,則可以繼續(xù)正常的認(rèn)證過(guò)程,若不是,則拒絕該用戶進(jìn)行認(rèn)證。由此, 可以避免非注冊(cè)用戶頻繁發(fā)送認(rèn)證請(qǐng)求而導(dǎo)致的拒絕服務(wù)攻擊,并且可以盡可能利用系統(tǒng)資源為注冊(cè)用戶服務(wù)。進(jìn)一步的,在認(rèn)證服務(wù)器接收到注冊(cè)信息后,還可以包括對(duì)用戶的密碼生成序列進(jìn)行異常處理的步驟。例如,用戶設(shè)置的密碼生成序列中某一位的值超過(guò)了密鑰序列長(zhǎng)度, 則向用戶反饋錯(cuò)誤,或者對(duì)超過(guò)密鑰序列長(zhǎng)度的值進(jìn)行模密鑰序列長(zhǎng)度的運(yùn)算。圖2是本發(fā)明實(shí)施例提供的一種認(rèn)證方法的流程示意圖。下面結(jié)合圖2對(duì)本發(fā)明實(shí)施例提供的認(rèn)證方法進(jìn)行詳細(xì)說(shuō)明。本實(shí)施例中,認(rèn)證代理與認(rèn)證服務(wù)器為分立的硬件設(shè)備。本領(lǐng)域技術(shù)人員可以理解,認(rèn)證代理與認(rèn)證服務(wù)器也可以為集成在一起的設(shè)備,并不影響本實(shí)施例提供的方法的實(shí)施。本實(shí)施例中,認(rèn)證代理可以為用戶終端上的應(yīng)用或者獨(dú)立的硬件設(shè)備,或者其他設(shè)備上的應(yīng)用,本實(shí)施例并不加以限制。認(rèn)證服務(wù)器可以僅連接一個(gè)認(rèn)證代理也可以連接多個(gè)認(rèn)證代理。步驟201,用戶通過(guò)短消息服務(wù)網(wǎng)關(guān)向認(rèn)證服務(wù)器發(fā)送注冊(cè)信息,注冊(cè)信息中包括用戶ID,PIN碼、密鑰生成序列以及手機(jī)號(hào)碼。在本發(fā)明各實(shí)施例中,用戶可以根據(jù)個(gè)人的習(xí)慣設(shè)置密鑰生成序列。例如用戶可以采用奇數(shù)序列(1,3,5,7,…),或者用戶也可以采用偶數(shù)序列0,4,6,8…),或者用戶還可以采用斐波納契序列(1,1,2,3,5,8,…),甚至用戶還可以采用自己的生日(1,9,7,9,1, 2,2,1)作為密鑰生成序列。由于用戶可以完全根據(jù)個(gè)人習(xí)慣設(shè)置密鑰生成序列,所以用戶以外的人很難猜測(cè)到用戶的密鑰生成序列,提高了網(wǎng)絡(luò)的安全性。本實(shí)施例中,為了描述方便,采用從1開(kāi)始的8位奇數(shù)序列作為密鑰生成序列。通過(guò)圖Ic所描述的實(shí)施例已經(jīng)說(shuō)明,注冊(cè)的方式可以有多種。并且注冊(cè)的途徑與接收一次性密鑰序列的途徑以及發(fā)送一次性密鑰的途徑并不存在必然聯(lián)系。例如,用戶可以通過(guò)短消息進(jìn)行注冊(cè),但是可以通過(guò)郵件接收一次性密鑰序列,并通過(guò)短消息/互聯(lián)網(wǎng)發(fā)送一次性密鑰。步驟202,用戶向認(rèn)證代理發(fā)送認(rèn)證請(qǐng)求。在步驟202中,認(rèn)證請(qǐng)求包括用戶的用戶ID以及PIN碼。步驟203,認(rèn)證代理向認(rèn)證服務(wù)器發(fā)送認(rèn)證請(qǐng)求。該認(rèn)證請(qǐng)求中包括用戶的用戶 ID以及PIN碼。步驟203中,認(rèn)證代理可以直接轉(zhuǎn)發(fā)用戶發(fā)送的認(rèn)證請(qǐng)求,也可以對(duì)用戶發(fā)送的認(rèn)證請(qǐng)求處理后再發(fā)送給認(rèn)證服務(wù)器。步驟204,認(rèn)證服務(wù)器根據(jù)接收的認(rèn)證請(qǐng)求中攜帶的用戶ID以及PIN碼,對(duì)用戶的身份進(jìn)行第一次認(rèn)證。認(rèn)證通過(guò)后執(zhí)行步驟205,如果未認(rèn)證通過(guò)則結(jié)束處理或者反饋失敗
fn息ο
本實(shí)施例中,執(zhí)行步驟204可以提高網(wǎng)絡(luò)的安全性能并保證系統(tǒng)的正常運(yùn)行。由于只有認(rèn)證通過(guò)的合法用戶才會(huì)執(zhí)行下面的操作,所以避免了非法用戶通過(guò)頻繁請(qǐng)求發(fā)起對(duì)認(rèn)證服務(wù)器的攻擊以及通過(guò)認(rèn)證系統(tǒng)發(fā)送短消息或者郵件騷擾其他用戶。并且,只針對(duì)合法用戶進(jìn)行后續(xù)的步驟,可以避免非法用戶占用認(rèn)證服務(wù)器的資源,導(dǎo)致認(rèn)證服務(wù)器無(wú)法為合法用戶提供服務(wù)。本實(shí)施例中,也可以不執(zhí)行步驟204,在步驟203后直接執(zhí)行步驟205。步驟205,生成密鑰序列。本步驟中,生成密鑰序列例如可以為以生成時(shí)間為種子,生成隨機(jī)序列作為密鑰序列?;蛘哌€可以是生成隨機(jī)序列、半隨機(jī)序列或者其他序列作為密鑰序列。為T描述方便,生成的密鑰序列例如為64位的隨機(jī)序列{1,5,8,9,8,7,5,1,2,4, 3,6,8,7,9,2,5, ···}。步驟206,根據(jù)密鑰生成序列以及密鑰序列獲取一次性密鑰。認(rèn)證服務(wù)器根據(jù)認(rèn)證請(qǐng)求中包含的用戶ID可以獲知該用戶的密鑰生成序列。一種示例性的一次性密鑰的獲取方法為一次性密鑰的第η位的值為密鑰序列的第m位的值,其中m為密鑰生成序列的第η位的值,η的取值為從1到N的自然數(shù),N為密鑰生成序列的長(zhǎng)度。另一種示例性的獲取方法為密鑰生成序列為N位,將密鑰生成序列與密鑰序列的前N位進(jìn)行加法、減法、乘法或者除法運(yùn)算等數(shù)學(xué)運(yùn)算,得到的結(jié)果如果超過(guò)N位則取前 N位,如果少于N位,則用0補(bǔ)齊,將處理后得到的N位結(jié)果作為一次性密鑰。為了描述方便,采用第一種示例性的獲取方法,例如密鑰生成序列為{1,3,5,7,9, 11,13,15},密鑰序列為{1,5,8,9,8,7,5,1,2,4,3,6,8,7,9,2,5,……},則密鑰生成序列的長(zhǎng)度為8,η的取值為從1開(kāi)始到8的自然數(shù)。η取1時(shí),密鑰生成序列的第1位的值為 m = 1,則一次性密鑰的第1位的值為密鑰序列的第m(m = 1)位的值1 ;同理,η的取值為8 時(shí),密鑰生成序列的第8位的值為m = 15,則一次性密鑰的第8位的值為密鑰序列的第m(m =15)位的值9。η取值從1到8,得到一次性密鑰18852389。步驟207,保存該一次性密鑰。認(rèn)證服務(wù)器為了進(jìn)行后續(xù)基于該一次性密鑰的認(rèn)證,需要保存該一次性密鑰。如果認(rèn)證系統(tǒng)采用一次性密鑰的哈希值進(jìn)行認(rèn)證,則步驟207也可以為計(jì)算并保存一次性密鑰的哈希值;或者步驟207仍為保存一次性密鑰,在后續(xù)的比較步驟中先使用保存的一次性密鑰計(jì)算哈希值,再進(jìn)行比較。由于保存哈希值所需的存儲(chǔ)空間可能會(huì)大于保存一次性密鑰所需要的存儲(chǔ)空間, 所以可以考慮優(yōu)選的保存一次性密鑰。進(jìn)一步的,在保存一次性密鑰時(shí),或者獲取一次性密鑰時(shí),或者生成密鑰序列時(shí), 可以啟動(dòng)計(jì)時(shí)器以維護(hù)該一次性密鑰的生命周期。通過(guò)對(duì)一次性密鑰生命周期的維護(hù),可以進(jìn)一步提高網(wǎng)絡(luò)的安全性,避免過(guò)期密鑰被用戶以外的人濫用,也可以抵御重放攻擊。認(rèn)證服務(wù)器可以將該一次性密鑰保存在本認(rèn)證服務(wù)器的存儲(chǔ)空間中,也可以保存在其他設(shè)備的存儲(chǔ)空間中。步驟208,認(rèn)證服務(wù)器將生成的密鑰序列發(fā)送給用戶。步驟208與步驟206之間沒(méi)有必然的執(zhí)行順序,可以同時(shí)執(zhí)行,也可以先執(zhí)行206或者先執(zhí)行208。在步驟208中,認(rèn)證服務(wù)器例如可以通過(guò)短信服務(wù)網(wǎng)關(guān)將密鑰序列以短消息形式發(fā)送給用戶;或者認(rèn)證服務(wù)其例如可以通過(guò)互聯(lián)網(wǎng)將密鑰序列以郵件或者即時(shí)消息形式發(fā)送給用戶。優(yōu)選的,可以采用短消息的形式將密鑰序列發(fā)送給用戶,由于目前空口傳輸?shù)陌踩阅芨哂诠叹W(wǎng)傳輸,所以采用空口發(fā)送密鑰序列可以進(jìn)一步提高安全性能。無(wú)論是通過(guò)固網(wǎng)發(fā)送密鑰序列還是通過(guò)空口發(fā)送密鑰序列,即使被截獲,都只能獲得一個(gè)序列,而并非是直接的一次性密鑰。截獲者很難獲知或者猜測(cè)密鑰生成序列,因此通過(guò)密鑰序列獲知一次性密鑰的難度很高,從而保護(hù)了網(wǎng)絡(luò)安全。步驟209,用戶將一次性密鑰輸入認(rèn)證代理。通過(guò)步驟208用戶可以獲得密鑰序列,用戶可以通過(guò)密鑰生成序列根據(jù)密鑰序列獲得一次性密鑰。例如,本實(shí)施例中,用戶得到的密鑰序列為{1,5,8,9,8,7,5,1,2,4,3,6,8,7,9,2,
5,……},用戶已經(jīng)獲知密鑰生成序列為{1,3,5,7,9,11,13,15},并且用戶已經(jīng)獲知一次性密鑰的獲取方法,根據(jù)該方法可以獲得一次性密鑰為18852389。用戶可以通過(guò)事先的約定或者注冊(cè)與服務(wù)器一方統(tǒng)一一次性密鑰的獲取方法。用戶將該一次性密鑰輸入認(rèn)證代理,或者發(fā)送至認(rèn)證代理。步驟210,認(rèn)證代理將一次性密鑰信息發(fā)送給認(rèn)證服務(wù)器。本實(shí)施例中,一次性密鑰信息可以為一次性密鑰本身,也可以為一次性密鑰的哈希值,還可以為包含一次性密鑰的序列。如果一次性密鑰信息為一次性密鑰本身,則認(rèn)證代理可以直接將一次性密鑰信息發(fā)送給認(rèn)證服務(wù)器,也可以將一次性密鑰進(jìn)行加密后發(fā)送給認(rèn)證服務(wù)器以進(jìn)一步提高網(wǎng)絡(luò)安全。如果一次性密鑰信息為哈希值,或者包含一次性密鑰的序列,則認(rèn)證代理需要具有計(jì)算一次性密鑰的哈希值或者生成包含該一次性密鑰的序列的功能。本實(shí)施例中,如果一次性密鑰信息為包含一次性密鑰的序列,則具體的生成過(guò)程可以參照認(rèn)證服務(wù)器生成密鑰序列的方法,此處不再贅述。為了描述方便,本實(shí)施例以發(fā)送一次性密鑰的哈希值為例進(jìn)行說(shuō)明。步驟220,認(rèn)證服務(wù)器比較接收的哈希值與存儲(chǔ)的哈希值是否相同,如果相同,則執(zhí)行步驟221,如果不同則結(jié)束處理或者反饋認(rèn)證失敗信息。如前所述,在步驟220中,認(rèn)證服務(wù)器可以直接獲取存儲(chǔ)的一次性密鑰的哈希值, 也可以獲取存儲(chǔ)的一次性密鑰并計(jì)算該一次性密鑰的哈希值,再與接收的哈希值進(jìn)行比較。進(jìn)一步的,為了提高網(wǎng)絡(luò)安全性能,可以先判斷該一次性密鑰的生命周期是否已經(jīng)結(jié)束,如果結(jié)束則反饋認(rèn)證失敗,如果沒(méi)有結(jié)束則進(jìn)行比較步驟。步驟221,認(rèn)證服務(wù)器反饋認(rèn)證通過(guò)。進(jìn)一步的,本實(shí)施例中,還可以包括步驟230,修改用戶的注冊(cè)信息。步驟230需要在步驟201之后執(zhí)行,與其他步驟之間沒(méi)有必然的執(zhí)行順序。修改用戶的注冊(cè)信息包括但不限于,用戶可以修改設(shè)定的密鑰生成序列,可以修改用戶的PIN碼,還可以修改用戶的聯(lián)系方式。優(yōu)選的,上述修改步驟需要在安全的方式下進(jìn)行,例如人工修改或者使用安全套接字(Secure Socket Layer, SSL)協(xié)議傳輸?shù)取Mㄟ^(guò)本實(shí)施例提供的認(rèn)證方法,可以使得用戶以外的人在截獲到密鑰序列或者通過(guò)用戶的終端設(shè)備看到密鑰序列時(shí),難以獲得一次性密鑰,同時(shí)也使得對(duì)于一次性密鑰的破解變得更加困難。由于使用了一次性密鑰,本實(shí)施例提供的認(rèn)證方法可以進(jìn)行動(dòng)態(tài)認(rèn)證, 避免了靜態(tài)用戶名密碼容易破解的問(wèn)題,提高了網(wǎng)絡(luò)的安全性能。同時(shí),由于認(rèn)證服務(wù)器在對(duì)用戶的身份認(rèn)證通過(guò)后才會(huì)生成一次性密鑰,因此可以防御拒絕服務(wù)攻擊,也能夠避免非法用戶占用過(guò)多的資源。并且,由于無(wú)需用戶使用專用的硬件才能夠獲得一次性密鑰,因此實(shí)施本方法的成本低,避免了硬件生命周期有限等問(wèn)題。圖3a是本發(fā)明實(shí)施例提供的一種認(rèn)證方法的流程示意圖。下面結(jié)合圖3a對(duì)本發(fā)明實(shí)施例提供的認(rèn)證方法進(jìn)行詳細(xì)說(shuō)明。圖3a所示實(shí)施例與圖2所示實(shí)施例主要區(qū)別在于認(rèn)證服務(wù)器生成密鑰序列的方法。步驟301,用戶通過(guò)互聯(lián)網(wǎng)向認(rèn)證服務(wù)器發(fā)送注冊(cè)信息。具體可以參照步驟201。步驟302,用戶請(qǐng)求登錄認(rèn)證代理。在請(qǐng)求登錄認(rèn)證代理時(shí),用戶輸入用戶ID以及PIN碼。步驟303,認(rèn)證代理向認(rèn)證服務(wù)器發(fā)送認(rèn)證請(qǐng)求,具體可以參照步驟203。步驟304,認(rèn)證服務(wù)器根據(jù)接收的認(rèn)證請(qǐng)求進(jìn)行第一次認(rèn)證,認(rèn)證通過(guò)后執(zhí)行步驟 305,如果未通過(guò)則結(jié)束處理或者反饋失敗信息,具體可以參照步驟204。步驟305,生成一次性密鑰以及初始序列。步驟305中,生成一次性密鑰和初始序列之間沒(méi)有特定的順序,并且生成的算法可以相同也可以不同。例如,隨機(jī)生成一次性密鑰778995,并生成1 位初始序列{1,3,9, 2,8,5,3,4,6,6,4,2,4,2,1,···}。步驟306,根據(jù)密鑰生成序列生成密鑰序列。在步驟306中,可以用一次性密鑰按位替代初始序列的相應(yīng)位;或者可以將一次性密鑰的每一位插入到初始序列的相應(yīng)位之前或者之后。具體方法可以參照步驟102,此處不再贅述。例如,密鑰生成序列為{2,4,5,6,7,11},一次性密鑰為778995,則一次性密鑰的長(zhǎng)度為6,用一次性密鑰的第η位代替初始序列的第m位,m為密鑰生成序列的第η位的值, η的取值為從1開(kāi)始直到6的自然數(shù)。η取值為1時(shí),密鑰生成序列的第1位的值為m = 2, 則用一次性密鑰的第1位代替初始序列的第m = 2位,也即用7代替初始序列中的第2位 3 ;依此類推,η取值為6時(shí),密鑰生成序列的第6位的值為m = 11,則用一次性密鑰的第6 位代替初始序列的第m= 11位,也即用5代替初始序列中的第11位4,得到密鑰序列{1, 7,9,7,8,9,9,4,6,6,5,2,4,2,1, ......}。步驟307,保存生成的一次性密鑰。步驟307在步驟305之后執(zhí)行,與步驟306之間沒(méi)有特定的執(zhí)行順序。步驟307例如還可以為保存一次性密鑰的哈希值。步驟308,向用戶發(fā)送密鑰序列,具體可以參照步驟208。之后由用戶發(fā)送一次性密鑰進(jìn)行認(rèn)證的過(guò)程具體可以參照?qǐng)D2所示的實(shí)施例,在此不再贅述。進(jìn)一步的,如圖北所示,本實(shí)施例中,認(rèn)證服務(wù)器生成密鑰序列的方法還可以包括步驟310,生成一次性密鑰。步驟320,根據(jù)密鑰生成序列,對(duì)一次性密鑰進(jìn)行處理,得到密鑰序列。該處理例如可以為使用密鑰生成序列與一次性密鑰進(jìn)行數(shù)學(xué)運(yùn)算,將得到的結(jié)果作為密鑰序列,或者將得到的結(jié)果補(bǔ)足位數(shù)后作為密鑰序列。通過(guò)本實(shí)施例提供的認(rèn)證方法,可以最大程度的保護(hù)一次性密鑰的安全,從而提高網(wǎng)絡(luò)安全。同時(shí),由于用戶可以自己定義密鑰生成序列,因此使用方便,并且其他人很難獲得密鑰生成序列從而破譯一次性密鑰。上述各實(shí)施例之間可以相互參照,且各個(gè)實(shí)施例所公開(kāi)的方法的各個(gè)步驟,可以采用軟件、硬件或者軟硬件相結(jié)合的方式來(lái)實(shí)現(xiàn)。圖如為本發(fā)明實(shí)施例提供的一種認(rèn)證裝置。該認(rèn)證裝置特別可以為一認(rèn)證服務(wù)器,或者為一認(rèn)證服務(wù)器和認(rèn)證代理集成的一體設(shè)備。該認(rèn)證裝置包括接收模塊410,用于接收用戶發(fā)送的認(rèn)證請(qǐng)求。本實(shí)施例中認(rèn)證請(qǐng)求可以由用戶發(fā)送也可以由認(rèn)證代理發(fā)送。進(jìn)一步的,接收模塊410還可以用于接收注冊(cè)信息。序列生成模塊420,用于在接收模塊410接收到認(rèn)證請(qǐng)求后,生成包含一次性密鑰的密鑰序列。本實(shí)施例中,序列生成模塊420可以用于生成隨機(jī)、半隨機(jī)或者其他序列。發(fā)送模塊430,用于將序列生成模塊420生成的密鑰序列向用戶發(fā)送。本實(shí)施例中,發(fā)送模塊430例如可以用于將密鑰序列發(fā)送至短消息網(wǎng)關(guān)從而實(shí)現(xiàn)通過(guò)空口將密鑰序列發(fā)送;或者還可以用于通過(guò)互聯(lián)網(wǎng)向用戶發(fā)送密鑰序列。本實(shí)施例中接收模塊410進(jìn)一步用于接收該用戶發(fā)送的一次性密鑰的一次性密朗fn息。比較模塊440,用于比較接收模塊410接收的一次性密鑰信息以及本地保存的一次性密鑰信息,在比較結(jié)果為相同時(shí),通知發(fā)送模塊430反饋認(rèn)證通過(guò)。通過(guò)該認(rèn)證裝置,可以為用戶提供包含一次性密鑰的密鑰序列,提高一次性密鑰的安全性能,從而保證網(wǎng)絡(luò)認(rèn)證的安全可靠。如圖4b所示,本實(shí)施例中,認(rèn)證裝置例如還可以包括第一密鑰獲取模塊450,用于根據(jù)用戶的身份信息獲取該用戶的密鑰生成序列,其中用戶的身份信息包含在接收的認(rèn)證請(qǐng)求中。第二密鑰獲取模塊460,用于根據(jù)第一密鑰獲取模塊450獲取的密鑰生成序列,從序列生成模塊420生成的密鑰序列中獲取一次性密鑰。具體的獲取方式可以參照?qǐng)DIa所示實(shí)施例以及步驟206。優(yōu)選的,如圖如所示,本實(shí)施例中,認(rèn)證裝置例如還可以包括存儲(chǔ)模塊470,用于保存一次性密鑰。進(jìn)一步的,存儲(chǔ)模塊470還可以用于存儲(chǔ)密鑰生成序列。進(jìn)一步的,如圖4d所示,本實(shí)施例中,為了進(jìn)一步提高安全性能,認(rèn)證裝置還可以包括計(jì)算模塊490,用于根據(jù)獲取的一次性密鑰計(jì)算其哈希值。此時(shí),存儲(chǔ)模塊470可以用于存儲(chǔ)該哈希值也可以用于存儲(chǔ)一次性密鑰。如圖如所示,本實(shí)施例中,認(rèn)證裝置例如還可以包括注冊(cè)模塊480,用于接收并保存用戶的注冊(cè)信息?;蛘?,本實(shí)施例中,注冊(cè)模塊480的功能可以由接收模塊410和存儲(chǔ)模塊470實(shí)現(xiàn),也即接收模塊410進(jìn)一步用于接收注冊(cè)信息,存儲(chǔ)模塊470用于保存接收模塊410接收的注冊(cè)信息。本實(shí)施例中無(wú)論是通過(guò)注冊(cè)模塊480實(shí)現(xiàn)注冊(cè)功能,或者通過(guò)存儲(chǔ)模塊470以及接收模塊410實(shí)現(xiàn)注冊(cè)功能,都可以實(shí)現(xiàn)對(duì)注冊(cè)信息的修改。如圖4f所示,本實(shí)施例中,比較模塊440還可以用于對(duì)請(qǐng)求認(rèn)證的用戶進(jìn)行初步的身份驗(yàn)證,也即對(duì)比接收模塊410接收的認(rèn)證請(qǐng)求中攜帶的用戶ID和/或PIN碼與存儲(chǔ)模塊470中保存的用戶ID和/或PIN碼,驗(yàn)證通過(guò)時(shí)通知序列生成模塊420生成密鑰序列, 驗(yàn)證未通過(guò)時(shí)通知發(fā)送模塊430反饋失敗信息或者結(jié)束處理。本實(shí)施例中,存儲(chǔ)模塊470還可以用于對(duì)存儲(chǔ)的一次性密鑰或者一次性密鑰信息進(jìn)行生命周期的管理。例如,采用計(jì)時(shí)器的方式,對(duì)一次性密鑰或者一次性密鑰信息的生命周期進(jìn)行管理。在一次性密鑰或者一次性密鑰信息失效后,存儲(chǔ)模塊470例如可以刪除該一次性密鑰或者一次性密鑰信息。或者比較模塊440在比較接收的一次性密鑰信息和存儲(chǔ)的一次性密鑰信息前,先對(duì)該一次性密鑰信息是否仍保持有效進(jìn)行判斷,并在有效時(shí)進(jìn)行進(jìn)一步的比較,在失效時(shí)反饋認(rèn)證失敗。通過(guò)本實(shí)施例提供的認(rèn)證裝置,可以為用戶提供安全性能高的一次性密鑰,提高對(duì)重放攻擊、拒絕服務(wù)攻擊等的防御能力。并且,在用戶離開(kāi)終端導(dǎo)致用戶的密碼信息被其他人看到或者被截獲時(shí),可以很大程度上的防治其他人根據(jù)密碼信息獲知該一次性密碼, 提高了網(wǎng)絡(luò)的安全性能。本實(shí)施例提供的認(rèn)證裝置例如可以用于執(zhí)行如圖la、lb、lc以及圖2所示的實(shí)施例提供的方法,具體的實(shí)現(xiàn)方法可以參照上述方法實(shí)施例。本實(shí)施例提供的認(rèn)證裝置中,各模塊可以通過(guò)單獨(dú)的硬件實(shí)現(xiàn)或者集成在同一硬件中實(shí)現(xiàn),且各模塊可以獨(dú)立實(shí)現(xiàn)也可以集成實(shí)現(xiàn)。例如接收模塊410和發(fā)送模塊430可以為獨(dú)立的模塊,也可以為集成在一起的收發(fā)模塊。圖5為本發(fā)明實(shí)施例提供的一種認(rèn)證裝置。該認(rèn)證裝置例如為一認(rèn)證服務(wù)器,或者為一認(rèn)證服務(wù)器和認(rèn)證代理集成的一體設(shè)備。圖5所示的認(rèn)證裝置與圖4a_4f所示的認(rèn)證裝置的主要區(qū)別在于密鑰序列生成和一次性密鑰獲得的模塊不同。該認(rèn)證裝置包括接收模塊510,用于接收用戶發(fā)送的認(rèn)證請(qǐng)求。進(jìn)一步的,接收模塊510還用于接收注冊(cè)信息。序列生成模塊520,用于在接收模塊510接收認(rèn)證請(qǐng)求后,生成包含一次性密鑰的密鑰序列。本實(shí)施例中,該認(rèn)證裝置還包括第一密鑰獲取模塊580,用于根據(jù)用戶的身份信息獲取該用戶的密鑰生成序列。其中用戶的身份信息包含在認(rèn)證請(qǐng)求中。本實(shí)施例中,序列生成模塊520例如可以包括初始序列子模塊521,用于生成初始序列;密鑰子模塊522,用于生成一次性密鑰。具體的生成方式可以參照?qǐng)D3a所示實(shí)施例在此不再贅述。序列生成模塊520還包括密鑰序列生成子模塊523,用于根據(jù)密鑰生成序列、初始序列以及一次性密鑰生成密鑰序列。具體的生成方式可以參照?qǐng)D3a所示的實(shí)施例,在此不再贅述。發(fā)送模塊M0,用于向用戶發(fā)送序列生成模塊520生成的密鑰序列。本實(shí)施例中,該裝置還可以包括存儲(chǔ)模塊550,用于存儲(chǔ)密鑰生成序列、序列生成模塊520生成的一次性密鑰,或者該一次性密鑰的一次性密鑰信息。
14
進(jìn)一步的,本裝置還可以實(shí)現(xiàn)注冊(cè)、注冊(cè)更改、認(rèn)證以及一次性密鑰信息生命周期管理等功能,具體的模塊實(shí)現(xiàn)可以參照?qǐng)D所示的實(shí)施例,在此不再贅述。本實(shí)施例中,該裝置的具體實(shí)現(xiàn)還可以為,序列生成模塊520包括密鑰子模塊 522用于生成一次性密鑰;密鑰序列生成子模塊530,用于根據(jù)密鑰生成序列對(duì)密鑰子模塊 522生成的一次性密鑰進(jìn)行處理,得到密鑰序列。本發(fā)明實(shí)施例提供的裝置可以執(zhí)行圖3a、!3b所示的實(shí)施例提供的方法,具體實(shí)現(xiàn)可以參照上述方法實(shí)施例。圖6為本發(fā)明實(shí)施例提供的一種認(rèn)證系統(tǒng),該認(rèn)證系統(tǒng)包括認(rèn)證服務(wù)器610、認(rèn)證代理620。本實(shí)施例中,認(rèn)證服務(wù)器610例如可以由圖或者圖5所示實(shí)施例提供的裝置實(shí)現(xiàn),此處不再贅述。認(rèn)證代理620,用于接收用戶的輸入,向認(rèn)證服務(wù)器610發(fā)送認(rèn)證請(qǐng)求以及接收認(rèn)證服務(wù)器反饋的認(rèn)證結(jié)果。進(jìn)一步的,認(rèn)證代理620還可以用于將用戶輸入的一次性密鑰轉(zhuǎn)發(fā)給認(rèn)證服務(wù)器 610,或者將用戶輸入的一次性密鑰處理為一次性密鑰信息發(fā)送給認(rèn)證服務(wù)器610,具體處理方法可以參照方法實(shí)施例。此外,本實(shí)施例的認(rèn)證系統(tǒng)例如還可以包括短消息網(wǎng)關(guān),用于以短消息的形式向用戶發(fā)送密鑰序列。本發(fā)明實(shí)施例提供的認(rèn)證系統(tǒng)可以執(zhí)行如圖la-lc、圖2、圖3a、!3b所描述的方法實(shí)施例,具體可以參見(jiàn)上述方法實(shí)施例。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明的各個(gè)實(shí)施例可以在沒(méi)有偏離發(fā)明實(shí)質(zhì)的情況下做出各種變型和改變,這些變型和改變都在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍由所附的權(quán)利要求書來(lái)定義。
權(quán)利要求
1.一種認(rèn)證方法,其特征在于,所述方法包括 認(rèn)證服務(wù)器接收用戶發(fā)送的認(rèn)證請(qǐng)求;所述認(rèn)證服務(wù)器在接收到所述認(rèn)證請(qǐng)求后,生成包含一次性密鑰的密鑰序列; 所述認(rèn)證服務(wù)器向所述用戶發(fā)送所述密鑰序列;所述認(rèn)證服務(wù)器接收所述用戶發(fā)送的所述一次性密鑰的一次性密鑰信息; 所述認(rèn)證服務(wù)器比較所述接收的一次性密鑰信息與本地保存的一次性密鑰信息; 在比較結(jié)果為相同時(shí),所述認(rèn)證服務(wù)器反饋認(rèn)證通過(guò)。
2.如權(quán)利要求1所述的方法,其特征在于, 所述認(rèn)證請(qǐng)求中包含所述用戶的身份信息;以及所述本地保存的一次性密鑰信息通過(guò)以下步驟獲得 所述認(rèn)證服務(wù)器根據(jù)所述用戶的身份信息獲取所述用戶的密鑰生成序列; 所述認(rèn)證服務(wù)器根據(jù)所述密鑰生成序列,從所述密鑰序列中獲取所述一次性密鑰;所述認(rèn)證服務(wù)器保存所述一次性密鑰的一次性密鑰信息。
3.如權(quán)利要求2所述的方法,其特征在于,所述認(rèn)證服務(wù)器根據(jù)所述密鑰生成序列,從所述密鑰序列中獲取所述一次性密鑰,包括所述認(rèn)證服務(wù)器根據(jù)所述密鑰生成序列,按照獲取規(guī)則,從所述密鑰序列中獲取所述一次性密鑰,其中所述獲取規(guī)則為所述一次性密鑰的第η位的值為所述密鑰序列的第m位的值,其中,所述密鑰序列的長(zhǎng)度為M,m為所述密鑰生成序列第η位的值或者為所述密鑰生成序列第η位的值模Μ, η為大于等于1且小于等于N的自然數(shù),N為所述密鑰生成序列的長(zhǎng)度。
4.如權(quán)利要求1所述的方法,其特征在于, 所述認(rèn)證請(qǐng)求中包含所述用戶的身份信息;以及所述生成包含一次性密鑰的密鑰序列,包括 所述認(rèn)證服務(wù)器生成一次性密鑰;所述認(rèn)證服務(wù)器生成初始序列;所述認(rèn)證服務(wù)器按照密鑰生成序列,對(duì)所述一次性密鑰和所述初始序列進(jìn)行處理,得到所述密鑰序列,其中所述密鑰生成序列由所述認(rèn)證服務(wù)器根據(jù)所述用戶的身份信息獲取。
5.如權(quán)利要求4所述的方法,其特征在于,所述認(rèn)證服務(wù)器按照密鑰生成序列,對(duì)所述一次性密鑰和所述初始序列進(jìn)行處理,得到密鑰序列,包括所述認(rèn)證服務(wù)器將所述一次性密鑰的第η位插入到所述初始序列的第m位之前,將得到的序列作為密鑰序列;或者所述認(rèn)證服務(wù)器將所述一次性密鑰的第η位插入到所述初始序列的第m位之后,將得到的序列作為密鑰序列;或者所述認(rèn)證服務(wù)器用所述一次性密鑰的第η位替代所述初始序列的第m位,將得到的序列作為密鑰序列;其中所述初始序列的長(zhǎng)度為M,m為所述密鑰生成序列第η位的值或者為所述密鑰生成序列第η位的值模Μ,η為大于等于1且小于等于N的自然數(shù),N為所述一次性密鑰的長(zhǎng)度。
6.如權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,在所述認(rèn)證服務(wù)器生成包含一次性密鑰的密鑰序列之前,所述方法進(jìn)一步包括所述認(rèn)證服務(wù)器根據(jù)所述認(rèn)證請(qǐng)求判斷所述用戶是否為注冊(cè)用戶,并在所述用戶為注冊(cè)用戶時(shí),執(zhí)行所述生成包含一次性密鑰的密鑰序列的步驟。
7.如權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述認(rèn)證服務(wù)器向所述用戶發(fā)送所述密鑰序列,包括所述認(rèn)證服務(wù)器通過(guò)短消息服務(wù)網(wǎng)關(guān)向所述用戶通過(guò)短消息發(fā)送所述密鑰序列。
8.如權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述方法進(jìn)一步包括所述認(rèn)證服務(wù)器接收并保存所述用戶發(fā)送的注冊(cè)信息,其中所述注冊(cè)信息包括以下之一或其任意組合所述用戶的用戶ID,所述用戶的個(gè)人識(shí)別號(hào)PIN碼,所述用戶的密鑰生成序列,所述用戶的聯(lián)系方式。
9.如權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述一次性密鑰信息包括以下之一所述一次性密鑰,所述一次性密鑰的哈希值,以及包含所述一次性密鑰的序列。
10.如權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述方法進(jìn)一步包括所述認(rèn)證服務(wù)器維護(hù)所述本地保存的一次性密鑰信息的生命周期。
11.一種認(rèn)證裝置,其特征在于,所述認(rèn)證裝置包括接收模塊、序列生成模塊、發(fā)送模塊以及比較模塊;其中,所述接收模塊,用于接收用戶發(fā)送的認(rèn)證請(qǐng)求;所述序列生成模塊,用于在所述接收模塊接收到所述認(rèn)證請(qǐng)求后,生成包含一次性密鑰的密鑰序列;所述發(fā)送模塊,用于向所述用戶發(fā)送所述序列生成模塊生成的密鑰序列; 所述接收模塊進(jìn)一步用于接收所述用戶發(fā)送的所述一次性密鑰的一次性密鑰信息; 所述比較模塊,用于比較所述接收模塊接收的一次性密鑰信息以及本地保存的一次性密鑰信息,在比較結(jié)果為相同時(shí),通知所述發(fā)送模塊反饋認(rèn)證通過(guò)。
12.如權(quán)利要求11所述的認(rèn)證裝置,其特征在于, 所述認(rèn)證請(qǐng)求中包含所述用戶的身份信息; 所述認(rèn)證裝置進(jìn)一步包括第一密鑰獲取模塊,用于根據(jù)所述用戶的身份信息獲取所述用戶的密鑰生成序列; 第二密鑰獲取模塊,用于根據(jù)所述第一密鑰獲取模塊獲取的密鑰生成序列,從所述序列生成模塊生成的密鑰序列中獲取一次性密鑰,并通知存儲(chǔ)模塊保存所述一次性密鑰的一次性密鑰信息;所述存儲(chǔ)模塊,用于保存所述一次性密鑰的一次性密鑰信息。
13.如權(quán)利要求11所述的認(rèn)證裝置,其特征在于,所述認(rèn)證請(qǐng)求中包含所述用戶的身份信息;所述認(rèn)證裝置進(jìn)一步包括第一密鑰獲取模塊,用于根據(jù)所述用戶的身份信息獲取所述用戶的密鑰生成序列;存儲(chǔ)模塊,用于保存一次性密鑰的一次性密鑰信息;所述序列生成模塊包括初始序列子模塊,用于生成初始序列;密鑰子模塊,用于生成一次性密鑰,并通知所述存儲(chǔ)模塊保存所述一次性密鑰的一次性密鑰信息;密鑰序列生成子模塊,用于根據(jù)所述密鑰生成序列、所述初始序列以及所述一次性密鑰生成密鑰序列。
14.如權(quán)利要求12或13所述的認(rèn)證裝置,其特征在于,所述接收模塊進(jìn)一步用于接收注冊(cè)信息;所述存儲(chǔ)模塊進(jìn)一步用于存儲(chǔ)所述注冊(cè)信息。
15.如權(quán)利要求12或13所述的認(rèn)證裝置,其特征在于,所述存儲(chǔ)模塊進(jìn)一步用于維護(hù)所述存儲(chǔ)的一次性密鑰信息的生命周期。
16.如權(quán)利要求14所述的認(rèn)證裝置,其特征在于,所述比較模塊進(jìn)一步用于比較所述接收模塊接收的認(rèn)證請(qǐng)求與所述存儲(chǔ)模塊存儲(chǔ)的注冊(cè)信息,在結(jié)果相同時(shí),通知所述序列生成模塊生成包含一次性密鑰的密鑰序列。
17.一種認(rèn)證系統(tǒng),其特征在于,所述認(rèn)證系統(tǒng)包括認(rèn)證服務(wù)器和認(rèn)證代理,其中所述認(rèn)證服務(wù)器包含如權(quán)利要求11至13中任一項(xiàng)所述的認(rèn)證裝置,所述認(rèn)證代理用于向所述認(rèn)證服務(wù)器發(fā)送所述用戶的認(rèn)證請(qǐng)求,并接收所述認(rèn)證服務(wù)器反饋的認(rèn)證結(jié)果。
18.如權(quán)利要求17所述的認(rèn)證系統(tǒng),其特征在于,所述認(rèn)證代理進(jìn)一步用于接收用戶輸入的一次性密鑰,并將一次性密鑰處理為一次性密鑰信息發(fā)送至所述認(rèn)證服務(wù)器。
全文摘要
本發(fā)明涉及一種認(rèn)證方法,該認(rèn)證方法包括認(rèn)證服務(wù)器接收用戶發(fā)送的認(rèn)證請(qǐng)求;所述認(rèn)證服務(wù)器在接收到所述認(rèn)證請(qǐng)求后,生成包含一次性密鑰的密鑰序列;所述認(rèn)證服務(wù)器向所述用戶發(fā)送所述密鑰序列。本發(fā)明還涉及一種認(rèn)證裝置和包含該認(rèn)證裝置的認(rèn)證系統(tǒng)。通過(guò)本發(fā)明各實(shí)施例提供的技術(shù)方案可以避免其它人通過(guò)截獲傳輸?shù)拿荑€、使用用戶的終端設(shè)備等方法非法獲得用戶的密鑰,從而偽裝成為該用戶進(jìn)行身份認(rèn)證。因此,本發(fā)明各實(shí)施例提供的技術(shù)方案可以保護(hù)用戶的密鑰安全,提高網(wǎng)絡(luò)認(rèn)證的安全性。
文檔編號(hào)H04L9/32GK102387016SQ20101026880
公開(kāi)日2012年3月21日 申請(qǐng)日期2010年8月26日 優(yōu)先權(quán)日2010年8月26日
發(fā)明者孫芃, 王超, 田鵬偉, 龔瑞男 申請(qǐng)人:西門子公司