【发布时间】:2018-12-19 14:27:48
【问题描述】:
首先,我正在做一个硕士生的项目,该项目是一个网上银行系统,并在这个系统上应用加密算法。
第一个算法是请求我帮助的学生设计的一种新的加密算法,是对数据库中的敏感数据(信用卡信息)进行加密。
第二种算法(修改后的 AES 算法)是使用网络聊天室对银行客户和银行系统管理员之间的消息进行加密。
当然,第一个算法没有问题,因为我可以应用它来加密用户提交的信用卡信息并保存在数据库中。
但是,问题在于,监督这个学生项目的教授坚持要保护管理员和客户通过网络发送的消息,即他们正在使用网络聊天室,并且必须使用第二种算法来保护这些消息( AES)。
众所周知,如果我只是在 Javascript 中编写第二个算法来加密浏览器客户端计算机上的消息,然后将这些加密消息发送到服务器,这意味着任何打开此网页的人都可以使用此算法,因为我们都知道Javascript是开源的客户端源码。
所以,不多说了,我只想问:
如何通过使用网络应用程序(例如网络聊天应用程序)应用任何加密算法来保护客户端机器和服务器机器之间的数据传输,而不是将该算法开源给任何客户端机器?
【问题讨论】:
-
使用 HTTPS 保护浏览器和服务器之间的整个连接。就像世界上所有其他安全网站一样。正如您所说的那样,尝试加密单个数据项或在 JavaScript 中编写任何类型的加密代码是没有意义的。
-
我同意 ADyson 的观点,但教授坚持使用该算法来保护连接,并对该算法保密。
-
我怀疑它是为了覆盖浏览器和服务器之间的连接。当然,除非你的教授不懂网络技术。或许你应该向他们澄清这一点。
-
我向他说明了整个情况,但他坚持要找到解决办法。我告诉他我们是否会为此设计一个 Windows 窗体应用程序,但他拒绝了。他仍然坚持给他带来一个解决方案,以我们自己的方式在网络聊天技术中加密消息
-
我完全同意你的观点,相信我,我已经知道了这一切。问这个问题的唯一方法就是确保我的想法是正确的。我将向我的教授解释整个讨论,并尽我所能澄清这几乎是不可能实现的。谢谢大家
标签: asp.net algorithm encryption web chat