具体来说,我的系统的一部分将加密的信息存储在数据库中。我编写了实际使用现有密码进行加密/解密的代码。
我应该如何确保我设计的系统是安全的?
我所知道的唯一选择是聘请一位安全顾问或公司来审核我的安全协议。请提供有关此选项的任何信息以及其他选项。
发布于 2012-07-17 10:21:08
你可以的
请参阅:http://en.wikipedia.org/wiki/Security_测试
审计应该由没有参与创建您的服务和基础结构的人员执行。这可能是你公司的另一个团队或部门,或者是一些外部咨询公司。
在您的设计中使用经过测试的技术和组件,这意味着:不要重新发明车轮(c.f )。http://en.wikipedia.org/wiki/Not_发明_这里)
发布于 2012-07-17 18:47:38
检查您是否正确地使用了加密技术是有点棘手的,并且需要特殊的专业知识。我不会期望一个典型的黑匣子渗透测试是一个非常有效的检查方法,或良好的使用你的钱。相反,您可能需要一个安全审计或安全审查,最好是由熟悉密码学的人进行。
降低风险的最佳方法之一是最小化您正在设计自己的加密方法的范围。用密码学术语来说:不要翻动你自己的密码。例如,您可以使用GPG对数据进行加密(或将数据加密为OpenPGP格式)。
有关进一步建议,请参见关于加密和密码学的经验教训和误解。不要忘记使用身份验证(例如,使用经过验证的加密,或加密-然后-身份验证)。使用良好的密钥管理(例如,生成真正的随机密钥;不要从密码中生成密码密钥)。
发布于 2012-07-17 13:14:27
阅读我的回答中列出的选项:“渗透测试和漏洞评估之间有什么区别?”
答案中列出的所有步骤都可能是相关的,这取决于您需要从这些步骤中获得什么。这是分类,但要想得到完整的解释,请访问另一个问题。
https://security.stackexchange.com/questions/17281
复制相似问题