簡體   English   中英

在同一台計算機上的多個客戶端之間進行區分

[英]Distinguishing Between Multiple Clients On Same Machine

在過去的一年中,我一直在積極開發一個名為NitroNet的網絡庫,並且正在尋找有關如何安全地區分連接到同一台計算機上的服務器的多個客戶端(套接字)的想法。

我一直在使用Java開發該庫,目前我使用客戶端UDP端口作為唯一標識符來區分客戶端。 這可以正常工作,但是我不認為這是真正區分它們的最安全方法。 所以我想知道,是否有更好的安全方法真正區分它們?

當我說我需要“區分它們”時,我的意思是,當從服務器端的客戶端接收到一個數據包時,我需要能夠僅使用來自套接字的信息來獲取服務器端的相應連接實例。 我不希望將任何ID號存儲在實際的客戶端上,因為擔心進行反向工程和手動更改ID。 任何想法或建議將不勝感激。

客戶端首次連接時,使初始服務器響應包含使用UDP端口和建立連接時間構建的哈希。 這樣,您就知道它是同一客戶端,因為兩個客戶端無法在同一端口上完全同時連接。

除非您可以確保服務器以及哈希構建算法的安全,否則這不能消除對反向工程的恐懼。 但是,即使這受到損害,UDP端口也將保持不變,從而使您處於與當前相同的安全級別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM