当前位置: 首页 > 产品大全 > 软件设计师考试核心 计算机网络、网络安全与信息安全软件开发要点笔记

软件设计师考试核心 计算机网络、网络安全与信息安全软件开发要点笔记

软件设计师考试核心 计算机网络、网络安全与信息安全软件开发要点笔记

一、 计算机网络基础

计算机网络的体系结构是软件设计师考试的核心基础,尤其需要深入理解OSI七层模型与TCP/IP四层模型的对应关系。

1. 协议与分层
物理层与数据链路层:理解常见传输介质(双绞线、光纤)、编码方式、帧结构。重点掌握以太网(CSMA/CD)MAC地址以及交换机的工作原理(基于MAC地址转发,隔离冲突域)。
网络层:核心是IP协议。必须熟练掌握IPv4地址分类(A、B、C、D、E)子网划分与VLSM(可变长子网掩码)CIDR(无类别域间路由)。理解ARP(地址解析)、ICMP(控制报文,如Ping)、路由协议(如RIP、OSPF的基本思想)的作用。
传输层TCP与UDP的对比是绝对重点。
TCP:面向连接、可靠传输。关键机制包括三次握手/四次挥手滑动窗口(流量控制)、拥塞控制(慢启动、拥塞避免、快重传、快恢复)。理解TCP报文头部的关键字段(序列号、确认号、窗口大小、标志位)。

  • UDP:无连接、不可靠但高效。适用于实时应用(音视频流、DNS查询)。
  • 应用层:熟悉常见协议端口号(HTTP:80, HTTPS:443, FTP:20/21, SMTP:25, DNS:53, DHCP:67/68)。理解其基本工作过程。

二、 网络安全基础

网络安全是保障软件系统可靠运行的前提,需从威胁、防护机制和管理三个层面把握。

1. 安全威胁与攻击类型
主动攻击:篡改、伪造、拒绝服务(DoS/DDoS)、重放攻击。
被动攻击:窃听、流量分析。

2. 核心安全服务与机制
机密性:通过加密技术实现。
完整性:确保数据未被篡改,常用消息摘要/哈希函数(如MD5、SHA系列)和数字签名验证。
认证性:确认实体身份,包括用户认证、消息认证。
不可否认性:通过数字签名可信第三方(CA) 实现,使发送方不能否认其行为。
* 访问控制:依据安全策略(如DAC自主访问控制、MAC强制访问控制、RBAC基于角色的访问控制)限制对资源的访问。

3. 关键技术
加密算法
对称加密(DES, 3DES, AES):加密解密密钥相同,速度快,适用于大量数据加密,但密钥分发困难。

  • 非对称加密(RSA, ECC):公钥加密,私钥解密(或反之),用于密钥交换和数字签名,速度慢。
  • 混合加密体系:实际常用,如用非对称加密传递对称密钥,再用对称密钥加密数据。
  • 数字证书与PKI:理解X.509证书格式、CA(证书颁发机构)RA(注册机构) 的作用,以及证书的申请、颁发、验证和撤销流程。
  • 网络安全协议
  • SSL/TLS:位于传输层与应用层之间,为HTTP(即HTTPS)、FTP等提供安全通道。
  • IPSec:在网络层提供安全服务,支持AH(认证头)和ESP(封装安全载荷)两种模式。
  • PGP:应用层安全电子邮件协议。

三、 信息安全软件开发实践

作为软件设计师,必须将安全思想融入软件开发生命周期(SDLC)的各个阶段。

1. 安全开发生命周期(SDL)
需求阶段:进行安全需求分析,识别安全目标与合规性要求(如等保2.0)。
设计阶段:进行威胁建模(如STRIDE模型),设计安全架构(最小权限原则、纵深防御、失败安全)。
编码阶段:遵循安全编码规范,避免常见漏洞。
测试阶段:进行安全测试,包括代码审计、渗透测试、模糊测试等。
* 部署与维护:安全配置、漏洞管理与应急响应。

2. 常见安全漏洞与防范(OWASP Top 10相关)
注入漏洞(SQL注入、命令注入):使用参数化查询/预编译语句,对输入进行严格过滤与转义。
跨站脚本(XSS):对输出到页面的用户数据进行HTML编码或过滤。
跨站请求伪造(CSRF):使用Anti-CSRF Token验证请求来源。
不安全的直接对象引用(IDOR):实施访问控制检查,避免使用可预测的标识符。
安全配置错误:遵循最小化原则,及时更新补丁,禁用不必要的服务与端口。
敏感信息泄露:不在客户端存储敏感信息(如密码、密钥),使用强加密算法,传输层必须使用TLS。
* 失效的访问控制:在服务端对每个请求进行严格的权限校验,避免仅依赖前端控制。

3. 软件安全设计与实现要点
身份认证:使用强密码策略、多因素认证(MFA),安全地存储密码哈希(加盐处理)。
会话管理:使用安全的、随机生成的会话ID,设置合理的会话超时时间,防范会话固定攻击。
数据安全
传输中:强制使用HTTPS(TLS 1.2+)。

  • 存储中:对敏感数据(如用户个人信息、支付信息)进行加密存储,密钥由硬件安全模块(HSM)或密钥管理服务妥善管理。
  • 日志与审计:记录关键安全事件(登录、权限变更、敏感操作),确保日志的完整性、机密性和可审计性。
  • 第三方组件安全:建立软件物料清单(SBOM),持续监控并更新第三方库/框架,及时修补已知漏洞。

****:软件设计师在计算机网络与安全领域的知识,不仅是为了通过考试,更是为了构建真正可靠、安全的软件系统。务必理解原理(如TCP如何保证可靠、非对称加密如何工作),并能在软件设计场景中应用安全原则(如最小特权、纵深防御)和具体技术(如防止SQL注入、正确实施HTTPS),做到理论与实践相结合。

如若转载,请注明出处:http://www.thhpout.com/product/48.html

更新时间:2026-04-04 10:31:04

产品列表

PRODUCT