C#保护软件

C#保护软件,c#,protection,des,C#,Protection,Des,我通过以下方式保护我的软件: 比较硬盘和CPU序列与存储的序列(我将它们加密存储) 在程序中(用户设置) 数据库中存储的所有数据均由DES加密。DES key和IV I存储在 windows注册表 我知道这种方式的保护很弱,在注册表中存储密钥和IV不是一个好主意。请给我一些建议,以改善这种保护 不要使用DES,它不安全,几十年前已被AES取代 不要使用ECB模式,这是不安全的,请参阅,向下滚动到企鹅模式。使用带IV的CBC模式,见下文3 IV应该是为每次加密生成的随机字符串,在加密数据前加上前缀

我通过以下方式保护我的软件:

  • 比较硬盘和CPU序列与存储的序列(我将它们加密存储) 在程序中(用户设置)
  • 数据库中存储的所有数据均由DES加密。DES key和IV I存储在 windows注册表
  • 我知道这种方式的保护很弱,在注册表中存储密钥和IV不是一个好主意。请给我一些建议,以改善这种保护

  • 不要使用DES,它不安全,几十年前已被AES取代

  • 不要使用ECB模式,这是不安全的,请参阅,向下滚动到企鹅模式。使用带IV的CBC模式,见下文3

  • IV应该是为每次加密生成的随机字符串,在加密数据前加上前缀,以便在解密过程中使用,不需要保密


  • 把它放在柜子里。
    我这样保护我的软件:
    在你开始盲目地对应用程序的各个方面应用加密之前,你需要先创建一个威胁模型,然后再从那里开始。您正在应用程序中发送其他用户的序列列表?您需要创建某种密钥并将其发送回。您还需要定义注册过程。有在线服务器吗?你会手动操作吗?您可能还想订阅一个服务来为您完成这项工作。