我正在使用 Java RMI 开发一个系统。我有几个 RMI 客户端和一个 RMI 服务器。我的系统应该是拜占庭容错的,所以客户端可能是恶意的(不仅仅是崩溃停止)。
从这个意义上说,我应该能够在服务器中识别出客户端何时调用重复或尝试使用其他客户端信息调用方法(以捕获服务器和多数投票)。为了解决这个问题,我使用了客户端和服务器共享的公钥/私钥。每个客户端都有一个唯一的密钥来生成和散列,服务器将验证散列。现在,我需要在服务器端知道哪个客户端调用该方法来知道我应该使用哪个密钥来验证数据。
是否有可能在服务器上知道哪个服务器正在调用这些方法?
问候并谢谢你,雨果