首先,我已经搜索了如何保护网络流量,我找到了很多答案......唯一的问题是我找到了太多的示例和方法,而且大多数都是非常老的( > 10年),所以它让我有点担心。
我想知道的是如何加密服务器和客户端之间的网络流量。
我有一个关于它的学士学位课程,根据我的理解,我需要一个私钥 - 公钥对来加密和解密。但是我可能已经错过了一些重要的概念,因为我目前有这个问题:当密钥是您需要保护网络的密钥时,如何通过网络发送密钥?我甚至不得不处理它,还是有Java的安全网络的内置应用程序?
我在课堂上看到的是,教师需要手动验证一些关键代码,以确保某人正在发送消息(手动查看别人的屏幕并比较密钥以查看是否有确实是一样的。)
我目前正在使用套接字,我甚至不确定在Java中是否可以以不同的方式完成网络连接。我想知道如何实现安全网络。
任何相关材料的链接都会受到赞赏,最好是我想知道最好的解决方案。如果链接/文章的日期已经过时,请证明它在5年或10年后仍然可以使用。
问候。
答案 0 :(得分:3)
使用Transport Layer Security(例如OpenSSL库)。
如果要推广自己的安全性,请使用AES加密数据; Java具有内置支持或AES,否则您可以使用Bouncycastle库。然后使用RSA加密AES密钥,并将加密密钥和AES加密数据从服务器发送到客户端;客户端解密密钥,然后使用密钥解密AES加密的数据。