Ron*_*ald 5 c# database sql-server security asp.net-mvc
我在一个流行的网络托管服务中部署了一个应用程序.因为他们对自己的计算机拥有管理员权限,所以我觉得我迫切需要跨所有层保护我的数据,包括数据库本身.
在数据库上,我正在考虑加密敏感信息,如用户名和电子邮件,可能是他们的电话号码等.存储库层将处理所有编码/解码要求.
我有三个DLL:1)应用程序层(控制器和视图),2)业务层(服务逻辑)和3)数据层(存储库).
通常,来自外部的用户将请求页面,如果他们尚未通过身份验证,则会将其重定向到登录页面,这是典型的表单身份验证内容.这可以保护系统免受外部非特权用户的攻击.
但是,在内部,从技术上讲,这些DLL可以导入到任何.NET应用程序中.在这种情况下,应用程序可以随时访问系统的内部工作.
如果数据托管在其他人拥有管理员访问权限的计算机上,则无法最终保护您的数据并仍然可以访问它.您使用的任何加密都将依赖于秘密,但您必须将密钥存储在盒子上,此时盒子的所有者才能访问它.
唯一可行的方法是,如果您的用户在上传之前在本地加密了数据,那么您的服务器会将相同的加密数据提供给他们.但在那时,您将无法在服务器端对该数据执行任何操作.
您需要查看服务器提供商的政策,了解他们对您存储在服务器上的数据的处理方式,并询问:
然后,您可以权衡风险并决定是否:
另外,考虑是否需要存储所有信息.你为什么需要电话号码?如果是处理付款,您可以将所有这些交给可信赖的第三方,例如Visa或Paypal.然后他们可以安全地处理用户数据的存储,而不必处理风险.
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |