一種短信認(rèn)證服務(wù)系統(tǒng)以及認(rèn)證方法
【專利摘要】本發(fā)明公開了一種短信認(rèn)證服務(wù)系統(tǒng)以及認(rèn)證方法,該方案基于客戶端、后臺(tái)認(rèn)證服務(wù)器以及后臺(tái)管理平臺(tái),用戶通過客戶端向后臺(tái)認(rèn)證服務(wù)器發(fā)送獲取令牌請求,后臺(tái)認(rèn)證服務(wù)器為自動(dòng)分配綁定唯一的令牌種子,并用分配的種子按照對應(yīng)的算法生成口令,以短信的方式發(fā)送到用戶請求的手機(jī)號碼上;用戶通過客戶端向后臺(tái)認(rèn)證服務(wù)器發(fā)送口令認(rèn)證請求,后臺(tái)認(rèn)證服務(wù)器根據(jù)用戶發(fā)送的信息查詢用戶對應(yīng)的令牌種子,根據(jù)此令牌種子在大窗口值內(nèi)生成對應(yīng)的驗(yàn)證口令,并依次與用戶發(fā)來的口令進(jìn)行對比認(rèn)證,且將認(rèn)證的結(jié)果返回用戶。本方案用戶易用性強(qiáng)且安全性高。
【專利說明】一種短信認(rèn)證服務(wù)系統(tǒng)以及認(rèn)證方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息安全技術(shù),具體涉及一種基于云服務(wù)的短信認(rèn)證技術(shù)。
【背景技術(shù)】
[0002] 互聯(lián)網(wǎng)的賬戶安全是用戶最為關(guān)心的問題,特別是近期幾次賬戶泄露事故的出 現(xiàn),更體現(xiàn)了保護(hù)賬戶的重要性。保護(hù)賬戶除了靜態(tài)密碼以外,還應(yīng)有第三方的安全認(rèn)證服 務(wù)來保證賬戶的安全。
[0003] 目前短信認(rèn)證已經(jīng)成為保障系統(tǒng)信息安全的一個(gè)有效驗(yàn)證方案;現(xiàn)有技術(shù)中,傳 統(tǒng)的短信認(rèn)證方法是通過發(fā)送短信驗(yàn)證碼或隨機(jī)生成的動(dòng)態(tài)碼到用戶手機(jī),用戶查收短信 驗(yàn)證碼或動(dòng)態(tài)碼,提交并通知服務(wù)端完成認(rèn)證的過程。
[0004] 傳統(tǒng)的驗(yàn)證碼或動(dòng)態(tài)碼是構(gòu)造方法設(shè)置了固定的種子,所以產(chǎn)生的口令也是固定 的,如果沒有種子,構(gòu)造方法將系統(tǒng)當(dāng)前時(shí)間設(shè)置成了種子;這種口令生成方法很容易被復(fù) 制。驗(yàn)證碼或動(dòng)態(tài)碼要在服務(wù)器保存已生成的驗(yàn)證碼或動(dòng)態(tài)碼,以備驗(yàn)證,安全性不高;不 符合國家加密標(biāo)準(zhǔn)。
[0005] 申請?zhí)枺?01110389321. 1的中國發(fā)明專利申請,公開了一種網(wǎng)上銀行交易的方 法,其主要的方案包括如下步驟:
[0006] 當(dāng)有客戶通過外部互聯(lián)網(wǎng)絡(luò)登錄網(wǎng)上銀行客戶端時(shí),接收客戶的登錄請求并驗(yàn)證 客戶信息;
[0007] 當(dāng)客戶發(fā)起網(wǎng)上銀行交易請求時(shí),根據(jù)客戶簽約時(shí)分配的專屬密鑰因子編號取出 預(yù)存在網(wǎng)上銀行系統(tǒng)中的密鑰種子,并根據(jù)密鑰種子及客戶交易要素結(jié)合交易時(shí)間生成簽 名信息;
[0008] 將簽名信息連同客戶交易要素以短信的形式發(fā)送到客戶手機(jī)終端;
[0009] 當(dāng)客戶收到信息并核對交易要素?zé)o誤后,將客戶通過網(wǎng)上銀行客戶端輸入的驗(yàn)證 信息與再次根據(jù)交易要素與密鑰種子結(jié)合交易時(shí)間生成的簽名信息進(jìn)行匹配;以及如果二 者相匹配,執(zhí)行網(wǎng)上銀行交易。
[0010] 其整個(gè)方案在實(shí)施前,需要由客戶到現(xiàn)場簽約相應(yīng)的專屬密鑰因子編號,而且在 認(rèn)證時(shí)需要使用該專屬密鑰因子編號,整個(gè)認(rèn)證過程操作復(fù)雜,用戶無法對自己注冊的信 息進(jìn)行修改,所有信息的修改和顯示都需要由認(rèn)證服務(wù)的運(yùn)行方(如銀行)提供,這將大大 降低用戶的易用性。
【發(fā)明內(nèi)容】
[0011] 針對上述現(xiàn)有短信認(rèn)證方案所存在的問題,本發(fā)明的目的在于提供一種用戶易用 性強(qiáng)且安全性高的短息認(rèn)證方案,該認(rèn)證方案包括短信認(rèn)證服務(wù)系統(tǒng)和基于該短信認(rèn)證服 務(wù)系統(tǒng)實(shí)施的認(rèn)證方法。
[0012] 為了達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案:
[0013] 一種短信認(rèn)證服務(wù)系統(tǒng),該認(rèn)證服務(wù)系統(tǒng)包括客戶端和后臺(tái)認(rèn)證服務(wù)器,所述客 戶端與后臺(tái)認(rèn)證服務(wù)器之間數(shù)據(jù)相接;所述后臺(tái)認(rèn)證服務(wù)器包括:
[0014] 種子庫,用于存儲(chǔ)本認(rèn)證服務(wù)系統(tǒng)中所有的種子、每個(gè)種子的對應(yīng)的計(jì)算算法、以 及種子與用戶綁定關(guān)系;
[0015] 種子分配模塊,將未綁定種子的用戶與種子庫中的種子進(jìn)行匹配綁定,并將匹配 綁定信息存入種子庫,且修改對應(yīng)種子的狀態(tài);
[0016] 口令生成模塊,根據(jù)用戶輸入的獲取口令的請求在種子庫中查找用戶綁定的種 子,再利用該種子對應(yīng)的算法計(jì)算生成相應(yīng)的口令,并將該口令傳至短信發(fā)送模塊;
[0017] 認(rèn)證模塊,根據(jù)用戶輸入的認(rèn)證口令,在種子庫中查找用戶綁定的種子,再根據(jù)其 對應(yīng)的算法計(jì)算生成驗(yàn)證口令,并與用戶輸入的認(rèn)證口令進(jìn)行對比認(rèn)證,且將認(rèn)證結(jié)果發(fā) 送至客戶端;
[0018] 短信發(fā)送模塊,根據(jù)將口令生成模塊傳送的口令封裝成短信,并以短信形式發(fā)送 至用戶手機(jī);
[0019] 所述認(rèn)證服務(wù)系統(tǒng)還包括后臺(tái)管理平臺(tái),該后臺(tái)管理平臺(tái)與后臺(tái)認(rèn)證服務(wù)器數(shù)據(jù) 相接,使用戶通過該后臺(tái)管理平臺(tái)登錄到后臺(tái)認(rèn)證服務(wù)器配置、管理以及查詢自己的認(rèn)證 方式。
[0020] 在該認(rèn)證服務(wù)系統(tǒng)的優(yōu)選方案中,所述客戶端與后臺(tái)認(rèn)證服務(wù)器之間傳遞的數(shù)據(jù) 通過加密口令加密。
[0021] 進(jìn)一步的,所述客戶端與后臺(tái)認(rèn)證服務(wù)器之間用于加密數(shù)據(jù)的加密口令由客戶端 提供,并由用戶選擇確定。
[0022] 進(jìn)一步的,所述客戶端與后臺(tái)認(rèn)證服務(wù)器之間用于加密數(shù)據(jù)的加密口令由用戶通 過后臺(tái)管理平臺(tái)配置形成。
[0023] 進(jìn)一步的,所述認(rèn)證模塊根據(jù)用戶輸入的認(rèn)證信息,在種子庫中查詢用戶對應(yīng)綁 定的種子信息,根據(jù)此種子和設(shè)置的窗口參數(shù)按照對應(yīng)的算法生成在窗口值內(nèi)的若干驗(yàn)證 口令,并將驗(yàn)證口令依次與用戶發(fā)來的口令做認(rèn)證驗(yàn)證,且把認(rèn)證的結(jié)果返回用戶。
[0024] 進(jìn)一步的,所述后臺(tái)管理平臺(tái)可對后臺(tái)認(rèn)證服務(wù)器進(jìn)行日志查詢、令牌狀態(tài)查詢、 令牌綁定關(guān)系查詢、令牌解綁、令牌掛失、令牌解掛、令牌鎖定操作。
[0025] 基于上述短信認(rèn)證服務(wù)系統(tǒng)實(shí)施的,短信認(rèn)證方法包括如下步驟:
[0026] 獲取口令:
[0027] 用戶通過客戶端向后臺(tái)認(rèn)證服務(wù)器發(fā)送獲取令牌請求,后臺(tái)認(rèn)證服務(wù)器根據(jù)用戶 發(fā)送的信息查詢用戶是否分配種子,若已分配,則根據(jù)此用戶對應(yīng)的種子,按照對應(yīng)的算法 生成口令,以短信的方式發(fā)送到用戶請求的手機(jī)號碼上;
[0028] 若沒有分配令牌種子,后臺(tái)認(rèn)證服務(wù)器為用戶分配唯一的令牌種子,記錄用戶和 令牌的綁定關(guān)系,并用分配的種子按照對應(yīng)的算法生成口令,以短信的方式發(fā)送到用戶請 求的手機(jī)號碼上;
[0029] 口令認(rèn)證:
[0030] 用戶通過客戶端向后臺(tái)認(rèn)證服務(wù)器發(fā)送口令認(rèn)證請求,后臺(tái)認(rèn)證服務(wù)器根據(jù)用戶 發(fā)送的信息查詢用戶對應(yīng)的令牌種子,根據(jù)此令牌種子在大窗口值內(nèi)生成對應(yīng)的驗(yàn)證口 令,并依次與用戶發(fā)來的口令進(jìn)行對比認(rèn)證,且將認(rèn)證的結(jié)果返回用戶。
[0031] 在認(rèn)證方法的優(yōu)選方案中,所述后臺(tái)認(rèn)證服務(wù)器在對用戶通過客戶端發(fā)送的信息 處理前,還包括數(shù)據(jù)合法性的驗(yàn)證步驟。
[0032] 進(jìn)一步的,所述短信認(rèn)證方法中還包括用戶登入后臺(tái)認(rèn)證服務(wù)器查詢和管理短信 認(rèn)證的步驟。
[0033] 再進(jìn)一步的,所述用戶登入后臺(tái)認(rèn)證服務(wù)器可進(jìn)行短信模板、通訊密鑰、短信令牌 窗口、短信發(fā)送間隔時(shí)間、令牌解綁、令牌掛失、令牌解掛、令牌鎖定管理設(shè)定,以及進(jìn)行日 志查詢、令牌狀態(tài)查詢、令牌綁定關(guān)系查詢。
[0034]由此形成的本發(fā)明能夠借助短信發(fā)送令牌口令保護(hù)賬戶安全的;與傳統(tǒng)的短信驗(yàn) 證碼相比,能夠在認(rèn)證過程中自動(dòng)為每個(gè)賬戶分配了唯一的令牌,不但安全性提高,而且便 于令牌管理;與硬件令牌、刮刮卡等相比,令牌生成成本及物流等方面的財(cái)力需要大大降低 了,不僅如此,硬件令牌是有使用年限的,而短信令牌不存在使用年限,可無限期使用;與移 動(dòng)終端相比,比如手機(jī)終端等相比,短信無需網(wǎng)絡(luò)費(fèi)用,無需安裝額外的系統(tǒng),操作起來簡 單方便。每個(gè)賬戶都有唯一的令牌,可以對賬戶安全保護(hù)管理;也可查詢查詢令牌信息及認(rèn) 證日志、操作日志等信息;此發(fā)明提供后臺(tái)管理平臺(tái),用戶可以設(shè)置個(gè)性化的認(rèn)證參數(shù)。
【專利附圖】
【附圖說明】
[0035] 以下結(jié)合附圖和【具體實(shí)施方式】來進(jìn)一步說明本發(fā)明。
[0036] 圖1為本發(fā)明中短信認(rèn)證服務(wù)系統(tǒng)的原理框圖;
[0037] 圖2為本發(fā)明中獲取口令的流程圖;
[0038] 圖3為本發(fā)明中短信認(rèn)證的流程圖。
【具體實(shí)施方式】
[0039] 為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié) 合具體圖示,進(jìn)一步闡述本發(fā)明。
[0040] 參見圖1,其所示為本發(fā)明提供的短信認(rèn)證服務(wù)系統(tǒng)的原理框圖。由圖可知,該認(rèn) 證服務(wù)系統(tǒng)主要由客戶端100、后臺(tái)認(rèn)證服務(wù)器200以及后臺(tái)管理平臺(tái)300之間配合形成。
[0041] 其中客戶端100與后臺(tái)認(rèn)證服務(wù)器200之間通信相接,該客戶端提供用戶信息的 輸入窗口,并用戶輸入的信息發(fā)送至后臺(tái)認(rèn)證服務(wù)器200,實(shí)現(xiàn)短信認(rèn)證。
[0042] 客戶端100與后臺(tái)認(rèn)證服務(wù)器200之間通訊主要是通過HTTP方式實(shí)現(xiàn)的,但并不 限于此。為了保證兩者之間數(shù)據(jù)傳輸?shù)陌踩?,客戶?00與后臺(tái)認(rèn)證服務(wù)器200之間傳 遞的信息都是通過加密口令加密的。
[0043] 對此,本發(fā)明中的該客戶端100主要包括口令獲取模塊、口令認(rèn)證模塊以及加解 密模塊三部分組成。
[0044] 口令獲取模塊,用于實(shí)現(xiàn)用戶向后臺(tái)認(rèn)證服務(wù)器200發(fā)送獲取口令請求。該模塊 在用戶的觸發(fā)下,根據(jù)用戶名、用戶對應(yīng)的手機(jī)號、用戶ID號等信息形成相應(yīng)的獲取口令 請求。對于其中的用戶名、用戶對應(yīng)的手機(jī)號、用戶ID號等信息,由用戶通過口令獲取模塊 提供的輸入口輸入或者直接由口令獲取模塊從用戶登入客戶端1〇〇時(shí)輸入的信息中自動(dòng) 提取得到。
[0045] 口令認(rèn)證模塊,用于實(shí)現(xiàn)用戶向后臺(tái)認(rèn)證服務(wù)器200發(fā)送口令認(rèn)證請求。該模塊 在用戶的觸發(fā)下,根據(jù)用戶輸入的待認(rèn)證的口令、用戶名、用戶對應(yīng)的手機(jī)號、用戶ID號等 信息形成相應(yīng)的口令認(rèn)證請求。對于其中的,待認(rèn)證的口令由用戶通過口令認(rèn)證模塊提供 的輸入口輸入,而用戶名、用戶對應(yīng)的手機(jī)號、用戶ID號等信息可以由用戶通過口令獲取 模塊提供的輸入口輸入或者直接由口令獲取模塊從用戶登入客戶端100時(shí)輸入的信息中 自動(dòng)提取得到。
[0046] 加解密模塊,其用于對口令獲取模塊生成的獲取口令請求和口令認(rèn)證模塊生成的 口令認(rèn)證請求進(jìn)行加密,并將加密后的數(shù)據(jù)發(fā)送至后臺(tái)認(rèn)證服務(wù)器200。
[0047] 對于加解密模塊中對相關(guān)數(shù)據(jù)進(jìn)行加密時(shí),所用的加密密鑰或方式由加解密模塊 提供多種方案,再由用戶進(jìn)行選擇確認(rèn),這樣能夠保證每次傳遞數(shù)據(jù)的加密方式都不同。
[0048] 或者,所用的加密密鑰或方式由用戶通過后臺(tái)管理平臺(tái)300進(jìn)行設(shè)定或設(shè)置,這 樣能夠保證加密數(shù)據(jù)的安全性。
[0049] 在本發(fā)明中,加解密模塊對相關(guān)數(shù)據(jù)進(jìn)行加密時(shí)涉及的加密算法可采用國際通用 的MD5加密算法。
[0050] 后臺(tái)認(rèn)證服務(wù)器200,其與客戶端100通信相接,接受客戶端100發(fā)送的數(shù)據(jù),用 于自動(dòng)完成用戶種子的自動(dòng)分配綁定、口令的生成和短信發(fā)送以及口令的認(rèn)證。由于客戶 端100與后臺(tái)認(rèn)證服務(wù)器200之間傳遞的數(shù)據(jù)為加密數(shù)據(jù),后臺(tái)認(rèn)證服務(wù)器200在對客戶 端100發(fā)送的數(shù)據(jù)進(jìn)行處理前,還對該數(shù)據(jù)的合法性進(jìn)行驗(yàn)證。
[0051] 具體實(shí)現(xiàn)時(shí),該后臺(tái)認(rèn)證服務(wù)器200主要包括數(shù)據(jù)驗(yàn)證模塊201、種子庫202、種子 分配模塊203、口令生成模塊204、認(rèn)證模塊205以及短信發(fā)送模塊206這六個(gè)部分。
[0052] 數(shù)據(jù)驗(yàn)證模塊201用于對客戶端發(fā)送的數(shù)據(jù)的合法性進(jìn)行驗(yàn)證。該模塊主要是根 據(jù)客戶端中確定的加密密鑰采用對應(yīng)的解密密鑰對數(shù)據(jù)進(jìn)行解密,并對解密后的數(shù)據(jù)的完 整性、合法性進(jìn)行驗(yàn)證;對于驗(yàn)證通過的數(shù)據(jù),確定其業(yè)務(wù)類型(如口令獲取請求、口令認(rèn) 證請求),并根據(jù)確定的業(yè)務(wù)類型,發(fā)送至口令生成模塊204或認(rèn)證模塊205,進(jìn)行對應(yīng)的處 理。
[0053] 種子庫202,用于存儲(chǔ)本認(rèn)證服務(wù)系統(tǒng)中所有的種子、每個(gè)種子的對應(yīng)的計(jì)算算 法、以及種子與用戶綁定關(guān)系等。
[0054] 種子分配模塊203,該模塊自動(dòng)搜索種子庫202中沒有被綁定的種子,并將未綁定 種子的用戶與種子庫中的沒有綁定的種子進(jìn)行匹配綁定,并將匹配綁定信息存入種子庫, 且修改對應(yīng)種子的狀態(tài)。
[0055] 種子分配模塊203搜索種子庫202將獲取到若干的沒有被綁定的種子,種子分配 模塊203可按照一定的選擇規(guī)則或方式確定唯一的種子的;種子分配模塊203同樣可根據(jù) 用戶通過后臺(tái)管理平臺(tái)300設(shè)定的要求來確定唯一的種子。
[0056] 口令生成模塊204,根據(jù)數(shù)據(jù)驗(yàn)證模塊201發(fā)送的用戶輸入的獲取口令的請求在 種子庫中查找用戶綁定的種子,再利用該種子對應(yīng)的算法計(jì)算生成相應(yīng)的口令,并將該口 令傳至短信發(fā)送模塊206。
[0057] 具體的,口令生成模塊204首先接受數(shù)據(jù)驗(yàn)證模塊201發(fā)送的獲取口令請求,并解 析該請求,得到用戶名、用戶對應(yīng)的手機(jī)號、用戶ID號等數(shù)據(jù),并利用這些數(shù)據(jù)搜索種子庫 202,查找與該用戶綁定的種子信息;若沒有查找到,將這些信息發(fā)送至種子分配模塊203, 由種子分配模塊203分配并綁定唯一種子;若查找到與該用戶綁定的種子信息,則提取出 該種子;最后利用該種子和該種子對應(yīng)的算法計(jì)算生成相應(yīng)的口令(根據(jù)需要可結(jié)合用戶 名、用戶對應(yīng)的手機(jī)號、用戶ID號等數(shù)據(jù)),并將該口令傳至短信發(fā)送模塊206。
[0058] 認(rèn)證模塊205,根據(jù)數(shù)據(jù)驗(yàn)證模塊201發(fā)送的用戶輸入的認(rèn)證口令請求,在種子庫 中查找用戶綁定的種子,再根據(jù)其對應(yīng)的算法計(jì)算生成驗(yàn)證口令,并與用戶輸入的認(rèn)證口 令進(jìn)行對比認(rèn)證,且將認(rèn)證結(jié)果發(fā)送至客戶端1〇〇。
[0059] 具體的,認(rèn)證模塊205首先接受數(shù)據(jù)驗(yàn)證模塊201發(fā)送的認(rèn)證口令請求,并解析該 請求,得到用戶輸入的待認(rèn)證口令、用戶名、用戶對應(yīng)的手機(jī)號、用戶ID號等數(shù)據(jù);并利用 這些數(shù)據(jù)搜索種子庫202,查找與該用戶綁定的種子信息;若沒有查找到,則認(rèn)證不通過; 若查找到與該用戶綁定的種子信息,則提取出該種子;最后設(shè)置一大窗口,在該大窗口值 內(nèi),利用該種子以及設(shè)置的大窗口值(即大窗口參數(shù))按照種子對應(yīng)算法生成對應(yīng)的驗(yàn)證 口令(可能有多個(gè)口令),再將解析得到的待認(rèn)證口令與計(jì)算得到的驗(yàn)證口令依次對比認(rèn) 證,且將認(rèn)證結(jié)果發(fā)送至客戶端100。
[0060] 對于其中設(shè)置的大窗口,其具體用于限定當(dāng)前種子的上下偏移時(shí)間,該大窗口內(nèi) 若干大窗口值為對種子設(shè)置的參數(shù),根據(jù)大窗口值可計(jì)算得到種子的上下偏移時(shí)間,再根 據(jù)這些上下偏移時(shí)間,可計(jì)算得到大窗口內(nèi)的驗(yàn)證口令。
[0061] 再者,大窗口內(nèi)的窗口值或窗口參數(shù)為固定值,或者可以由用戶通過后臺(tái)管理平 臺(tái)300登錄后臺(tái)認(rèn)證服務(wù)器200進(jìn)行設(shè)置。
[0062] 短信發(fā)送模塊206,該模塊主要是接受口令生成模塊204生成的口令,并按照設(shè)定 的模板將該口令封裝成對應(yīng)的短息,再根據(jù)設(shè)定的發(fā)送時(shí)間間隔將短信內(nèi)容以手機(jī)短信的 模式發(fā)送至口令生成模塊204解析得到的用戶手機(jī)號碼中。
[0063] 后臺(tái)管理平臺(tái)300,其與后臺(tái)認(rèn)證服務(wù)器200數(shù)據(jù)相接,使用戶通過該后臺(tái)管理平 臺(tái)登錄到后臺(tái)認(rèn)證服務(wù)器配置、管理以及查詢自己的認(rèn)證方式。具體的,用戶通過該平臺(tái)登 錄后臺(tái)認(rèn)證服務(wù)器200后,可以對種子庫202中令牌種子的綁定、令牌種子的掛失、令牌種 子的解掛、令牌種子鎖定管理設(shè)定以及對令牌種子的狀態(tài)、以及綁定關(guān)系進(jìn)行查詢;對短信 發(fā)送模塊206中短信模板以及發(fā)送時(shí)間間隔進(jìn)行設(shè)定;對認(rèn)證模塊205中的認(rèn)證大窗口的 窗口參數(shù)進(jìn)行設(shè)定;對客戶端100與后臺(tái)認(rèn)證服務(wù)器200之間加解密的方式(即通信密鑰) 進(jìn)行設(shè)定;日志查詢。
[0064] 為此,后臺(tái)管理平臺(tái)300主要包括種子管理模塊301、短信管理模塊302、認(rèn)證管理 模塊303、加密管理模塊304以及日志查詢模塊305。
[0065] 種子管理模塊301,其與后臺(tái)認(rèn)證服務(wù)器200中種子庫201數(shù)據(jù)通信,根據(jù)用戶的 信息對其對應(yīng)的種子信息進(jìn)行令牌種子的綁定、令牌種子的掛失、令牌種子的解掛、令牌種 子鎖定管理設(shè)定以及對令牌種子的狀態(tài)、以及綁定關(guān)系進(jìn)行查詢。
[0066] 短信管理模塊302,其與后臺(tái)認(rèn)證服務(wù)器200中的短信發(fā)送模塊206數(shù)據(jù)通信,根 據(jù)用戶的信息對其對應(yīng)的短信模板以及短信發(fā)送時(shí)間間隔進(jìn)行設(shè)定。
[0067] 認(rèn)證管理模塊303,其與后臺(tái)認(rèn)證服務(wù)器200中的認(rèn)證模塊205數(shù)據(jù)通信,根據(jù)用 戶的信息對其對應(yīng)的認(rèn)證大窗口的窗口參數(shù)進(jìn)行設(shè)定。
[0068] 加密管理模塊304,其管理后臺(tái)認(rèn)證服務(wù)器200和客戶端100之間的通信加密密 鑰,并將用戶設(shè)定的加密密鑰發(fā)送至客戶端和后臺(tái)認(rèn)證服務(wù)器200中的數(shù)據(jù)驗(yàn)證模塊201 和認(rèn)證模塊205。
[0069] 日志查詢模塊305,該模塊獲取后臺(tái)認(rèn)證服務(wù)器200中短信認(rèn)證記錄、用戶認(rèn)證記 錄、對每個(gè)用戶操作及相關(guān)提交報(bào)表等,以此提供日志查詢。
[0070] 根據(jù)上述方案形成的短信認(rèn)證服務(wù)系統(tǒng)能夠提供一種操作方便且安全性很高的 認(rèn)證方式,用戶通過客戶端登入自己的賬戶,再由客戶端根據(jù)用戶登錄的信息調(diào)用相應(yīng)的 接口和設(shè)定的參數(shù)數(shù)據(jù),可很好的完成賬戶的保護(hù)。在進(jìn)行短信認(rèn)證時(shí),只需要以下兩個(gè)操 作步驟:
[0071] a、用戶獲取口令時(shí),需要傳入用戶名、手機(jī)號碼等信息,本系統(tǒng)接到請求,發(fā)送口 令到手機(jī);
[0072] b、用戶在登入賬戶時(shí),輸入手機(jī)接收的口令;然后發(fā)送到本系統(tǒng),系統(tǒng)驗(yàn)證口令, 返回認(rèn)證結(jié)果。
[0073] 以下對本系統(tǒng)進(jìn)行實(shí)現(xiàn)短信認(rèn)證的具體過程進(jìn)行說明:
[0074] 獲取口令(參見圖2):
[0075] 用戶通過客戶端向后臺(tái)認(rèn)證服務(wù)器發(fā)送獲取令牌請求,客戶端根據(jù)用戶名、用戶 對應(yīng)的手機(jī)號、用戶ID號等信息形成相應(yīng)的獲取口令請求數(shù)據(jù),并對該請求數(shù)據(jù)進(jìn)行加 密,對于其中的密碼密鑰,客戶端首先根據(jù)用戶輸入的信息查詢用戶是否設(shè)定自己的加密 方式,若有則采用用戶設(shè)定加密方式對應(yīng)的加密密鑰;若沒有,客戶端將提供多種方案由用 戶選擇;
[0076] 后臺(tái)認(rèn)證服務(wù)器接收到客戶端發(fā)送的加密數(shù)據(jù)后,先對該數(shù)據(jù)進(jìn)行解密驗(yàn)證,若 驗(yàn)證不通過,則獲取口令失敗,直接返回;若驗(yàn)證通過,則根據(jù)該判斷該請求數(shù)據(jù)的業(yè)務(wù)類 型。在確定為獲取口令業(yè)務(wù)后,將解析驗(yàn)證通過的獲取口令請求數(shù)據(jù),得到相應(yīng)的用戶名、 用戶對應(yīng)的手機(jī)號、用戶ID號等信息,并根據(jù)用戶發(fā)送的信息查詢用戶是否分配種子,若 查詢到對應(yīng)綁定的種子,則確定為分配,則提取該種子,按照對應(yīng)的算法生成口令,再對該 口令進(jìn)行短信封裝,將封裝后的短信數(shù)據(jù)根據(jù)設(shè)定的時(shí)間間隔,以短信的方式發(fā)送到用戶 請求數(shù)據(jù)中的手機(jī)號碼上;
[0077] 若沒有查詢用綁定的種子,則確定為該用戶未分配對應(yīng)的令牌種子,則后臺(tái)認(rèn)證 服務(wù)器將從種子庫中,查詢沒有被綁定的種子,確定一種子,將該種子與請求信息中包含的 用戶信息進(jìn)行綁定,自動(dòng)為用戶分配唯一的令牌種子,并記錄用戶和令牌的綁定關(guān)系,再利 用分配的種子按照對應(yīng)的算法生成口令,再對該口令進(jìn)行短信封裝,將封裝后的短信數(shù)據(jù) 根據(jù)設(shè)定的時(shí)間間隔,以短信的方式發(fā)送到用戶請求數(shù)據(jù)中的手機(jī)號碼上。
[0078] 口令認(rèn)證(參見圖3):
[0079] 用戶手機(jī)在獲取到相應(yīng)的口令后,將再通過客戶端向后臺(tái)認(rèn)證服務(wù)器發(fā)送口令認(rèn) 證請求,客戶端就愛那個(gè)根據(jù)用戶輸入的待認(rèn)證的口令(即用戶手機(jī)獲取取到的口令)、用 戶名、用戶對應(yīng)的手機(jī)號、用戶ID號等信息形成相應(yīng)的口令認(rèn)證請求,并對該請求數(shù)據(jù)進(jìn) 行加密(具體加密方式如上)。
[0080] 后臺(tái)認(rèn)證服務(wù)器接收到客戶端發(fā)送的加密數(shù)據(jù)后,先對該數(shù)據(jù)進(jìn)行解密驗(yàn)證,若 驗(yàn)證不通過,則口令認(rèn)證失敗,直接返回;若驗(yàn)證通過,則根據(jù)該判斷該請求數(shù)據(jù)的業(yè)務(wù)類 型。在確定為口令認(rèn)證業(yè)務(wù)后,將解析驗(yàn)證通過的口令認(rèn)證請求數(shù)據(jù)發(fā),得到得到用戶輸 入的待認(rèn)證口令、用戶名、用戶對應(yīng)的手機(jī)號、用戶ID號等數(shù)據(jù);并利用這些數(shù)據(jù)搜索種子 庫,查找與該用戶綁定的種子信息;若沒有查找到,則認(rèn)證不通過;若查找到與該用戶綁定 的種子信息,則提取出該種子;最后設(shè)置一大窗口,在該大窗口值內(nèi),利用該種子以及設(shè)置 的大窗口值(即大窗口參數(shù))按照種子對應(yīng)算法生成對應(yīng)的驗(yàn)證口令(可能有多個(gè)口令), 再將解析得到的待認(rèn)證口令與計(jì)算得到的驗(yàn)證口令依次對比認(rèn)證,且將認(rèn)證結(jié)果發(fā)送至客 戶端。
[0081] 在整個(gè)短信認(rèn)證前或者認(rèn)證后,用戶可通過后臺(tái)管理平臺(tái)登入到后臺(tái)認(rèn)證服務(wù)器 查詢和管理自己的短信認(rèn)證方案,具體可進(jìn)行短信模板、通訊密鑰、短信令牌窗口、短信發(fā) 送間隔時(shí)間、令牌解綁、令牌掛失、令牌解掛、令牌鎖定管理設(shè)定,以及進(jìn)行日志查詢、令牌 狀態(tài)查詢、令牌綁定關(guān)系查詢。
[0082] 以下通過一具體應(yīng)用實(shí)例來進(jìn)一步說明本方案。
[0083] 該實(shí)例中為以某游戲公司為例,其通過本方案進(jìn)行商戶的安全管理。
[0084] 1、在系統(tǒng)中為某游戲公司添加商戶,并為商戶開通登入自助后臺(tái)管理平臺(tái)的賬 戶;商戶登入后臺(tái)管理平臺(tái)設(shè)置短信模板、通訊密鑰、短信令牌窗口、短信發(fā)送間隔時(shí)間等 參數(shù)。
[0085] 2、商戶系統(tǒng)平臺(tái)開發(fā)調(diào)用系統(tǒng)的獲取口令及口令認(rèn)證接口。
[0086] 3、商戶系統(tǒng)平臺(tái)(即客戶端)上的用戶即可使用短信令牌保護(hù)賬戶,具體如下:
[0087] (1)用戶在商戶系統(tǒng)平臺(tái)上點(diǎn)擊獲取口令,商戶系統(tǒng)平臺(tái)發(fā)送商戶ID、密鑰、用戶 和用戶對應(yīng)的手機(jī)號一起請求到后臺(tái)認(rèn)證服務(wù)器。
[0088] (2)后臺(tái)認(rèn)證服務(wù)器斷信息是否合法,如果不合法,直接返回;如果合法,判斷此 用戶是否已經(jīng)分配短信令牌,如果沒分配,則自動(dòng)分配令牌;利用用戶對應(yīng)的令牌種子生成 口令,發(fā)送到一起請求來的手機(jī)上。
[0089] (3)用戶綁定手機(jī)收到口令,輸入到商戶系統(tǒng)平臺(tái);點(diǎn)擊認(rèn)證,商戶系統(tǒng)平臺(tái)發(fā)送 商戶ID、密鑰、用戶和口令一起請求到后臺(tái)認(rèn)證服務(wù)器。
[0090] (4)本系統(tǒng)判斷信息是否合法,如果不合法,直接返回;如果合法,利用用戶對應(yīng) 的令牌種子進(jìn)行認(rèn)證,然后把認(rèn)證結(jié)果返回給商戶系統(tǒng)平臺(tái)。
[0091] 4、最后商戶可登入后臺(tái)管理平臺(tái)查詢短信認(rèn)證記錄、用戶認(rèn)證記錄、對每個(gè)用戶 操作及相關(guān)提受報(bào)表等。
[0092] 以上顯示和描述了本發(fā)明的基本原理、主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù) 人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本 發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變 化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其 等效物界定。
【權(quán)利要求】
1. 一種短信認(rèn)證服務(wù)系統(tǒng),該認(rèn)證服務(wù)系統(tǒng)包括客戶端和后臺(tái)認(rèn)證服務(wù)器,所述客戶 端與后臺(tái)認(rèn)證服務(wù)器之間數(shù)據(jù)相接;其特征在于,所述后臺(tái)認(rèn)證服務(wù)器包括: 種子庫,用于存儲(chǔ)本認(rèn)證服務(wù)系統(tǒng)中所有的種子、每個(gè)種子的對應(yīng)的計(jì)算算法、以及種 子與用戶綁定關(guān)系; 種子分配模塊,將未綁定種子的用戶與種子庫中的種子進(jìn)行匹配綁定,并將匹配綁定 信息存入種子庫,且修改對應(yīng)種子的狀態(tài); 口令生成模塊,根據(jù)用戶輸入的獲取口令的請求在種子庫中查找用戶綁定的種子,再 利用該種子對應(yīng)的算法計(jì)算生成相應(yīng)的口令,并將該口令傳至短信發(fā)送模塊; 認(rèn)證模塊,根據(jù)用戶輸入的認(rèn)證口令,在種子庫中查找用戶綁定的種子,再根據(jù)其對應(yīng) 的算法計(jì)算生成驗(yàn)證口令,并與用戶輸入的認(rèn)證口令進(jìn)行對比認(rèn)證,且將認(rèn)證結(jié)果發(fā)送至 客戶端; 短信發(fā)送模塊,根據(jù)將口令生成模塊傳送的口令封裝成短信,并以短信形式發(fā)送至用 戶手機(jī); 所述認(rèn)證服務(wù)系統(tǒng)還包括后臺(tái)管理平臺(tái),該后臺(tái)管理平臺(tái)與后臺(tái)認(rèn)證服務(wù)器數(shù)據(jù)相 接,使用戶通過該后臺(tái)管理平臺(tái)登錄到后臺(tái)認(rèn)證服務(wù)器配置、管理以及查詢自己的認(rèn)證方 式。
2. 根據(jù)權(quán)利要求1所述的一種短信認(rèn)證服務(wù)系統(tǒng),其特征在于,所述客戶端與后臺(tái)認(rèn) 證服務(wù)器之間傳遞的數(shù)據(jù)通過加密口令加密。
3. 根據(jù)權(quán)利要求1所述的一種短信認(rèn)證服務(wù)系統(tǒng),其特征在于,所述客戶端與后臺(tái)認(rèn) 證服務(wù)器之間用于加密數(shù)據(jù)的加密口令由客戶端提供,并由用戶選擇確定。
4. 根據(jù)權(quán)利要求1所述的一種短信認(rèn)證服務(wù)系統(tǒng),其特征在于,所述客戶端與后臺(tái)認(rèn) 證服務(wù)器之間用于加密數(shù)據(jù)的加密口令由用戶通過后臺(tái)管理平臺(tái)配置形成。
5. 根據(jù)權(quán)利要求1所述的一種短信認(rèn)證服務(wù)系統(tǒng),其特征在于,所述認(rèn)證模塊根據(jù)用 戶輸入的認(rèn)證信息,在種子庫中查詢用戶對應(yīng)綁定的種子信息,根據(jù)此種子和設(shè)置的窗口 參數(shù)按照對應(yīng)的算法生成在窗口值內(nèi)的若干驗(yàn)證口令,并將驗(yàn)證口令依次與用戶發(fā)來的口 令做認(rèn)證驗(yàn)證,且把認(rèn)證的結(jié)果返回用戶。
6. 根據(jù)權(quán)利要求1所述的一種短信認(rèn)證服務(wù)系統(tǒng),其特征在于,所述后臺(tái)管理平臺(tái)可 對后臺(tái)認(rèn)證服務(wù)器進(jìn)行日志查詢、令牌狀態(tài)查詢、令牌綁定關(guān)系查詢、令牌解綁、令牌掛失、 令牌解掛、令牌鎖定操作。
7. -種短信認(rèn)證方法,其特征在于,所述認(rèn)證方法包括如下步驟: 獲取口令: 用戶通過客戶端向后臺(tái)認(rèn)證服務(wù)器發(fā)送獲取令牌請求,后臺(tái)認(rèn)證服務(wù)器根據(jù)用戶發(fā)送 的信息查詢用戶是否分配種子,若已分配,則根據(jù)此用戶對應(yīng)的種子,按照對應(yīng)的算法生成 口令,以短信的方式發(fā)送到用戶請求的手機(jī)號碼上; 若沒有分配令牌種子,后臺(tái)認(rèn)證服務(wù)器為用戶分配唯一的令牌種子,記錄用戶和令牌 的綁定關(guān)系,并用分配的種子按照對應(yīng)的算法生成口令,以短信的方式發(fā)送到用戶請求的 手機(jī)號碼上; 口令認(rèn)證: 用戶通過客戶端向后臺(tái)認(rèn)證服務(wù)器發(fā)送口令認(rèn)證請求,后臺(tái)認(rèn)證服務(wù)器根據(jù)用戶發(fā)送 的信息查詢用戶對應(yīng)的令牌種子,根據(jù)此令牌種子在大窗口值內(nèi)生成對應(yīng)的驗(yàn)證口令,并 依次與用戶發(fā)來的口令進(jìn)行對比認(rèn)證,且將認(rèn)證的結(jié)果返回用戶。
8. 根據(jù)權(quán)利要求7所述的一種短信認(rèn)證方法,其特征在于,所述后臺(tái)認(rèn)證服務(wù)器在對 用戶通過客戶端發(fā)送的信息處理前,還包括數(shù)據(jù)合法性的驗(yàn)證步驟。
9. 根據(jù)權(quán)利要求7所述的一種短信認(rèn)證方法,其特征在于,所述短信認(rèn)證方法中還包 括用戶登入后臺(tái)認(rèn)證服務(wù)器查詢和管理短信認(rèn)證的步驟。
10. 根據(jù)權(quán)利要求9所述的一種短信認(rèn)證方法,其特征在于,所述用戶登入后臺(tái)認(rèn)證服 務(wù)器可進(jìn)行短信模板、通訊密鑰、短信令牌窗口、短信發(fā)送間隔時(shí)間、令牌解綁、令牌掛失、 令牌解掛、令牌鎖定管理設(shè)定,以及進(jìn)行日志查詢、令牌狀態(tài)查詢、令牌綁定關(guān)系查詢。
【文檔編號】H04L9/08GK104125230SQ201410374715
【公開日】2014年10月29日 申請日期:2014年7月31日 優(yōu)先權(quán)日:2014年7月31日
【發(fā)明者】沈勇堅(jiān), 王翔平, 胡永剛 申請人:上海動(dòng)聯(lián)信息技術(shù)股份有限公司