密码理论知识
基础理论
一个密码系统至少由明文、密文、加密算法、解密算法和密钥五个部分组成,而其安全性是由密钥决定的。
按照密钥特征的不同,密码体制分为:对称密码体制和非对称密码体制。
按照对明文加密方式的不同,密码体制分为:流密码和分组密码。
非对称密码体制都是分组密码。
时间线
1949年,Shannon发表了题为《保密系统的通信理论》的文章,为密码技术的研究奠定了理论基础,由此密码学成了一门
科学。
《中华人民共和国网络安全法》已由中华人民共和国第十二届全国人民代表大会常务委员会第二十四次会议于2016年11月7日通过,自2017年6月1日起施行。(六一儿童节)
2017年11月 德国柏林 sm2椭圆曲线 sm9标识签名算法 成为国际标准
2020 年 1 月 1 日《中华人民共和国密码法》
认证码
产生认证码的方式:报文加密、消息认证码、基于Hash函数的消息认证码。
Keberos协议
Kerberos 是一个网络认证协议,Kerberos 认证技术一目标是使用密钥加密为客户端 / 服务器应用程序提供强身份认证;Kerberos采用的加密算法是DES(对称加密体制)。
Kerberos系统涉及四个基本实体:
(1)Kerberos客户机,用户用来访问服务器设备
(2)AS(认证服务器),识别用户身份并提供TGS会话密钥;
(3)TGS(票据发放服务器),为申请服务的用户授予票据(Ticket);
(4)应用服务器,为用户提供服务的设备或系统。其中,通常将AS和TGS统称为KDC。票据(Ticket)是用于安全的传递用户身份所需要的信息的集合,主要包括客户方Principal、目的服务方Principal、IP地址、时间戳(分发该Ticket的时间)、Ticket的生存期,以及会话密钥等内容。
PGP
PGP的数据加密采用IDEA;
PGP的密钥管理采用RSA;
PGP的数字签名采用RSA;
DES
在DES算法中,需要进行16轮加密,每一轮的子密钥长度为48位;
在DES加密算法中,密钥长度是56比特,分组长度是64比特;
在DES算法中,64位主密钥在去掉奇偶校验位(8位)后剩下56位(有效密钥长度),分成左右各28位,然后分别进行移位操作,最后56位密钥送入PC-2压缩置换得到48位轮子密钥。
AES
AES字节代换(替换)使用一个表(被称为S盒)对分组进行逐一字节替换。S盒是AES算法定义的矩阵,把 State中每个字节的高4位作为行值,低4位作为列值,然后取出S盒中对应行列的元素作为输出。这个步骤供了AES算法加密的非线性变换能力。S盒与有限域乘法逆元有关,具有良好的非线性特性。
AES的密钥长度可以为16、24或者32字节,也就是128、192、256位。
SHA
SHAI算法也称安全哈希算法,SHA1会产生一个160位的消息摘要。
商密算法
SM1是对称密码,SM2/9是非对称密码(用于数字签名) SM3是杂凑算法(哈希算法),SM4用于wapi无线局域网加密(对称密码)。
SM3密码杂凑算法的描述SM3密码杂凑算法采用Merkle-Damgard结构,消息分组长度为512bit,摘要长度256bit;
分组密码算法SM4的分组长度和密钥长度分别为128位和128位;
SM4的密钥长度和分组长度均为128比特,其设计安全性等同于AES-128。
WEP
标准的64位WEP使用的密钥和初始向量长度分别是40位和24位。
其他密码算法
2006年,国家密码局规定的无线局域网产品须使用的系列密码算法中,密钥协商算法应使用ECDH。
国家密码管理局于2006年1月6日发布公告,公布了《无线局域网产品须使用的系列密码算法》,包括:
对称密码算法: SM4;
签名算法: ECDSA,
密钥协商算法: ECDH;
杂凑算法: SHA-256;
随机数生成算法: 自行选择。
其中ECDSA和ECDH密码算法须采用国家密码管理局指定的椭圆曲线和参数。
WEP是早期的无线加密算法,由于安全性差,在后续的WPA加密体制中不再采用。
无线Wi-Fi网络加密方式中,安全性最好的是WPA-PSK/WPA2-PSK,其加密过程采用了TKIP和AES。
DH:离散对数
ECC:椭圆离散对数
SM4算法是在国内广泛使用的WAPI无线网络标准中使用的对称加密算法。
当前全球无线局域网领域仅有的两个标准,分别是美国行业标准组织提出的IEEE802.11系列标准以及中国提出的WAPI标准。WAPI是我国首个在计算机宽带无线网结通信领域自主创新并拥有知识产权的安全接入技术标准,WAPI全称是无线局域网鉴别和保密基础结构,是一种安全协议,同时也是中国无线局域网安全强制性标准。
ECB加密模式
每个明文分组的加密都是互相独立的,因此其加密模式属于ECB模式。
公钥算法
公开密钥加密算法也称为公钥加密算法(非对称加密),是指用来解密的密钥不同于进行加密的密钥,也不能够通过加密密钥直接推算出解密密钥。一般情况下,加密密钥是可以公开的任何人都可以应用加密密钥来对信息进行加密,但只有拥有解密密钥的人才可以解密出被加密的信息。
在公钥密码体制中,公钥和私钥是一对密钥,公钥加密可以用私钥解密,私钥可以用公钥解密。但是对于用户来说公钥是公开的,私钥只有自己知道。所以他人用公钥加密,然后接收方用私钥解密。
密码算法根据密钥的属性可以分为对称密码和非对称密码(公钥密码),对称加密指加密和解密使用相同密钥的加密算法,非对称加密算法则需要两个密钥:公钥和私钥。所以如果发送方使用的加密密钥和接收方使用的解密密钥不相同,从其中个密钥难以推出另一个密钥的加密系统是公钥加密系统。
密码系统在加密明文消息的过程中,可以将明文消息序列分组处理,相应的密码系统称为分组密码系统,也可以将明文消息看作消息序列进行加密处理,相应的密码系统称为序列密码系统.
数字签名
在进行数字签名时,发送方用自己的私钥签名,接收方用发送方的公钥验证;
数字签名是对以数字形式存储的消息进行某种处理,产生一种类似于传统手书签名功效的信息外理过程。它通常将某个算法作用于需要签名的消息,生成一种带有操作者身份信息的编码。一个数字签名体制一般包含两个组成部分,即签名算法(Signature Algorithm)和验证算法( Verification Algorithm)。
数字证书
数字证书内容包括证书序列号、证书持有者名称、证书颁发者名称、证书有效期、持有者公钥、证书颁发者的一系列数字签名。CA的公开密钥在CA的证书上。
RA
数字证书注册中心也称为RA( Registration Authority),是数字证书认证中心的证书发放、管理的延伸。主要负责证书申请者的信息录入、审核以及证书发放等工作,同时,对发放的证书完成相应的管理功能。
认证技术原理与应用
身份认证
身份认证的生物特征必须具有唯一性和稳定性
身份认证是证实客户的真实身份与其所声称的身份是否相符的验证过程。常见的身份认证协议包括S/Key口令协议、Kerberos协议、X.509协议等。
防火墙
防火墙定义
防火墙是一种隔离控制技术,在机构内的网络和不安全的网络之间设置屏障,阻止对信息资源的非法访问,也可以使用防火墙阻止重要信息从企业的网络上被非法输出防火墙的经典体系结构主要有双重宿主主机体系结构、屏蔽主机体系结构和屏蔽子网体系结构。
防火墙具有过滤非安全网络访问、限制网络访问、网络访问审计、网络带宽控制的功能。现在的防火墙还具有逻辑隔离网络、提供代理服务、流量控制等功能。
由于物理隔离技术要求两台物理主机物理上并不直连,只能进行间接的信息交换,所以防火墙不能实现网络的物理隔离。
防火墙的规则处理方式如下:
Accept: 允许数据包或信息通过。
Reject: 拒绝数据包或信息通过,并且通知信息源该信息被禁止。
Drop: 直接将数据包或信息丢弃,并且不通知信息源。
当防火墙在网络层实现信息过滤与控制时,主要针对TCP/IP协议中的数据包头制定规则匹配条件并实施过滤,该规则的匹配条
件不包括(源端口)
端口属于传输层的东西
访问控制
访问控制是指主体依据某些控制策略或权限对客体本身或是其资源进行的不同授权访问,是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和非常规访问,一般分为自主访问控制模型和强制访问控制模型。
操作系统访问控制是针对计算机系统资源而采取的访问安全措施。操作系统访问控制的具体措施有文件读写、进程、内存等访问控制。
自主访问控制
自主访问控制( Discretionary Access Control,DAC)是最常用的一种存取访问控制机制,文件的所有者可以按照自己的意愿精确指定系统中的其他用户对此文件的访问权。
自主访问控制的基本思想是访问控制中访问客体的拥有者具有很大的权限,能够决定客体是否可以被相应主体访问并且可以迁移和转让访问客体。
在 DAC 模型中,访问权限是否进行授权需要根据主体情况并结合具体的安全规则从而做出判断,DAC有访问控制矩阵和访问控制列表两种实施方式。
自主访问模型:HRU模型
自主访问控制(DAC)
自主访问控制是指客体的所有者按照自己的安全策略授予系统中的其他用户对其的访问权。自主访问控制的实现方法有两大类:
基于列的自主访问控制的方式有访问控制表、保护位;
基于行的自主访问控制: 能力表、前缀表、口令。
强制访问控制
强制访问控制( Mandatory Access Contro,MAC),是一种不允许主体干涉的访问控制类型。它是基于安全标识和信息分级等信息敏感性的访问控制,通过比较资源的敏感性与主体的级别来确定是否允许访问。(上读下写)
BLP
BLP 机密性模型包含简单安全特性规则和*特性规则。简单安全特性规则:主体只能向下读,不能向上读。即主体读客体要满足以下两点: (1)主体安全级不小于客体的安全级,通常安全级对应的级别及顺序为公开<秘密<机密<绝密;(2)主体范集包含客体的范畴集。
*特性规则:主体只能向上写,不能下写。即主体写客体要满足以下两点: (1)主体安全级不小于客体的安全级,(2)客体范畴集包含主体的范畴集。
BiBa
完整性模型、上读下写
BLP是安全访问控制的一种模型,是基于自主访问控制和强制访问控制两种方式实现的。
它是一种严格的形式化描述控制信息只能由低向高流动。
它反映了多级安全策略的安全特性。
基于异常事件的访问控制
基于异常事件的访问控制规则利用异常事件来触发控制操作,以避免危害系统的行为进一步升级。例如,当系统中的用户登录出现三次以上的失败后,系统就会在一段时间内冻结账户。
VPN
定义
VPN是虚拟专用网,所谓虚拟指的是公用公网网络线路,并提供了加密、认证和完整性等安全能力,可以有效降低在公共网络上传输数据的风险,即使信息被截获也不会泄密。
VPN指的是虚拟专用网,虚拟指的是多个用户共享物理网络连接,而不是脱离公共物理网络,专用指的是私有的安全的隧道连接,确保安全性,网络指的是VPN同样需要底层网络支持。
目前 VPN 主要采用如下四项技术保证安全: 隧道技术、加解密技术、密钥管理技术、使用者与设备身份认证技术。
虚拟专用网络(Virtual Private Network,VPN) 是一种在互联网上建立专用网络的技术。通过VPN技术,企业可以在远程用户、分支部门、合作伙伴之间建立一条安全通道,实现VPN提供的多种安全服务。VPN提供的主要安全服务有保密性服务、完整性服务、认证服务。
数据链路层VPN
数据链路层VPN的实现方式有ATM、Frame Relay、多协议标签交换(MPLS),网络层VPN的实现方式有受控路由过滤、隧道技术,传输层VPN的实现方式有SSL技术。有些资料中,将MPLS看成于数据链路层和网络层的2.5层协议。
隧道协议
VPN的隧道协议主要有PPTP、L2TP和IPSec三种,其中PPTP和L2TP协议工作在OSI 模型的第二层,又称为第二层隧道协议; IPSec是第三层隧道协议。
PPTP通常可以搭配PAP、CHAP、MS-CHAPV/v2或EAP-TLS来进行身份验证。
IPSec
IPSec提供了两种安全机制: 认证 (采用ipsec的AH) 和加密(采用ipsec的ESP)。
IPSec协议是通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议,并不属于身份认证协议。
IPSec隧道协议是一种VPN安全协议,用于解决原有IP协议的安全不足问题,该协议可以提供完整性保护、机密性保护和身份认证功能,是解决IP协议安全问题的解决方案。
IPSec属于(网络层 )的安全解决方案。
SSL
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。其主要提供:(1) 鉴别:认证用户和服务器确保数据发送到正确的客户机和服务器: (2) 加密:加密数据以防止数据中途被窃取: (3)完整性:维护数据的完整性,确保数据在传输过程中不被改变。
Windows
Windows日志有三种类型:系统日志、应用程序日志和安全日志,它们对应的文件名为Sysevent.evt、Appevent.evt和Secevent.evt。
安全日志记录与安全相关的事件,只有系统管理员才可以访问。
命令
netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。
netstat命令的-p选项可以显示正在使用Socket的程序识别码和程序名称。
Ipconfig查看自己电脑的IP地址。
nslookup命令用于查询DNS的记录,从而得到该域名的IP地址和其他信息。
traceroute是诊断网络问题时常用的工具。它可以定位从源主机到目标主机之间经过了哪些路由器,以及到达各个路由器的耗时。
Linux
Linux系统默认配置下,
日志文件通常都保存在“/Var/log”目录下;
/etc/hosts:ip地址和其对应主机名;
/etc/passwd:系统中所有的用户和用户的主要信息;
命令
在Linux 系统中,可用 lsof工具检査进程使用的文件、TCP/UDP 端口、用户等相关信息。
Android
Android平台进行数据存储的方式包括
(1)使用Shared Preferences存储数据;
(2)文件存储数据:
(3)SQLite数据库存储数据;
(4)使用Content Provider存储数据;
(5)网络存储数据。
风险评估
针对系统存在的安全问题,根据系统对其自身的安全需求,提出有效的安全措施,达到最大限度减少风险、降低危害和确保系统安全运行的目的。信息安全风险评估中需要识别的对象包括:资产识别、威胁识别、脆弱性识别。
一般将信息安全风险评估实施划分为评估准备、风险要素识别、风险分析和风险处置 4 个阶段。对评估活动中的各类关键要素资产、威胁、脆弱性、安全措施进行识别和赋值的过程属于评估准备阶段。
风险评估报告属于信息安全风险分析阶段的输出报告。
漏洞防护技术原理与应用
非技术性安全漏洞
非技术性安全漏洞是指来自制度、管理流程、人员、组织结构等的漏洞,“网络安全特权控制不完备”属于缺少对特权用户、超级账号的有效管理,所以属于非技术性安全漏洞。
技术性安全漏洞是指来源于设计错误、输入验证错误缓冲区溢出、验证错误、配置错误等方面的漏洞。
设计型漏洞
不以存在的形式为限制,只要实现了某种协议、算法、模型,这种安全问题就会存在;
HTTP协议本身安全造成的信息系统安全漏洞属于设计型漏洞。
开发型漏洞
产品开发人员有意或无意的引入的缺陷;
运行型漏洞
在特定环境运行时,可能导致安全事件。
金丝雀漏洞
金丝雀漏洞缓解技术的原理是在函数被调用之后,立即在栈帧中插入一个随机数,函数执行完在返回之前,程序通过检查这个随机数是否改变来判断是否存在栈溢出。现代操作系统提供的金丝雀 (Canary)漏洞缓解技术属于堆栈保护。
漏洞挖掘技术
攻击者常用的漏洞挖掘技术包括:系统或应用服务软件漏洞、主机信任关系漏洞、目标网络的使用者漏洞、通信协议漏洞、网络业务系统漏洞。
恶意代码
被动传播:计算机病毒、特洛伊木马、间谍软件、逻辑炸弹。
主动传播:网络蠕虫、其他。
蠕虫
蠕虫的组成
蠕虫的具体组成如下:
1、探测模块探测目标主机的脆弱性,确定攻击、渗透方式;
2、传播模块一复制并传播蠕虫;
3、蠕虫引擎模块一一扫描并收集目标网络信息,如IP地址、拓扑结构、操作系统版本等;
4、负载模块一实现蠕虫内部功能的伪代码。
蠕虫发展历程
漏洞利用类蠕虫包括2001年的红色代码(CodeRed)和尼姆达Nimda) 、2003年的蠕虫王Slammer) 和冲击波(MSBlaster)、2004年的震荡波(Sasser)、2005年的极速波(Zoob)2006年的魔波(MocBot)、2008年的扫荡波Saodangbo)、2009年的飞客(Conficke)、2010年的震网(StuxNet)(SIMATIC WinCC SCADA系统)等。
IRC-worm属于IRC类蠕虫。
病毒
目前使用的防杀病毒软件无法杜绝病毒对计算机的侵害,只能是减少对计算机的侵害,对新型的病毒而言,也是只能部分检测和部分清除。
宏病毒
宏病毒是脚本病毒的一种,前缀是Macro。
Worm.Blaster.g为冲击波病毒,属于漏洞利用类蠕虫病毒。
病毒引导过程
病毒的引导过程包括:
(1)驻留内存病毒若要发挥其破坏作用,一般要驻留内存。为此就必须开辟所用内存空间或覆盖系统占用的部分内存空间,有的病毒不驻留内存。
(2)窃取系统控制权在病毒程序驻留内存后,必须使有关部分取代或扩充系统的原有功能,并窃取系统的控制权。此后病毒程序依据其设计思想,隐蔽自己,等待时机,在条件成熟时,再进行传染和破坏。
(3)恢复系统功能,病毒为隐蔽自己,驻留内存后还要恢复系统,使系统不会死机,只有这样才能等待时机成熟后,进行感染和破坏的目的。
震网病毒
震网(Stuxnet) 病毒是专门针对工业控制系统编写的恶意病毒。2010 年“震网”病毒攻击的是伊朗核电站西门子公司的SIMATIC WinCC SCADA系统。该系统主要被用做工业控制系统,能够监控工业生产、基础设施或基于设施的工业流程。SIMATIC就是西门子公司的英文名。
木马
Troian-Ransom属于破坏型木马的;Trojan-Ransom是勒索木马,不属于远程控制型木马。
远程控制型木马有冰河、网络神偷、广外女生、网络公牛、黑洞、上兴、彩虹桥、posion ivy、PC Share、灰鸽子等。
网络信息安全概述
目标
网络安全的目标就是五个基本安全属性,即完整性、机密性、可用性、可控性、防抵赖性。要实现网络安全的五个基本目标,网络应具备防御、监测、应急、恢复等基本功能。
五级架构
GB17859-1999标准规定了计算机系统安全保护能力的五个等级:第一级为用户自主保护级:第二级为系统审计保护级:第二级为安全标记保护级;第四级为结构化保护级;第五级为访问验证保护级。
其中第四级结构化保护级的计算机信息系统可信计算建立于一个明确定义的形式化安全第略模型之上,它要求将第二级系统中的自主和强制访问控制扩展到所有主体与客体。
1、访问验证保护级的计算机信息系统可信计算需满足访问监控器需求;
2、其中要求对所有主体和客体进行自主和强制访问控制的是结构化保护级;
3、安全保护等级第四级(结构化保护级)要求对应用程序的所有执行环节进行动态可信验证。
4、提供系统恢复机制的是访问验证保护级。