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

news2024/11/23 11:43:49

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.coloradmin.cn/o/1888172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

带电池监控功能的恒流直流负载组

EAK的交流和直流工业电池负载组测试仪对于测试和验证关键电力系统的能力至关重要,旨在实现最佳精度。作为一家客户至上的公司,我们继续尽我们所能应对供应链挑战,以提供出色的交货时间,大约是行业其他公司的一半。 交流负载组 我…

Python面试宝典第4题:环形链表

题目 给你一个链表的头节点 head ,判断链表中是否有环。如果存在环 ,则返回 true 。 否则,返回 false 。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环&#xf…

基于多视点编码光场的全景三维重建方法

欢迎关注GZH《光场视觉》 摘要:在基于光场的一系列应用中,目标的三维重建是基础且关键的任务。普通光场只能重建单一视角而无法重建全景,并且在纹理特征匮乏的区域也无法生成准确的三维信息。针对以上问题,提出一种基于多视点编码…

端口被占用的解决办法、netstat命令;Linux ps命令详解,Linux查看进程

文章目录 一、端口被占用的原因二、端口被占用的解决方法2.1 Windows系统2.2 Linux系统 三、Linux命令补充3.1 Linux查看端口占用情况3.2 netstat命令详解3.3 ps命令3.3.1 常用命令3.3.2 拓展命令3.3.3 字段补充 运行软件或程序时,有时会出现以下问题、导致运行失败…

JavaScript中的立即执行函数表达式(Immediately Invoked Function Expression, IIFE)

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介JavaScript中的立即执行函数表达式(Immediately Invoked Function Expression, IIFE)1. 引言2. IIFE的概念2.1 概述2.2 语法2.3 历史背景 3. IIFE的作用3.1 创建独立作用域3.2 模块化代码3.3 防止变量提升3.…

我不小心把生产的数据改错了!同事帮我用MySQL的BinLog挽回了罚款

之前在生产做修改数据的时候不小心改错了一行数据,本来以为会被通报批评,但是同事利用binlog日志查看到了之前的旧数据,并且帮我回滚了,学到了,所以写了一篇binlog的文章分享给大家。 MySQL的Binary Log(简…

CentOS 7 停止维护(2024-6-30)后可用在线yum源 —— 筑梦之路

众所周知,centos 7 在2024年6月30日,生命周期结束,官方不再进行支持维护,而很多环境一时之间无法完全更新替换操作系统,因此对于yum源还是需要的,特别是对于互联网环境来说,在线yum源使用方便很…

标注比赛一种计分方法

这段时间试着在公司内部举办一场图片标注大赛,我负责制定规则,挑选比赛素材。这几天试了一种得分计算方法,结果尚可。利用我司研发的标注工具,我们很容易就可以得出下图结果。 这个结果中的标注框其实就是标准答案,漏检…

面向物联网行业的异常监控追踪技术解决方案:技术革新与运维保障

在现代高度数字化和互联的环境中,物联网技术已经深入到我们生活的方方面面。特别是在家庭和工业环境中,物联网系列通讯作为连接各类设备的关键枢纽,其稳定性和可靠性显得尤为重要。本文将介绍一种创新的监控系统,旨在实时跟踪和分…

无人机基础知识(模式篇)

姿态模式:姿态模式通常是在GPS模式无法使用的情况下进行操作的模式。通过操作杆对无人机进行操控,姿态模式下无人机只能提供自稳,不提供定点悬停,受外界影响很大; GPS模式:GPS模式通俗一点就是依靠GPS将无…

电路笔记(PCB):电流容量(IPC-2221和IPC-2152)+阻抗匹配

电流容量 IPC-2221经验公式 I K T b A c IK\times T^{b}\times A^{c} IKTbAc 这个公式用于估计PCB(Printed Circuit Board,印刷电路板)导线上的电流(I),其中T和A分别表示温度(Temperature&a…

SQL语句(DDL)

关系型数据库:建立在关系模型基础上,由多张相互连接的二维表组成的数据库 SQL语句 DDL-数据库操作 DDL-表操作-查询 DDL-表操作-创建 创建一个名为tb_user的表 mysql> use itheim; Database changed mysql> create table tb_user(-> id …

Python基础入门知识

目录 引言 简要介绍Python语言 为什么要学习Python Python的应用领域 Python安装和环境配置 Python的下载和安装(Windows, macOS, Linux) 配置Python环境变量 安装和使用IDE(如PyCharm, VS Code) Python基本语法 注释 变量和数据类型(数字,字符串,列表,元组,字典,…

【CUDA】 由GPGPU控制核心架构考虑CUDA编程中线程块的分配

GPGPU架构特点 由于典型的GPGPU只有小的流缓存,因此一个存储器和纹理读取请求通常需要经历全局存储器的访问延迟加上互连和缓冲延迟,可能高达数百个时钟周期。与CPU通过巨大的工作集缓存而降低延迟不同,GPU硬件多线程提供了数以千计的并行独…

服务器数据恢复—raid5阵列硬盘出现大量坏道的数据恢复案例

服务器存储数据恢复环境&故障: 一台DELL EqualLogic PS 4000存储中有一组由12块磁盘组建的raid5阵列,存储空间划分3个同等大小的卷,采用的VMFS文件系统。 两块硬盘指示灯亮黄色,raid5阵列崩溃,存储变得不可用。 服…

尝试修改苍穹外卖为”李小罗餐厅“

学习苍穹外卖后,将其修改为自己所需要的项目,也是对苍穹外卖项目的加深理解 对项目之间的连接等关系进一步清晰,那么便开始吧 d1_开始修改 修改名字为”李小罗餐厅“ src\views\login\index.vue src\router.ts 结果展示 修改进来之后的展示…

昇思25天学习打卡营第9天|MindSpore-Vision Transformer图像分类

Vision Transformer图像分类 Vision Transformer(ViT)简介 近些年,随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大地促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩展性,它已经能够训练具有超过100B参数的空前…

2.2.5 C#中显示控件BDPictureBox 的实现----ROI交互续2

2.2.5 C#中显示控件BDPictureBox 的实现----ROI交互续2 1 ROI数组作用说明 变量:m_ROIs[5] ROI 使用效果图 ROI数组说明 2 ROI显示逻辑图 ROI 交互主要是在设定状态下, runmode下只要普通显示即可 3 主要ROI显示函数函数 判断当前鼠标是否获取…

20240702在vmware17.5虚拟机中让ubuntu22.04使用主机的代理上网

20240702在vmware17.5虚拟机中让ubuntu22.04使用主机的代理上网 2024/7/2 14:41 百度:vmware 虚拟机 使用主机代理 上网 https://blog.csdn.net/nomoremorphine/article/details/138738065?utm_mediumdistribute.pc_relevant.none-task-blog-2~default~baidujs_ba…

周下载量20万的npm包---store

https://www.npmjs.com/package/store <script setup> import { onMounted } from vue import store from storeonMounted(() > {store.set(user, { name: xutongbao })let user store.get(user)console.log(user) //对象console.log(localStorage.getItem(user)) //…