密码系统的概念模型

2024-02-06 09:50
文章标签 系统 密码 概念模型

本文主要是介绍密码系统的概念模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

密码系统的概念模型

在这里插入图片描述

信息安全遭受攻击的类型?

信息安全的攻击:主要包括主动攻击和被动攻击。
被动攻击:
主要是信息的截取(Interception),指未授权地窃听传输的信息,企图分析出消息内容或者是通信模式。
主动攻击:
(1)中断(Interruption),阻止通信设施的正常工作,破坏可用性;
(2)篡改(Modification),更改数据流;
(3)伪造(Fabrication),将一个非法实体伪装成一个合法的实体;
(4)重放(Replay),将一个数据单元截获后进行重传

信息安全的目标有哪些?

① 机密性(Confidentiality)。
指保证信息不泄露给非授权的用户或者实体,确保保存的信息和被传输的信息仅能被授权的各方得到,而非授权用户即使得到信息也无法知晓信息的内容
通常通过访问控制机制阻止非授权的访问,通过加密机制阻止非授权用户或者信息的内容。
②完整性(Integrity)。
指消息未经授权不能进行篡改,要保证消息的一致性,即消息在生成、传输、存储和使用过程中不应发生人为或者非人为地非授权篡改(插入、修改、删除、重排序等)。
一般通过访问控制阻止篡改行为,同时通过消息摘要算法来检测信息是否被篡改。
③认证性(Authentication)。
指确保一个消息的来源或者消息本身被正确地标识,同时确保该标识没有被伪造,认证分为消息鉴别和实体认证。
消息鉴别是指接收方保证消息确实来自于所声称的源;实体认证指能确保被认证实体是所声称的实体,第三方不能假冒这两个合法方中的任何一方。
④不可否认性(Non-Repudiation)。
指能保证用户无法事后否认曾经对信息进行的生成、签发、接收等行为。
当发送一个消息时,接收方能证实该消息确实是由既定的发送方发来的,称为源不可否认性;
⑤可用性(Availability)。
指保障信息资源随时可提供服务的能力。即授权用户根据需要可以随时访问所需信息,保证合法用户对信息资源的使用不被非法拒绝。
典型的对可用性的攻击是拒绝服务攻击。
除了以上一些主要目标外,还有隐私性(Privacy),匿名性(Anonymity)等。

衡量密码体制安全性的基本准则?

(1)计算安全(Computational Security):如果攻破一个密码体制所需要的计算能力和计算时间是现实条件所不具备的,就认为相应的密码体制满足计算安全。
(2)无条件安全(Unconditional Security):如果假设攻击者在无限计算能力和计算时间的前提下,也无法攻破该体制,则认为相应的密码体制满足无条件安全。
(3)可证明安全(Provable Security):如果攻破一个密码体制意味着可以解决某一个经过深入研究的数学难题,就认为相应的密码体制满足可证明安全。

对加密体制的攻击从敌手具有的能力来看分为哪些?

1、唯密文攻击(Ciphertext Only Attack COA)。敌手(或密码分析者)只能通过考察密文,试图推到解密密钥或明文。
2、已知明文攻击(Known Plaintext Attack KPA)。敌手拥有一定量的明文和相应的密文。
3、选择明文攻击(Chosen Plaintext Attack 1 CPA1)。敌手可以选择明文,接着得到相应的密文。之后,敌手使用所拥有的信息,恢复以前未见过的密文的相应明文。
4、自适应选择明文攻击(Chosen Plaintext Attack 2 CPA2)。一种选择明文攻击,其中明文的选择可依赖于以前产生的密文。
5、选择密文攻击(Chosen Ciphertext Attack 1CCA1)。敌手可以选择密文,接着得到相应的明文。这种攻击的一种方法是敌手设法获取解密设备的访问权(但不是解密密钥,它可能被安全地嵌入到设备中)。然后,在不访问该设备的情况下,推导出(先前未询问过解密设备的)密文的明文。
6、自适应选择密文攻击(Chosen Ciphertext Attack 2 CCA2)。一种选择密文攻击,其中密文的选择可依赖于以前输入所产生的明文。

对加密体制的攻破包括几种情况?

对加密体制,攻击的最终目标是得到明文,但如果能得到密钥,则必然可以得到明文。加密体制的安全性从低到高主要有以下3类:
① 完全攻破:攻击者能得到使用的密钥(对公钥系统而言指私钥)。
② 部分攻破:攻击者可能不需要知道密钥,而对某些密文能直接得到明文。
③ 密文区分:攻击者能以超过1/2的概率解决以下两种不同形式描述的问题:一是给攻击者任意两个明文和其中任意明文的密文,攻击者判断是哪个明文的密文;二是给攻击者任意一个明文和该明文的密文,以及一个和密文等长的随机字符串,让攻击者判断哪个是密文。
目前,加密体制的最好安全标准时适应性选择密文攻击条件下密文不可区分,记为IND-CCA2。

密码系统的基本概念模型

定义: 密码系统(Cryptosystem)
一个密码系统是一个五元组(“P”,“C”,“K”,“E”,“D”),其中:
(1)“P” 是可能明文的有限集合(明文空间)【概率空间】
(2)“C " 是可能密文的有限集合(密文空间) 【概率空间】
(3)“K " 是可能密钥的有限集合(密钥空间) 【概率空间】
(4)“E”={ E k E_k Ek:k∈"K”}是加密函数的有限集合, E_k:“P"→"C” 是加密函数
(5) “D”={ D k D_k Dk:k∈"K”}是解密函数的有限集合, D k D_k Dk:“C"→"P” 是解密函数
正确性:对于任何e∈"K" ,都存在一个d∈"K" ,使得 D d ( E e ( p ) ) = p D_d (E_e (p))=p Dd(Ee(p))=p对所有 p∈"P" 都成立。(对称密码系统模型中,e=d)

柯希霍夫原则(Kerckhoffs’ principle)

一切公开,除了密钥。
一个密码设计方案中,除了密钥以外,其他信息都是公开的

  1. 算法公开(加密算法、解密算法)
  2. 明文空间公开
  3. 密钥空间公开
  4. 密文空间公开

柯希霍夫原则的意义

  1. 保密密钥相对简单,而保密算法较难
  2. 公开算法使得加密算法升级方便
  3. 公开的密码算法可接受公众检测,可信度高
  4. 不要自己设计加密算法,不要自己实现加密算法,统统留给专业人员!
  5. 不要使用任何人或组织提供的非公开密码算法

密码技术的基本应用

1、用加密来保护信息。利用密码变换将明文变换成只有合法者才能恢复的密文,这是密码的最基本的功能。利用密码技术对信息进行加密是最常用的安全交易手段。
2、采用密码技术对发送信息进行验证。为防止传输和存储的消息被有意或无意地篡改,采用密码技术对消息进行运算生成消息验证码(MAC),附在消息之后发出或与信息一起存储,对信息进行认证。它在票据防伪中具有重要应用(如税务的金税系统和银行的支付密码器)。
3、数字签名。在信息时代,电子信息的收发使我们过去所依赖的个人特征 都被数字代替,数字签名的作用有两点:一是接收方可以发送方的真实身份,且发送方事后不能否认发送国该报文这一事实;二是发送方或非法者不能伪造、篡改报文。数字签名并非是用手书签名的图形标志,二是采用双重加密的方法来防伪、防赖。根据采用的加密技术不同,数字签名有不同的种类,如私用密钥的数字签名、公开密钥的数字签名、只需签名的数字签名、数字摘要的数字签名等。
4、身份识别。当用户登录计算机系统或者建立最初的传输连接时,用户需要证明他的身份,典型的方法是采用口令机制来确认用户的真实身份。此外,采用数字签名也能够进行身份鉴别,数字证书用电子手段来证实一个用户的身份和对网络资源的访问权限,是网络正常运行所必须的。在电子商务系统中,所有参与活动的实体都需要用数字证书来表明自己的身份。

这篇关于密码系统的概念模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/683925

相关文章

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon