网络与信息安全 01 | 您所在的位置:网站首页 › 三级密钥 › 网络与信息安全 01 |
系统安全、内容安全、网络安全、密码学、信息对抗 一、网络安全基础 1.常见网络威胁: (1)伪装或假冒 (2)否认或抵赖 (3)破坏完整性 (4)破坏机密性 (5)信息量分析(对信息的形式进行分析) (6)重放(发送一个目的主机已接收过的包,以此欺骗系统,主要用于身份认证过程,破坏认证的正确性) (7)重定向 (8)拒绝服务(想办法让目标机器停止提供服务) (9)恶意软件 (10)社会工程 2.TCP/IP协议栈各层均存在安全隐患: 链路层(ARP欺骗-ARP协议;网卡混杂模式嗅探-CSMA/CD) 网络层(IP协议-IP欺骗-对源IP地址不进行认证;ICMP拒绝服务攻击、利用隧道技术伪装成ICMP包来建立隐藏通道而穿越防火墙) 传输层(TCP协议-可以定制所发送TCP包的标志位-隐蔽扫描;UDP无连接不可靠-拒绝服务攻击) 应用层(DNS缓存可能被毒害-DNS欺骗,区域传输;路由协议-路由信息可以被篡改;Web协议;其他协议) --->每个层次上都定义了相关的安全技术(安全管理等) 5种安全服务:认证服务(口令、数字证书、基于生物特征以及通过可信第三方进行认证等)、 访问控制(访问控制矩阵和访问控制表等)、 数据机密性服务(存储及传输,物理保密、防窃听、防辐射、信息加密、通信业务填充机制-填充冗余的业务流量来防止攻击者进行“流量分析”等)、 数据完整性服务(至少能发现被修改过,数据校验和、数字指纹、消息校验码、防重放机制等)、 不可否认服务(发送方/接收方的不可否认及时间上不可否认,数字签名、数字签名收条和时间戳等)、 (可用性)(物理上的可用性,防止拒绝服务来实现可用性) 8种安全机制:加密机制、数字签名、公证机制、数据完整性机制、 访问控制机制、认证交换机制、通信业务填充机制、路由选择控制机制、 3.说明:① 单独一个层次无法提供全部的网络安全服务,从而形成由各层安全协议构成的TCP/IP的安全架构 ② 安全协议实现的层次越低越具有通用性,能够提供整个数据包安全,且该协议运行性能就越好,对用户的影响就越小 ③ 高层的安全协议能针对用户和应用提供不同级别更灵活的安全功能 4.PPDR安全模型:安全策略--指导->防护、检测、响应 5.信息系统安全保护等级划分(我国): 1级用户自主保护级-拓展/优化/加强->2级系统审计保护级-->3级安全标记保护级-->4级结构化保护级-->5级访问验证保护级 ---可信计算机系统评估(美国、四类): D级:什么保护要求都没有 C1、C2级:目前流行的商用操作系统 B1、B2级:要求对基础模型的安全性给出精确证明 B3和A1级:要求更精确证明TCB和形式化设计 其中B1和B2的安全强度有明显区别,B2和B3之间也有显著差别 二、网络安全威胁 1.隐藏攻击者的地址和身份 2.踩点(尽可能地收集目标系统安全状况的各种信息)、 3.扫描技术(主动,主机扫描、端口扫描、操作系统探测、漏洞扫描)、4.嗅探技术(被动) 5.攻击技术 社会工程、口令破解、IP欺骗、ARP欺骗、DNS欺骗、会话劫持、(分布式)拒绝服务攻击(D)DoS、缓冲区溢出攻击(堆、栈、BSS溢出) 6.权限提升、7.掩盖踪迹、8.创建后门 9.Web攻击技术(SQL注入、跨站脚本XSS攻击-针对HTML的注入) 三、密码学概述:密码学是关于如何在敌人存在的环境中通信,是网络信息安全的基础 1.密码编码学: 一次一密(每一条新消息都需要一个与其等长且无重复的新密钥),是不可攻破的,但实际应用时受到很大限制 寻求实际上不可攻破的密码系统(理论上可被破解,但所需算力、存储空间、计算时间超出实际上的可能性) 具有三个特征:转换明文为密文的运算类型,也是加密算法的原理(代换:映射成另一个元素,进行逆运算即可恢复出明文、置换:进行重新排列、可逆的数学函数) 所用的密钥数(单钥的对称加密和双钥的非对称加密) 处理明文的方法(分组密码:每次处理输入一组元素,相应地输出一组元素、流密码:连续地处理输入元素,每次输出一个元素) 2.密码分析学和穷举攻击(若密钥空间非常大则不实际) 3.密钥管理学:一个密码应用系统被破解往往不是加密算法本身造成的,而是密码系统的密钥管理方案不当造成的 ---包括:密钥生成(集中式/分布式密钥生成)、密钥的装入和更换、密钥分配(集中式/分布式分配)、密钥保护和存储(必须绝对安全)、密钥的吊销(在有效期内从正常使用的密钥集中除去)、密钥的销毁(防止利用旧密钥进行分析和破译密码体制) ---三级密钥管理,密钥分:主机主密钥(加密密钥加密密钥)、密钥加密密钥(加密会话密钥)、会话密钥(加密数据/文件内容本身) 4.传统密码技术:置换密码、代换密码(凯撒密码、单表代换密码)、一次一密、转轮机、电码本 四、对称密码体制 1.对称密钥加密算法(私钥加密):加密密钥与解密密钥可相互推导,在大多数对称算法中,两者是相同的 特点:算法公开、计算量小、加密效率高,加密大量数据时是首选,但安全性完全取决于密钥的传送(如果要解密就得让对方知道密钥),通常需要使用不同于发送消息的另一个安全通道来发送密钥 2.著名对称加密算法: (1)RC系列(RC2/4/5):2密钥长度可变、4基于流模式加密算法,面向bit操作,应用:SSL等,速度比DES快10倍、5分组长、密钥长和迭代轮数都可变,面向字结构,便于软件和硬件快速实现 (2)DES(数据加密标准):密钥是固定的56bit,以分组模式对64bit的密文块进行操作,进行16轮迭代,已发现安全隐患 -3DES:基于DES,使用3个不同密钥,执行3遍,增加了加密复杂度,密钥长度168比特,安全,应用:PGP和S/MIME (3)IDEA(国际数据加密算法) (4)Blowfish/Twofish:前者是一个可变密钥长度的64位分组密码算法 (5)AES:高级加密标准 --->可用人工方式/保密信道传送双方最初共享的密钥 或 借助一个密钥分配中心来分配密钥 3.随机数和伪随机数: 一些网络安全算法的安全性依赖于密码中用到的随机数(要求随机数要尽量随机-均匀分布且独立,同时不可预测),如:RSA等公开密钥加密算法中密钥的生成、生成用于临时会话的对称会话密钥、许多密钥分配方案中,如Kerberos中随机数被用来建立同步交换以防止重放攻击 ---真随机数发生器(随机源从计算机的物理环境上得到,包含按键时序特性、磁盘的电气活动、鼠标移动和瞬时的系统时钟)--->真随机数 ---伪随机数发生器/函数:种子(不变值)--->确定性算法--->伪随机数 五、公钥密码体制 --->加密对称密钥、解决密钥分配/管理、数字签名的问题 1.非对称密钥(加密密钥和解密密钥在算法上是不同的,用对方的公钥加密,用自己的私钥签名(用对方的公钥验签)):加密密钥和解密密钥不相等,且不可相互推导(运算量太大了),算法强度复杂,安全性非常高(具有对称密码难以企及的优势),但数据量大时速度超慢(比对称慢数千倍) 甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密;甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密 2.Diffie-Hellman密钥交换算法:不需要使用保密信道就可以安全分发对称密钥(只能用于密钥分配/交换,不需要PKI的支持,并不能完成信息加解密),对称密钥只在需要的时候才会进行计算,不需要事先保存,不会有泄露的危险 ---Elgamal:基于D-H,常用 ---RSA:是目前为止最为成功的非对称密码算法,第一个比较完善的公钥系统(能同时用于加密和数字签名) 密钥长度在512~8192bit之间,其安全性是建立在“大数分解和素性检测”这个数论难题的基础上(数学运算的复杂性,将两个大素数相乘在计算上容易实现,而将该乘积分解的计算量相当大),虽然安全性没有能得到理论证明,但20多年的实践证明其是安全的,比用软件实现的DES慢100倍、比用硬件实现的DES慢1000倍,使用最广泛 ---DSA(Digital Signature Algorithm,数字签名算法,用作数字签名标准的一部分),它是另一种公开密钥算法,不能用作加密,只用作数字签名 ---椭圆曲线密码算法ECC:具有更广泛的应用前景 六、消息认证和数字签名 1.消息认证的三种方式: (1)消息加密(对称加密本身既能提供保密性,又能提供认证功能)、 (2)消息认证码MAC(利用共享密钥来生成一个固定长度的短数据块,并将其附加在消息之后;MAC函数类似于加密函数,但不需要可逆性,在数学上比加密算法被攻击的弱点要少;速度慢,需要对全部数据进行加密)、 (3)散列函数(将任意长的消息映射为定长的散列值的函数,没有密钥,消息中任何一位的改变都会导致hash码的改变;散列算法是公开的;速度快)---> ---常见的hash函数及应用: MD5(Message-Digest Algorithm),输入任意长度的消息,输出128位消息摘要,处理时以512位输入数据块为单位;不是足够安全,但也绝不简单 SHA(速度慢于MD5,安全性优于MD5) RIPEMD-160(输出160位摘要,基础是MD5)、HMAC --->2.(公钥)数字签名/指纹:发送方拿私钥对摘要进行加密生成一个签名块,接受方用发送方的公钥对签名进行解密(发送方不能抵赖且能验证数据的完整性-HASH函数、WinMD5工具)---> 数字信封:利用非对称加密技术(安全)来传输对称加密所需要的密钥,使用对称加密技术(速度快)来加解密数据,是非对称密钥加密技术与数字摘要技术的应用 [消息摘要算法:主要应用在“数字签名”领域,著名的摘要算法有RSA公司的MD5算法和SHA-1安全散列算法(0、1已被正式攻破,2)及其大量的变体 MD5:严格来说不算加密算法,只能说是摘要算法] 七、鉴别和密钥分配协议 -->八、九 能够正确地鉴别出信息发送方的身份,且对信息内容的任何修改都可被检测出来(包括通信实体鉴别和通信内容鉴别)、密钥生命周期中的对称/非对称密钥分配问题 ---> 怎么基于对称或非对称加密算法实现鉴别和密钥的分配---> 1.鉴别协议:(1)N-S双向鉴别协议:采用两层对称加密结构(主密钥和通信时短期使用的会话密钥-前者已通过其他其他方法安全分发,后者由密钥分配中心KDC产生),以实现分布式环境中的双向鉴别和密钥分配,Kerberos在其基础上拓展而来 ---鉴别容易受到重放攻击,可增加现时信息进行防范,如在N-S双向认证协议中加入时间戳(改进) (2)单向鉴别协议:并不需要发送方和接收方同时在线,适用于电子邮件系统 2.密钥分配协议: 密钥分配的四种方法(前两种不适用于大量连接的现代通信): (1)A选定密钥,通过物理方法安全传递给B (2)可信任第三方C选定密钥,通过物理方法安全传递给A和B (3)若A和B都有到第三方C的加密连接,C通过该连接将密钥传递给A和B--密钥分配中心KDC,常用于对称密钥的分配 ---对称密钥管理有集中式(👆两层对称加密结构)和分散式(把单个KDC分散成多个KDC,更进一步,即每个通信方同时也是密钥分配中心KDC)两种形式 ---使用公开加密算法加密/"分配"对称密钥 (4)由第三方C发布A和B的公钥,AB可用彼此的公钥来加密通信--认证中心CA,常用于公开密钥的分配(高效可行),获取一个人的公开密钥有4种途径:公开密钥的公开宣布、公开可用目录、公开密钥管理机构、公开密钥证书 八、身份认证和访问控制 用户向系统证明他就是他所声称的那个人,包括识别(明确其身份)和验证两个步骤,身份认证系统被攻破,系统的所有安全措施都将形同虚设,因为如访问控制等都依赖于它 1.单机状态下验证用户身份的方法: 只有用户 知道的(口令、密码等)、 拥有的(智能卡、通行证、USB Key)、 生物特性(指纹、脸部数据、声音、视网膜扫描、DNA等)、 行为特征(手写签名、打字韵律等) (1)基于口令的认证方式 直接明文存储口令(风险大,要是窃取到了口令文件都可以进行字典攻击了)、Hash散列存储口令(数字指纹)、 加盐的Hash散列存储口令(口令结合固定长度12bit的随机常数后再进行口令的散列,避免了相同明文口令对应相同的口令散列而造成多个用户的口令同时被破解) (2)基于智能卡的认证方式 双因素认证方式:只有PIN码输入正确了才能读取智能卡中的用户数据(数据经硬件加密过了) 2.网络环境下的身份认证: (1)明文口令易被嗅探、口令散列怕被重放--->不使用静态口令--->动态密码(一次性口令):产生口令的运算因子:固定因子(用户的口令散列) + 变动因子(由此产生不同一次性口令认证技术,基于时间同步/基于事件同步的认证技术、基于挑战应答式的非同步认证技术) --->S/KEY认证协议: 用户与服务器在交互过程中产生一次性口令进行认证(通过seq来决定对固定口令+seed进行散列的次数,而seq是会变化的,因而不会被重放成功,但存在较多缺点:如seq递减使用一定次数后必须初始化,将循环使用以前的一次性口令;需进行多次散列运算,用户和服务器的开销比较大;会话内容本身没有保密 (2)Kerberos认证协议:使用网络层安全协议IPSec来保证连接的客户端合法,基于可信第三方KDC,提供不安全分布式环境下的双向用户实时认证,认证和数据保密传输使用对称加密DES,后来也可用其他算法的独立加密模块 简单的认证会话:用户登录请求访问应用服务器V,客户端模块C打包用户口令、用户ID、服务器ID送往Kerberos认证服务器AS(AS与V共享一个唯一的密钥-应用服务器的主密钥,即所有用户和V均需在AS上注册),AS进行认证用户,并判断此用户是否有访问V的权限,用共享密钥加密生成票据返回给C,C凭票据向V请求服务(V会用户共享密钥进行解密判断) --->口令/票据不能重用、必须为每种不同服务创建一个新的票据---> 更加安全的认证会话,引入票据许可服务器TGS:用户C向AS发送用户ID、TGSID来请求一张代表该用户的票据许可票据Ticket tgs,每当用户申请一项新服务时,客户可据此证明自己的身份,再由TGS向特定的服务授予一个服务许可票据Ticket v,请求特定服务时,以此证明自己的身份,两种票据均可重用(用户只需输入一次身份验证信息就可凭此信息获得票据来访问多个服务-单点登录SSO) Kerberos v4认证会话:加入票据许可票据的生存期、AS需以安全方式向C和TGS提供C和TGS之间的共享的对称密钥Kc,tgs、服务器V也需向用户证实自己的身份 Kerberos的跨域认证:每个互操作域的Kerberos服务器AS间应共享一个对称密钥,双方的Kerberos服务器应互相注册 3.访问控制(用户能做什么,能访问什么资源): 访问控制系统一般包括主体(发出访问/存取要求的用户/用户进程)、客体(主体试图访问的资源)、安全访问策略(用以确定一个主体是否对客体拥有访问能力) (1)自主访问控制:用户可随意将自己拥有的访问权限赋给其他用户,之后还可以随意地将所赋权限撤销(由用户主导,管理员难以控制) 通过访问控制矩阵实现,但通常不是将整个矩阵保存起来,而是基于矩阵的行(主体,某一用户可访问什么资源-能力表)或列(客体,某一资源能被哪个/组用户访问-访问控制表)来表示访问控制信息 (2)强制访问控制:通过安全梯度安全标签实现信息的单向流通,特别适用于多层次安全级别的军事应用当中,也适用于政府部门、金融部门等。也常和自主访问控制结合使用 (3)基于角色的访问控制:主体和客体的数目都非常巨大时适用,核心思想是将访问权限与角色相联系,包含3个实体(用户user、角色role、权限privilege) 说明:以角色作为访问控制的主体,角色之间存在继承关系,避免相同权限的重复设置、遵循最小特权原则(用户所拥有的权力不能超过他执行工作时所需的权限) 注:欢迎纠正与讨论 |
CopyRight 2018-2019 实验室设备网 版权所有 |