Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 加密MySQL表中数据的好方法?_Php_Mysql_Algorithm_Security - Fatal编程技术网

Php 加密MySQL表中数据的好方法?

Php 加密MySQL表中数据的好方法?,php,mysql,algorithm,security,Php,Mysql,Algorithm,Security,我正在用PHP开发车队管理系统。我的位置跟踪是基于GPS SMS的:我收到一条包含坐标Lat,Lng的SMS 我想要的是加密这些坐标。当涉及到数据库时,它应该被加密,当我的web应用程序需要它时,它应该将解密转换为其原始形式。我想保护坐标不被非法访问 现在,我应该如何以及在哪里对这些数据进行加密和解密?我需要你的意见-我搜索了很多,但没有成功。为了完全安全,应该在通过短信发送之前对它们进行加密。这样,就没有人可以尝试获取短信并读取其中的数据线。其次,您可以检查加密是否正确,以确保通过SMS获取的

我正在用PHP开发车队管理系统。我的位置跟踪是基于GPS SMS的:我收到一条包含坐标Lat,Lng的SMS

我想要的是加密这些坐标。当涉及到数据库时,它应该被加密,当我的web应用程序需要它时,它应该将解密转换为其原始形式。我想保护坐标不被非法访问


现在,我应该如何以及在哪里对这些数据进行加密和解密?我需要你的意见-我搜索了很多,但没有成功。

为了完全安全,应该在通过短信发送之前对它们进行加密。这样,就没有人可以尝试获取短信并读取其中的数据线。其次,您可以检查加密是否正确,以确保通过SMS获取的数据有效。所有这些都可以通过加密密钥来完成。但这些都需要知道的发件人和辞职

当数据存储在数据库中时,也可以进行加密。但是,一路到数据库是不安全的,可以用于攻击


我最大的顾虑是,要么有人抓到了不被允许阅读的短信,要么有人发送了一条带有虚假数据或注射的损坏短信

为了完全安全,在通过SMS发送之前,应该对其进行加密。这样,就没有人可以尝试获取短信并读取其中的数据线。其次,您可以检查加密是否正确,以确保通过SMS获取的数据有效。所有这些都可以通过加密密钥来完成。但这些都需要知道的发件人和辞职

当数据存储在数据库中时,也可以进行加密。但是,一路到数据库是不安全的,可以用于攻击


我最大的顾虑是,要么有人抓到了不被允许阅读的短信,要么有人发送了一条带有虚假数据或注射的损坏短信

您可以在DB中输入坐标之前使用mcrypt_加密函数,在DB中检索坐标之后使用mcrypt_解密函数对其进行解密。

您可以在DB中输入坐标之前使用mcrypt_加密函数,在DB中检索坐标之后使用mcrypt_解密函数对其进行解密。

加密这些坐标可能没有意义-任何人谁有权访问您的数据库(例如,假设您考虑使用对称加密,则数据库管理员可能也有权访问web服务器上的解密密钥)。因此,你应该弄清楚你试图防范什么样的威胁,然后看看你的方法是否能做到这一点

如果你担心黑客,同样的规则也适用于流氓员工:能够窃取数据库副本的黑客很可能能够从web服务器上窃取文件

如果您的位置数据不需要经常解密,或者如果有人必须输入密码才能查看,那么这可能更容易实现。您可以使用公钥加密坐标,然后仅使用受密码保护的私钥解密坐标。获得公钥的攻击者将无法使用该公钥进行解密

同样值得考虑的是,这些数据是否如此有价值和私有,是否值得加密:您可以将用于此项目的资金投资于代码的第三方安全审计

最后,如果这个数据被认为是私有的,出于数据保护的原因,考虑模糊数据,即引入小级别的随机错误,而不是加密。这只是一个选项,如果你不需要精确的车辆坐标。这是一种数据保护技术,在健康试验中使用匿名数据,精确位置数据会产生隐私风险。当然,准确的位置数据对于被盗情况下的车辆跟踪非常有用,因此您需要确定您的优先事项


进一步阅读:您可能会对一本名为的书感兴趣,该书在构建受数据保护的数据库系统时考虑了加密、哈希和模糊处理。这是一篇非常发人深省的文章。

对这些坐标进行加密可能没有意义-任何可以访问您的数据库的人(例如,如果您考虑使用对称加密,数据库管理员可能也可以访问web服务器上的解密密钥)。因此,你应该弄清楚你试图防范什么样的威胁,然后看看你的方法是否能做到这一点

如果你担心黑客,同样的规则也适用于流氓员工:能够窃取数据库副本的黑客很可能能够从web服务器上窃取文件

如果您的位置数据不需要经常解密,或者如果有人必须输入密码才能查看,那么这可能更容易实现。您可以使用公钥加密坐标,然后仅使用受密码保护的私钥解密坐标。获得公钥的攻击者将 无法使用它进行解密

同样值得考虑的是,这些数据是否如此有价值和私有,是否值得加密:您可以将用于此项目的资金投资于代码的第三方安全审计

最后,如果这个数据被认为是私有的,出于数据保护的原因,考虑模糊数据,即引入小级别的随机错误,而不是加密。这只是一个选项,如果你不需要精确的车辆坐标。这是一种数据保护技术,在健康试验中使用匿名数据,精确位置数据会产生隐私风险。当然,准确的位置数据对于被盗情况下的车辆跟踪非常有用,因此您需要确定您的优先事项


进一步阅读:您可能会对一本名为的书感兴趣,该书在构建受数据保护的数据库系统时考虑了加密、哈希和模糊处理。这是一篇非常发人深省的文章。

我的建议是获得一个HSM硬件安全模块,类似于并将其安装在一台服务器上。围绕它构建一个API来加密和解密数据


那么,就没有钥匙可以偷了。为了让攻击者解密数据,他们需要窃取该HSM。如果没有无法复制的物理芯片,数据将毫无用处。

我的建议是获得一个HSM硬件安全模块,类似于并将其安装在一台服务器上。围绕它构建一个API来加密和解密数据


那么,就没有钥匙可以偷了。为了让攻击者解密数据,他们需要窃取该HSM。如果没有无法复制的物理芯片,数据将毫无用处。

加密就是为了防止某一方访问它本不应该访问的数据。你担心的攻击场景是什么,你正试图向谁隐藏数据?黑客可以窃取我的客户坐标并将其粘贴到谷歌地图中,并可以轻松获取位置。黑客可以窃取你的坐标,他们可能还可以侵入你的web服务器并获取必要的代码来解密数据。事实上,这可能是他们首先获取数据的方式。他们只需从数据库中获取坐标,就能找到位置。这是一个很大的隐私风险。我想对坐标进行加密。加密的目的是防止某一方访问它不应该访问的数据。你担心的攻击场景是什么,你正试图向谁隐藏数据?黑客可以窃取我的客户坐标并将其粘贴到谷歌地图中,并可以轻松获取位置。黑客可以窃取你的坐标,他们可能还可以侵入你的web服务器并获取必要的代码来解密数据。事实上,这可能是他们首先获取数据的方式。他们只需从数据库中获取坐标,就能找到位置。这是一个很大的隐私风险。我想加密坐标。谢谢,这是一个很好的答案@halfer我的数据是坐标,我现在想加密它有隐私风险,黑客可以窃取我客户的最新坐标,然后找到确切位置。我想要一个解决方案,坐标应该加密,当我的应用程序需要坐标时,它应该以其原始形式出现在应用程序中,而不需要任何类型的密码。如果可能的话,这是一种易于使用的应用程序,否则如果不可能的话,你的想法会更好。好的,是的,如果坐标每X分钟传输一次,你想对位置数据应用隐私原则,我会说这是一个好主意。在英国,车队司机可能不得不同意放弃这种隐私权,这让我感到不舒服,尽管有些人会说我们已经通过手机隐私泄露放弃了这种公民权利。模糊化数据可以吗?如果是这样的话,就在汽车端这样做,否则短信通道会成为另一个泄漏点。这当然取决于你是否想在发生盗窃事件时使用坐标流作为跟踪设备。如果是这样的话,理想的做法是使用公钥在车辆上加密,这样只有服务器端的授权人员才能获得准确的坐标数据。谢谢老兄,你让我的日子过得很愉快@halfer Hanks,这是一个很好的答案@halfer我的数据是坐标,我现在想加密它有隐私风险,黑客可以窃取我客户的最新坐标,然后找到确切的位置。我想要一个解决方案,坐标应该加密,当我的应用程序需要坐标时,它应该以其原始形式出现在应用程序中,而不需要任何类型的密码。如果可能的话,这是一种易于使用的应用程序,否则如果不可能的话,你的想法会更好。好的,是的,如果坐标每X分钟传输一次,你想对位置数据应用隐私原则,我会
那是个好主意。在英国,车队司机可能不得不同意放弃这种隐私权,这让我感到不舒服,尽管有些人会说我们已经通过手机隐私泄露放弃了这种公民权利。模糊化数据可以吗?如果是这样的话,就在汽车端这样做,否则短信通道会成为另一个泄漏点。这当然取决于你是否想在发生盗窃事件时使用坐标流作为跟踪设备。如果是这样的话,理想的做法是使用公钥在车辆上加密,这样只有服务器端的授权人员才能获得准确的坐标数据。多谢老兄,你让my day@HalfErp恢复了这一点。缺点是,如果黑客要访问web服务器,他们可以下载数据库,然后在现场使用服务器脚本按需解码项目,直到它们被检测到并被踢出?@halfer,前提是它们能够将代码上传到网络上。如果他们能做到这一点,他们所造成的伤害将远远超过解密这组特定信息。所以我认为,如果他们走得那么远,所有的东西都会丢失。大概这一点的弱点是,如果黑客要访问web服务器,他们可以下载数据库,然后在需要时使用服务器脚本对项目进行解码,直到它们被检测到并被踢出?@halfer,前提是他们能够将代码上传到网络上。如果他们能做到这一点,他们所造成的伤害将远远超过解密这组特定信息。所以我认为,如果他们走得那么远,一切都会失去。我不相信大多数开发人员能够安全地实现这一点。我不相信大多数开发人员能够安全地实现这一点。