法国工程师IMT联盟 密码学及其应用 2023年期末考试补考题

1 JAVA 安全

1.1 问题1

1.1.1 问题

        用 2 或 3 句话解释 Java 执行模型(Java 虚拟机machine virtuelle Java))中引入introduit沙箱bac à sable机制 mécanisme d’exécution par isolation的目的。

1.1.2 问题解释

        在 Java 执行模型(Java 虚拟机)中引入的隔离执行机制(沙盒)的目的是提供一个安全 security的执行环境environnement,在这个环境中,代码在受限制的条件下运行,以此来防止未授权authorise的访问和对系统资源的潜在损害。这样做能确保运行的代码无法影响到系统的其他部分或访问敏感数据,从而保护用户的数据安全和系统的完整性。

1.2 问题2

1.2.1 问题

        通过一个图表及其相关说明来描述在Java虚拟机的沙箱中执行一个Java应用程序的解决方案la solution,特别是当应用程序需要从远程distant服务器上获取数据的情况。

1.2.2 问题解释

        在 Java 虚拟机(JVM)的沙箱环境中执行一个需要从远程服务器获取数据的 Java 应用程序主要涉及以下步骤和组件:

        Java 应用程序:这是运行在 JVM 上的代码,它需要访问远程服务器以获取数据。

        Java 虚拟机(JVM):JVM 提供了一个隔离的执行环境,称为沙箱,其中 Java 应用程序运行。这个沙箱限制了应用程序可以执行的操作,特别是对系统资源的访问。

        安全管理器(Security Manager):JVM 使用安全管理器来控制应用程序对敏感操作的访问权限。当应用程序尝试执行诸如网络访问等受限操作时,安全管理器会根据预定义的安全策略来允许或拒绝这些操作。

        安全策略(Security Policy):这是一组规则,定义了应用程序可以执行哪些操作,例如它可以与哪些远程服务器通信、可以访问哪些系统资源等。安全策略通过安全管理器强制执行。

        网络访问:为了从远程服务器获取数据,Java 应用程序使用标准的网络API(例如 `java.net.URL` 或 `java.net.HttpURLConnection`)发起网络请求。这些请求必须符合安全策略中定义的规则。

1.2.3 执行流程

        应用程序启动时,JVM 初始化并加载安全管理器和安全策略。

        当应用程序尝试连接到远程服务器时,它通过 JVM 的网络API发起请求。

        安全管理器检查请求,确定是否根据安全策略允许此操作。

        如果允许,请求被发送到远程服务器,服务器响应被返回给应用程序。

        如果不允许,操作将被拒绝,可能会抛出一个安全异常。

        这个过程确保了即使应用程序运行在沙箱环境中,也能安全地从远程服务器获取数据,同时保护系统免受未经授权的访问和潜在的恶意操作的影响。

2. 密码学

2.1 问题1

2.1.1 问题

        公钥加密和对称加密的优缺点是什么?

2.1.2 问题解答

2.1.2.1 对称加密(密钥加密)的优缺点
2.1.2.1.1 优点

        加解密速度快:对称加密算法通常基于简单的操作,如置换、替代、XOR运算和位移,使得它们在软件和硬件上都能高效执行,适合大量数据的加密

        可实现安全性极高:一次性密码本(Vernam Cipher)在理论上提供了无条件安全性,只要密钥随机、足够长且只使用一次,就无法被破解。

2.1.2.1.2 缺点

        密钥管理挑战:需要安全地分发和管理密钥,因为加密和解密使用同一个密钥。在多用户环境中,每对用户都需要一个唯一的密钥,随着用户数量增加,密钥管理变得复杂

        缺乏内建身份验证和不可否认性:对称加密本身不提供消息发送者的验证或不可否认性,需要额外的机制来实现。

2.1.2.2 非对称加密(公钥加密)的优缺点
2.1.2.2.1 优点

        解决了密钥分发问题:非对称加密使用一对密钥(公钥和私钥),其中公钥可以公开,私钥保密。这消除了密钥分发的难题,使得任何人都可以用公钥加密消息,但只有持有对应私钥的接收者能解密。

        提供身份验证和数字签名:非对称加密可以用于数字签名,提供消息来源的身份验证和不可否认性。

2.1.2.2.2 缺点

        速度慢:由于依赖于复杂的数学运算(如大数乘法、模幂运算),非对称加密通常比对称加密慢得多,不适合直接加密大量数据。

        仅提供计算安全性:虽然当前认为是安全的,但安全性基于计算难题(如大数分解、离散对数问题),理论上可能被未来的算法或量子计算破解。

        要公钥基础设施(PKI):为了防止中间人攻击,需要验证公钥的真实性,通常通过公钥基础设施(PKI)和数字证书来实现。

        总之,对称加密和非对称加密各有优劣,它们常常被结合使用以发挥各自的优点。例如,在安全通信协议如SSL/TLS中,非对称加密用于密钥交换,而对称加密则用于实际的消息加密,这样既保证了密钥分发的安全性,又能高效地加密数据。

2.2 问题2

2.2.1 问题

        在公钥加密中,公钥和私钥分别有什么用途?考虑不同的使用场景。

2.2.2 问题解答

        在公钥加密中,公钥和私钥有以下用途,适用于不同的场景:

        加密Encryption:发送方sender使用接收方recipient的公钥加密消息。由于只有接收方持有对应的私钥private key,因此只有接收方能解密decrypt该消息,这确保了信息传递过程的机密性confidentiality。

        数字签名Digital Signature:发送方用自己的私钥对消息进行签名。接收方或任何第三方都可以使用发送方的公钥来验证消息的签名,以确认消息未被篡改,并验证其来源的真实性authentic origin。

        认证Authentication:在某些协议中,私钥还用于身份验证过程authentication process ,以证明持有者对公钥的控制权,从而验证他们的身份。

        密钥交换:公钥加密cryptography也可用于安全的密钥交换过程,如在SSL/TLS协议中,客户端使用服务器的公钥来加密一个对称加密的会话密钥。服务器随后使用私钥解密这个密钥,用于接下来的对称加密通信。

2.3 问题3

2.3.1 问题

        PKI(公钥基础设施)或证书颁发机构的作用是什么?公钥证书中包含哪些信息以及它有什么用?你知道这种证书通常是什么格式的吗?

2.3.2 问题解答

        公钥基础设施(PKI)或证书颁发机构(CA)的角色是验证和颁发数字证书,确保公钥的真实性和可信度。CA作为一个受信任的第三方,负责为证书申请者的身份背书,并将其与公钥绑定在一起,发放一个数字证书。

一个公钥证书中通常包含以下信息:

        1. 证书持有者的信息:比如组织名称、组织所在国家、组织的网站等。

        2. 证书持有者的公钥:用于加密数据或验证数字签名。

        3. 证书颁发机构(CA)的信息:证书颁发者的名称和其他相关信息。

        4. 证书的有效期:证书的开始日期和结束日期。

        5. 证书序列号:证书的唯一识别码。

        6. 数字签名:CA用其私钥对证书内容的签名,可以用来验证证书的真实性。

        证书主要用于建立一个安全的通信环境,它可以用来在网络上安全地分发公钥,并通过这个公钥来进行加密通信或验证数字签名。数字证书还可以用于身份验证,比如 SSL/TLS 协议中的服务器和客户端身份验证。

        数字证书通常使用 X.509 标准格式,它是用于公钥证书和CA的一种标准格式。X.509 证书通常以 `.crt`、`.cer` 或 `.pem` 文件扩展名存储,并且可以包含一个或多个证书链。

2.4 问题4

2.4.1 问题

         比较公钥加密和对称加密中所需的密钥长度(以达到相同的安全级别)。如果你知道答案,请给出一些当前推荐的密钥长度。

2.4.2 问题解答

        公钥加密与对称加密为了达到相同的安全级别,所需的密钥长度是不同的。对称加密算法的密钥较短,因为它们通常基于比较复杂的算法,例如块加密算法或流加密算法。而公钥加密算法的密钥长度需要更长,以抵抗数学攻击,如分解大整数或解决离散对数问题,这些问题在短密钥情况下更容易被破解。

        通常,一个安全的对称加密算法密钥长度可能是128位,这在目前认为是安全的。然而,要达到相似的安全级别,公钥加密可能需要2048位或更长的密钥。

        目前推荐的一些密钥长度如下:

        对于对称加密算法,如AES(高级加密标准),通常推荐的密钥长度是128位、192位或256位。

        对于公钥加密算法,如RSA,推荐的密钥长度至少是2048位。对于更高的安全要求,有时甚至会使用3072位或4096位。
- 对于其他类型的公钥算法,如椭圆曲线加密(ECC),推荐的密钥长度较短,例如256位,这是因为椭圆曲线算法在较短的密钥长度下仍然能提供相当高的安全性。

        选择密钥长度时,应考虑当前的安全需求、计算资源以及未来潜在的威胁。随着计算能力的增强和量子计算的发展,安全推荐的密钥长度可能会增加。

2.5 问题5

2.5.1 问题

        量子处理器processeurs quantiques的可能出现对数字交流的保密性构成了什么威胁menace?我们如何准备以预防这种威胁?

2.5.2 问题解答

        量子计算机的潜在出现对于数字通信的保密性构成了显著的威胁。量子计算机利用量子位进行计算,能够极大地加快解决某些数学问题的速度,其中包括那些目前保护加密技术安全的问题,比如大整数分解和离散对数问题。这意味着,使用现有公钥加密方法(如RSA和ECC)加密的数据,可能会在量子计算机成熟后被迅速解密,从而威胁到加密通信的保密性。

        为了预防量子计算的威胁,研究人员和机构正在采取以下措施:

        1. 发展量子安全加密算法:这些算法被设计为即便面对量子计算机的强大计算能力,也能保持加密数据的安全。这些算法包括基于格的加密、哈希基加密和码基加密等。

        2. 实施后量子密码学(PQC):全球各地的研究人员和标准化机构正在努力开发和标准化后量子密码学算法,以提供量子计算时代的安全解决方案。例如,美国国家标准与技术研究院(NIST)正在进行一项计划,旨在标准化一组抵抗量子攻击的加密算法。

        3. 过渡和兼容性计划:为了确保平稳过渡到后量子加密算法,组织需要制定详细的计划,包括对现有系统的评估、更新和测试,以确保兼容性和安全性。

        4. 量子密钥分发(QKD):QKD是一种利用量子物理性质来安全分发密钥的技术。它提供了一种理论上无法被破解的密钥交换机制,可以与传统和后量子加密算法结合使用,以增强安全性。

        通过这些措施,我们可以为量子计算机带来的潜在威胁做好准备,保护数字通信的保密性不受影响。

2.6 问题6

2.6.1 问题

        什么是块加密?什么是操作模式?你知道一些操作模式的例子吗?        

2.6.2 问题解答

        块加密是一种加密方法,它将数据分成固定大小的块进行加密。与流加密相比,它不是逐位或逐字节加密,而是以块为单位处理数据。如果数据不足一个完整的块,通常需要进行填充以确保块的完整。

        操作模式(Mode of Operation)指的是在给定的块加密算法之上使用的技术,以安全地处理超过一个块大小的消息。操作模式定义了如何重复使用同一加密密钥对多个数据块进行加密和解密。

一些常见的操作模式包括:

        ECB(电子密码本模式,Electronic Codebook):最简单的操作模式,每个数据块独立加密。这种模式的问题是相同的明文块会产生相同的密文块,可能泄露信息。

        CBC(密码块链模式,Cipher Block Chaining):每个块在加密前会与前一个块的密文进行异或。这种模式需要一个初始化向量(IV)来开始加密过程。

        CFB(密码反馈模式,Cipher Feedback):将块加密转换为自同步的流加密。它允许数据被加密成与输入数据相同大小的单位,而不需要填充。

        OFB(输出反馈模式,Output Feedback):类似于CFB,但它是一种同步的流模式,使得明文中的一个位错误只影响相应的密文位。

        CTR(计数器模式,Counter):将块加密算法转换成流加密算法。它为每个块生成一个计数器值,然后将该计数器加密,与明文进行异或操作产生密文。

        不同的操作模式根据特定的安全需求和应用场景被选用,以确保数据的安全性和有效性。

3. Unix安全性

3.1 问题1

3.1.1 问题

        什么是块加密?什么是操作模式?你知道一些操作模式的例子吗?        

3.1.2 问题解答

        下图展示了一个公司内部网络的架构。网络防火墙Les pare-feu réseau的配置configurés使得员工可以访问互联网上的网站,并通过SMTP服务器发送和接收电子邮件。所有其他类型的访问都被阻止。公司现在想要建立doter一个可以从外部访问l’extérieur.的Web服务器(HTTP)。

        它应该放在哪里?

        需要修改哪些过滤规则,以及在哪个防火墙上?

根据提供的网络架构,如果企业想要建立一个可以从外部访问的Web服务器(HTTP):

        企业应该将Web服务器放置在一个被称为"隔离区"(或DMZ - 去军事化区)的网络区域中。隔离区是一种物理或逻辑子网,它为外部网络服务(如Web服务器、邮件服务器等)提供了一个单独的安全层,这个区域对内部网络是隔离的。通常,DMZ位于两个防火墙之间:一个面向公共互联网,另一个面向私有内部网络。

        需要修改哪些过滤规则,以及在哪个防火墙上?

        企业需要修改面向互联网的第一个防火墙(Pare-feu 1)的规则,以允许来自互联网的HTTP和HTTPS请求到达Web服务器。这可能包括以下规则更改:

        允许从互联网到DMZ区域Web服务器的端口80(HTTP)和443(HTTPS)的入站流量。

        确保所有从Web服务器发往内部网络的未经请求的入站连接都被阻止,以保护内部网络的安全。

        同时,还需要确保第二个防火墙(Pare-feu 2)继续阻止除已允许之外的所有入站连接,保护内部工作站不受未授权访问的影响。如果Web服务器需要与内部网络通信(比如数据库服务器),还需要为这些特定通信配置必要的规则。

        如果您需要建立一个用户数据库,您当然会注意不要明文存储密码,而是选择加密的方式存储。假设您选择了基于哈希函数的技术,如MD5、SHA-512、Blowfish等。

        怎样才能避免éviter 两个选择相同密码的人最终他们的加密密码以相同的方式被存储呢?

        为了防止两个用户选择相同的密码时产生相同的哈希值,可以使用称为“盐”(salt)的技术。盐是一个随机值,对每个用户都是唯一的,并且在密码哈希过程中与密码结合使用。这样即使两个用户选择了相同的密码,由于盐的值不同,经过哈希函数处理后得到的哈希值也会不同。

        这个过程通常如下:

        1. 当用户创建账户并设置密码时,系统会生成一个随机的盐值。

        2. 系统将这个盐值与用户的密码组合在一起,形成一个新的字符串。

        3. 系统对这个字符串使用哈希函数(如MD5、SHA-512、Blowfish等)进行处理,生成哈希值。

        4. 系统将生成的哈希值和盐值一起存储在用户数据库中。盐值通常是以明文存储,但它只有结合了对应的密码才能产生正确的哈希值。

        使用盐值的另一个好处是增加了哈希值的复杂性,这使得对密码进行暴力破解或使用彩虹表的攻击更加困难。此外,建议使用足够长度和复杂的盐值,并且选择安全性较高的哈希函数,因为像MD5这样的旧哈希函数已经被认为是不安全的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/369021.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【12321骚扰电话举报受理中心-短信验证安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

​埃文科技受邀出席2024 “数据要素×”生态大会​

2024“数据要素”生态大会(以下简称“大会”)于2024年6月30日在河南省郑州市举办,大会主题为“加快数据要素化进程 推动新质生产力发展”。 本次大会旨在搭建高水平交流合作平台、分享前沿观点、展示先进技术、交流实践经验,共同探…

开源模型应用落地-FastAPI-助力模型交互-WebSocket篇(五)

一、前言 使用 FastAPI 可以帮助我们更简单高效地部署 AI 交互业务。FastAPI 提供了快速构建 API 的能力,开发者可以轻松地定义模型需要的输入和输出格式,并编写好相应的业务逻辑。 FastAPI 的异步高性能架构,可以有效支持大量并发的预测请求,为用户提供流畅的交互体验。此外,F…

一个pdf分成,一个pdf分成两个,单个pdf分成多个

在数字化时代,pdf文件因其跨平台兼容性强、格式稳定等特点而成为工作与学习中的常用文件格式。然而,有时候我们可能只需要pdf文件中的某几个页面,而不是整个文档。这时,将一个pdf分成多个文件就变得尤为重要。本文将为你介绍几种简…

谷粒商城学习笔记-05-项目微服务划分图

文章目录 一,商城业务服务-前端服务二,商城业务服务-后端服务三,存储服务四,第三方服务五,服务治理六,日志七,监控预警系统1,Prometheus2,Grafana3,Prometheu…

SQLite

1、SQLite简介 轻量化、易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库。传统服务器型数据库用于管理多端设备,更加复杂。 SQLite是一个无服务器的数据库,是自包含的。这也称为嵌入式数据库,这意味着…

数据分析三剑客-Matplotlib

数据分析三剑客 数据分析三剑客通常指的是在Python数据分析领域中,三个非常重要的工具和库:Pandas、NumPy和Matplotlib。Pandas主要负责数据处理和分析,NumPy专注于数值计算和数学运算,而Matplotlib则负责数据可视化。这三个库相…

【安全攻防】网络安全中的序列化与反序列

1.序列化与反序列化 首先要了解序列化与反序列化的定义,以及序列化反序列化所用到的基本函数。 序列化:把对象转换为字节序列的过程称为对象的序列化,相当于游戏中的存档。 PHP中的序列化函数serialize() **serialize()**函数用于序列化对…

Appium自动化测试框架3

滑动与拖拽 swipe 滑动时间的长短会影响最后的结果的 是有一定误差的 from appium import webdriver import time # 启动一个字典 包装相应的启动参数 desired_caps dict() # 平台的名字,安卓还是IOS 大小写无所谓 desired_caps[platformName] Android # 平台的…

【串口通信】之TTL电平

1. 什么是串口 串口,全称为串行通信端口,是一种计算机硬件接口,用于实现数据的串行传输。与并行通信不同,串口通信一次只传输一个比特,数据通过串行线按顺序传输。串口通信在嵌入式系统、工业控制、计算机与外围设备通信等领域非常常见 2. 什么是串口通信 串口通信是指通过…

Docker 部署 Minio 对象存储服务器

文章目录 Github官网文档简介dockerdocker-compose.ymlmc 客户端mc 基础命令Golang 示例创建 test 账号密钥文件上传示例 Github https://github.com/minio/minio 官网 https://min.io/https://www.minio.org.cn/ 文档 https://www.minio.org.cn/docs/minio/kubernetes/up…

刚办理的手机号被停用,你可能遇到这些问题了!

很多朋友都会遇到手机号被停用的情况,那么你知道你的手机号为什么会被停用吗?接下来,关于手机号被停用的问题,跟着小编一块来了解一下吧。 ​停机的两种形态: 1、第一个是局方停机,即语音、短信和流量都不…

C++|哈希应用->布隆过滤器

目录 一、概念 二、模拟实现 三、布隆过滤器扩展应用 上一篇章学习了位图的使用,但它只适用于整数,对于要查询字符串是否在不在,位图并不能解决。所以针对这一问题,布隆过滤器可以派上用场,至于布隆过滤器是什么&am…

Java支付宝沙箱支付环境配置及简单测试

Java支付宝沙箱环境配置(测试) 1. 沙箱配置环境 沙箱应用 - 开放平台 (alipay.com) 2. 需要用到的基本信息 3. Pom文件添加依赖 <!--支付宝依赖 --><dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-easysdk</artifactId…

周鸿祎:大模型不是风口和泡沫,将引领新工业革命

7月2日&#xff0c;2023全球数字经济大会人工智能高峰论坛举行。360集团创始人周鸿祎在论坛发表《构建“安全可信可控易用”的企业级AI大模型》主题演讲。他表示&#xff0c;大模型不是风口和泡沫&#xff0c;将引领新工业革命。在城市、行业、企业数字化转型到智能化的过程中&…

#### golang中【堆】的使用及底层 ####

声明&#xff0c;本文部分内容摘自&#xff1a; Go: 深入理解堆实现及应用-腾讯云开发者社区-腾讯云 数组实现堆 | WXue 堆&#xff08;Heap&#xff09;是实现优先队列的数据结构&#xff0c;Go提供了接口和方法来操作堆。 应用 package mainimport ("container/heap&q…

C++:类型转换

目录 一、C语言中的类型转换 二、为什么C要新的转换格式 三、 C强制类型转换 1.static_cast 2.reinterpret_cast 3.const_cast 4.dynamic_cast 一、C语言中的类型转换 在C语言中&#xff0c;如果赋值运算符左右两侧类型不同&#xff0c;或者形参与实参类型不匹配&…

Land survey boundary report (template)

Land survey boundary report (template) 土地勘测定界报告&#xff08;模板&#xff09;.doc

可视化学习之pytorch可视化工具visdom

文章摘自详解PyTorch可视化工具visdom&#xff08;一&#xff09;-CSDN博客 模型训练过程中需要实时监听并可视化一些数据&#xff0c;如损失值loss&#xff0c;正确率acc等。在tensorflow中&#xff0c;使用的工具为tensorboard&#xff1b; 安装一下试试 1.安装 pip inst…

Android的课程学习助手APP-计算机毕业设计源码19307

基于Android的课程学习助手APP 摘 要 在数字化、信息化的时代背景下&#xff0c;移动学习已成为现代教育发展的重要趋势。为了满足广大学生对高效、便捷学习方式的迫切需求&#xff0c;一款基于Android平台的课程学习助手APP应运而生。这款APP巧妙地将先进的信息技术与学习体验…