WEB安全实践 之 实现手法(一)设计上的安全 第一节:认证

*适合有一定网络(WEB)安全知识的同行阅读

实现手法(一)

1. 认证

1.1 限制访问
1.1.1 目的
针对特定的用户才能访问的资源,以及管理员角色才能进行的操作等,需要对权限有差别化地控制。

1.1.2 步骤
(1)明确基本方针(policy)
哪些资源[*1],哪些人[*2],可以进行怎样的操作。
*1 图片、文字、文件等;*2 匿名用户、注册用户、VIP用户、管理员等

(2)授权认证
基于既定的方针,会有不特定多数的人访问的站点(比如网购),是哪些人他们在页面上做了哪些操作,运营方可能需要掌握。
这时就需要实现认证的功能,比如常见的会员登录,登录后点击购买按钮等,而一旦被他人冒用,就会造成金钱等利益上的损失。
毕竟,网络上,大家都看不见对方,风险很高,只能通过站点(尤其是数据库和日志)收集到的各种信息来识别个人。

(3)方针的执行
确认了本次的访问者谁,并且判定了本次其想要进行操作的有效性[*1]之后,才允许其进行本次的操作。
*1就算确认了访问者是注册用户,但其想访问VIP用户的资源或进行相关操作,也是不被允许的

1.2 认证的种类:认证,是指核实访问者身份 时的处理
1.2.1 知识性(也包括防止注册机器人)
目前普遍使用的密码认证。
这种只有本人才知道的信息[*1],虽然很单纯,但对于确认访问者本人是非常有效的方式。
而且,在被攻击(篡改密码等)之后,可以通过找回密码或寻问秘密问题等功能[*2] ,比较容易地帮助用户恢复其认证信息。
*1需要加密,即便是技术人员也不能轻易地解密,最大程度保护用户隐私;
*2在设计及开发时,就需要做到未雨绸缪,引入这些机制

1.2.2 所有物
电子信息。
经过权威以及信用机构发行的电子类授权物。可以是在浏览器上事先安装的插件等(虚拟式),也可以是USB插入电脑等(物理式)。
而且,就算是丢失了,也可以申请重新发行,同时让原有物失效。

1.3 密码认证的设计: 密码强度
字典式攻击是最普遍的一种攻击方式。
密码的位数过少,包含自己的姓名(字母)、生日、电话号码等相对容易被猜出来的拼音数字,成功破解的可能性比较大。
当用户在注册或更改自己的信息时,提示其不合规范,强制性让其重新输入,在设计和开发时需要引入这种机制, 但不能过于复杂[*1]。
只要输入的内容不是过于简单的,就尽量不要硬性规定不能输入哪些字符[*1],不过可以根据运维需要,规定必须输入的最小长度及哪些字符。
*1不然会引起用户的不满

1.4 封锁账户:对于已注册用户,登录时的认证
1.4.1 锁定:字典式攻击的有效手段之一
(1)连续输入多次密码,均与实际密码不符合时,账户即被封锁。
(2)如果一段时期内锁定后自动解锁的现象2次以上反复发生,并且系统判定是均来自同一IP时,需要封锁IP。

1.4.2 解锁
(1)一定时间后,自动解锁
(2)强制性要求重新设置密码
(3)由运营方手动解锁[*1]
*1 安全性要求较严格的情况(银行、军事等),需要本人提交书面申请

1.5 保护密码
1.5.1 加密
一旦保存密码(以及用户名等登录所需信息)的媒介物被外泄,涉及到的用户信息可以轻易地被窥视,后果极其严重。
不过如果事前引入了加密机制,虽然不能做到100%保障密码不被破解,也至少可以极大程度地增加破解的成本,争取时间尽早发现亡羊补牢。

1.5.2 加密的技巧
对于专业黑客来说,字典式攻击是惯用手段。所以如果只对密码本身加密[*1],通过字典式攻击被破解的成本也会相对降低。
所以,用户名+密码,把这个组合作为整体来加密,甚至还可以加入电话号码或生日等做为组合体,尽可能地增加复杂度。
*1 哈希算法(Hash)是主流

1.5.3 重置密码
通过哈希算法加密后,密码内容不可逆向恢复!
所以,在设计阶段就要考虑让用户重置新密码,而非单纯地把原有密码提示给用户,也没有必要。

1.6 给用户显示错误信息的技巧
用户名或密码输入错误后无法通过认证,这时需要给用户提示相关内容。
不管是用户名错误还是密码错误,或者是两者都输入错误而导致无法通过认证,原则上只需要向用户显示固定统一的信息,而非”错哪指哪“。
不然,如果显示”用户名不正确“,”密码不正确“等信息,会给攻击者暴露出另一层信息:
A. “用户名不正确,那意味着密码应该正确”,会变相鼓励攻击者继续对用户名进行排查
B. “密码不正确,那意味着用户名应该正确”,会变相鼓励攻击者继续对密码进行排查

1.7 认证时记录日志的技巧
不能把密码写入到日志文件中保存,一旦涉及到注册及登录信息的日志文件被外泄,加密也无济于事。
A. 用户正常地登录,是直接的暴露了密码信息
B. 用户可能一时手误输错了大小写或字数错了,或者是忘记了密码而试着使用登录其它系统所用的密码(*1)
*1 这时虽然无法登录本系统,但可能间接对其它系统的个人信息产生威胁

1.8 邮件认证
1.8.1 新注册用户
注册提交时,给输入的邮箱发一封邮件,起到临时确认邮箱是否有效[*1],如果自己收不到,则证明输入有问题或邮件服务本身出了问题。
*1 用户手误输入某些字符,邮件服务已经停止,以及机器人注册使用的邮箱等无法正常收到邮件

1.8.2 已注册用户
修改提交时,与新注册时类似,先给输入的新邮箱发一封邮件,起到临时确认邮箱是否有效。

1.8.3 邮箱有效性的确认
不管新注册还是已注册后的修改,需要在临时确认用的邮件里付上激活链接,有效地阻止攻击者篡改邮箱。
A. 新注册时,点击此链接即完成正式确认,后续的系统功能即可使用
B. 修改时,也需点击此链接即完成正式确认,同时给旧邮箱发一封邮件,说明此次修改了邮箱,今后旧邮箱失效,请新邮箱

1.9 手机号认证
与邮箱认证有相似之处。
(1)给用户输入的手机号发一条短信,成为临时确认用。其中写有认证码[*1],如果自己收不到,则证明号码输入有问题[*2]。
(2)提交后,系统会提示输入收到的认证码,在规定的时间内输入认证码后再次提交即证明该手机号是用户本人在使用,完成认证。
*1 此时在系统后台保留着这个认证码;*2 也不排除手机在圈外等极少情况

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容