Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Security 如果使用SSL,是否有必要对发布的数据进行散列?_Security_Ssl_Architecture_Consistent Hashing - Fatal编程技术网

Security 如果使用SSL,是否有必要对发布的数据进行散列?

Security 如果使用SSL,是否有必要对发布的数据进行散列?,security,ssl,architecture,consistent-hashing,Security,Ssl,Architecture,Consistent Hashing,在某些敏感应用程序(如支付系统)中,代码设置如下:当用户向服务器发送信息时,例如: {money_amount: 5, receiver_id: 2} 还需要通过散列字符串发送,如: hash_by_client = make_hash_from_string("money" + money_amount + "receiver" + receiver_id) 其目的是:当服务器接收到数据时,它独立地,但使用相同的算法,计算另一个散列字符串(hash\

在某些敏感应用程序(如支付系统)中,代码设置如下:当用户向服务器发送信息时,例如:

{money_amount: 5, receiver_id: 2}
还需要通过散列字符串发送,如:

hash_by_client = make_hash_from_string("money" + money_amount + "receiver" + receiver_id)
其目的是:当服务器接收到数据时,它独立地,但使用相同的算法,计算另一个散列字符串(
hash\u by_sever
),并将
hash\u by_sever
hash\u by_client
进行比较。如果它们相等,则服务器确保发布的数据未被修改,并且可以信任继续


问题:如果我们使用SSL/TSL/https连接,是否仍需要此设置?

不需要。发送的信息已经被加密,因此添加散列并不能改善这一点

正如在评论中提到的,“如果发送者正在尝试黑客攻击”,则哈希可能很好捕捉。这是真的,但请注意,您的hash_by_client()函数(很可能)是在javascript中执行的,潜在的黑客可以轻松访问该函数


所以散列只是提供了一种虚假的安全感。

这似乎是在寻求基于意见的答案,除非你能指出一个特定的标准。重要的是假设发送者试图入侵服务器。SQL注入、缓冲区溢出、来自无效数据的崩溃、更改帐户或其他ID以窃取数据等。。散列让这变得更难,因为它是一种廉价的第一次检查数据是否有意义的方法。它不应该是唯一的检查,因为被黑客攻击的客户端可能会创建坏数据和有效的散列。nonce(一次性令牌)也是过滤重播和拒绝服务攻击的廉价方法。