法国工程师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.mfbz.cn/a/774435.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【车载开发系列】J-Link/JFlash 简介与驱动安装方法

【车载开发系列】J-Link/JFlash 简介与驱动安装方法 【车载开发系列】J-Link/JFlash 简介与驱动安装方法 【车载开发系列】J-Link/JFlash 简介与驱动安装方法一. 软件介绍二. 下载安装包二. 开始安装三. 确认安装四. J-Flash的使用 一. 软件介绍 J-Link是SEGGER公司为支持仿真…

昇思25天学习打卡营第07天 | 函数式自动微分

昇思25天学习打卡营第07天 | 函数式自动微分 文章目录 昇思25天学习打卡营第07天 | 函数式自动微分函数与计算图微分函数与梯度Stop GradientAuxiliary data 神经网络梯度计算总结打卡 神经网络的训练主要使用反向传播算法,首先计算模型预测值(logits&am…

【IC】mismatch model

由于工艺和制造偏差的存在,相同设计参数的器件会存在参数间额差异,称为mismatch,通常用Monte Carlo去仿真多个mismatch叠加对设计的总影响。 器件偏差mismatch是工艺和制造偏差导致的,在Lot to Lot、Wafer to Wafer、Die to Die 以及in die的Device to Deview之间可见。 …

OZON怎么查看竞品数据,OZON怎么找竞品数据

在跨境电商的激烈竞争中,了解和分析竞品数据是每一位卖家优化销售策略、提升市场竞争力的关键步骤。OZON作为俄罗斯领先的电商平台,为卖家提供了丰富的数据分析工具,而萌啦ozon数据作为第三方数据分析平台,更是为卖家提供了更为全…

四、centos7安装nginx

来源网站:山海同行 来源地址:https://shanhaigo.cn 网站简介:一站式编程学习、资源、导航网站 本篇资源:以整理分类并关联本篇地址 本篇地址:https://shanhaigo.cn/courseDetail/1805875642621952000 安装系统centos7 …

CASS7.0按方向和距离绘制图形

1、绘制工具 2、按方向和距离绘制 (1)切换方向 (2)距离输入

【算法:贪心】:贪心算法介绍+基础题(四个步骤);柠檬水找零(交换论证法)

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 前言: 暑假马上就要留校学习算法了,现在先学习一下基本的算法打打基础。本篇要讲的是…

数据库数据修改和删除操作详解

目录 🎃摘要 1. 数据库数据修改概述 2. 数据更新操作 2.1MySQL数据更新示例 3. 数据删除概述 4.使用DELETE进行数据删除 4.1 DELETE的基本语法 4.2 DELETE的使用场景 4.3 DELETE示例 5. 使用TRUNCATE进行数据删除 5.1 TRUNCATE的基本语法 5.2 TRUNCATE的…

Vue3:全局播放背景音乐

说明&#xff1a;一个全局播放的背景音乐&#xff0c;首页无音乐无音乐图标&#xff0c;在首页互动跳转页面并开始播放音乐&#xff0c;切换页面不需暂停音乐也不会重置音乐&#xff0c;可以通过音乐图标控制暂停或播放。 MusicPlay.vue&#xff08;音乐组件&#xff09; <…

新手高效指南:电子元器件BOM表创建/制作及配单全教程

在科技日新月异的今天&#xff0c;电子产品设计与制造不仅是创新精神的展现&#xff0c;更是对精确度与效率的不懈追求。在这个过程中&#xff0c;一份精细且全面的BOM&#xff08;物料清单&#xff09;犹如一座桥梁&#xff0c;连接着创意与现实世界。BOM不仅细致记录了产品所…

Facebook群发消息API接口的申请流程详解!

Facebook 群发消息api接口如何集成&#xff1f;怎么使用API接口&#xff1f; 在现代社交媒体营销中&#xff0c;群发消息是与客户保持互动的重要工具。Facebook群发消息API接口提供了一种有效的方法来实现这一目标。本文将详细介绍如何申请Facebook群发消息API接口的具体步骤和…

【qt】如何获取本机的IP地址?

需要用到这个类QHostInfo和pro里面添加network模块 用这个类的静态函数forName()来获取该主机名的信息 返回的就是这个类 这个QHostInfo类就包括主机的IP地址信息 用静态函数addresses()来获取 返回的是一个QHostAddress的容器 QList<QHostAddress>addrList hostIn…

深入分析 Android BroadcastReceiver (九)

文章目录 深入分析 Android BroadcastReceiver (九)1. Android 广播机制的扩展应用与高级优化1.1 广播机制的扩展应用1.1.1 示例&#xff1a;有序广播1.1.2 示例&#xff1a;粘性广播1.1.3 示例&#xff1a;局部广播 1.2 广播机制的高级优化1.2.1 示例&#xff1a;使用 Pending…

Gemini for China 大更新,现已上架 Android APP!

官网&#xff1a;https://gemini.fostmar.online/ Android APP&#xff1a;https://gemini.fostmar.online/gemini_1.0.apk 一、Android APP 如果是 Android 设备&#xff0c;则会直接识别到并给下载链接。PC 直接对话即可。 二、聊天记录 现在 Gemini for China&#xff…

mysql8 导入导出工具类,支持windows 和linux

概述 1&#xff09;导入导出工具类 支持windows 和linux&#xff0c;详见第3部分 2&#xff09;导入、导出参数在 dbeaver 中应用&#xff0c;详见第4部分 整理原因: 1&#xff09;中文乱码 --default-character-setutf8 2&#xff09;BLOB 导出后&#xff0c;导入失败 --he…

DatawhaleAI夏令营2024 Task2

#AI夏令营 #Datawhale #夏令营 赛题解析一、Baseline详解1.1 环境配置1.2 数据处理任务理解2.3 prompt设计2.4 数据抽取 二、完整代码总结 赛题解析 赛事背景 在数字化时代&#xff0c;企业积累了大量对话数据&#xff0c;这些数据不仅是交流记录&#xff0c;还隐藏着宝贵的信…

8.13 矢量图层面要素反转面要素渲染(Inverted polygons Renderer)

前言 本章介绍矢量图层面要素反转面要素(Inverted polygons Renderer)的使用说明&#xff1a;文章中的示例代码均来自开源项目qgis_cpp_api_apps 反转面要素(Inverted polygons Renderer) 反转面要素渲染常用于掩膜数据。 反转面要素(Inverted polygons Renderer)是一种渲染方…

软件测试之接口自动化测试实战(完整版)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 自从看到阿里云性能测试 PTS 接口测试开启免费公测&#xff0c;就想着跟大家分享交流一下如何实现…

使用笔记之-E语言微信支付支付宝支付源代码

首先下载E语言微信支付&支付宝支付源代码 http://www.htsoft.com.cn/download/E_WeiXin_ZhiFuBao_ZhiFu.rar