Encryption 请告知我们是否使用加密

Encryption 请告知我们是否使用加密,encryption,aes,Encryption,Aes,我们的客户想给我们一个数据库。原始数据库有一个电话号码列。他不想给我们一个电话号码。不知何故,我不知道为什么-决定客户将给我们加密的电话号码与128位AES加密密钥 我们会告诉客户出于某种目的,哪些电话号码将被列入短名单,但我们永远不知道实际的电话号码是什么。。我们只需要知道加密的数字 以下是我不明白的事情: 使用128位AES密钥加密是否适合此目的 客户端是否应该保留用于转换数字或数据的AES密钥 应该是客户端而不是 保留密钥以创建数据库 将原始数字映射为 加密数字 是否应使用相同的键转换所有

我们的客户想给我们一个数据库。原始数据库有一个电话号码列。他不想给我们一个电话号码。不知何故,我不知道为什么-决定客户将给我们加密的电话号码与128位AES加密密钥

我们会告诉客户出于某种目的,哪些电话号码将被列入短名单,但我们永远不知道实际的电话号码是什么。。我们只需要知道加密的数字

以下是我不明白的事情:

  • 使用128位AES密钥加密是否适合此目的
  • 客户端是否应该保留用于转换数字或数据的AES密钥 应该是客户端而不是 保留密钥以创建数据库 将原始数字映射为 加密数字
  • 是否应使用相同的键转换所有数字或不同的数字
  • 如果随机生成的密钥被用来加密数字,不是吗 可能是两个电话号码 加密文本可能相同

  • 解决您的问题,以便:

  • 可能是,也可能不是。实际上,你根本没有提到目的是什么:

    • 为什么需要加密
    • 保护它不受谁的伤害
    • 数据的价值(或责任,如果丢失)是什么
    • 假设攻击者的动机如何
    • 什么样的性能损失对于安全增益是可接受的
    • 你们有什么硬件
    • 谁对系统的各个部分有什么物理/逻辑访问权限
    等等,等等。在不了解情况的情况下,无法确定这是否是一种合适的加密方案。(尽管这可能是一个可靠的选择)

  • 这当然要由客户来决定?不过,我要说,后一种情况似乎完全违背了加密的目的
  • 同一个密钥应该用来转换所有的号码,除非你想用不同的密钥来尝试并记住用哪一个来解密哪个电话号码。如果安全系统设计得很好,这将不会提供任何额外的安全性,这将是一个奇怪的头痛问题
  • 根据加密的定义,不。它始终是一个可逆的映射,这意味着不会像散列那样丢失信息。因此,密文的每个实例都有一个唯一的明文,它将(使用给定的密钥)对其进行加密

  • 尽管总的来说这听起来并不需要。在我看来,似乎有人是根据外表而不是技术优势来做决定的——“我们使用浏览器中使用的相同128位加密来加密您的电话号码”听起来不错,但实际上需要吗?

    按顺序解决您的问题:

  • 可能是,也可能不是。实际上,你根本没有提到目的是什么:

    • 为什么需要加密
    • 保护它不受谁的伤害
    • 数据的价值(或责任,如果丢失)是什么
    • 假设攻击者的动机如何
    • 什么样的性能损失对于安全增益是可接受的
    • 你们有什么硬件
    • 谁对系统的各个部分有什么物理/逻辑访问权限
    等等,等等。在不了解情况的情况下,无法确定这是否是一种合适的加密方案。(尽管这可能是一个可靠的选择)

  • 这当然要由客户来决定?不过,我要说,后一种情况似乎完全违背了加密的目的
  • 同一个密钥应该用来转换所有的号码,除非你想用不同的密钥来尝试并记住用哪一个来解密哪个电话号码。如果安全系统设计得很好,这将不会提供任何额外的安全性,这将是一个奇怪的头痛问题
  • 根据加密的定义,不。它始终是一个可逆的映射,这意味着不会像散列那样丢失信息。因此,密文的每个实例都有一个唯一的明文,它将(使用给定的密钥)对其进行加密

  • 尽管总的来说这听起来并不需要。在我看来,似乎有人是根据外表而不是技术价值来做决定的——“我们用浏览器中使用的相同128位加密来加密您的电话号码”听起来不错,但实际上需要吗?

    我认为这是错误的方法。客户端不应该加密电话号码,这仍然会给您留下解密的机会(例如,因为有人泄露了密钥),而应该将其替换为指向带有真实电话号码的表的ID;当然,这个查找表是他留下来的,你永远不会得到它

    原始表格:

    Name   | Phone
    -------+---------
    Erich  | 555-4245
    Max    | 1234-567
    
    你会得到:

    Name   | Phone
    -------+---------
    Erich  | 1
    Max    | 2
    
    只有您的客户有:

    ID | Phone
    ---+---------
    1  | 555-4245
    2  | 1234-567
    

    我认为这是错误的做法。客户端不应该加密电话号码,这仍然会给您留下解密的机会(例如,因为有人泄露了密钥),而应该将其替换为指向带有真实电话号码的表的ID;当然,这个查找表是他留下来的,你永远不会得到它

    原始表格:

    Name   | Phone
    -------+---------
    Erich  | 555-4245
    Max    | 1234-567
    
    你会得到:

    Name   | Phone
    -------+---------
    Erich  | 1
    Max    | 2
    
    只有您的客户有:

    ID | Phone
    ---+---------
    1  | 555-4245
    2  | 1234-567
    

    顺便说一句,没有一个主持人,所以任何一个有相当高代表性的人都可以结束提问。不让问题结束的最好方法不是辩解它是相关的,而是通过写一个好的、相关的问题来证明它是相关的。不管mods有什么“个人”诉求,好的问题会一直存在,坏的问题会被关闭。顺便说一句,没有一个主持人会这样做——任何有相当高代表性的人都可以关闭问题。不让问题结束的最好方法不是辩解它是相关的,而是通过写一个好的、相关的问题来证明它是相关的。好问题留着,坏问题留着