目录
一、信息安全基础
1.1. 概念
1.2. 信息存储安全
1.3. 网络安全
二、信息安全系统的组成框架
三、信息加解密技术和数字签名
四、访问控制技术
五、信息安全的保障体系与评估方法
5.1. 计算机信息系统安全保护等级
5.2. 安全风险管理
一、信息安全基础
1.1. 概念
信息安全包括5个基本要素:机密性、完整性、可用性、可控性、可审查性;理解:
1)机密性:信息不能暴露给无权限的实体或进程。
2)完整性:只有得到允许的人才能修改数据,并能判别出数据是否已被篡改。
3)可用性:得到授权的实体或进程在需要时可随时访问数据。
4)可控性:授权范围内的信息流向及行为方式可控。
5)可审查性:对于已经出现的信息安全问题,具备调查的依据和手段。
信息安全的范围包括:设备安全、数据安全、内容安全、行为安全;理解:
1)设备安全:指设备的稳定性(一定时间内不出故障的概率)、可靠性(一定时间内正常执行的概率)、可用性(正常使用的概率)。
2)数据安全:指数据的秘密性、完整性、可用性。
3)内容安全:指信息内容是政治健康的、符合法律法规的、符合道德规范的。
4)行为安全:指行为的秘密性(不能损害数据的秘密性)、完整性(不能损害数据的完整性)、可控性(行为偏离预期时可发现可控制的)
1.2. 信息存储安全
信息的存储安全包括信息使用的安全(用户的标识与验证、用户存取权限限制、安全问题跟踪等)、系统安全监控、计算机病毒防治、数据加密、防止非法攻击等。
1.3. 网络安全
网络安全(Cyber Security)是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。网络安全涉及到计算机、通信、数学、信息安全等多个领域,旨在保护网络系统免受未经授权的访问、攻击和损害。网络安全的目标是确保网络系统的保密性、完整性、可用性、可控性和不可抵赖性。
网络安全关注的范围主要包括:安全漏洞,安全威胁以及安全措施,其中安全漏洞是指系统或程序中客观存在的错误,缺陷或漏洞,网络安全漏洞通常是由软件编码错误、设计缺陷或配置问题引起的,是系统本身的问题,因此及时发现和修复漏洞对于维护系统的安全至关重要。常见的安全漏洞主要表现在:
1)物理安全漏洞:任何能够让非授权机器物理接入的地方都存在潜在的安全问题。
2)软件安全漏洞:“特权”软件中带有漏洞的程序代码。特权软件(Privileged Software)通常指的是拥有系统或应用程序特权权限的软件。特权软件通常具有更高的权限和访问级别,可以执行一些普通用户无法执行的操作,如修改系统配置、访问敏感文件、管理用户权限等。
3)不兼容使用安全漏洞:不兼容使用安全漏洞是指攻击者利用系统中不同组件之间的不一致性或不兼容性,以绕过安全控制或利用安全漏洞来实施攻击的一种技术手段。这种攻击技术通常涉及系统中存在的两个或多个组件之间的交互问题,攻击者通过利用这些组件之间的不兼容性或不一致性,达到绕过安全控制或利用安全漏洞的目的。攻击者可能会利用系统中的错误配置、不完整的实现、不同组件之间的通信问题等,来实施不兼容使用安全漏洞攻击。比如一个在线购物的两个功能:添加购物车和结账,这里存在一个不兼容使用安全漏洞:当用户将商品添加到购物车后,但在结账时,系统没有对购物车中的商品进行再次验证,导致用户可以修改购物车中的商品数量或价格。
4)安全哲理漏洞:安全哲理是一种对安全概念的理解和直觉,是指在设计和实施安全措施时,需要考虑并选择适合特定情况和需求的安全原则或理念。这包括根据组织的风险承受能力、业务需求、技术环境等因素,选择最适合的安全策略和方法。在选择合适的安全哲理时,通常要综合考虑几个方面:风险管理、最小权限原则、防御深度、安全与便利性平衡、合规性和法律要求。
网络安全威胁是指可能对网络系统、数据和信息造成危害或损失的各种潜在危险因素或攻击手段。网络安全威胁可以是来自外部的黑客攻击、病毒、恶意软件等,也可以是内部员工的不当行为、数据泄露等。安全漏洞与安全威胁的区别在于网络安全漏洞是系统或应用程序中的问题,是潜在的安全隐患;而网络安全威胁则是具体的攻击行为或威胁,是对系统安全的实际威胁。目前网络存在的威胁主要表现在5个方面:非授权访问、信息泄露或丢失、破坏数据完整性、拒绝服务攻击、利用网络传播病毒。
为了解决网络安全威胁,需要采取一些措施,安全措施的目标包括5个方面:访问控制、认证、完整性、审计、保密。
二、信息安全系统的组成框架
信息安全系统框架通常由技术体系、组织体系、管理体系共同构建:
1)在技术体系上,信息安全系统涉及基础安全设备、计算机网络安全、操作系统安全、数据库安全、终端设备安全等。
2)在组织机构体系上,分为3个层次:决策层、管理层、执行层。
3)在管理体系上,分为法律管理、制度管理、培训管理。
三、信息加解密技术和数字签名
信息加解密的算法分为对称密钥加密算法和非对称密钥加密算法,其中,对称加密算法中加密密钥和解密密钥是相同的,也称为共享密钥算法,非对称加密算法的加密密钥和解密密钥是不同的。二者相比,对称密钥加密算法的效率更高,速度更快,而非对称密钥加密算法的加密强度更高,且密钥不易泄露。
常见的对称密钥加密算法有:DES,3DES,IDEA,AES,RC-5,其中DES采用的是56位长度的密钥;3DES采用的是112位长度的密钥;IDEA使用的是128位长度的密钥;AES支持128、192、256三种长度的密钥。需要说明的是3DES即三重DES,使用两个密钥(K1和K2)对明文(D)进行三重DES加密,加密过程为K1加密->K2解密->K1加密,相应的解密过程为K1解密->K2加密->K1解密,所以3DES的密钥长度为K1+K2,即为56+56=112位。
常见的非对称加密算法有:RSA,Elgamal,ECC,其中需要重点关注的是RSA算法,在RSA的加密算法中,密钥分为公钥和私钥两种,公钥和私钥是成对出现的,用公钥进行RSA加密的密文只能通过对应的私钥来解密,用私钥进行RSA加密的密文只能通过对应的公钥来解密。公钥和私钥的区别在于公钥可以公开明文发送,不需要保密,而私钥只能由自己持有,不能暴漏出去。
RSA加解密过程:以P来表示公钥,以S来表示私钥,现在有A需要将信息加密发送给B。此时A的公钥和私钥分别为Pa和Sa,B的公钥和私钥分别为Pb和Sb。为了达到保密的效果,A将信息用Pb作为密钥进行加密,之后这段密文只有用Sb才可以解密,而Sb是B的私钥,只可能由B持有,所以这段密文也就只有B才能解密,也就达到了信息加密的目的。
数字签名和数据摘要
在上面的例子中,A能拿到的密钥包括Pa,Sa,和Pb,而B能拿到的密钥为Pb,Sb,和Pa,我们可以发现,A和B实际上是共同持有两对公私钥的,A除了用Pb进行加密再由B用Sb解密之外,A还可以用Sa进行加密而由B用Pa进行解密,这种方式虽然不能达到保密效果,但由于B能用Pa解密的密文,可以推断密文一定是由A发送的,这就达到了“不可抵赖”的效果,即A是无法否认这段信息是由他发送的,另外如果A加密的内容为信息本身,那么将明文信息和密文一起发送给B,B解密只有就可以判断明文信息和解密后的信息是否相同,这就达到了防篡改的目的。在此基础上再做优化,使得A在发送信息时,先用Sa进行第一次加密,再用Pb进行第二次加密,B在接收消息时先用Sb进行解密,再用Pa进行解密,这样就既达成了保密的目的,又保留了防篡改和不可抵赖的特性,此时这段密文就被称作“数字签名”。
数字签名总的来说,有以下几个条件:可信的,不可伪造的,不可重用的、不可抵赖的、被签名的信息不可篡改的。
而在实际使用过程中,对过长的数据进行非对称密钥加密算法的效率太低,为了节省时间,数字签名通常和数据摘要一起使用,数据摘要是一种不可逆的信息摘要算法,如MD5,通过摘要将数据长度缩短,然后只对摘要进行加密,即可大大提升加解密速度,其完整过程如下:
证书管理机构CA
在RSA加密体系中,由于公钥是直接暴露在互联网上了,此时虽然攻击者无法对发送方的密文进行破解,但此时还是有安全隐患的,即攻击者可以模仿发送者A将公钥发送给接受者B,此时B认为这就是A的公钥,所以B发向A的密文都是以攻击者的公钥加密的,在A发现问题之前,B发送的所有信息对攻击者来讲都是没有保密效果的,为了解决这个问题,经过一段时间的发展,出现了证书管理机构CA。
证书管理机构(Certificate Authority, CA)就是颁发数字证书的机构,是具有权威性、公正性的第三方机构,CA颁发的数字证书内包含被认证的服务的公钥,有效期,以及服务的一些其他信息,CA用自己的私钥对这些内容进行加密之后生成一个数字证书,颁发给被认证的服务,用户端通过HTTPS访问此服务端的时候,会先从服务端上下载数字证书,经过解密及信息验证之后,获得服务端的公钥,之后用户端再生成一个随机的密钥,将随机密钥经过服务的公钥进行加密之后发送给服务,此时这个随机密钥就只有用户和服务才知道,之后二者之间的通信全部经过这个随机密钥进行加密,即可达到安全访问的效果,其大致过程如图:
业界比较大的 CA 机构会被客户端软件广泛承认。比如一个浏览器承认某个 CA 的信用,就把这家机构的根证书(root certificate)内置在客户端当中,作为信任链的源头,后续的其他数字证书只要通过根证书的认证,就会认定为是可信的。
四、访问控制技术
访问控制的目的是为了保护企业在信息系统中存储和处理的信息的安全,访问控制包括三个要素:主体(S)、客体(O)、控制策略(KS);以及三方面的内容:认证、控制策略的具体实现、审计。
常见的访问控制的策略有:
- 自主访问控制(Discretionary Access Control DAC):DAC是一种基于用户或主体对资源的所有权来控制对资源访问权限的访问控制模型,常见的DAC的实现方式包括:
- 授权关系表(Authorization Relations):以权限(ACM中所有非空权限)为中心建立的权限表,描述了主体和客体之间的权限关系,按主体进行查询,就得到了相应的能力表,按客体查询,就得到了相应的访问控制表。
- 能力表(Cap-ability Lists):以主体(即ACM中的行)为中心建立的权限表,对主体指定具有哪些客体的访问权限。
- 访问控制列表(Access Control Lists,ACL):以客体(即ACM中的列)为中心建立权限表,对客体指定允许的主体的权限。
- 访问控制矩阵(Access Control Matrix,ACM):一个描述主体、客体及二者之间的访问权限的二维表格,每一行表示一个主体,每一列表示一个客体,二者的交叉部分即为主体对客体的访问权限。
- 强访问控制(Mandatory Access Control MAC):每个用户及文件都有一定的安全级别,只有系统管理员可以确定用户和组的访问权限,通过比较主体和客体的安全级别来决定是否可以访问该文件。
- 基于角色的访问控制(Role-based Access Control RBAC):将访问权限赋予一定的角色,用户通过扮演不同的角色获得角色所拥有的访问权限。
除了以上常见的访问控制策略之外,还有一些其他策略,比如基于属性的访问控制(Attribute-based Access Control, ABAC)、基于任务的访问控制(Task-Based Access Control,TBAC)、基于规则的访问控制(Rule-Based Access Control,Rule-BAC)等。需要注意的是,如果我们提到RBAC,一般是指基于角色的访问控制,而如果需要比较基于规则的访问控制的话,其简称则分别为Role-BAC和Rule-BAC。
五、信息安全的保障体系与评估方法
5.1. 计算机信息系统安全保护等级
计算机系统安全保护等级被划分为5个等级:用户自主保护级、系统审计保护级、安全标记保护级、结构化保护级、访问验证保护级;以下是按不同视角对这5种安全保护等级的描述:
5.2. 安全风险管理
信息系统的安全风险,是指由于系统存在的脆弱性,人为或自然的威胁导致安全事件发生所造成的影响。信息安全评估,则是依据国家有关信息安全技术标准,对信息系统及由其处理、传输和存储的信息的保密性、完整性和可用性等安全属性进行科学评价的过程。它要评估信息系统的脆弱性,信息系统面临的威胁性以及脆弱性被威胁源头利用后产生的实际的负面影响,并根据安全事件发生的可能性和负面影响的程度来识别信息系统的安全风险。
在进行风险评估前,需要考虑以下内容:风险评估的范围、目标、组织结构、系统性的方法以及获得最高管理者对策划的批准。
根据评估实施者的不同,风险评估分为自评估和他评估。
风险评估的基本要素为脆弱性、资产、威胁、风险、安全措施;与其相关的属性分别为业务战略、资产价值、安全需求、安全事件、残余风险。这些要素之间的关系为:
脆弱性评估是安全风险评估中的重要内容。弱点包括物理环境、组织、过程、人员、管理、配置、硬件、软件、信息等各种资产的脆弱性。脆弱性评估所采用的方法主要有问卷调查、人员问询、工具扫描、手动检查、文档审查、渗透测试等。
风险计算的过程如下:
1)对信息资产进行识别,并对资产赋值;
2)对威胁进行分析,并对威胁发生的可能性赋值;
3)识别信息资产的脆弱性,并对弱点的严重程度赋值;
4)根据威胁和脆弱性计算安全事件发生的可能性;
5)结合信息资产的重要性和发生安全事件的可能性,计算信息资产的风险值。