在分布式环境中如何存储盐

我不知道如何在我的情况下使用“盐概念”。

假设我有一个特定的用户数据进行加密,并将其发送到远程服务器的客户端桌面应用程序。 客户端应用生成与PKCS#5的键,与用户的密码和盐。 远程桌面绝不能在与用户的密码接触。

假设我们生成一个加密的随机盐。 客户端应用可以对数据加密,并将其发送到远程服务器。 如果用户尝试访问另一计算机上的他的数据,它是如何将能够解密它,因为该盐是未知的?

我认为,使用相同的盐所有的时间(在应用程序中硬编码)是不是一个好主意(安全通过模糊处理是坏的)。

我怎样才能解决我的问题?

--------------解决方案-------------

该盐是存储与加密数据一起加密。

盐的目的是为了防止攻击者预先计算加密密码的字典。 (如,攻击者每年花费或任何产生每一种语言的每一个字的加密形式。)

盐的其他目的是要确保两个用户将具有即使其未加密的密码是相同的不同的加密的密码。

无论目的要求盐保持秘密。

[更新,详细说明]

见盐(加密)的维基百科条目。 尤其是,阅读介绍段落。

盐的目的是采取非随机输入(例如,用户提供的数据),并使其将其通过一个密码函数之前随机的。 对于这项工作,必须为每个输入随机生成的盐。

传统的例子是存储加密的密码。 大多数用户选择可靠的非随机的密码,因此没有盐,大家谁选择“SEKRIT”作为密码,将结束与密码DB相同的加密密码。 解决的办法是与加密密码一起加密密码之前添加一个随机盐,然后存储它(明文)。

如果包括与加密数据的盐,然后在另一台计算机上的客户端应用程序可以成功地计算密码哈希。

分类:加密 时间:2015-03-15 人气:0
本文关键词: 加密,盐,PKCS#5
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.614 (s). 10 q(s)