密码系统的概念模型

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

相关文章

基于C++的UDP网络通信系统设计与实现详解

《基于C++的UDP网络通信系统设计与实现详解》在网络编程领域,UDP作为一种无连接的传输层协议,以其高效、低延迟的特性在实时性要求高的应用场景中占据重要地位,下面我们就来看看如何从零开始构建一个完整... 目录前言一、UDP服务器UdpServer.hpp1.1 基本框架设计1.2 初始化函数Init详解

C++简单日志系统实现代码示例

《C++简单日志系统实现代码示例》日志系统是成熟软件中的一个重要组成部分,其记录软件的使用和运行行为,方便事后进行故障分析、数据统计等,:本文主要介绍C++简单日志系统实现的相关资料,文中通过代码... 目录前言Util.hppLevel.hppLogMsg.hppFormat.hppSink.hppBuf

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

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详