2

初始密码通过短消息发送,会有什么安全问题么

 1 year ago
source link: https://www.v2ex.com/t/900445
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  问与答

初始密码通过短消息发送,会有什么安全问题么

  rocksolid · 9 小时 36 分钟前 · 1163 次点击
想问下各位大佬,初始密码通过短消息发送,会有什么安全问题么,现在还有哪家银行会用短信发初始密码么?
18 条回复    2022-12-06 17:11:29 +08:00
dunn

dunn      9 小时 30 分钟前 via iPhone

看你的安全等级了。发送到没关系
但是大部分用户可能不会更改密码或删除短信。而且还容易忘记密码
dddd1919

dddd1919      7 小时 52 分钟前

可能会被有短信权限的 app 读到,如果为了用户能快速登录,用户首次登录最好引导用户设置一个新密码
hicdn

hicdn      7 小时 38 分钟前 via Android

不用密码,用短信验证码登录安全性都比用短信发初始密码强。

万一短信服务商的某个员工看了发送日志,用户又没修改密码,手贱就登录进去了。
zooo

zooo      7 小时 29 分钟前

发送初始密码后,首次登陆强制修改密码就好了(一个思路)
IvanLi127

IvanLi127      7 小时 16 分钟前

只要收密码的人安全意识高就行,他会立即上线修改密码。

如果他安全意识不高,那系统就得想逼他提高意识。
rocksolid

rocksolid      7 小时 7 分钟前

@dddd1919 首次肯定是要修改密码的,除了有些 app 会去读取,其他还会有什么安全隐患呢
rocksolid

rocksolid      7 小时 2 分钟前

@IvanLi127 一般都是默认用户没有安全意识
IvanLi127

IvanLi127      6 小时 34 分钟前

@rocksolid 是的,所以初始密码一般是一次性的。为了避免发送初始密码开始,到用户上线修改密码这段时间被他人登录,所以得让用户手动请求,再发送这个一次性临时密码。为了识别用户,较少他人误获取这个一次性临时密码,所以申请获取时要求填写完整或部分手机号用来验证当前用户是否是系统的注册用户。最后就成了发短信验证码改密了。。。 所以初始密码用短信发送安全问题还挺多。
lisxour

lisxour      6 小时 30 分钟前

一般发送的是一次性临时密码,只能登陆一次,且登陆后必须更改密码
815979670

815979670      6 小时 21 分钟前

不如发短信告诉用户初始化成功,首次登陆使用短信验证码 且在登录之后修改密码
rocksolid

rocksolid      6 小时 16 分钟前

@815979670 验证码必然有的,密码加验证码,关键是初始密码通过短信是不是会有安全问题
leoleoleo

leoleoleo      6 小时 4 分钟前

这个场景下,前提是用户本身并不会有足够的安全意识,接下来需要关注的几个问题。一是密码泄露的可能性(比较大概率的几个途径,比如你发送短信的业务本身的日志、短信渠道商的系统和用户手机终端本身) 二是密码泄露后产生影响的持续性(这个密码是永久的,还是有时效的,还是一次性的。) 三是如果真的出现泄露,影响的范围和利用的成本。(可以影响多广的范围以及自动化利用的难度是否比较大)四是这个方式的用户体验。

作为安全工程师的个人建议:发送有时间有效性限制的密码设置链接(有条件的,不同短信渠道,后台做一个标记),且链接使用后立即失效。这样子的益处是:不直接发送密码,泄露后无法直接登录利用,提高自动化利用的成本,而且解决了强制用户修改密码的问题(密码复杂度是另外一个问题)。通过有效时间的控制和使用后立即失效,可以保证在出现泄漏的情况下,除非有极强的自动化利用手段,不然对方很难大范围的利用这个泄漏来搞破坏。如果做了不同短信渠道的标记,也能作为短信渠道信息泄漏的排查线索。

直接给用户发密码的应用或者业务,除非不得已,不然就不用。
815979670

815979670      5 小时 52 分钟前

@rocksolid 我的意思是:第一次发短信,只告诉 "用户初始化成功,可以在登录时通过短信验证码登录" 这些信息,然后用户首次登陆时,临时获取验证码,且设置有效期,登录成功后修改密码。
rocksolid

rocksolid      5 小时 34 分钟前

@leoleoleo 非常感谢 很有启发,我也是觉得明文密码 太多隐患了
rocksolid

rocksolid      5 小时 33 分钟前

@815979670 我明白 我其实不是需要安全的方法,而是觉得短信这种做法不安全,想拒绝掉
dddd1919

dddd1919      4 小时 52 分钟前

@rocksolid 不光是安装的 app ,手机系统也会索引短信内容,相当于对手机来说只是个普通的文本信息,而且可能会被上传上去做分析,带来的间接隐患就算不过来了
xJogger

xJogger      4 小时 44 分钟前

不如激进一点,用户可以没有密码,每次登录都需要验证码,如果用户觉得每次验证码都烦的话,可以自己设置密码来替代验证码登录。
缺点是验证码费用会增加,但现在好多 app 不都这么干。
rocksolid

rocksolid      3 小时 49 分钟前

@xJogger 这种不够的,一般都要求多因子验证的

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK