惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
博客园 - Franky
腾讯CDC
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
V
V2EX
N
Netflix TechBlog - Medium
量子位
Jina AI
Jina AI
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
爱范儿
爱范儿
博客园 - 叶小钗
D
Docker
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评
设计自己的密码规则,实现强壮的自我保护
投稿 · 2013-11-13 · via 月光博客

现在已经不常上博客来了,因为移动互联网的到来,资讯的获取大多数时候是在微博、微信、Pad 客户端上。无意中看到月光博文的这篇《电信级的RSA加密后的密码的破解方法》,个人的感觉是“匪夷所思”,一个堂堂的巨大公司居然会盗取用户的密码,这世界真是太不可思议了……算了,也不去论证这种事情存在的原因,以及它对如此巨量用户的伤害,作为一个普通的用户个体,在无法寄望于正常的保护后,我们还是来想办法怎么自己保护自己吧。

我们在网站上注册用户一般有两种原因,一种是临时性的,主要是为了下载或查看一些必须登录才有相应权限的资源资讯。在这种注册时,密码可以是很简单甚至固定的,同时用户名有一个特定的标识前缀或后缀,以便很容易区分,所有该类用户都可以用同一个密码。同时,这类用户名绝不发布包含个人重要信息或观点或有意义内容的帖子(以避免你一个很久以前不经意的帖子被判“违法”——央视社会与法频道前几天报道一个新郎,两年前为浏览一个成人页面而发了一些成人图片被判刑,婚礼泡汤。成人图片的意思大家懂的,我就不解释了)。当然,如果你担心有人登录你这样的账户并发表一些不合适的内容(似乎想陷害你),那你除了注意个人的身份信息外,可能还需要简单改进一下密码规则(见下面的技术)。

另一种注册用户的原因就是你真正想在上面呆,这样的地方你肯定会发表有意义的内容和表达个人观点(请遵守网站自身的相关规定),并且一般情况下你的个人真实身份也可能会正常泄漏,所以密码的安全性很重要。那么应该如何构造一个既安全,又容易记忆的密码呢?

密码保护

我是这样做的:

在我的人生中,有一些重要的人、事件、时间、地点……它们都各自可以用一个字符串表示,如日期“2013.11.11”、地点的拼音串“zhonguoshenzhen”、生日“1989.09.01”(是的,用生日没关系……),它们都在我的心中,不会忘记也无需记忆。毫无疑问,这些字符串不能直接拿来做密码,因为网站很可能明文记录它们,这样你心中的这些标识就泄漏得一干二净了(很危险的事)。同时你还需要记住那个用户名对应心中的哪个标识,如果你记性不好,可能把它记在纸上,而这也不安全!

那该如何做呢?

其实无需记住哪个用户名对应哪个密码,也不用明明白白记在纸上。你需要做的是建立一个心中的映射:把心中的那些重要标识用一个易于联想的单词(甚至只是一个字母)对应起来,然后在纸上记录这个联想词及其所属帐号。所用联想词一般组合使用更好,如 A 代表你喜欢的一位 AV 明星的名字,B 代表你第一位暗恋者的生日(Best),记在纸上的“BA”标识就代表那个生日加上另一个名字(~哈哈,莫要鄙视俺啊)。这样,密码被记在了纸上但依然安全。在你未来的一生中,你会注册的网站会很多很多,远远超出你的想象~,so……隐私很重要!

记在纸上的密码安全了,但网站那一端呢?如果登录的网站被第三方不可抗拒的植入了 JS 键盘记录代码,或者网站本身就无法保护你留下的密码呢?我们该如何面对?

答案是:

在浏览器上装一个 Hash 插件(MD5、SHA 等皆可),在插件中输入从联想词翻译过来的密码,Hash 出一个字符串(当然也可以多次执行,如先 MD5,然后再 Base64)作为最终在网站端使用的密码。这样做的安全性如下:

1. 在插件中输入密码,使得浏览器中目标网站的页面即便被注入了 JS 代码,但页面中的 JS 代码没有能力获得插件中的输入;

2. 最终提交给网站的密码串经过了 Hash 计算,这是一个不可逆的类随机字符串,无论谁都无法知晓“你心中的那些永久标识”(PS:那些标识的数量是有限的,所以也是珍贵的);

3. 当然,浏览器和操作系统干净是总前提,否则一切安全性免谈;

总结一下:

1. 临时账户用简单密码甚至固定,账户名具有一定特征,不发表有意义内容。如果担心身份被盗用,密码可以加一个 Hash 保护;

2. 建立一个“心中重要事物的标识”清单,用易于联想的字词对应。联想词作为准密码记录在纸上;

3. 在安全的浏览器上(如 Chrome)安装一个 Hash 类插件;

4. 真正注册时使用的密码是由联想词翻译出来的标识串 + Hash 计算后的类随机字符串;

安全性与适用性:

1. 不论网站页面是否被强制注入 JS 盗取密码(附带说一句,这样的盗取代码很简单),也不论是否网站本身安全性就有问题,这样做都可以保护你。

2. 因为最终用到网站上的密码是使用 Hash 计算而来,不存在破解可能,你心中的那些重要标识不会被知晓,那么它们就可以永远使用。如果需要修改密码,调整一下联想词组合即可;

3. 联想词记录在纸上,无记忆负担。同时无人知道那些联想词对应什么(建议组合使用),那样即便很熟悉你的人也不可能完全清楚它们是什么;

4. 建立一个自己人生中“重要事物的标识清单”并用简单词联想并不难,——它还会逐步丰富,动态扩展。

5. 总的来看,你需要记住的只是一样东西——一些自己很难忘记的东西(构造标识可以简单使用拼音,或者其它,你自己清楚即可);

更精简一点的表述:

1. 心中:重要东西标识串 => 联想词。例如:A => 心中的 AV 明星(yjly);B => 初恋女友的生日(0828);C => 我最喜欢的编程语言界大哥(stm);

2. 纸上:用户名,密码为联想词组合。记录:网站 HttpX;用户名 巴地草;密码 ABC;

3. 网站:用户名,密码为 Hash(联想词翻译)。计算:base64(md5('yjly0828stm'));

4. 最终在网站上使用的密码是:'ZmE2NjkzMDUxZWNlMzRhNzY5MWUxMTBlMDBhNGZhYWU';

5. 这个规则太简单,你可以设计得复杂一些——当然只有你自己知道。

在馄饨的互联网上,保护自己或许并没有想象中的那么难。无需信任任何一方,你可以设计你自己的密码规则!祝所有的网友平安、健康,还有快乐!

来源:尘戈投稿

设计自己的密码规则,实现强壮的自我保护