務(wù)器將所述公鑰及所述第一交互信息發(fā)送至所述目標(biāo)服務(wù)器地址對(duì)應(yīng)的目標(biāo)服務(wù)器; 所述目標(biāo)服務(wù)器根據(jù)所述公鑰對(duì)生成的第二隨機(jī)數(shù)進(jìn)行加密,得到第一密文; 所述目標(biāo)服務(wù)器將所述第一密文發(fā)送至所述中轉(zhuǎn)服務(wù)器,由所述中轉(zhuǎn)服務(wù)器發(fā)送至所述終端; 所述終端將所述第一密文發(fā)送至所述安全設(shè)備; 所述安全設(shè)備根據(jù)存儲(chǔ)的私鑰對(duì)所述第一密文進(jìn)行解密,得到所述第二隨機(jī)數(shù); 所述安全設(shè)備將所述第二隨機(jī)數(shù)發(fā)送至所述終端。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述中轉(zhuǎn)服務(wù)器根據(jù)所述設(shè)備標(biāo)識(shí),從設(shè)備標(biāo)識(shí)與公鑰之間的對(duì)應(yīng)關(guān)系中,獲取所述設(shè)備標(biāo)識(shí)對(duì)應(yīng)的公鑰之前,所述方法還包括: 所述安全設(shè)備接收設(shè)備生產(chǎn)商發(fā)送的密鑰生成請(qǐng)求; 基于所述密鑰生成請(qǐng)求,所述安全設(shè)備生成一對(duì)非對(duì)稱(chēng)密鑰,所述非對(duì)稱(chēng)密鑰包括所述公鑰和私鑰; 所述安全設(shè)備存儲(chǔ)所述私鑰,并將所述公鑰與設(shè)備標(biāo)識(shí)發(fā)送至所述中轉(zhuǎn)服務(wù)器; 基于接收到的所述公鑰與設(shè)備標(biāo)識(shí),所述中轉(zhuǎn)服務(wù)器存儲(chǔ)所述公鑰與設(shè)備標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述驗(yàn)證請(qǐng)求中還攜帶所述終端支持的加密算法信息、所述終端支持的簽名算法信息,所述方法還包括: 所述目標(biāo)服務(wù)器根據(jù)本端支持的加密算法及所述終端支持的加密算法信息,確定指定加密算法; 所述目標(biāo)服務(wù)器根據(jù)本端支持的簽名算法及所述終端支持的簽名算法信息,確定指定簽名算法; 所述目標(biāo)服務(wù)器向所述中轉(zhuǎn)服務(wù)器發(fā)送通知消息,由所述中轉(zhuǎn)服務(wù)器將所述通知消息發(fā)送至所述終端,所述通知消息用于通知所述終端將所述指定加密算法作為加密算法、將所述指定簽名算法作為簽名算法。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述目標(biāo)服務(wù)器向所述中轉(zhuǎn)服務(wù)器發(fā)送通知消息之后,所述方法還包括: 在所述終端與所述中轉(zhuǎn)服務(wù)器、所述目標(biāo)服務(wù)器與所述中轉(zhuǎn)服務(wù)器之間的交互過(guò)程中,所述指定加密算法用于對(duì)待發(fā)送的交互數(shù)據(jù)進(jìn)行加密運(yùn)算,所述指定簽名算法用于對(duì)待發(fā)送的交互數(shù)據(jù)進(jìn)行簽名運(yùn)算。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述終端基于與中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行校驗(yàn),得到第一校驗(yàn)值,包括: 所述終端按照時(shí)間順序,將與所述中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行拼接,得到第一拼接結(jié)果; 所述終端采用指定校驗(yàn)算法對(duì)所述第一拼接結(jié)果進(jìn)行校驗(yàn),得到第一校驗(yàn)值。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述目標(biāo)服務(wù)器基于與所述中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行校驗(yàn),得到第二校驗(yàn)值,包括: 所述目標(biāo)服務(wù)器按照時(shí)間順序,將與所述中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行拼接,得到第二拼接結(jié)果; 所述目標(biāo)服務(wù)器采用指定校驗(yàn)算法對(duì)所述第二拼接結(jié)果進(jìn)行校驗(yàn),得到第二校驗(yàn)值。
9.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述主密鑰、所述第一校驗(yàn)值及所述第二校驗(yàn)值,所述終端與所述目標(biāo)服務(wù)器彼此進(jìn)行安全驗(yàn)證,包括: 所述終端根據(jù)所述終端簽名密鑰,對(duì)所述第一校驗(yàn)值進(jìn)行簽名,得到第一簽名信息; 所述終端根據(jù)所述終端密鑰,對(duì)所述第一簽名信息進(jìn)行加密,得到第一加密信息; 所述終端將所述第一加密信息發(fā)送至所述中轉(zhuǎn)服務(wù)器,由所述中轉(zhuǎn)服務(wù)器將所述第一加密信息發(fā)送至所述目標(biāo)服務(wù)器; 所述目標(biāo)服務(wù)器根據(jù)本地存儲(chǔ)的終端密鑰,對(duì)所述第一加密信息進(jìn)行解密; 當(dāng)對(duì)所述第一簽名信息成功解密時(shí),所述目標(biāo)服務(wù)器獲取所述第一簽名信息; 所述目標(biāo)服務(wù)器根據(jù)本地存儲(chǔ)的終端簽名密鑰,對(duì)所述第一簽名信息的簽名進(jìn)行驗(yàn)證; 當(dāng)對(duì)所述第一簽名信息的簽名成功驗(yàn)證時(shí),所述目標(biāo)服務(wù)器獲取所述第一校驗(yàn)值; 所述目標(biāo)服務(wù)器將所述第一校驗(yàn)值與所述第二校驗(yàn)值進(jìn)行比對(duì); 如果所述第一校驗(yàn)值與所述第二校驗(yàn)值一致,則所述目標(biāo)服務(wù)器生成驗(yàn)證成功信息; 所述目標(biāo)服務(wù)器根據(jù)所述服務(wù)器簽名密鑰,對(duì)所述驗(yàn)證成功信息進(jìn)行簽名,得到第二簽名信息; 所述目標(biāo)服務(wù)器根據(jù)所述服務(wù)器密鑰,對(duì)所述第二簽名信息進(jìn)行加密,得到第二加密信息; 所述目標(biāo)服務(wù)器將所述第二加密信息發(fā)送至所述中轉(zhuǎn)服務(wù)器,由所述中轉(zhuǎn)服務(wù)器將所述第二加密信息發(fā)送至所述終端; 所述終端根據(jù)本地存儲(chǔ)的服務(wù)器密鑰,對(duì)所述第二加密信息進(jìn)行解密; 當(dāng)對(duì)所述第二加密信息成功解密時(shí),所述終端獲取所述第二簽名信息; 所述終端根據(jù)本地存儲(chǔ)的服務(wù)器簽名密鑰,對(duì)所述第二簽名信息的簽名進(jìn)行驗(yàn)證;當(dāng)對(duì)所述第二簽名信息的簽名成功驗(yàn)證時(shí),所述終端確定與所述目標(biāo)服務(wù)器彼此通過(guò)安全驗(yàn)證。
10.根據(jù)權(quán)利要求1至9中任一權(quán)利要求所述的方法,其特征在于,所述方法應(yīng)用于所述安全設(shè)備、所述終端、所述中轉(zhuǎn)服務(wù)器及所述目標(biāo)服務(wù)器進(jìn)行數(shù)值轉(zhuǎn)移的場(chǎng)景。
11.一種安全驗(yàn)證系統(tǒng),其特征在于,所述系統(tǒng)包括:終端、目標(biāo)服務(wù)器及中轉(zhuǎn)服務(wù)器; 所述終端,用于根據(jù)第一隨機(jī)數(shù)和第二隨機(jī)數(shù),生成主密鑰; 所述目標(biāo)服務(wù)器,用于根據(jù)第一隨機(jī)數(shù)和第二隨機(jī)數(shù),生成主密鑰; 所述終端,用于基于與中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行校驗(yàn),得到第一校驗(yàn)值; 所述目標(biāo)服務(wù)器,用于基于與所述中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行校驗(yàn),得到第二校驗(yàn)值; 所述終端,用于基于所述主密鑰、所述第一校驗(yàn)值及所述第二校驗(yàn)值,與所述目標(biāo)服務(wù)器進(jìn)行安全驗(yàn)證; 所述目標(biāo)服務(wù)器,用于基于所述主密鑰、所述第一校驗(yàn)值及所述第二校驗(yàn)值,與所述終端進(jìn)行安全驗(yàn)證。
12.根據(jù)權(quán)利要求11所述系統(tǒng),所述主密鑰至少包括終端密鑰、服務(wù)器密鑰、終端簽名密鑰、服務(wù)器簽名密鑰,在所述終端與所述中轉(zhuǎn)服務(wù)器、所述目標(biāo)服務(wù)器與所述中轉(zhuǎn)服務(wù)器的交互過(guò)程中包括以下步驟: 所述終端使用所述終端密鑰對(duì)待發(fā)送數(shù)據(jù)進(jìn)行加密,所述終端使用所述終端簽名密鑰對(duì)待發(fā)送數(shù)據(jù)進(jìn)行簽名; 所述目標(biāo)服務(wù)器使用所述服務(wù)器密鑰對(duì)待發(fā)送數(shù)據(jù)進(jìn)行加密,所述目標(biāo)服務(wù)器使用所述服務(wù)器簽名密鑰對(duì)待發(fā)送數(shù)據(jù)進(jìn)行加密; 所述終端使用所述服務(wù)器密鑰對(duì)接收到的數(shù)據(jù)進(jìn)行解密,所述終端使用所述服務(wù)器簽名密鑰對(duì)接收到的數(shù)據(jù)的簽名進(jìn)行驗(yàn)證; 所述目標(biāo)服務(wù)器使用所述終端密鑰對(duì)接收到的數(shù)據(jù)進(jìn)行解密,所述目標(biāo)服務(wù)器使用所述終端簽名密鑰對(duì)接收到的數(shù)據(jù)的簽名進(jìn)行驗(yàn)證。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括:安全設(shè)備; 所述終端,還用于向所述中轉(zhuǎn)服務(wù)器發(fā)送驗(yàn)證請(qǐng)求,所述驗(yàn)證請(qǐng)求中至少攜帶第一交互信息,所述第一交互信息至少包括所述終端對(duì)應(yīng)的安全設(shè)備的設(shè)備標(biāo)識(shí)、所述第一隨機(jī)數(shù)及目標(biāo)服務(wù)器的地址; 所述中轉(zhuǎn)服務(wù)器,用于根據(jù)所述設(shè)備標(biāo)識(shí),從設(shè)備標(biāo)識(shí)與公鑰之間的對(duì)應(yīng)關(guān)系中,獲取所述設(shè)備標(biāo)識(shí)對(duì)應(yīng)的公鑰; 所述中轉(zhuǎn)服務(wù)器,用于將所述公鑰及所述第一交互信息發(fā)送至所述目標(biāo)服務(wù)器地址對(duì)應(yīng)的目標(biāo)服務(wù)器; 所述目標(biāo)服務(wù)器,還用于根據(jù)所述公鑰對(duì)生成的第二隨機(jī)數(shù)進(jìn)行加密,得到第一密文; 所述目標(biāo)服務(wù)器,還用于將所述第一密文發(fā)送至所述中轉(zhuǎn)服務(wù)器,由所述中轉(zhuǎn)服務(wù)器發(fā)送至所述終端; 所述終端,還用于將所述第一密文發(fā)送至所述安全設(shè)備; 所述安全設(shè)備,用于根據(jù)存儲(chǔ)的私鑰對(duì)所述第一密文進(jìn)行解密,得到所述第二隨機(jī)數(shù); 所述安全設(shè)備,用于將所述第二隨機(jī)數(shù)發(fā)送至所述終端。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述安全設(shè)備,還用于接收設(shè)備生產(chǎn)商發(fā)送的密鑰生成請(qǐng)求; 所述安全設(shè)備,還用于基于所述密鑰生成請(qǐng)求,生成一對(duì)非對(duì)稱(chēng)密鑰,所述非對(duì)稱(chēng)密鑰包括所述公鑰和私鑰; 所述安全設(shè)備,還用于存儲(chǔ)所述私鑰,并將所述公鑰與設(shè)備標(biāo)識(shí)發(fā)送至所述中轉(zhuǎn)服務(wù)器; 基于接收到的所述公鑰與設(shè)備標(biāo)識(shí),所述中轉(zhuǎn)服務(wù)器存儲(chǔ)所述公鑰與設(shè)備標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系。
15.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述驗(yàn)證請(qǐng)求中還攜帶所述終端支持的加密算法信息、所述終端支持的簽名算法信息; 所述目標(biāo)服務(wù)器,還用于根據(jù)本端支持的加密算法及所述終端支持的加密算法信息,確定指定加密算法; 所述目標(biāo)服務(wù)器,還用于根據(jù)本端支持的簽名算法及所述終端支持的簽名算法信息,確定指定簽名算法; 所述目標(biāo)服務(wù)器,還用于向所述中轉(zhuǎn)服務(wù)器發(fā)送通知消息,由所述中轉(zhuǎn)服務(wù)器將所述通知消息發(fā)送至所述終端,所述通知消息用于通知所述終端將所述指定加密算法作為加密算法、將所述指定簽名算法作為簽名算法。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,在所述終端與所述中轉(zhuǎn)服務(wù)器、所述目標(biāo)服務(wù)器與所述中轉(zhuǎn)服務(wù)器之間的交互過(guò)程中,所述指定加密算法用于對(duì)待發(fā)送的交互數(shù)據(jù)進(jìn)行加密運(yùn)算,所述指定簽名算法用于對(duì)待發(fā)送的交互數(shù)據(jù)進(jìn)行簽名運(yùn)算。
17.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述終端,還用于按照時(shí)間順序,將與所述中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行拼接,得到第一拼接結(jié)果; 所述終端,還用于采用指定校驗(yàn)算法對(duì)所述第一拼接結(jié)果進(jìn)行校驗(yàn),得到第一校驗(yàn)值。
18.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述目標(biāo)服務(wù)器,還用于按照時(shí)間順序,將與所述中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行拼接,得到第二拼接結(jié)果; 所述目標(biāo)服務(wù)器采用指定校驗(yàn)算法對(duì)所述第二拼接結(jié)果進(jìn)行校驗(yàn),得到第二校驗(yàn)值。
19.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述終端,還用于根據(jù)所述終端簽名密鑰,對(duì)所述第一校驗(yàn)值進(jìn)行簽名,得到第一簽名信息; 所述終端,還用于根據(jù)所述終端密鑰,對(duì)所述第一簽名信息進(jìn)行加密,得到第一加密信息; 所述終端,還用于將所述第一加密信息發(fā)送至所述中轉(zhuǎn)服務(wù)器,由所述中轉(zhuǎn)服務(wù)器將所述第一加密信息發(fā)送至所述目標(biāo)服務(wù)器; 所述目標(biāo)服務(wù)器,還用于根據(jù)本地存儲(chǔ)的終端密鑰,對(duì)所述第一加密信息進(jìn)行解密; 所述目標(biāo)服務(wù)器,還用于當(dāng)對(duì)所述第一簽名信息成功解密時(shí),獲取所述第一簽名信息; 所述目標(biāo)服務(wù)器,還用于根據(jù)本地存儲(chǔ)的終端簽名密鑰,對(duì)所述第一簽名信息的簽名進(jìn)行驗(yàn)證; 所述目標(biāo)服務(wù)器,還用于當(dāng)對(duì)所述第一簽名信息的簽名成功驗(yàn)證時(shí),獲取所述第一校驗(yàn)值; 所述目標(biāo)服務(wù)器,還用于將所述第一校驗(yàn)值與所述第二校驗(yàn)值進(jìn)行比對(duì); 所述目標(biāo)服務(wù)器,還用于當(dāng)所述第一校驗(yàn)值與所述第二校驗(yàn)值一致時(shí),生成驗(yàn)證成功信息; 所述目標(biāo)服務(wù)器,還用于根據(jù)所述服務(wù)器簽名密鑰,對(duì)所述驗(yàn)證成功信息進(jìn)行簽名,得到第二簽名信息; 所述目標(biāo)服務(wù)器,還用于根據(jù)所述服務(wù)器密鑰,對(duì)所述第二簽名信息進(jìn)行加密,得到第二加密信息; 所述目標(biāo)服務(wù)器,還用于將所述第二加密信息發(fā)送至所述中轉(zhuǎn)服務(wù)器,由所述中轉(zhuǎn)服務(wù)器將所述第二加密信息發(fā)送至所述終端; 所述終端,還用于根據(jù)本地存儲(chǔ)的服務(wù)器密鑰,對(duì)所述第二加密信息進(jìn)行解密; 所述終端,還用于當(dāng)對(duì)所述第二加密信息成功解密時(shí),獲取所述第二簽名信息; 所述終端,還用于根據(jù)本地存儲(chǔ)的服務(wù)器簽名密鑰,對(duì)所述第二簽名信息的簽名進(jìn)行驗(yàn)證; 所述終端,還用于當(dāng)對(duì)所述第二簽名信息的簽名成功驗(yàn)證時(shí),確定與所述目標(biāo)服務(wù)器彼此通過(guò)安全驗(yàn)證。
20.根據(jù)權(quán)利要求11至19中任一權(quán)利要求所述的系統(tǒng),其特征在于,所述系統(tǒng)用于所述安全設(shè)備、所述終端、所述中轉(zhuǎn)服務(wù)器及所述目標(biāo)服務(wù)器進(jìn)行數(shù)值轉(zhuǎn)移的場(chǎng)景。
21.一種安全驗(yàn)證裝置,其特征在于,包括: 處理器; 用于存儲(chǔ)處理器可執(zhí)行的指令; 其中,所述處理器被配置為: 終端和目標(biāo)服務(wù)器分別根據(jù)第一隨機(jī)數(shù)和第二隨機(jī)數(shù),生成主密鑰; 所述終端基于與中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行校驗(yàn),得到第一校驗(yàn)值; 所述目標(biāo)服務(wù)器基于與所述中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行校驗(yàn),得到第二校驗(yàn)值;基于所述主密鑰、所述第一校驗(yàn)值及所述第二校驗(yàn)值,所述終端與所述目標(biāo)服務(wù)器彼此進(jìn)行安全驗(yàn)證。
【專(zhuān)利摘要】本公開(kāi)是關(guān)于一種安全驗(yàn)證方法、裝置及系統(tǒng),屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域。方法包括:終端和目標(biāo)服務(wù)器分別根據(jù)第一隨機(jī)數(shù)和第二隨機(jī)數(shù),生成主密鑰;終端基于與中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行校驗(yàn),得到第一校驗(yàn)值;目標(biāo)服務(wù)器基于與中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)進(jìn)行校驗(yàn),得到第二校驗(yàn)值;基于主密鑰、第一校驗(yàn)值及第二校驗(yàn)值,終端與目標(biāo)服務(wù)器彼此進(jìn)行安全驗(yàn)證。本公開(kāi)中終端和目標(biāo)服務(wù)器在彼此進(jìn)行安全驗(yàn)證時(shí),并不僅依賴(lài)于由第一隨機(jī)數(shù)和第二隨機(jī)數(shù)生成的主密鑰,而是根據(jù)校驗(yàn)值及主密鑰協(xié)同進(jìn)行校驗(yàn),由于該校驗(yàn)值是根據(jù)數(shù)據(jù)驗(yàn)證過(guò)程中與中轉(zhuǎn)服務(wù)器之間的交互數(shù)據(jù)生成的,其他終端即使獲取到主密鑰,也無(wú)法獲取到校驗(yàn)值,因而有效地保證了數(shù)據(jù)安全。
【IPC分類(lèi)】H04L29-06, H04L9-32
【公開(kāi)號(hào)】CN104852911
【申請(qǐng)?zhí)枴緾N201510206054
【發(fā)明人】林俊琦, 池玉博, 余新浪
【申請(qǐng)人】小米科技有限責(zé)任公司
【公開(kāi)日】2015年8月19日
【申請(qǐng)日】2015年4月27日