一種安全訪問(wèn)方法和服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明設(shè)及信息安全領(lǐng)域,尤其設(shè)及一種安全訪問(wèn)方法和服務(wù)器。
【背景技術(shù)】
[0002] 現(xiàn)有技術(shù)中,用戶需要通過(guò)用戶名和密碼來(lái)訪問(wèn)其存放在服務(wù)器中數(shù)據(jù),若用戶 通過(guò)第S方應(yīng)用訪問(wèn)其存放在服務(wù)器中數(shù)據(jù),則需要用戶提供其在服務(wù)器中的訪問(wèn)許可, 即用戶名和密碼,因此,服務(wù)器需要維護(hù)大量的用戶名和密碼,操作復(fù)雜。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的不足,提供一種安全訪問(wèn)方法和服務(wù)器。
[0004] 本發(fā)明提供的一種安全訪問(wèn)方法,所述方法包括:
[000引步驟SI:服務(wù)器接收應(yīng)用系統(tǒng)發(fā)送的訪問(wèn)請(qǐng)求,對(duì)所述訪問(wèn)請(qǐng)求進(jìn)行解析,得到訪 問(wèn)令牌、訪問(wèn)請(qǐng)求中的摘要和請(qǐng)求數(shù)據(jù);
[0006] 步驟S2:所述服務(wù)器判斷是否能夠在所述服務(wù)器中查找到與解析得到的所述訪問(wèn) 令牌一致的訪問(wèn)令牌,是則執(zhí)行步驟S3,否則結(jié)束;
[0007] 步驟S3:所述服務(wù)器判斷解析得到的所述訪問(wèn)令牌是否有效,是則執(zhí)行步驟S4,否 則執(zhí)行步驟S5;
[0008] 步驟S4:所述服務(wù)器根據(jù)所述服務(wù)器的應(yīng)用密鑰和所述訪問(wèn)請(qǐng)求中的摘要,對(duì)所 述訪問(wèn)請(qǐng)求進(jìn)行驗(yàn)證,判斷是否驗(yàn)證成功,是則執(zhí)行步驟S6,否則執(zhí)行步驟S5;
[0009] 步驟S5:所述服務(wù)器向所述應(yīng)用系統(tǒng)返回錯(cuò)誤信息,結(jié)束;
[0010] 步驟S6:所述服務(wù)器允許所述應(yīng)用系統(tǒng)根據(jù)所述請(qǐng)求數(shù)據(jù)訪問(wèn)所述服務(wù)器中的資 源。
[0011] 本發(fā)明提供一種安全訪問(wèn)服務(wù)器,所述服務(wù)器包括:接收模塊、第一解析模塊、第 一判斷模塊、第二判斷模塊、第=判斷模塊、處理模塊和第一響應(yīng)模塊;
[0012] 所述接收模塊,用于接收所述應(yīng)用系統(tǒng)發(fā)送的訪問(wèn)請(qǐng)求;
[0013] 所述第一解析模塊,用于對(duì)所述接收模塊接收到的訪問(wèn)請(qǐng)求進(jìn)行解析,得到訪問(wèn) 令牌、訪問(wèn)請(qǐng)求中的摘要和請(qǐng)求數(shù)據(jù);
[0014] 所述第一判斷模塊,用于判斷是否能夠在所述服務(wù)器中查找到與所述第一解析模 塊解析得到的所述訪問(wèn)令牌一致的訪問(wèn)令牌;
[0015] 所述第二判斷模塊,用于當(dāng)所述第一判斷模塊判斷出能夠在所述服務(wù)器中查找到 與解析得到的所述訪問(wèn)令牌一致的訪問(wèn)令牌時(shí),判斷解析得到的所述訪問(wèn)令牌是否有效;
[0016] 所述第=判斷模塊,用于當(dāng)所述第二判斷模塊判斷出所述訪問(wèn)令牌有效時(shí),根據(jù) 所服務(wù)器的應(yīng)用密鑰和所述第一解析模塊解析得到的所述訪問(wèn)請(qǐng)求中的摘要,對(duì)所述訪問(wèn) 請(qǐng)求進(jìn)行驗(yàn)證,判斷是否驗(yàn)證成功;
[0017] 所述處理模塊,用于當(dāng)所述第=判斷模塊判斷出驗(yàn)證成功時(shí),允許所述應(yīng)用系統(tǒng) 根據(jù)所述請(qǐng)求數(shù)據(jù)訪問(wèn)所述服務(wù)器中的資源;
[0018] 所述第一響應(yīng)模塊,用于當(dāng)所述第二判斷模塊判斷出所述訪問(wèn)令牌無(wú)效時(shí),或者 當(dāng)所述第=判斷模塊判斷出驗(yàn)證不成功時(shí),或者當(dāng)所述處理模塊執(zhí)行失敗時(shí),向所述應(yīng)用 系統(tǒng)返回錯(cuò)誤信息。
[0019] 本發(fā)明與現(xiàn)有技術(shù)相比,具有W下優(yōu)點(diǎn):
[0020] 本發(fā)明提供的一種安全訪問(wèn)方法和服務(wù)器,服務(wù)器向應(yīng)用系統(tǒng)提供不重復(fù)的訪問(wèn) 令牌,應(yīng)用系統(tǒng)通過(guò)該訪問(wèn)令牌在預(yù)設(shè)時(shí)間內(nèi)訪問(wèn)服務(wù)器,在此過(guò)程中無(wú)需用戶輸入用戶 名和密碼。
【附圖說(shuō)明】
[0021] 圖1是本發(fā)明實(shí)施例1提供的一種安全訪問(wèn)方法的流程圖;
[0022] 圖2是本發(fā)明實(shí)施例2提供的一種安全訪問(wèn)方法中獲取訪問(wèn)令牌的方法的流程圖;
[0023] 圖3是本發(fā)明實(shí)施例2提供的一種安全訪問(wèn)方法中另一種獲取訪問(wèn)令牌的方法的 流程圖;
[0024] 圖4是本發(fā)明實(shí)施例3提供的一種安全訪問(wèn)方法中添加用戶的方法的流程圖;
[0025] 圖5是本發(fā)明實(shí)施例4提供的一種安全訪問(wèn)方法中綁定令牌的方法的流程圖;
[0026] 圖6是本發(fā)明實(shí)施例5提供的一種安全訪問(wèn)方法中動(dòng)態(tài)密碼認(rèn)證的方法的流程圖;
[0027] 圖7是本發(fā)明實(shí)施例6提供的一種安全訪問(wèn)服務(wù)器的模塊圖。
【具體實(shí)施方式】
[0028] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0029] 本實(shí)施例提供的一種安全訪問(wèn)方法,應(yīng)用于包括的應(yīng)用系統(tǒng)和服務(wù)器的系統(tǒng)中; 用戶通過(guò)應(yīng)用系統(tǒng)在服務(wù)器中輸入應(yīng)用名稱(chēng),服務(wù)器根據(jù)應(yīng)用名稱(chēng)創(chuàng)建應(yīng)用,生成對(duì)應(yīng)的 應(yīng)用標(biāo)識(shí)、應(yīng)用密鑰和服務(wù)器地址并在服務(wù)器的數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ),將生成的應(yīng)用標(biāo)識(shí)、應(yīng) 用密鑰和服務(wù)器地址返回給應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)存儲(chǔ)接收到的應(yīng)用標(biāo)識(shí)、應(yīng)用密鑰和服務(wù) 器地址。
[0030] 實(shí)施例1
[0031 ]本發(fā)明的實(shí)施例1提供了一種安全訪問(wèn)方法,如圖1所示,包括:
[0032] 步驟Sl:服務(wù)器接收應(yīng)用系統(tǒng)發(fā)送的訪問(wèn)請(qǐng)求,對(duì)訪問(wèn)請(qǐng)求進(jìn)行解析,得到訪問(wèn)令 牌、訪問(wèn)請(qǐng)求中的摘要和請(qǐng)求數(shù)據(jù);
[0033] 步驟S2:服務(wù)器判斷是否能夠在服務(wù)器中查找到與解析得到的訪問(wèn)令牌一致的訪 問(wèn)令牌,是則執(zhí)行步驟S3,否則結(jié)束;
[0034] 步驟S3:服務(wù)器判斷解析得到的訪問(wèn)令牌是否有效,是則執(zhí)行步驟S4,否則執(zhí)行步 驟S5;
[0035] 步驟S4:服務(wù)器根據(jù)服務(wù)器的應(yīng)用密鑰和訪問(wèn)請(qǐng)求中的摘要,對(duì)訪問(wèn)請(qǐng)求進(jìn)行驗(yàn) 證,判斷是否驗(yàn)證成功,是則執(zhí)行步驟S6,否則執(zhí)行步驟S5;
[0036] 步驟S5:服務(wù)器向應(yīng)用系統(tǒng)返回錯(cuò)誤信息,結(jié)束;
[0037] 步驟S6:服務(wù)器允許應(yīng)用系統(tǒng)根據(jù)請(qǐng)求數(shù)據(jù)訪問(wèn)服務(wù)器中的資源;
[0038] 例如,訪問(wèn)請(qǐng)求可W為在服務(wù)器中添加用戶的請(qǐng)求、在服務(wù)器中綁定令牌的請(qǐng)求, 或者在服務(wù)器中進(jìn)行動(dòng)態(tài)密碼認(rèn)證的請(qǐng)求;請(qǐng)求數(shù)據(jù)可W為用戶輸入的用戶標(biāo)識(shí),或者請(qǐng) 求數(shù)據(jù)可W為用戶輸入的用戶標(biāo)識(shí)和令牌號(hào),或者請(qǐng)求數(shù)據(jù)可W為用戶輸入的用戶標(biāo)識(shí)和 動(dòng)態(tài)口令。
[0039] 實(shí)施例2
[0040] 本發(fā)明的實(shí)施例2提供了一種安全訪問(wèn)方法中獲取訪問(wèn)令牌的方法,如圖2所示, 包括:
[0041] 步驟101:當(dāng)應(yīng)用系統(tǒng)接收到訪問(wèn)服務(wù)器的觸發(fā)時(shí),應(yīng)用系統(tǒng)生成應(yīng)用狀態(tài)值,根 據(jù)應(yīng)用系統(tǒng)的應(yīng)用密鑰對(duì)預(yù)設(shè)授權(quán)類(lèi)型、應(yīng)用標(biāo)識(shí)和應(yīng)用狀態(tài)值進(jìn)行摘要運(yùn)算,得到獲取 訪問(wèn)令牌的請(qǐng)求摘要,根據(jù)服務(wù)器地址、預(yù)設(shè)授權(quán)類(lèi)型、應(yīng)用標(biāo)識(shí)、應(yīng)用狀態(tài)值和獲取訪問(wèn) 令牌的請(qǐng)求摘要得到獲取訪問(wèn)令牌的請(qǐng)求;
[0042] 具體地,應(yīng)用系統(tǒng)可W生成隨機(jī)數(shù)作為應(yīng)用狀態(tài)值;
[0043] 例如,預(yù)設(shè)授權(quán)類(lèi)型為第一授權(quán)類(lèi)型token,應(yīng)用標(biāo)識(shí)為A95B95A42AA304B3695D, 應(yīng)用狀態(tài)值為123456,應(yīng)用系統(tǒng)的應(yīng)用密鑰為643A83720E3802106E71F891D8E8抓61A45F69 3F,則進(jìn)行摘要運(yùn)算得到的獲取訪問(wèn)令牌的請(qǐng)求摘要為697A1B8F4489A03AD9CC3121B64B6 B300393C85F,服務(wù)器地址為ht1:ps : //www. CIoudentify. com,則獲取訪問(wèn)令牌的請(qǐng)求為: https://www.cloudentify.com/oauth2/v2/token/access_token7response_ty pe= token&client_id = A95B95A42AA304B369W&refresh_token = &state = 123456&sign = 697A1B8F4489A03AD9CC3121B64B6B300393C85F;
[0044] 步驟102:應(yīng)用系統(tǒng)調(diào)用服務(wù)器的獲取訪問(wèn)令牌接口,向服務(wù)器發(fā)送獲取訪問(wèn)令牌 的請(qǐng)求;
[0045] 步驟103:服務(wù)器接收應(yīng)用系統(tǒng)發(fā)送的獲取訪問(wèn)令牌的請(qǐng)求,對(duì)獲取訪問(wèn)令牌的請(qǐng) 求進(jìn)行解析,得到獲取訪問(wèn)令牌的請(qǐng)求摘要、應(yīng)用標(biāo)識(shí)和應(yīng)用狀態(tài)值;
[0046] 例如,服務(wù)器對(duì)獲取訪問(wèn)令牌的請(qǐng)求進(jìn)行解析,得到的獲取訪問(wèn)令牌請(qǐng)求的摘要 為697A1B8F4489A03AD9CC3121B64B6B300393C85F;例如,解析得到的應(yīng)用標(biāo)識(shí)為 A95B95A42AA304B3695D,應(yīng)用狀態(tài)值為 12:3456;
[0047] 步驟104:服務(wù)器判斷解析得到的應(yīng)用標(biāo)識(shí)是否正確,是則執(zhí)行步驟105,否則結(jié) 束;
[0048] 具體地,服務(wù)器判斷解析得到的應(yīng)用標(biāo)識(shí)是否不為空并且能夠在服務(wù)器的數(shù)據(jù)庫(kù) 中查找到與解析得到的應(yīng)用標(biāo)識(shí)相同的應(yīng)用標(biāo)識(shí),是則確定解析得到的應(yīng)用標(biāo)識(shí)正確,否 則確定解析得到的應(yīng)用標(biāo)識(shí)不正確;
[0049] 本實(shí)施例中,當(dāng)服務(wù)器判斷出解析得到的應(yīng)用標(biāo)識(shí)不正確時(shí),還可W包括:服務(wù)器 更新與該應(yīng)用系統(tǒng)的IP地址對(duì)應(yīng)的錯(cuò)誤次數(shù),當(dāng)服務(wù)器判斷出與該應(yīng)用系統(tǒng)的IP地址對(duì)應(yīng) 的錯(cuò)誤次數(shù)達(dá)到最大錯(cuò)誤次數(shù)時(shí),可W限制該應(yīng)用系統(tǒng)的IP地址訪問(wèn)服務(wù)器;
[0050] 步驟105:服務(wù)器根據(jù)服務(wù)器的應(yīng)用密鑰和獲取訪問(wèn)令牌請(qǐng)求的摘要,對(duì)獲取訪問(wèn) 令牌的請(qǐng)求進(jìn)行驗(yàn)證,判斷是否驗(yàn)證成功,是則執(zhí)行步驟107,否則執(zhí)行步驟106;
[0051] 具體地,服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí)在服務(wù)器中獲取對(duì)應(yīng)的應(yīng)用密鑰,根據(jù)服務(wù)器的應(yīng) 用密鑰對(duì)獲取訪問(wèn)令牌的請(qǐng)求中除獲取訪問(wèn)令牌請(qǐng)求的摘要之外的數(shù)據(jù)進(jìn)行摘要運(yùn)算,得 到驗(yàn)證值,判斷計(jì)算得到的驗(yàn)證值與解析得到的獲取訪問(wèn)令牌請(qǐng)求的摘要是否一致,是則 確定驗(yàn)證成功,否則確定驗(yàn)證失敗;
[0052] 步驟106:服務(wù)器根據(jù)服務(wù)器的應(yīng)用密鑰對(duì)錯(cuò)誤響應(yīng)碼和應(yīng)用狀態(tài)值進(jìn)行摘要運(yùn) 算,根據(jù)摘要運(yùn)算結(jié)果、錯(cuò)誤響應(yīng)碼和應(yīng)用狀態(tài)值得到錯(cuò)誤信息,向應(yīng)用系統(tǒng)返回錯(cuò)誤信 息,執(zhí)行步驟112;
[0053] 步驟107:服務(wù)器根據(jù)應(yīng)用標(biāo)識(shí),在服務(wù)器中獲取對(duì)應(yīng)的訪問(wèn)令牌列表;
[0054] 例如,服務(wù)器獲取到的訪問(wèn)令牌列表為:
[0057]步驟108:服務(wù)器判斷訪問(wèn)令牌列表中的訪問(wèn)令牌數(shù)量是否達(dá)到預(yù)設(shè)值,是則執(zhí)行 步驟109,否則執(zhí)行步驟110;
[005引例如,預(yù)設(shè)值為10;
[0059] 步驟109:服務(wù)器生成兩個(gè)隨機(jī)數(shù)分別作為訪問(wèn)令牌和刷新令牌,根據(jù)訪問(wèn)令牌列 表中的令牌生成時(shí)間查找最早生成的訪問(wèn)令牌所在項(xiàng)作為當(dāng)前更新項(xiàng),根據(jù)生成的訪問(wèn)令 牌、刷新令牌和服務(wù)器當(dāng)前時(shí)間分別對(duì)當(dāng)前更新項(xiàng)中的訪問(wèn)令牌、刷新令牌和令牌生成時(shí) 間進(jìn)行更新,執(zhí)行步驟111;
[0060] 優(yōu)選地,服務(wù)器生成的兩個(gè)隨機(jī)數(shù)均為通用唯一識(shí)別碼(niversally Unique Identifier);
[0061] 步驟110:服務(wù)器生成兩個(gè)隨機(jī)數(shù)分別作為訪問(wèn)令牌和刷新令牌,將服務(wù)器當(dāng)前時(shí) 間作為令牌生成時(shí)間,在訪問(wèn)令牌列表中順序存儲(chǔ)生成的訪問(wèn)令牌、刷新令牌和令牌生成 時(shí)間,執(zhí)行步驟111;
[0062] 優(yōu)選地,服務(wù)器生成的兩個(gè)隨機(jī)數(shù)均為通用唯一識(shí)別碼(niversally Unique Identifier);
[0063] 例如,更新后的訪問(wèn)令牌為E2AED2F34A324F198A8E518630D71157,更新后的刷新 令牌為邸邸F886F0FB4D抓B2468D77579858AD,服務(wù)器當(dāng)前時(shí)間為1449114537,則更新后的 訪問(wèn)令牌列表為:
[0066] 步驟111:服務(wù)器根據(jù)服務(wù)器的應(yīng)用密鑰對(duì)成功響應(yīng)碼、生成的訪問(wèn)令牌、刷新令 牌、預(yù)設(shè)有效期和應(yīng)用狀態(tài)值進(jìn)行摘要運(yùn)算,根據(jù)摘要運(yùn)算結(jié)果、成功響應(yīng)碼、生成的訪問(wèn) 令牌、刷新令牌、預(yù)設(shè)有效期和應(yīng)用狀態(tài)值得到獲取訪問(wèn)令牌的響應(yīng)信息,向應(yīng)用系統(tǒng)返回 獲取訪問(wèn)令牌的響應(yīng)信息,執(zhí)行步驟112;
[0067] 例如,成功響應(yīng)碼為0,生成的訪問(wèn)令牌為E2AED2F34A324F198A8E518630D71157, 生成的刷新令牌為肥邸F886F0FB4D抓B2468D77579858AD,預(yù)設(shè)有效期為3600,應(yīng)用狀態(tài)值 為 123456,摘要運(yùn)算結(jié)果為 C3A1B8F4489A03ADB3003121B64B66979C93C85F,響應(yīng)信息為{
[0076] 步驟112:應(yīng)用系統(tǒng)接收服務(wù)器發(fā)送的信息,對(duì)接收到的信息進(jìn)行解析,得到信息 中的摘要運(yùn)算結(jié)果、響應(yīng)碼和應(yīng)用狀態(tài)值;
[0077] 例如,解析得到的摘要運(yùn)算結(jié)果為 C3A1B8F4489A03ADB3003121B64B66979C93C85F;
[0078] 步驟113:應(yīng)用系統(tǒng)根據(jù)應(yīng)用系統(tǒng)的應(yīng)用密鑰和解析得到的摘要運(yùn)算結(jié)果,對(duì)接收 到的信息進(jìn)行驗(yàn)證,判斷是否驗(yàn)證成功,是則執(zhí)行步驟114,否則確定獲取訪問(wèn)令牌失敗,結(jié) 束;
[0079] 具體地,應(yīng)用系統(tǒng)根據(jù)應(yīng)用系統(tǒng)的應(yīng)用密鑰對(duì)接收到的信息中除摘要運(yùn)算結(jié)果之 外的數(shù)據(jù)進(jìn)行摘要運(yùn)算,得到驗(yàn)證值,判斷計(jì)算得到的驗(yàn)證值與解析得到的摘要運(yùn)算結(jié)果 是否一致,是則確定驗(yàn)證成功,否則確定驗(yàn)證失敗;
[0080] 例如,解析得到的響應(yīng)碼為0,應(yīng)用狀態(tài)值為123456;
[0081] 步驟114:應(yīng)用系統(tǒng)判斷解析得到的應(yīng)用狀態(tài)值是否與應(yīng)用系統(tǒng)生成的應(yīng)用狀態(tài) 值一致,是則執(zhí)行步驟115,否則確定獲取訪問(wèn)令牌失敗,結(jié)束;
當(dāng)前第1頁(yè)
1 
2 
3 
4 
5 
6