赞
踩
===========================================================================
身份认证的概念:用户要向系统证明他就是他所声称的那个人。
识别:明确访问者的身份(信息公开)
验证:对访问者声称的身份进行确认(信息保密)
身份认证的作用:
限制非法用户访问网络资源。
安全系统中的第一道关卡,是其他安全机制基础。
一旦被攻破,其他安全措施将形同虚设。
=================================================================================
验证用户身份的方法:
用户知道的东西:如口令、密码等。
拥有的东西:如智能卡、通行证、USB Key。
用户具有的生物特征:如指纹、脸型、声音、视网膜扫描、DNA等。
用户行为特征:如手写签字、打字韵律等。
对口令的攻击:
联机攻击:联机反复尝试口令进行登录
脱机攻击:截获口令密文后进行强力攻击
(1) 直接明文存储口令
任何人只要得到存储口令的数据库,就可得到全体人员(包括最高管理员)的口令。
(2) Hash散列存储口令
口令 x 的散列值 F(x) 又叫通行短语(Pass phrase)
散列函数为文件、报文或其他数据产生“数字指纹”
认证方法:
系统的口令文件中存储每个用户的账号和口令散列值对;
用户登录时输入口令 x,系统计算出 F(x);
系统将它与口令文件中相应的散列值比对,成功即允许登录。
(3) 加盐的Hash散列存储口令
加盐的作用:避免由于相同的明文口令对应相同的口令散列而造成多个用户的口令同时被破解。
盐(salt):散列口令前与口令相结合的长为 12bit 的随机常数 —— 即使两个用户口令相同,只要salt 值不同,口令散列将不同。
例如:lijie
和 wangfeng
口令都为 password
/etc/shadow 文件中的口令散列为:
lijie:qdUYgW6vvNB.
wangfeng:zs9RZQrI/0aH2
(1)即使黑客或管理员得到口令文件,由散列值计算出明文口令很难,所以比口令明文的认证安全。
(2)基于口令明文或散列(静态口令)认证是单因素认证,而用户多选择易记忆、易被猜测的口令,同时窃取口令文件后也可进行字典式攻击。
(3)在计算机网络和分布式系统中使用更不安全。
双因素认证方式:所知道的东西(PIN)和所拥有的东西(智能卡)。
每个用户的智能卡存储用户秘密信息,身份认证服务器也存放该信息;
用户输入PIN,智能卡识别PIN是否正确;
若正确则读出智能卡中的秘密信息,并利用它与主机进行认证。
硬件加密的安全性高;即使PIN或智能卡被窃取,用户仍不会被冒充。
图像处理和模式识别:抓图/抽取特征/比较/匹配
生物统计学的生物特征
计算机强大计算功能
网络技术
(1) 生物识别系统捕捉生物特征的样品;
(2) 提取唯一特征数据并转化为数字符号(存储成该人的特征模板);
(3) 登录时人们同生物特征识别系统交互来进行身份认证,以确定匹配与否。
特征因人而异和随身携带 —— 他人模仿难
识别速度相对慢
使用代价高
使用面窄
不适合在网络环境中使用
在网络上泄露也不好更新
有误报(False Positives)和漏报(False Negatives)
================================================================================
网络环境下身份认证的困难性:
明文口令:易被嗅探,也容易受到字典攻击。
口令散列:直接“重放” 就可以假冒合法用户登录,并不需要解密得到口令本身。
不能使用静态口令,而必须使用一次性口令。
一次性口令技术的发展:
1980年代首次提出利用散列函数产生一次性口令
1991年贝尔通信提出挑战/应答(Challenge /Response)式动态密码身份认证系统S/KEY
开发基于 MD5 散列算法的动态密码认证系统
RSA 实验室提出基于时间同步的动态密码认证系统 RSA SecureID
一次性口令的两个因子:
固定因子:用户的口令散列(双方共享)
变动因子:产生变动的一次性口令
1)基于时间同步认证技术
2)基于事件同步认证技术
3)挑战/应答方式的变动因子:由认证服务器产生的随机序列 Challenge,不需要同步。
最初的 S/KEY 的安全性分析:
合法用户容易通过身份认证,而攻击者即使截获一次性口令,也得不到用户口令散列。
服务器对同一用户每次发出的挑战中 seed 值相同。
而 seq 值递减,使攻击者不知用户口令散列时,不能预测出下一次的一次性口令,因而不能重放成功。
S/KEY 认证协议的优点:
并未传送用户口令明文和口令散列。
每次的一次性口令不同。
根据截获的一次性口令破解出口令散列/明文难。
实现原理简单,Hash函数还可用硬件实现。
服务器只需存储用户口令散列。
S/KEY 认证协议的缺点:
安全性依赖于Hash函数的不可逆性。
seq 值递减使得挑战使用一定次数后必须初始化。
会话内容本身没有保密。
循环使用以前的一次性口令。
维护一个很大的一次性口令列表很麻烦。
改进的 S/KEY 的安全性分析:
只有 seed、seq 和一次性口令在网上传播,seed 是不可预测的,而 seq 每次可相同可不同:
用户很容易求出正确的一次性口令,采用一次性口令的匹配通过服务器的身份认证;
攻击者即使截获一次性口令,也不能破解出用户口令散列;
攻击者不能预测下一次一次性口令,也不能重放成功。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。
如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。
如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
[外链图片转存中…(img-8NbkdAtE-1713424636626)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。