一種基于應(yīng)用平臺(tái)登錄的安全認(rèn)證系統(tǒng)及其認(rèn)證方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于應(yīng)用平臺(tái)登錄的安全認(rèn)證系統(tǒng)及其認(rèn)證方法。
【背景技術(shù)】
[0002]隨著信息科技的發(fā)展,信息安全技術(shù)在各領(lǐng)域的應(yīng)用更為廣泛和深入。在信息安全領(lǐng)域,安全認(rèn)證往往是信息系統(tǒng)使用的第一把鑰匙,其安全性受到越來(lái)越多的重視。相應(yīng)地,為了加強(qiáng)安全認(rèn)證過(guò)程中的安全性的動(dòng)態(tài)口令技術(shù)已經(jīng)越來(lái)越多地應(yīng)用于各個(gè)不同領(lǐng)域,尤其在網(wǎng)銀、網(wǎng)游、電信運(yùn)營(yíng)商、電子政務(wù)、企業(yè)服務(wù)器等應(yīng)用領(lǐng)域。
[0003]動(dòng)態(tài)口令是根據(jù)專(zhuān)門(mén)的算法生成一個(gè)不可預(yù)測(cè)的隨機(jī)數(shù)字組合,一個(gè)密碼使用一次有效,其是一種安全便捷的帳號(hào)防盜技術(shù),可以有效保護(hù)交易和登錄的認(rèn)證安全。且在認(rèn)證過(guò)程中,采用動(dòng)態(tài)口令認(rèn)證無(wú)需定期修改密碼,安全省心,從而在最基本的密碼認(rèn)證這一環(huán)節(jié)保證了系統(tǒng)的安全性,解決了因口令欺詐而導(dǎo)致的重大損失,防止惡意入侵者或人為破壞,解決由口令泄密導(dǎo)致的入侵問(wèn)題。
[0004]然而,在現(xiàn)有的認(rèn)證系統(tǒng)中,無(wú)論是實(shí)體硬件動(dòng)態(tài)令牌還是軟件動(dòng)態(tài)令牌,都有一個(gè)共同的弱點(diǎn),即其所有的令牌算法都是相同且公開(kāi)的,僅通過(guò)密鑰來(lái)實(shí)現(xiàn)不同用戶的身份認(rèn)證過(guò)程。比如說(shuō),在用戶在移動(dòng)終端中登錄銀行系統(tǒng)中,只要在登錄頁(yè)面輸入用戶名和登錄密碼,之后服務(wù)器中進(jìn)行驗(yàn)證之后發(fā)送動(dòng)態(tài)的短信驗(yàn)證碼進(jìn)行驗(yàn)證之后即可登錄。可以看出,其對(duì)于每個(gè)移動(dòng)終端的登錄機(jī)制都是相同的,一旦生成短信驗(yàn)證碼的密鑰被非法獲得,不法分子即可任意獲取動(dòng)態(tài)密碼,動(dòng)態(tài)令牌將不再安全。
【發(fā)明內(nèi)容】
[0005]針對(duì)上述問(wèn)題,本發(fā)明提供了一種基于應(yīng)用平臺(tái)登錄的安全認(rèn)證系統(tǒng)及其認(rèn)證方法,其在登錄應(yīng)用平臺(tái)的過(guò)程中,輸入用戶名和登錄密碼提交應(yīng)用平臺(tái)進(jìn)行認(rèn)證的同時(shí),在客戶端本地安全插件中生成增強(qiáng)型的認(rèn)證碼對(duì)客戶端進(jìn)行安全認(rèn)證,以保障用戶的安全。
[0006]本發(fā)明提供的技術(shù)方案如下:
[0007]—種基于應(yīng)用平臺(tái)登錄的安全認(rèn)證系統(tǒng),包括:客戶端、應(yīng)用平臺(tái)以及認(rèn)證平臺(tái),其中,
[0008]所述客戶端中包括:用于獲取用戶信息的信息獲取模塊和第一存儲(chǔ)模塊,所述第一存儲(chǔ)模塊中存有用于生成第一認(rèn)證碼的安全插件,且所述安全插件中內(nèi)置與用戶唯一關(guān)聯(lián)的運(yùn)算算法;
[0009]與所述客戶端通信連接的所述應(yīng)用平臺(tái)中包括:第一認(rèn)證模塊、第一隨機(jī)數(shù)生成模塊以及分別與所述第一認(rèn)證模塊和所述第一隨機(jī)數(shù)生成模塊連接的第二存儲(chǔ)模塊,所述第一隨機(jī)數(shù)生成模塊用于生成一隨機(jī)參數(shù)并將所述隨機(jī)參數(shù)存儲(chǔ)在所述第二存儲(chǔ)模塊中,所述第一認(rèn)證模塊用于認(rèn)證所述用戶信息和所述隨機(jī)參數(shù);
[0010]與所述應(yīng)用平臺(tái)通信連接的所述認(rèn)證平臺(tái)中包括:第三存儲(chǔ)模塊、與所述第三存儲(chǔ)模塊連接的第二認(rèn)證模塊和與所述第二認(rèn)證模塊連接的反饋模塊;所述第三存儲(chǔ)模塊中存有用于生成第二認(rèn)證碼的所述安全插件;所述第二認(rèn)證模塊基于所述第二認(rèn)證碼實(shí)現(xiàn)所述第一認(rèn)證碼的認(rèn)證;所述反饋模塊用于分別將第二認(rèn)證模塊中的認(rèn)證結(jié)果返回到所述應(yīng)用平臺(tái)和所述客戶端中。
[0011]在本技術(shù)方案中,客戶端中和認(rèn)證平臺(tái)中都包括內(nèi)置了唯一與用戶關(guān)聯(lián)的運(yùn)算算法的安全插件,用戶在登錄應(yīng)用平臺(tái)的過(guò)程中,除了跟現(xiàn)有的登錄步驟類(lèi)似的,需要驗(yàn)證用戶名和登錄密碼之外,還需要驗(yàn)證安全插件中生成的唯一的認(rèn)證碼(客戶端中生成的第一認(rèn)證碼)。由于運(yùn)算算法的唯一性,即每個(gè)用戶對(duì)應(yīng)自己的運(yùn)算算法,難以破譯,自然大大提高了認(rèn)證過(guò)程中的安全性。
[0012]進(jìn)一步優(yōu)選地,在所述客戶端中:
[0013]所述用戶信息包括:用戶名、登錄密碼以及用于唯一標(biāo)識(shí)用戶的標(biāo)識(shí)信息;所述標(biāo)識(shí)信息為國(guó)際移動(dòng)設(shè)備標(biāo)識(shí)或通用唯一識(shí)別碼;
[0014]所述安全插件將所述應(yīng)用平臺(tái)發(fā)送的所述隨機(jī)參數(shù)作為計(jì)算因子、使用所述運(yùn)算算法生成所述第一認(rèn)證碼。
[0015]在本技術(shù)方案中,在生成第一認(rèn)證碼的過(guò)程中將應(yīng)用平臺(tái)中生成的隨機(jī)參數(shù)作為安全因子進(jìn)行計(jì)算,由于隨機(jī)參數(shù)的隨機(jī)性和不可預(yù)見(jiàn)性,同樣提高了認(rèn)證系統(tǒng)的安全性會(huì)K。
[0016]進(jìn)一步優(yōu)選地,所述第二存儲(chǔ)模塊還用于存儲(chǔ)注冊(cè)用戶列表;
[0017]所述第一認(rèn)證模塊基于所述注冊(cè)用戶列表,認(rèn)證客戶端發(fā)送的用戶信息中的用戶名和登錄密碼;
[0018]所述第一認(rèn)證模塊基于所述客戶端發(fā)送的隨機(jī)參數(shù)和存儲(chǔ)在存儲(chǔ)模塊中的隨機(jī)參數(shù),完成所述隨機(jī)參數(shù)的認(rèn)證。
[0019]進(jìn)一步優(yōu)選地,在所述認(rèn)證平臺(tái)中:
[0020]所述安全插件將所述應(yīng)用平臺(tái)發(fā)送的隨機(jī)參數(shù)作為計(jì)算因子、使用所述運(yùn)算算法生成第二認(rèn)證碼。
[0021]在本技術(shù)方案中,在生成第二認(rèn)證碼的過(guò)程中同樣將應(yīng)用平臺(tái)中生成的隨機(jī)參數(shù)作為安全因子進(jìn)行計(jì)算。
[0022]進(jìn)一步優(yōu)選地,所述第三存儲(chǔ)模塊中還內(nèi)存有一預(yù)設(shè)算法;
[0023]且所述認(rèn)證平臺(tái)中還包括:第二隨機(jī)數(shù)生成模塊、算法生成模塊以及編譯模塊;其中,
[0024]所述第二隨機(jī)數(shù)生成模塊基于所述標(biāo)識(shí)信息生成隨機(jī)密鑰;
[0025]所述算法生成模塊,分別與所述第二存儲(chǔ)模塊和所述第二隨機(jī)數(shù)生成模塊連接,所述算法生成模塊基于所述隨機(jī)密鑰和所述預(yù)設(shè)算法生成所述運(yùn)算算法;
[0026]所述編譯模塊,與所述算法生成模塊連接,所述編譯模塊將所述算法生成模塊生成的所述運(yùn)算算法編譯為所述安全插件,并通過(guò)反饋模塊將所述安全插件經(jīng)由所述應(yīng)用平臺(tái)返回至客戶端中。
[0027]在本技術(shù)方案中,用戶在該應(yīng)用平臺(tái)進(jìn)行注冊(cè)的過(guò)程中,即通過(guò)認(rèn)證平臺(tái)生成安全插件,并將安全插件返回到客戶端中進(jìn)行存儲(chǔ),這樣用戶在登錄在應(yīng)用平臺(tái)的時(shí)候就會(huì)調(diào)用該安全插件生成增強(qiáng)型的認(rèn)證碼,以保證用戶信息的安全性能。
[0028]進(jìn)一步優(yōu)選地,所述算法生成模塊中包括:
[0029]用于根據(jù)所述隨機(jī)密鑰確定所述運(yùn)算算法的運(yùn)算優(yōu)先級(jí)的優(yōu)先級(jí)確定單元;
[0030]和/或,
[0031]用于根據(jù)所述隨機(jī)密鑰確定所述運(yùn)算算法的分組結(jié)構(gòu)及所述分組結(jié)構(gòu)的運(yùn)算優(yōu)先級(jí)的結(jié)構(gòu)確定單元;
[0032]和/或,
[0033]用于根據(jù)所述隨機(jī)密鑰確定所述運(yùn)算算法的運(yùn)算參數(shù)的參數(shù)確定單元。
[0034]在本技術(shù)方案中,通過(guò)以上三種方式得到運(yùn)算算法。
[0035]本發(fā)明還提供了一種基于應(yīng)用平臺(tái)登錄的安全認(rèn)證方法,應(yīng)用于上述安全認(rèn)證系統(tǒng),所述安全認(rèn)證方法包括以下步驟:
[0036]SI客戶端獲取用戶名和登錄密碼,并將所述用戶名和登錄密碼發(fā)送到應(yīng)用平臺(tái);
[0037]S2所述應(yīng)用平臺(tái)完成所述用戶名和登錄密碼的認(rèn)證,且在認(rèn)證成功后隨機(jī)生成一隨機(jī)參數(shù),并將所述隨機(jī)參數(shù)進(jìn)行存儲(chǔ)之后發(fā)送至所述客戶端;
[0038]S3所述客戶端將所述隨機(jī)參數(shù)作為計(jì)算因子、使用內(nèi)置的運(yùn)算算法生成第一認(rèn)證碼,并將所述第一認(rèn)證碼和所述隨機(jī)參數(shù)發(fā)送至所述應(yīng)用平臺(tái);
[0039]S4所述應(yīng)用平臺(tái)將接收到的隨機(jī)參數(shù)和自身存儲(chǔ)的隨機(jī)參數(shù)進(jìn)行比對(duì),完成所述隨機(jī)參數(shù)的認(rèn)證,且在認(rèn)證成功后將所述第一認(rèn)證碼和所述隨機(jī)參數(shù)發(fā)送至所述認(rèn)證平臺(tái);
[0040]S5所述認(rèn)證平臺(tái)將接收到的隨機(jī)參數(shù)作為計(jì)算因子、使用所述運(yùn)算算法生成第二認(rèn)證碼,并將生成的第二認(rèn)證碼與接收到的第一認(rèn)證碼進(jìn)行比對(duì);
[0041 ] S6所述認(rèn)證平臺(tái)將所述認(rèn)證結(jié)果返回到所述應(yīng)用平臺(tái)和所述客戶端中。
[0042 ] 進(jìn)一步優(yōu)選地,在步驟SI之前,還包括以下步驟:
[0043]SOl客戶端獲取所述用戶名和登錄密碼,并將所述用戶名和登錄密碼以及注冊(cè)請(qǐng)求發(fā)送到所述應(yīng)用平臺(tái);
[0044]S02所述應(yīng)用平臺(tái)接收到所述注冊(cè)請(qǐng)求,同時(shí)對(duì)接收到的用戶名進(jìn)行驗(yàn)證;
[0045]S03所述用戶名驗(yàn)證通過(guò)之后,所述應(yīng)用平臺(tái)將所述用戶名和所述登錄密碼關(guān)聯(lián)存儲(chǔ)在當(dāng)前注冊(cè)用戶列表中形成新的注冊(cè)用戶列表,并將驗(yàn)證結(jié)果返回至所述客戶端;
[0046]S04所述客戶端接收所述驗(yàn)證結(jié)果,進(jìn)而獲取唯一標(biāo)識(shí)用戶的標(biāo)識(shí)信息;并將所述標(biāo)識(shí)信息和驗(yàn)證碼請(qǐng)求發(fā)送至所述應(yīng)用平臺(tái);
[0047]S05所述應(yīng)用平臺(tái)接收所述驗(yàn)證碼請(qǐng)求之后,隨機(jī)生成驗(yàn)證碼發(fā)送至所述客戶端;
[0048]S06所述客戶端接收并顯示所述驗(yàn)證碼,同時(shí)基于接收到的所述驗(yàn)證碼發(fā)送驗(yàn)證碼認(rèn)證請(qǐng)求至所述應(yīng)用平臺(tái);
[0049]S07所述應(yīng)用平臺(tái)接收所述驗(yàn)證碼認(rèn)證請(qǐng)求,并對(duì)所述驗(yàn)證碼進(jìn)行認(rèn)證;若認(rèn)證成功,發(fā)送標(biāo)識(shí)信息和安全插件生成請(qǐng)求至認(rèn)證平臺(tái);
[0050]S08認(rèn)證平臺(tái)接收所述安全插件生成請(qǐng)求,基于所述標(biāo)識(shí)信息和內(nèi)置的預(yù)設(shè)算法生成運(yùn)算算法;
[0051]S09所述認(rèn)證平臺(tái)將所述運(yùn)算算法編程成安全插件,并將所述安全插件經(jīng)由所述應(yīng)用平臺(tái)返回至