本申請(qǐng)涉及通信安全,具體涉及一種基于tcp的敲門(mén)認(rèn)證方法及裝置。
背景技術(shù):
1、目前,單包授權(quán)(single?packet?authorization,spa)是軟件定義邊界(softwaredefined?perimeter,sdp)的關(guān)鍵技術(shù),單包授權(quán)解決了敲門(mén)技術(shù)的許多缺陷,是當(dāng)前sdp軟件較通用的認(rèn)證及端口動(dòng)態(tài)開(kāi)閉方式。當(dāng)前主流spa大多采用用戶數(shù)據(jù)報(bào)協(xié)議(userdatagram?protocol,udp),但是電信運(yùn)營(yíng)商對(duì)udp協(xié)議的數(shù)據(jù)報(bào)文采取不同程度的限制措施,使得單包認(rèn)證應(yīng)用存在一定的敲門(mén)失敗概率,造成sdp軟件使用感知不佳。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供一種基于tcp的敲門(mén)認(rèn)證方法及裝置,用以解決使用udp協(xié)議的單包認(rèn)證應(yīng)用存在一定的敲門(mén)失敗概率的技術(shù)問(wèn)題。
2、第一方面,本申請(qǐng)實(shí)施例提供一種基于tcp的敲門(mén)認(rèn)證方法,包括:
3、將加密后的用戶身份認(rèn)證信息拆分為多個(gè)片段,并基于傳輸控制協(xié)議tcp生成所述多個(gè)片段對(duì)應(yīng)的敲門(mén)報(bào)文,所述敲門(mén)報(bào)文至少包括第一數(shù)據(jù)、第二數(shù)據(jù)、第三數(shù)據(jù)和第一標(biāo)識(shí),所述第一數(shù)據(jù)攜帶各個(gè)片段長(zhǎng)度之和以及所述敲門(mén)報(bào)文的發(fā)送時(shí)間,所述第二數(shù)據(jù)攜帶所述多個(gè)片段,所述第三數(shù)據(jù)攜帶所述敲門(mén)報(bào)文的發(fā)送時(shí)間,所述第一標(biāo)識(shí)用于區(qū)分所述第一數(shù)據(jù)、所述第二數(shù)據(jù)、所述第三數(shù)據(jù)以及所述多個(gè)片段;
4、將所述敲門(mén)報(bào)文發(fā)送至服務(wù)器,以使所述服務(wù)器根據(jù)所述第一標(biāo)識(shí)拼接所述敲門(mén)報(bào)文,并對(duì)所述用戶身份認(rèn)證信息進(jìn)行校核。
5、在一個(gè)實(shí)施例中,所述將所述敲門(mén)報(bào)文發(fā)送至服務(wù)器之前,所述方法,還包括:
6、按照所述第一數(shù)據(jù)、所述第二數(shù)據(jù)和所述第三數(shù)據(jù)的先后傳輸順序,發(fā)送所述敲門(mén)報(bào)文,所述第二數(shù)據(jù)中的所述多個(gè)片段的順序被隨機(jī)打亂。
7、在一個(gè)實(shí)施例中,所述加密后的用戶身份認(rèn)證信息是基于加密算法對(duì)所述用戶身份認(rèn)證信息進(jìn)行加密后得到的。
8、第二方面,本申請(qǐng)實(shí)施例提供一種基于tcp的敲門(mén)認(rèn)證方法,包括:
9、接收客戶端發(fā)送的敲門(mén)報(bào)文,所述敲門(mén)報(bào)文是由所述客戶端將加密后的用戶身份認(rèn)證信息拆分為多個(gè)片段,并基于tcp生成的所述多個(gè)片段對(duì)應(yīng)的所述敲門(mén)報(bào)文,所述敲門(mén)報(bào)文至少包括第一數(shù)據(jù)、第二數(shù)據(jù)、第三數(shù)據(jù)和第一標(biāo)識(shí),所述第一數(shù)據(jù)攜帶各個(gè)片段長(zhǎng)度之和以及所述敲門(mén)報(bào)文的發(fā)送時(shí)間,所述第二數(shù)據(jù)攜帶所述多個(gè)片段,所述第三數(shù)據(jù)攜帶所述敲門(mén)報(bào)文的發(fā)送時(shí)間,所述第一標(biāo)識(shí)用于區(qū)分所述第一數(shù)據(jù)、所述第二數(shù)據(jù)、所述第三數(shù)據(jù)以及所述多個(gè)片段;
10、根據(jù)所述第一標(biāo)識(shí)拼接所述敲門(mén)報(bào)文,并對(duì)所述用戶身份認(rèn)證信息進(jìn)行校核。
11、在一個(gè)實(shí)施例中,所述接收客戶端發(fā)送的敲門(mén)報(bào)文之后,所述方法,還包括:
12、根據(jù)所述敲門(mén)報(bào)文中的第一字段,確定所述客戶端是否完成所述敲門(mén)報(bào)文的發(fā)送,所述第一字段用于指示是否接收到所述第三數(shù)據(jù);
13、根據(jù)所述敲門(mén)報(bào)文中的第二字段,確定是否給所述客戶端發(fā)送響應(yīng)消息或連接重置消息。
14、在一個(gè)實(shí)施例中,所述根據(jù)所述第一標(biāo)識(shí)拼接所述敲門(mén)報(bào)文,并對(duì)所述用戶身份認(rèn)證信息進(jìn)行校核之后,所述方法,還包括:
15、在確定所述用戶身份認(rèn)證信息通過(guò)校核的情況下,開(kāi)放業(yè)務(wù)端口,并接收所述客戶端通過(guò)所述業(yè)務(wù)端口發(fā)送的業(yè)務(wù)數(shù)據(jù)。
16、第三方面,本申請(qǐng)實(shí)施例提供一種基于tcp的敲門(mén)認(rèn)證裝置,包括:
17、第一發(fā)送模塊,用于將加密后的用戶身份認(rèn)證信息拆分為多個(gè)片段,并基于tcp生成所述多個(gè)片段對(duì)應(yīng)的敲門(mén)報(bào)文,所述敲門(mén)報(bào)文至少包括第一數(shù)據(jù)、第二數(shù)據(jù)、第三數(shù)據(jù)和第一標(biāo)識(shí),所述第一數(shù)據(jù)攜帶各個(gè)片段長(zhǎng)度之和以及所述敲門(mén)報(bào)文的發(fā)送時(shí)間,所述第二數(shù)據(jù)攜帶所述多個(gè)片段,所述第三數(shù)據(jù)攜帶所述敲門(mén)報(bào)文的發(fā)送時(shí)間,所述第一標(biāo)識(shí)用于區(qū)分所述第一數(shù)據(jù)、所述第二數(shù)據(jù)、所述第三數(shù)據(jù)以及所述多個(gè)片段;
18、第二發(fā)送模塊,用于將所述敲門(mén)報(bào)文發(fā)送至服務(wù)器,以使所述服務(wù)器根據(jù)所述第一標(biāo)識(shí)拼接所述敲門(mén)報(bào)文,并對(duì)所述用戶身份認(rèn)證信息進(jìn)行校核。
19、第四方面,本申請(qǐng)實(shí)施例提供一種基于tcp的敲門(mén)認(rèn)證裝置,包括:
20、第一接收模塊,用于接收客戶端發(fā)送的敲門(mén)報(bào)文,所述敲門(mén)報(bào)文是由所述客戶端將加密后的用戶身份認(rèn)證信息拆分為多個(gè)片段,并基于tcp生成的所述多個(gè)片段對(duì)應(yīng)的所述敲門(mén)報(bào)文,所述敲門(mén)報(bào)文至少包括第一數(shù)據(jù)、第二數(shù)據(jù)、第三數(shù)據(jù)和第一標(biāo)識(shí),所述第一數(shù)據(jù)攜帶各個(gè)片段長(zhǎng)度之和以及所述敲門(mén)報(bào)文的發(fā)送時(shí)間,所述第二數(shù)據(jù)攜帶所述多個(gè)片段,所述第三數(shù)據(jù)攜帶所述敲門(mén)報(bào)文的發(fā)送時(shí)間,所述第一標(biāo)識(shí)用于區(qū)分所述第一數(shù)據(jù)、所述第二數(shù)據(jù)、所述第三數(shù)據(jù)以及所述多個(gè)片段;
21、第二接收模塊,用于根據(jù)所述第一標(biāo)識(shí)拼接所述敲門(mén)報(bào)文,并對(duì)所述用戶身份認(rèn)證信息進(jìn)行校核。
22、第五方面,本申請(qǐng)實(shí)施例提供一種電子設(shè)備,包括處理器和存儲(chǔ)有計(jì)算機(jī)程序的存儲(chǔ)器,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)第一方面或第二方面所述的基于tcp的敲門(mén)認(rèn)證方法。
23、第六方面,本申請(qǐng)實(shí)施例提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面或第二方面所述的基于tcp的敲門(mén)認(rèn)證方法。
24、本申請(qǐng)實(shí)施例提供的基于tcp的敲門(mén)認(rèn)證方法及裝置,可以將多個(gè)攜帶用戶身份認(rèn)證信息片段的tcp的敲門(mén)報(bào)文分片,順序發(fā)送至服務(wù)端,并最終拼接為完整用戶身份認(rèn)證信息,實(shí)現(xiàn)認(rèn)證功能,避免了udp報(bào)文在互聯(lián)網(wǎng)上可能受到的限制,提高單包認(rèn)證應(yīng)用敲門(mén)認(rèn)證的成功率。
1.一種基于tcp的敲門(mén)認(rèn)證方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的基于tcp的敲門(mén)認(rèn)證方法,其特征在于,所述將所述敲門(mén)報(bào)文發(fā)送至服務(wù)器之前,所述方法,還包括:
3.根據(jù)權(quán)利要求1所述的基于tcp的敲門(mén)認(rèn)證方法,其特征在于,所述加密后的用戶身份認(rèn)證信息是基于加密算法對(duì)所述用戶身份認(rèn)證信息進(jìn)行加密后得到的。
4.一種基于tcp的敲門(mén)認(rèn)證方法,其特征在于,包括:
5.根據(jù)權(quán)利要求4所述的基于tcp的敲門(mén)認(rèn)證方法,其特征在于,所述接收客戶端發(fā)送的敲門(mén)報(bào)文之后,所述方法,還包括:
6.根據(jù)權(quán)利要求4所述的基于tcp的敲門(mén)認(rèn)證方法,其特征在于,所述根據(jù)所述第一標(biāo)識(shí)拼接所述敲門(mén)報(bào)文,并對(duì)所述用戶身份認(rèn)證信息進(jìn)行校核之后,所述方法,還包括:
7.一種基于tcp的敲門(mén)認(rèn)證裝置,其特征在于,包括:
8.一種基于tcp的敲門(mén)認(rèn)證裝置,其特征在于,包括:
9.一種電子設(shè)備,包括處理器和存儲(chǔ)有計(jì)算機(jī)程序的存儲(chǔ)器,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至3任一項(xiàng)所述的基于tcp的敲門(mén)認(rèn)證方法,或?qū)崿F(xiàn)權(quán)利要求4至6任一項(xiàng)所述的基于tcp的敲門(mén)認(rèn)證方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至3任一項(xiàng)所述的基于tcp的敲門(mén)認(rèn)證方法,或?qū)崿F(xiàn)權(quán)利要求4至6任一項(xiàng)所述的基于tcp的敲門(mén)認(rèn)證方法。