首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >身份验证阶段的盐暴露

身份验证阶段的盐暴露
EN

Stack Overflow用户
提问于 2010-02-25 04:19:39
回答 3查看 244关注 0票数 0

我已经实现了下面所示的多级身份验证。

括号(和)表示散列。

客户端具有用于身份验证的密钥机密。服务器有一个数据库表,其中包含一个salt和一个机密+ salt

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
       Client                                    Server
         |                                          |
         ----------------- key -------------------->| 
         |                                          | 
         |                                          |
         |<--------- server-nonce -------------------
         |<------------ salt ------------------------
         |                                          |
         |                                          |
         ------------ key ------------------------->|
         ------------ client-nonce ---------------->|
         --[c-nonce + s-nonce + [secret + salt]] -->|
         |                                          |

然后,服务器根据自己的信息检查接收到的散列。

我担心的是,这使得攻击者能够从服务器获取盐,然后生成一个彩虹表来攻击该帐户。你对此有何看法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-25 04:27:47

你是对的。如果攻击者知道系统是这样工作的,就有机会捕获数据并破解。它不安全。

当有许多其他系统(SSL、公钥身份验证等)没有这些缺陷时,我不明白为什么要走这个路线。

票数 0
EN

Stack Overflow用户

发布于 2010-02-25 04:27:22

你为什么需要盐才能回到客户身边?纯粹是为了保护用户的秘密?C-农和s-农无论如何都是传输的,所以只有秘密+盐组合才是隐藏的。

我的感觉是,如果它是一次盐,它不应该重要-你只接受一个单一的反应与该盐,如果它不能产生一个新的盐,并再次经历这个过程。这样,如果盐被截获,彩虹表攻击是不可能的,因为它只对第一个请求有效,所以他们需要一个非常幸运的猜测。

您还可以通过使用渐进式超时或有限登录数等技术来避免这种攻击,这些技术对用户影响很小,但肯定会给任何试图运行数百次登录尝试的自动化工具带来问题。如果安全性对您很重要,那么这可能是值得实现的。

票数 0
EN

Stack Overflow用户

发布于 2010-02-25 04:31:19

如果连接不安全,并且攻击者设法将手放在salt和密码上,即使没有彩虹表,他也可以恶意侵入该帐户。

仅使用salt \密码是无用的。

水藻应该更像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
client-----pass------>server
client<----noonce----server
                     server--------getSalt---->back-end-service
                     server<-------salt------- back-end-service
                     server-------[pass+salt]->storage
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2333869

复制
相关文章
加密盐
涉及身份验证的系统都需要存储用户的认证信息,常用的用户认证方式主要为用户名和密码的方式,为了安全起见,用户输入的密码需要保存为密文形式,可采用已公开的不可逆的hash加密算法,比如SHA256, SHA512, SHA3等,对于同一密码,同一加密算法会产生相同的hash值,这样,当用户进行身份验证时,也可对用户输入的明文密码应用相同的hash加密算法,得出一个hash值,然后使用该hash值和之前存储好的密文值进行对照,如果两个值相同,则密码认证成功,否则密码认证失败。
黄啊码
2020/05/29
1.8K0
盐如何抵御彩虹表
https://www.itranslater.com/qa/details/2116746518890808320
doper
2022/09/26
6430
干货 | 提前在开发阶段暴露代码问题,携程Alchemy代码质量平台
Lyan,携程资深后端开发工程师,负责自动化测试框架及平台类工具开发,关注Devops、研发效能领域。
携程技术
2022/12/14
1.8K1
干货 | 提前在开发阶段暴露代码问题,携程Alchemy代码质量平台
以色列总统,为ChatGPT“带盐”
近期,生成式AI又点燃了人工智能的火炬,科技圈也刮起了一股名叫“ChatGPT”的风。
数据猿
2023/03/03
8030
以色列总统,为ChatGPT“带盐”
Dubbo的服务暴露过程
我今天来就带大家看看 Dubbo 服务暴露过程,这个过程在 Dubbo 中其实是很核心的过程之一,关乎到你的 Provider 如何能被 Consumer 得知并调用。
用户1263954
2022/04/07
2560
Dubbo的服务暴露过程
多线程之儿子买盐问题
  题目: 模拟妈妈做饭,做饭时发现没有盐了,让儿子去买盐 。只有盐买回来之后,妈妈才能继续做饭的过程。
全栈程序员站长
2022/07/05
1940
什么是:语法糖、语法盐、语法糖精
概述 名词 别称 英文名 解释 语法糖 糖衣语法 Syntactic sugar 指计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用。 语法盐 syntactic salt 指的是让写出坏代码更难的语法特性。这些特性强迫程序员做出一些基本不用于描述程序行为,而是用来证明他们知道自己在做什么的额外举动。 语法糖精 语法糖浆 syntactic saccharine 指的是未能让编程更加方便的附加语法。 ---- ---- Ref: 维基百科 ---- ----
JNingWei
2018/09/27
2.9K0
为什么要在MD5加密的密码中加“盐”
盐(Salt)在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。
bear_fish
2018/09/19
6.8K0
Docker API暴露下的危机
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
洛米唯熊
2019/10/09
6690
Docker API暴露下的危机
Dubbo服务暴露的过程详解
在当前互联网开发领域中,微服务架构已经成为一种非常流行的架构风格。Dubbo作为一款高性能的分布式服务框架,在微服务架构中扮演着重要的角色。本文将深入探讨Dubbo服务暴露的过程,并给出相应的代码示例。
疯狂的KK
2023/08/10
3760
Dubbo服务暴露的过程详解
## Kubernetes集群中流量暴露的几种方案 Kubernetes集群中流量暴露的几种方案
在业务使用Kubernetes进行编排管理时,针对业务的南北流量的接入,在Kuberentes中通常有几种方案,本文就接入的方案进行简单介绍。
KaliArch
2022/06/24
1.1K0
基于 Token 的身份验证方法
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:
闻语博客
2021/01/21
1.1K0
mongoDB身份验证
为了更安全的访问mongodb,需要访问者提供用户名和密码,于是需要在mongodb中创建用户
周小董
2019/03/25
1.7K0
mongoDB身份验证
Dubbo服务暴露过程
dubbo暴露服务有两种情况,一种是设置了延迟暴露(比如delay=”5000”),另外一种是没有设置延迟暴露或者延迟设置为-1(delay=”-1”):
用户5325874
2020/01/16
1.2K0
两个密码验证插件的故事……
很久以前(在遥远的星系中……提示音乐!),MySQL增加了对身份验证插件的支持,这个插件现在称为mysql_native_password。mysql_native_password插件使用SHA1哈希
MySQLSE
2020/09/28
1.1K0
两个密码验证插件的故事……
TKE上服务暴露的几种方式
预备知识 1. K8S 上 Service 类型 平台相关基础知识 2. TKE 上四层网络流量暴露方式 3. TKE 上七层网络流量暴露方式 4. TKE 上的 VPC-CNI 5. TKE 上 CLB 直通 Pod 6. TKE 使用已有负载均衡器 7. TKE 使用内网负载均衡器 8. TKE 部署 Nginx Ingress 实际业务场景中最佳实践 1. 对集群内暴露流量 1.1 四层协议 1.2 七层协议 2. 对集群外暴露流量 2.1 七层协议 2.2 四层协议 2.3 端口段规则 2.4 使用Istio
sherlock99
2020/09/07
1.9K0
TKE上服务暴露的几种方式
堂妹问我:Dubbo的服务暴露过程
这周去苏州见大佬,没想到遇到一堆女粉丝,其中居然还有澡堂子堂妹,堂妹一遇到我就说敖丙哥哥我超级喜欢你写的dubbo系列,你能跟我好好讲一下他的服务暴露过程么?
敖丙
2020/09/01
4990
使用 frp 安全的暴露内网服务
frp frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,并且为 http 和 https 应用协议提供了额外的能力。
beginor
2020/08/07
3.3K0
hypervisor暴露和隐藏
如果在公有云上买了一台虚拟机,如何知道虚拟机运行在什么hypervisor上呢?如果买的是一台裸机如何确认公有云不是拿一台虚拟机滥竽充数裸机呢?一般公有云厂商为了安全不暴露底层,留给用户有限的api做一些非常简单的操作,为了一些功能还给镜像里预装了很多组件,完全不对称,用户在公有云厂商面前裸奔,公有云厂商在用户面前带着层层的面具。
惠伟
2021/02/24
8100
Dubbo之服务暴露
Dubbo 通过使用 dubbo:service配置或 @service在解析完配置后进行服务暴露,供服务消费者消费。
ytao
2020/06/04
7080
Dubbo之服务暴露

相似问题

将盐指标暴露给Grafana

12

我可以暴露哈希盐+密码吗?

20

公开暴露盐是可以接受的吗?

23

如何让NoClassDefFoundError在编译阶段暴露

13

口令、盐和身份验证

50
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文