安全凭证映射

时间:2018-06-22 08:53:55

标签: security authentication cryptography

给出三个“源”纯文本用户-密码元组:

  • (anna, hunter2)
  • (bob, qwerty)
  • (charlie, hunter2)

和两个带有长(例如1KB)口令的“目标”用户口令元组:

  • (service1, 0fcd...ef21)
  • (service2, d38f...377a)

是否存在将anna和bob的凭据元组映射到service1的凭据并将charlie映射到service2的标准或众所周知的加密方法?

限制:

  • 任何源凭据或目标凭据都不以明文存储。
  • 任何源证书持有者都不能根据自己的凭据推断出目标的纯文本。

到目前为止我的想法:

  1. 缓冲区:= 10KB的随机采样数据。
  2. 在缓冲区中选择一个随机位置,以适合目标凭证明文。
  3. 在缓冲区中的随机位置之前和之后插入一个“魔术字节序列”,在它们之间写入目标凭证明文。
  4. mask [0]:= sha512(用户名+用户密码+盐)
  5. mask [n]:= sha512(mask [n-1] +盐)n = 1直到n <160(= 10KB)
  6. 映射:= xor(缓冲区,掩码)
  7. 商店映射

用户登录时:

  1. 像以前一样构建面具
  2. 缓冲区:= xor(映射,掩码)
  3. 在缓冲区中查找魔术字节序列。

滚动自己的加密技术似乎不是一个好主意,但我无法找到满足此特定要求的任何有用的材料。

0 个答案:

没有答案