Ben*_*nno 1 javascript encryption
我们有一个有趣的问题.我们的客户想要使用我们基于Web的应用程序(后端/ DB与我们合作).但是,他们希望加密患者信息,因此我们公司的任何人都无法看到它.会有一些javascript解决方案吗?或者某种方式在发送给我们之前使用他们的加密?
你可以(但在安全社区,这是不被视为一个可行的解决办法1,2)发送一个javascript加密库给他们,但它不会解决问题.
注意:我将在此答案中假设您的连接使用SSL/TLS,因为没有它,您无法安全地与客户端通信.
问题是客户需要信任你.他们将从您的服务器下载JavaScript代码.因此,服务器的所有者将始终能够改变javascript的行为方式.这是因为,即使您向客户端发送了一个完全有效且经过良好审核的javascript加密库,客户端也无法对此进行验证.他们唯一的保证是他们从主机获得了一些东西,他们的浏览器选择信任它们,基于SSL/TLS证书.
通常,此时人们开始提出恶意的"中间人"情景.这种担忧是情绪化:您的连接是通过SSL/TLS正确保护的,还是不是.如果可能是中间人工作方案,那么客户端从服务器下载的javascript加密库也是可疑的.换句话说,如果SSL/TLS层以某种方式受到损害,客户端加密也应该被视为受到损害.
如果他们足够信任主机,相信他们不会篡改javascripts并确实在客户端执行所有加密,那么他们可能会相信你不会在服务器端滥用他们的数据.这留下了很多(不需要的)复杂性.较低的复杂性导致更清晰的设置,更容易审核.
免责声明:如果您使用医疗数据,可能需要遵守一些法律(取决于您所在的国家/地区).如果您对这个级别的问题不满意,您应该聘请一些专家,或者接受这个请求比您可以轻松构建的更复杂,并且通知您的客户,如果找到一个有更多经验的公司,他们会更好在处理敏感数据.