首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >加密前是否有TLS散列密码?

加密前是否有TLS散列密码?
EN

Security用户
提问于 2020-04-21 11:16:41
回答 4查看 497关注 0票数 0

假设我通过提供凭据登录Gmail。我的明文是加密了还是首先被转换成哈希和哈希加密了?

另外,如果我正在与银行web服务器通信,并且正在进行事务处理,那么这些数据包是首先转换为哈希,然后哈希被加密,还是加密了数据包的明文?

EN

回答 4

Security用户

发布于 2020-04-21 11:24:35

如果通过TLS连接到服务器,则所有通信(包括凭据)都将被加密。

一旦服务器接收到它们,服务器将解密您的凭据,然后对它们进行散列,然后将该哈希与存储在服务器上的哈希进行比较。如果匹配,您将收到一些身份验证令牌,以指示您已通过身份验证。如果它不匹配,您将收到一个错误。

票数 2
EN

Security用户

发布于 2020-04-21 13:41:44

在典型的设置中,客户端将始终加密明文密码(通常依赖TLS或类似的内容),然后将其发送到服务器上。在某些情况下,可以使用应用程序级加密,但很少使用密码散列客户端。

现代的实现,在对密码进行散列之前先对密码进行盐化。因此,服务器在散列前需要明文密码才能使用salt。如果客户端对密码进行散列,服务器就无法对其进行存储和比较。

有时,在javascript级别进行加密,因此服务器需要解密行加密(TLS),然后执行单独的应用程序级加密以获得明文密码,然后可以对其进行盐化、散列和比较。

我见过客户端发送哈希,服务器执行哈希(哈希)的场景--但这是不典型的。

所以回答你的问题--这取决于具体的实现。但一般来说,我们总是对明文进行加密,将其发送到服务器,让服务器执行哈希,并将其与数据库进行比较。

票数 1
EN

Security用户

发布于 2020-04-21 14:41:54

在将凭据发送到服务器之前,有一个明确的理由说明不能对客户端进行散列:否则哈希本身就成为密码,泄漏的哈希列表可以直接用于登录。因此,客户机和服务器之间的通信是完全加密的。

TLS不关心内容:对密码所做的任何操作都发生在应用层,而TLS负责对连接进行加密。TLS不仅提供隐私,而且还提供通信各方的身份验证(例如,您不会向其他人发送密码)和完整性,以确保您的请求和服务器响应在传输过程中不会被修改。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/230230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档