惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LangChain Blog
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
Microsoft Azure Blog
Microsoft Azure Blog
云风的 BLOG
云风的 BLOG
Google DeepMind News
Google DeepMind News
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
D
DataBreaches.Net
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements

OhYee 博客

小鹏辅助驾驶测评|OhYee 博客 小鹏非支持手机开启自动解锁|OhYee 博客 使用函数计算实现 301 重定向|OhYee 博客 针对 HTML 内容使用 Ant Design 图片弹框|OhYee 博客 博客进程泄露及僵尸进程解决|OhYee 博客 蓝易云服务器体验|OhYee 博客 SSH 调起本地 VSCode|OhYee 博客 【2022 秋招内推】阿里云后端研发工程师|OhYee 博客 使用函数计算获取 IP 地址信息|OhYee 博客 正确获取客户端 IP/HTTP Header 也可能重复|OhYee 博客 评测 Oculus Quest2 及 BigScreen|OhYee 博客 NextJS 热重载保留状态|OhYee 博客 如何优雅地贴 gist 代码|OhYee 博客 Linux 精细化文件权限|OhYee 博客 VSCode 容器开发环境|OhYee 博客 Clash 的不兼容更新排查|OhYee 博客 Zeek 导出 PCAP|OhYee 博客 记一次 ssh 配置问题|OhYee 博客 Git Commit 规范化工具|OhYee 博客 谈谈《星之卡比-探索发现》|OhYee 博客 VSCode 快捷键绑定 Shell 命令|OhYee 博客 ASN.1 语法及 X.509 证书格式解析解析|OhYee 博客 腾讯企业邮箱忽略 MX 记录发信|OhYee 博客 Chrome/Edge 标签组插件|OhYee 博客 【应届内推】阿里云后端研发工程师|OhYee 博客 损坏的 Typecho 备份处理为 JSON|OhYee 博客 VS Code VIM 插件高效使用|OhYee 博客 SSH 正反向代理|OhYee 博客 Let's Encrypt 根证书过期引发的问题|OhYee 博客 OpenWRT 忽略内核依赖|OhYee 博客
《密码编码学与网络安全》——基础概念|OhYee 博客
2020-02-25 · via OhYee 博客

《密码编码学与网络安全》——基础概念

《密码编码学与网络安全》笔记,第一章基础概念

这是一篇最后编辑于 6 年前 的文章,其内容可能与目前实际情况差异较大,请注意甄别

《密码编码学与网络安全》——基础概念

目录索引

计算机安全应有的属性

对于一个自动化的信息系统,采取保护措施确保信息系统资源(硬件、软件、信息、通信)的保密性完整性可用性

保密性(Confidentiality)

对信息的访问和公开进行授权限制,包括保护个人隐私和秘密信息

  • 保密性缺失:信息的非授权泄露
  • 数据保密性:隐私或秘密信息不向非授权者泄露,也不被非授权者使用
  • 隐私性:确保个人能够控制或确定与其自身相关的哪些信息是可以被收集、被保存的,这些信息可以有谁公开以及向谁公开

完整性(Integrit)

防止对信息的不恰当修改或破坏,包括确保信息的不可否认性和真实性

  • 完整性缺失:信息的非授权修改和破坏
  • 数据完整性:确保信息和程序只能以特定和授权的方式进行
  • 系统完整性:确保系统以一种正常的方式来执行预定的功能,免于有意或者无意的非授权操纵

可用性(Avaliabilty)

确保信息的及时和可靠的访问和使用,确保系统能够工作迅速,对授权用户不能拒绝服务
一般而言,可用性的保证不使用密码学的手段

  • 可用性的缺失:对信息和信息系统访问和使用的中断

真实性(Authenticity)

一个实体是真实、可被验证、可被信任的;对传输信息来说,信息和信息来源是正确的;也即能够验证发信人是否为可信信源

可追溯性(Accountability)

实体的行为可以唯一追溯到该实体,且这一属性支持不可否认性、阻止、故障隔离、入侵检测和预防、事后恢复以及法律诉讼

安全的分级

程度
对组织的损失、资产和个人的负面影响 有限 严重 灾难性
执行使命的能力 可见地降低
主要功能性能降低
显著降级
主要功能性能显著降低
严重
主要功能不能完成
资产损失 较小 显著 大部分
经济损失 很小 显著 大部分
个人伤害 跟小 显著 严重性(包含丧命)

OSI安全框架

安全攻击

任何危机信息系统安全的行为

被动攻击和主动攻击得区别在于是否对系统存在影响

被动攻击

试图了解或利用系统的信息但不影响系统资源,不涉及对数据的更改,很难被察觉
重在预防

  • 信息内容泄露:敏感信息被攻击者获取
  • 流量分析:通过观察传输信息的长度、频率等数据来确定通信主机的身份和位置,用于判断通信的性质

主动攻击

试图改变系统资源或影响系统运作
可以被检测,但是很难预防

  • 伪装:某实体假装别的实体,实现没有权限的实体通过冒充有权限的实体获得额外的权限
  • 重播:将获得的信息再次发送以产生非授权的效果
  • 消息修改:修改和发消息的一部分或延迟传输或改变消息顺序以获得非授权的效果
  • 拒绝服务:破坏整个网络,使其失效或降低性能

安全机制

用于检测、阻止攻击或者从攻击状态恢复到正常状态的过程(或实现该过程的设备)
特定安全机制

针对某些特定协议实现

  • 加密:运用数学算法讲数据转换成不可知的形式,数据的变换和还原依赖于算法和加密密钥
  • 数字签名:附加于数据单元后的一种数据,是对数据单元的密码变换,用于证明数据源和完整性,防止伪造
  • 访问控制:对资源行为进行访问控制
  • 数据完整性:保证数据单元或数据单元流的完整
  • 认证交换:通过信息交换保证实体身份的各种机制
  • 流量填充:在数据流空隙中插入若干位以阻止流量分析
  • 路由控制:能够为某些数据选择特殊的物理上安全的路线并允许路由变化
  • 公证:利用可信的第三方来保证数据交换的某些性质

普遍的安全机制

不属于任何协议层或安全服务

  • 可信功能:据某些标准认为使正确的功能
  • 安全标签:资源的标志,命名或指定该资源的安全属性
  • 事件检测:检测与安全相关的事件
  • 安全审计跟踪:收集可用于安全审计的数据,是对系统记录和行为的独立回顾和核查
  • 安全恢复:处理来自安全机制的请求

安全服务

加强数据处理系统和信息传输的安全性的一种处理过程或同性能服务,其目的在于利用一种或多种安全机制进行反攻击

  • 威胁:破坏安全的潜在可能,在环境、能力、行为或事件允许的情况下,他们会破坏安全造成危害。威胁是脆弱性被利用而可能带来的危险
  • 攻击:对系统安全的攻击,开源于一种具有智能的威胁,有意违反安全服务和侵犯系统安全策略的智能行为

一种由系统提供的对系统资源进行特殊保护的处理或通信服务;安全服务通过安全机制实现安全策略

  • 认证:保护信息的真实性,向接收方保证消息来自所声称的发送方
    • 同等实体认证:为连接中的同等实体(不同系统中实现相同协议的实体)提供身份确认。保证实体无法试图进行伪装或对之前的连接重播
    • 数据源认证:为数据源的来源提供确认,但对数据的复制和修改不提供报复
  • 访问控制:限制和控制那些通过通信连接对主机和应用进行访问的能力,实体必需被验证后才能获取相应的访问权限
  • 数据保密性:防止传输的数据遭到被动攻击;防止流量分析
  • 数据完整性:保证收到的消息与发出的消息一致,没有复制、插入、修改、更改顺序、重播
  • 不可否认性:防止发送方或接收方否认传输或接收过某种消息
  • 可用性服务:能够按被授权系统实体的要求访问或使用系统和系统资源的性质

安全性原则

原则 解释
节俭机制 软硬件设计应该尽可能简单
失效安全(防呆) 在系统失效后,默认的自动解决方案是失去权限保证安全
完全访问仲裁 每次访问都应该重新检查权限
开放式设计 算法应该公布出去,以便被其他专家审查问题
权限分离 大权限应该分离成多个小权限赋予用户
最小特权 用户和进程在完成功能的前提下应该拥有尽可能少的权限
公共机制最小化 应该尽可能少设计公共机制,减少被利用的机会,以便验证安全问题
用户友好 安全机制不应该过度影响用户使用
隔离 公共资源和私密资源、不同用户的文件与进程、安全机制与其他机制应该隔离
封装 按照面对对象的思想,加密数据只能被相应的程序读取
模块化 加密机制应该是一个独立的模块存在,由不同部分的程序引用
分层 使用多个重叠的安全机制来保护秘密数据,降低单个机制失效造成的泄露
减少惊讶 各种机制应该符合用户直觉使用,不应当让人困惑

基础概念

明文(Plaintext)
原始消息
密文(Ciphertext)
编码的消息
密钥(Secret key)
加、解密的使用的参数
加密(Encryption algorithm)
从明文到密文的转换过程
解密(Decryption algorithm)
从密文恢复明文的转换过程
密码编码学
研究如何对信息编码以实现信息和通信安全的科学
密码分析学
研究如何破解攻击受保护的信息的科学,依赖算法的性质、明文的一般特征或某些明密文对。企图利用算法特征来推导出明文或密钥

密码攻击类型

对于密码的要求,一般有以下两点:

  • 需要一个健壮的加密算法:即使对手知道了算法并且能够得知多个密文,也无法解密密文
  • 发送方和接收方应该以安全的方式保管密钥
密码分析者 消息源 加密算法 X Y=E(K,X) 解密算法 目的地 X
攻击类型 密文 加密算法 同密钥的多个明密文对(不可选择) 同密钥的多个明密文对(选择明文) 同密钥的多个明密文对(选择密文)
唯密文攻击
已知明文攻击
选择明文攻击
选择密文攻击
选择文本攻击