Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
Encryption 在后端更新pw以外的内容时,自定义密码加密失败_Encryption_Typo3_Backend_Password Encryption_Typo3 7.6.x - Fatal编程技术网

Encryption 在后端更新pw以外的内容时,自定义密码加密失败

Encryption 在后端更新pw以外的内容时,自定义密码加密失败,encryption,typo3,backend,password-encryption,typo3-7.6.x,Encryption,Typo3,Backend,Password Encryption,Typo3 7.6.x,我有以下情况: 现有用户已完全存储和维护在第三方软件中,该软件使用与saltedpasswords不同的密码加密。新的网站将与TYPO3建立,应用于未来的用户管理。由于数据也需要存储在第三方软件中,我们不能简单地在登录时更新它们。它们是必需的,因为有一个用于证书请求的API。所以,只有一些数据被移动到TYPO3 无论如何,还没有什么特别的。我添加了一个新的salt方法,它基本上在以下场景中工作: 通过BE创建新用户 通过FE创建新用户(EXT:femanager) 通过BE更新现有用户的PW

我有以下情况:

现有用户已完全存储和维护在第三方软件中,该软件使用与saltedpasswords不同的密码加密。新的网站将与TYPO3建立,应用于未来的用户管理。由于数据也需要存储在第三方软件中,我们不能简单地在登录时更新它们。它们是必需的,因为有一个用于证书请求的API。所以,只有一些数据被移动到TYPO3

无论如何,还没有什么特别的。我添加了一个新的salt方法,它基本上在以下场景中工作:

  • 通过BE创建新用户
  • 通过FE创建新用户(EXT:femanager)
  • 通过BE更新现有用户的PW
  • 通过FE(EXT:femanager)更新现有用户数据
在以下场景中,它不起作用:

  • 当通过BE=>更新除密码以外的任何数据时,密码将被更新,并以“M”开头
是否需要特定的配置或挂钩

我很感激任何暗示。提前谢谢

致以最良好的祝愿


AMartinNo1

临时解决方案:

包含用户的第三方软件由防火墙自行托管和保护。因此,作为第一步,我们将使用相同的机制—md5哈希

EXT:saltedpasswords检查
TYPO3\CMS\saltedpasswords\Evaluation\Evaluator::evaluateFieldValue($value,$is_in,&$set
是否是一个简单的散列,再次使用相应的
SaltFactory
进行散列,并加上前缀
M

在我们切换到改进的密码加密机制(也需要在第三方软件中进行调整)之前,我只需在sysext核心方法中注释“双重散列”,以便我们继续开发其他函数


当然,我们会更改第三方软件(更换或更新)在上线之前,我们可以使用正确的密码加密。

这是不安全的,因为开发问题,您将用户置于风险中!仅使用哈希函数是不够的,仅添加一个salt对提高安全性几乎没有作用。相反,使用随机salt在HMAC上迭代大约100毫秒,然后用散列保存salt。使用诸如
PBKDF2
Rfc2898DeriveBytes
password\u散列
Bcrypt
或类似的函数。重点是让攻击者花费大量时间通过蛮力查找密码。正如我所说的,这只是在开发期间。在上线之前会被更改。因此,你是在浪费时间在一个临时的安全解决方案上花费时间,以后会被替换,这似乎是一种浪费。有趣的是,安全性是如何最后出现的,我们有这么多的安全故障。相关性?早期获得安全性似乎不是一个项目影响,除非……所以问题是效益,获得一个产品和一代人的资金是b对公司来说,安全性对用户来说是一个好处。进退两难的问题是:关注哪一个等等,我们已经找到了答案。首先,开发一个定制的salt更容易,它本身在几分钟内就完成了。是的,最后花了更多的时间,但这是因为TYPO3执行了我们以前不知道的md5检查。而且,我从未说过这将被发布。我们迁移用户数据,我们可以用真实数据测试UI等是否正常工作,同时我们还进行密码加密。一般来说,密码和加密不应该一起使用,请注意,哈希不是加密。PHP有安全且易于使用的密码哈希:
password\u哈希
密码\u验证
,使用它们比散列解决方案更容易,这是有争议的。如果你“为下一代创造一个更好的世界”,请将安全性放在首位。