本發(fā)明涉及數(shù)據(jù)安全,特別是一種安全的多系統(tǒng)登錄互通的方法及系統(tǒng)。
背景技術(shù):
1、公司提供了一個(gè)統(tǒng)一的賬號(hào)登錄系統(tǒng),用戶登錄后,平臺(tái)將用戶信息存儲(chǔ)在cookie中,其他部門(mén)的子平臺(tái)可以通過(guò)獲取和解析cookie來(lái)獲取用戶信息,以此實(shí)現(xiàn)登錄互通。為了簡(jiǎn)化各部門(mén)的工作,賬號(hào)登錄系統(tǒng)提供了一個(gè)sdk,封裝了獲取登錄cookie數(shù)據(jù)和解密的代碼,供各部門(mén)的子平臺(tái)調(diào)用。然而,這種方式存在一個(gè)潛在的安全風(fēng)險(xiǎn):sdk的源代碼是公開(kāi)的,部門(mén)內(nèi)可以看到加解密算法,可能通過(guò)模擬sdk源碼的算法進(jìn)行模擬用戶登錄信息,以此達(dá)到隨意構(gòu)造任意用戶登錄,如果部門(mén)的密鑰管理不當(dāng)導(dǎo)致密鑰泄露,攻擊者可以使用泄露的密鑰構(gòu)造偽造的登錄信息,并按照cookie的規(guī)則請(qǐng)求目標(biāo)站點(diǎn),從而實(shí)現(xiàn)隨意登錄的結(jié)果,危及部門(mén)的數(shù)據(jù)安全。
技術(shù)實(shí)現(xiàn)思路
1、為克服公司開(kāi)發(fā)平臺(tái)中,登錄安全無(wú)法保障會(huì)影響數(shù)據(jù)安全的問(wèn)題,本發(fā)明的目的是提供一種安全的多系統(tǒng)登錄互通的方法及系統(tǒng),在使用sdk實(shí)現(xiàn)登錄的情況下,保證數(shù)據(jù)安全。
2、本發(fā)明采用以下方案實(shí)現(xiàn):
3、一種安全的多系統(tǒng)登錄互通的方法,所述方法步驟如下:
4、步驟1:賬號(hào)登錄主平臺(tái)驗(yàn)證用戶賬號(hào)密碼正確后,采用算法得到一個(gè)x位字符串c,該算法為將當(dāng)前月份加上固定干擾數(shù)值n,然后與預(yù)設(shè)字符串k進(jìn)行哈希計(jì)算,得到一個(gè)x位字符串c作為cookie名;
5、步驟2:用戶信息經(jīng)過(guò)私鑰進(jìn)行非對(duì)稱(chēng)加密得到加密用戶信息s,并存儲(chǔ)在名為c的cookie中;
6、步驟3:子平臺(tái)使用封裝的sdk,sdk按照步驟1的算法生成相同的cookie名c并讀取名為c的對(duì)應(yīng)加密后的cookie值s,sdk使用公鑰對(duì)加密后的s進(jìn)行解密操作,成功獲取用戶信息則表示用戶處于登錄狀態(tài),子平臺(tái)登錄成功,否則為非登錄狀態(tài)。
7、進(jìn)一步的,所述非對(duì)稱(chēng)加密包括rsa非對(duì)稱(chēng)加密、dsa非對(duì)稱(chēng)加密和ecc非對(duì)稱(chēng)加密。
8、進(jìn)一步的,步驟2后,還能夠生成隨機(jī)干擾字符串組,具體為:生成若干個(gè)隨機(jī)干擾數(shù)值和若干個(gè)隨機(jī)干擾字符串,逐一進(jìn)行哈希計(jì)算得到若干個(gè)a位字符串作為干擾cookie名;根據(jù)步驟2中所述的加密用戶信息s的長(zhǎng)度隨機(jī)生成若干組相等長(zhǎng)度的干擾字符串,存儲(chǔ)在若干組的干擾cookie名下。
9、一種安全的多系統(tǒng)登錄互通的系統(tǒng),所述系統(tǒng)包括:第一加密模塊、第二加密模塊、子平臺(tái)解密登錄模塊;
10、所述第一加密模塊用于賬號(hào)登錄主平臺(tái)驗(yàn)證用戶賬號(hào)密碼正確后,采用算法得到一個(gè)x位字符串c,該算法為將當(dāng)前月份加上固定干擾數(shù)值n,然后與預(yù)設(shè)字符串k進(jìn)行哈希計(jì)算,得到一個(gè)x位字符串c作為cookie名;
11、所述第二加密模塊用于用戶信息經(jīng)過(guò)私鑰進(jìn)行非對(duì)稱(chēng)加密得到加密用戶信息s,并存儲(chǔ)在名為c的cookie中;
12、所述子平臺(tái)解密登錄模塊用于子平臺(tái)使用封裝的sdk,sdk按照第一加密模塊的算法生成相同的cookie名c并讀取名為c的對(duì)應(yīng)加密后的cookie值s,sdk使用公鑰對(duì)加密后的s進(jìn)行解密操作,成功獲取用戶信息則表示用戶處于登錄狀態(tài),子平臺(tái)登錄成功,否則為非登錄狀態(tài)。
13、進(jìn)一步的,所述非對(duì)稱(chēng)加密包括rsa非對(duì)稱(chēng)加密、dsa非對(duì)稱(chēng)加密和ecc非對(duì)稱(chēng)加密。
14、進(jìn)一步的,還能夠生成隨機(jī)干擾字符串組,具體為:生成若干個(gè)隨機(jī)干擾數(shù)值和若干個(gè)隨機(jī)干擾字符串,逐一進(jìn)行哈希計(jì)算得到若干個(gè)a位字符串作為干擾cookie名;根據(jù)第二加密模塊中所述的加密用戶信息s的長(zhǎng)度隨機(jī)生成若干組相等長(zhǎng)度的干擾字符串,存儲(chǔ)在若干組的干擾cookie名下。
15、本發(fā)明的有益效果在于:
16、本發(fā)明提供一種安全的多系統(tǒng)登錄互通的方法及系統(tǒng),提供給子平臺(tái)便捷的sdk獲取用戶信息方法,又可以保證用戶信息的數(shù)據(jù)安全,避免了攻擊者隨意篡改用戶登錄數(shù)據(jù),因?yàn)橹挥泄€是暴露在sdk源碼當(dāng)中,就算攻擊者猜對(duì)了cookie名的計(jì)算方式,也無(wú)法獲得私鑰對(duì)用戶信息進(jìn)行模擬加密。
1.一種安全的多平臺(tái)登錄互通的方法,其特征在于,所述方法步驟如下:
2.根據(jù)權(quán)利要求1所述的一種安全的多系統(tǒng)登錄互通的方法,其特征在于,所述非對(duì)稱(chēng)加密包括rsa非對(duì)稱(chēng)加密、dsa非對(duì)稱(chēng)加密和ecc非對(duì)稱(chēng)加密。
3.根據(jù)權(quán)利要求1所述的一種安全的多系統(tǒng)登錄互通的方法,其特征在于,步驟2后,還能夠生成隨機(jī)干擾字符串組,具體為:生成若干個(gè)隨機(jī)干擾數(shù)值和若干個(gè)隨機(jī)干擾字符串,逐一進(jìn)行哈希計(jì)算得到若干個(gè)a位字符串作為干擾cookie名;根據(jù)步驟2中所述的加密用戶信息s的長(zhǎng)度隨機(jī)生成若干組相等長(zhǎng)度的干擾字符串,存儲(chǔ)在若干組的干擾cookie名下。
4.一種安全的多系統(tǒng)登錄互通的系統(tǒng),其特征在于,所述系統(tǒng)包括:第一加密模塊、第二加密模塊、子平臺(tái)解密登錄模塊;
5.根據(jù)權(quán)利要求4所述的一種安全的多系統(tǒng)登錄互通的系統(tǒng),其特征在于,所述非對(duì)稱(chēng)加密包括rsa非對(duì)稱(chēng)加密、dsa非對(duì)稱(chēng)加密和ecc非對(duì)稱(chēng)加密。
6.根據(jù)權(quán)利要求4所述的一種安全的多系統(tǒng)登錄互通的系統(tǒng),其特征在于,還能夠生成隨機(jī)干擾字符串組,具體為:生成若干個(gè)隨機(jī)干擾數(shù)值和若干個(gè)隨機(jī)干擾字符串,逐一進(jìn)行哈希計(jì)算得到若干個(gè)a位字符串作為干擾cookie名;根據(jù)第二加密模塊中所述的加密用戶信息s的長(zhǎng)度隨機(jī)生成若干組相等長(zhǎng)度的干擾字符串,存儲(chǔ)在若干組的干擾cookie名下。