C#ASP.NET Core 2中的安全Web聊天



首先,我正在做一个硕士生的项目,该项目是一个Web银行系统,并在该系统上应用加密算法。

第一种算法是一种新的加密算法,由请求我帮助的学生设计,用于加密数据库中的敏感数据(信用卡信息(。

第二种算法(是一种改进的AES算法(是使用网络聊天室对银行客户和银行系统管理员之间的消息进行加密。

当然,第一种算法没有问题,因为我可以应用它来加密用户提交的信用卡信息,并将其保存在数据库中。

但是,问题是,负责监督这个学生项目的教授坚持要保护管理员和客户通过网络发送的消息,即他们正在使用网络聊天室,这些消息必须使用第二种算法(修改的AES(进行保护。

大家都知道,如果我只是用Javascript编写第二个算法来加密浏览器客户端机器上的消息,然后将这些加密的消息发送到服务器,这意味着任何打开这个网页的人都可以使用这个算法,因为我们都知道Javascript是一个开放的客户端源代码。

所以,不再谈论,我只想问:

如何通过使用网络应用程序(例如网络聊天应用程序(应用任何加密算法来确保客户端机器和服务器机器之间的数据传输,而不必将该算法作为任何客户端机器的开源?

ADyson的评论包含了实际解决此问题的最佳解决方案,但听起来教授添加了一些限制,使您无法使用实际解决方案。

不可能在客户端机器上执行加密算法,同时对运行该算法的人和机器保密。他们总是可以检查代码。

据我所知,这是不可能的,因为客户端必须能够加密和解密消息;它在逻辑上要求客户端理解加密算法。

加密机制的强大之处在于,即使知道算法,也很难在没有密钥的情况下将加密消息反转为明文。

如果知道加密算法可以让某人在没有密钥的情况下解密消息,那么该算法就很弱。

最新更新