-1

我正在使用需要用户身份验证的 PHP/MYSQL 开发一些服务器端代码。

当用户创建一个新帐户时,我会执行所有标准的 hash+salt 操作来将 hash 存储在数据库中,但我不知道如何处理他们需要上传的扫描 ID。

我的意思是,如果您创建一个帐户,您的部分个人数据(名字、姓氏、地址……)是物理身份证(驾驶执照……)的扫描副本(图像),我很担心关于我应该如何正确处理这些敏感图像。

如果你们能指出我正确的方向或给我一些提示,我将不胜感激。

感谢您的时间!

编辑:

哇,你们太棒了,速度很快!

ID 的存储是强制性的,我希望我能以某种方式解决问题,但我不能。

我将按照您的建议通过软件提供访问权限,并按照您的建议尝试删除并存储在 CD 或类似的东西中。

我正在考虑用一些加密来加扰二进制数据,但不确定它是否是个好主意。

4

1 回答 1

1

TL; DR 这真的很危险。除非必须,否则不要这样做。

如果我是你,我会从威胁分析开始。在您的系统上保留这些身份证图像有哪些可能的安全隐患?会出什么问题?你在防御什么?

  1. 坏人可能会侵入您的系统并大量窃取它们,然后将它们卖给身份窃贼。

  2. 与 1 相同,但它们也会窃取表格信息并将其与您的图像相关联。

  3. 有人可能会滥用或滥用系统的一项功能来查看一张或几张图像,并滥用他们由此获得的信息。

  4. 有人可能会通过向您提供被盗或伪造的身份证对您进行欺诈。

  5. 如果您正在处理付款,您的系统可能无法通过 PCI 审核,并且您会被毫不客气地拒绝您的付款处理访问权限。

在构建系统以尝试保护这些非常敏感的图像时,您需要弄清楚要防御哪些威胁。您还需要弄清楚谁可以查看此信息,您如何验证这些授权用户,以及您保留此信息的时间。

理想情况下,您根本不会收集这些信息。

如果您确实收集了它,请从第一天开始使用 https://。

如果你必须收集它,你的下一个最佳选择是立即检查它,然后安全地擦除它,这样你就不会为小偷建造一个很棒的蜜罐。

如果您必须保留它,您的下一个最佳选择是立即将其移动到气隙存储介质中,并将其从您的在线系统中删除。例如,您可以每隔几天刻录一张 CD-ROM,并将它们的存档保存在文件柜中。

如果您必须在线保留这些信息,那么您肯定希望编写将其存储到 Web 根目录以外的文件系统的 Web 程序。当有人想看一张图片时,你绝对不想简单地展示一个图片网址,比如

   https://honeypot.com/imgs/idcards/user2573551.png

并从目录中提供文件。相反,您需要一些不将用户 ID 作为显式用户 ID 参数的软件。也就是说,您可能会提供一个类似的 URL

   https://honeypot.com/myId.php

您可能还想阅读称为“nonce”的安全令牌,它可以抑制各种跨站点或保存的 URL 攻击。WordPress 恰好有一个很好的随机数系统,您可以从中学习。

小心点,嗯?

于 2014-02-24T13:46:49.857 回答