计算机系统的安全性、可靠性与系统评测基础知识
在实际开发中,保障系统稳定运行是软件开发的核心基础——毕竟一款软件,再好用若不安全、老崩溃,也难以获得用户认可。
一、计算机安全概述:
计算机安全,本质上是保障计算机系统中的硬件、软件、数据不被意外或恶意地破坏、更改、泄露,确保系统能持续正常运行。我们常说的“信息安全”,就是计算机安全的核心范畴,其核心目标可以概括为3个“性”:
1机密性(Confidentiality):确保信息只被授权的人访问,不泄露给未授权者。比如公司的财务报表、用户的银行卡号,只能让特定人员查看,普通用户或黑客无法获取。像我们平时给文件加密、设置文件夹访问权限,都是为了保障机密性。
1完整性(Integrity):确保信息在存储或传输过程中不被篡改,保持原始状态。比如我们网购时的订单金额、转账信息,一旦被篡改,就会造成严重损失。生活中常见的文件校验(比如下载软件时核对MD5值)、数据备份校验,都是为了验证信息的完整性。
1可用性(Availability):确保授权用户在需要时能正常访问系统和信息,不被中断。比如电商平台在“双十一”期间,即使访问量暴增,也要保证用户能正常下单、支付,这就是可用性的核心要求。像服务器集群、容灾备份,都是提升系统可用性的常用手段。
除了这三大核心目标,计算机安全还包括抗否认性(比如电子签名,确保用户无法否认自己的操作)、可控性(比如管理员能控制用户的访问权限)等延伸目标。而威胁计算机安全的因素主要有两类:一是自然因素(如地震、火灾导致硬件损坏),二是人为因素(如黑客攻击、病毒感染、内部人员误操作等)。
二、加密技术与认证技术:
如果说安全概述是“安全理念”,那加密技术和认证技术就是实现安全的“核心工具”——加密技术负责“加锁”,防止信息泄露;认证技术负责“验身”,确认访问者的身份和信息的合法性。两者结合,才能构建起可靠的安全防护体系。
1. 加密技术:
加密技术的核心是通过算法将原始信息(明文)转换成不可直接识别的信息(密文),只有拥有密钥的人才能将密文解密回明文。根据密钥的使用方式,加密技术主要分为两类:
1对称加密(私钥加密):加密和解密使用同一个密钥。优点是加密速度快,适合大量数据加密;缺点是密钥需要安全传递,一旦密钥泄露,信息就会被破解。常见的对称加密算法有DES、AES,比如我们常用的Wi-Fi密码,就是通过AES算法加密传输的,路由器和手机使用同一个密钥进行解密验证。
1非对称加密(公钥加密):使用一对密钥(公钥+私钥),公钥可以公开,私钥只有自己持有;用公钥加密的信息,只能用对应的私钥解密,反之亦然。优点是无需传递密钥,安全性更高;缺点是加密速度慢,适合小量数据加密。常见的非对称加密算法有RSA,比如我们通过HTTPS访问网站时,服务器会公开自己的公钥,浏览器用公钥加密传输数据,服务器再用自己的私钥解密,确保数据传输安全。
2. 认证技术:
认证技术主要解决两个问题:一是确认访问者的身份(身份认证),二是确认接收的信息未被篡改且来自合法发送者(消息认证)。
1身份认证:验证用户是否为授权者,常见的方式有3类:一是“你知道的东西”(如密码、验证码),二是“你拥有的东西”(如U盾、手机验证码),三是“你本身的特征”(如指纹、人脸识别)。现在我们登录手机银行时,需要输入密码+接收短信验证码,就是“密码+动态口令”的双重身份认证,安全性比单一密码更高。
1消息认证:验证消息的完整性和发送者的合法性,常见的方式有消息验证码(MAC)、数字签名等。比如我们收到银行的转账通知短信,短信末尾会有一串“验证码”,这就是简单的消息认证,确保这条短信是银行发送的,且未被篡改;而电子合同中的数字签名,既能确认发送者身份,又能防止发送者事后否认,同时保障合同内容的完整性。
三、计算机可靠性:
计算机可靠性,简单来说就是“系统在规定时间内、规定条件下,完成规定功能的能力”。对于软件系统而言,可靠性直接影响用户体验——谁也不想用一款动不动就崩溃、闪退的APP。要理解可靠性,核心是掌握两个指标和两种提升方法:
1. 核心可靠性指标
1平均无故障时间(MTBF):指系统两次故障之间的平均时间,单位通常是小时。MTBF越长,说明系统越稳定,故障发生的频率越低。比如某服务器的MTBF是10000小时,意味着平均每运行10000小时才会出现一次故障。
1平均修复时间(MTTR):指系统发生故障后,从故障发生到恢复正常运行的平均时间,单位通常是小时或分钟。MTTR越短,说明系统故障修复速度越快,对用户的影响越小。比如某APP崩溃后,平均10分钟就能修复恢复正常,其MTTR就是10分钟。
有个简单的公式需要记一下:系统可用性 = MTBF / (MTBF + MTTR),可用性越接近1,系统的可用程度越高。比如MTBF=10000小时,MTTR=1小时,可用性就是10000/(10000+1)≈99.99%,属于高可用系统。
2. 提升可靠性的常用方法
1冗余设计:通过增加备份组件,确保某一组件故障时,备份组件能立即接替工作。比如服务器的双硬盘冗余(一块硬盘故障,另一块硬盘能继续存储数据)、数据的多副本备份(将数据存储在多个服务器上,防止单个服务器故障导致数据丢失)。
1容错设计:允许系统在出现部分故障时,仍能正常完成核心功能。比如我们常用的微信,即使某一个消息服务器故障,用户仍能发送文字消息(核心功能),只是可能暂时无法发送图片(非核心功能);再比如银行的交易系统,即使部分节点故障,也能确保用户转账、取款等核心操作正常进行。
四、计算机系统的性能评价:
计算机系统的性能评价,就是通过一系列指标和方法,衡量系统的运行效率、处理能力等,为系统优化提供依据。对于软件设计师来说,需要掌握核心性能指标和常用评价方法,既能在考试中答题,也能在实际工作中评估系统性能。
1. 核心性能指标
1响应时间:指系统从接收用户请求到返回处理结果的总时间,是用户最直观的性能感受。比如打开一个网页需要2秒,转账操作需要1秒,这2秒、1秒就是响应时间。响应时间越短,用户体验越好。
1吞吐量:指系统在单位时间内能够处理的请求数量,单位通常是“请求/秒”“事务/秒”。比如电商平台在高峰期,每秒能处理1000个下单请求,其吞吐量就是1000请求/秒。吞吐量越高,系统的处理能力越强。
1资源利用率:指系统硬件资源(CPU、内存、磁盘、网络)的使用比例。比如CPU利用率为80%,说明CPU有80%的时间在处理任务,20%的时间处于空闲状态;内存利用率为90%,说明内存大部分被占用,可能存在内存不足的风险。资源利用率过高或过低,都需要优化——过高会导致系统卡顿,过低则会造成资源浪费。
1并发用户数:指系统同时能支持的活跃用户数量。比如某在线教育平台,同时有5000名用户在观看直播,其并发用户数就是5000。并发用户数越高,说明系统的并发处理能力越强。
2. 常用性能评价方法
1基准测试法:通过运行标准化的测试程序(基准程序),对比不同系统的性能。比如测试CPU性能常用SPEC基准程序,测试数据库性能常用TPC基准程序。这种方法的优点是客观、可重复,适合对比不同系统的性能差异。
1负载测试法:通过逐步增加系统的负载(如增加并发用户数、请求量),观察系统性能指标的变化,找到系统的瓶颈。比如测试电商平台时,从100并发用户逐步增加到10000并发用户,记录不同负载下的响应时间和吞吐量,当响应时间突然大幅增加、吞吐量不再提升时,就找到了系统的性能瓶颈(可能是CPU、内存或数据库瓶颈)。
1模拟测试法:通过模拟实际用户的操作场景,测试系统在真实环境下的性能。比如模拟用户登录、浏览商品、下单、支付等一系列操作,持续一段时间,观察系统的稳定性和性能表现。这种方法更贴近实际使用场景,能准确反映系统的实际性能。
总结:
以上就是《安全性、可靠性与系统性评测基础知识》的4个核心要点,可以简单梳理一下:
|
1. 计算机安全:记住“机密性、完整性、可用性”三大核心目标,了解常见安全威胁; 2. 加密与认证:区分对称加密和非对称加密的特点、算法,掌握身份认证和消息认证的常见方式; 3. 可靠性:牢记MTBF、MTTR两个指标,掌握冗余设计、容错设计两种提升方法; 4. 性能评价:熟悉响应时间、吞吐量等核心指标,了解基准测试、负载测试等常用方法。 |


评论