密码算法、密钥体系---安全行业基础篇1

news2025/2/26 23:50:32

一、密码算法

密码算法是一种数学和计算方法,用于保护数据的机密性和安全性。不同的密码算法使用不同的数学原理和技术来加密和解密数据。以下是一些常见的密码算法类型:

1. **对称密码算法:** 

         特点:相同的密钥用于加密和解密数据。数据必须是块的整数倍。

        优缺点:优点是速度快,但缺点是密钥管理复杂,因为必须确保密钥的安全传输和存储。

        概念:key加密明文得到密文,key解密密文得到明文。 

        要素:密钥、明文、密文、块(加解密的数据最小单元)。

        用途:数据加密传输,只有拥有key的人才可以获取数据明文。

        种类:   AES(高级加密标准):广泛使用,用于加密敏感数据。块大小16字节
                     DES(数据加密标准)/3DES:早期的对称密码算法,现在不再视为安全。8字节

                     SM4(国密):块大小16字节

2. **非对称密码算法:** 

        特点:有一对密钥,一个用于加密,另一个用于解密

        优缺点:优点是不存在密钥交换问题,密钥管理更容易,但通常比对称算法慢,不适合做大量运算。

        概念:

                加密:发送者使用接收者的公钥加密

                解密:接收者使用自己的私钥解密

                签名:使用自己的私钥签名,一般对摘要值进行签名

                验签:使用签名者的公钥验证已签名的数据,保证数据的真实性。

        要素:密钥对(公钥:可公开。私钥:只有自己知道)。公钥运算则使用私钥还原,私钥运算则使用公钥还原。

        用途:数据加密传输,只有拥有key的人才可以获取数据明文。

        种类:RSA(常用)、ECC(椭圆曲线密码学)、SM2(国密)
 

3. **哈希函数:**

特点:防碰撞,即无法找到输出相同的两个输入。不能反向运算,即不可能由输出计算出输入

概念:一段任意长度的输入数据,经过哈希运算,可以生成一段固定长度的输出数据。输入输出为一一对应,用输出(较短)可以代表输入(任意长度)

要素:输入数据原文,输出摘要值。输入不一样,输出必然不一样。

用途:验证数据完整性、消息摘要、签名验签。

种类:MD5 输出长度16字节,已被攻破不安全。
            SHA1 输出长度20字节,已被攻破不推荐使用。
            SHA256 输出长度32字节,目前安全界的主流。
            SH512 输出长度64字节。
            SM3(国密) 输出长度32字节。

4. **密码协议:**

这些是用于在网络通信中保护数据机密性的特定协议和算法,如TLS/SSL用于加密Web连接。

密码算法的选择取决于特定的用途和安全需求。在设计或选择密码算法时,必须考虑密钥管理、性能、抵抗攻击的能力以及合规性等因素。此外,密码学的发展是一个不断演化的领域,新的算法和技术不断出现,以适应不断变化的威胁和安全挑战。因此,安全性专业人士需要密切关注密码学领域的最新发展。

二、密钥体系

密钥体系是一个关键的概念,用于管理和维护在加密和安全通信中使用的密钥。它是确保数据机密性和安全性的基础。密钥体系包括以下重要组成部分:

1. **密钥生成:** 密钥体系的第一步是生成密钥。密钥可以是对称密钥(用于对称加密算法)或非对称密钥(用于非对称加密算法)。生成密钥的过程应该是随机的和安全的,以防止恶意攻击者猜测密钥。

2. **密钥分发:** 生成密钥后,需要将密钥安全地传输到通信的各方。这通常涉及使用安全协议来确保密钥在传输过程中不被拦截或篡改。密钥分发是一个关键的挑战,因为它直接影响到系统的安全性。

3. **密钥存储:** 密钥必须在使用前安全地存储,以防止未经授权的访问。对于对称密钥,存储是特别重要的,因为任何能够访问密钥的人都可以解密数据。对于非对称密钥,私钥的安全性至关重要,因为它用于解密数据或进行数字签名。

4. **密钥更新:** 密钥不应永久不变,因为长时间使用相同的密钥会增加系统受到攻击的风险。因此,密钥体系应包括定期更换密钥的策略。

5. **密钥销毁:** 当不再需要使用某个密钥时,必须确保它被安全地销毁,以防止未经授权的访问。密钥销毁是数据安全的重要方面。

6. **密钥管理:** 密钥管理包括监控密钥的使用情况,跟踪密钥的生命周期,记录密钥的分发和销毁,以及响应与密钥相关的事件,如丢失或泄露。

7. **密钥策略和访问控制:** 密钥体系应该定义哪些实体有权访问哪些密钥以及如何使用这些密钥。访问控制和密钥策略可以确保只有授权的用户或系统可以访问密钥。

密钥体系的复杂性取决于应用的安全需求和使用的加密算法。在实际应用中,有时会使用密钥管理系统(Key Management System,KMS)来自动化和简化密钥的生成、分发、存储和管理。密钥管理是保护信息安全的重要组成部分,因此需要特别关注以确保数据的机密性和完整性。

 

在密钥体系中,Fixed Key、MK/SK和DUKPT是常见的术语,具有以下含义:

  1. Fixed Key(固定密钥):这是一种使用单个固定密钥进行加密和解密的密钥管理方案。固定密钥体系中,所有使用该密钥的加密操作都完全相同。这种方案的优点是简单易用,但缺点是如果密钥泄漏或被破解,整个系统的安全性将受到威胁。

  2. MK/SK(Master Key/Session Key):MK/SK是一种层次式的密钥管理方案,其中包含一个主密钥(Master Key)和会话密钥(Session Key)。主密钥用于生成临时的会话密钥,而会话密钥用于加密通信或数据。每个会话都使用一个独立的会话密钥,从而提高了系统的安全性。这种方案的优点是提供更好的密钥管理和更高的安全级别。

  3. DUKPT(Derived Unique Key Per Transaction):DUKPT是一种基于派生密钥的密钥管理方案。它使用主密钥派生出唯一的会话密钥,并且每个交易都使用不同的会话密钥进行加密。DUKPT通过使用不同的密钥来提高系统的安全性和追踪能力。每个会话密钥只在一个交易中使用,从而减少了密钥泄漏的风险。这种方案广泛应用于金融领域中的支付终端设备等场景。

总结起来,Fixed Key是一种简单的密钥管理方案,MK/SK是一种层次式的密钥管理方案,而DUKPT是一种基于派生密钥的密钥管理方案。每种方案都有其独特的优点和缺点,具体选择应根据安全需求和应用场景来决定。

在密钥体系中,以下是常见术语的解释:

  • PIK(PIN Encryption Key):用于加密和解密用户的个人识别号码(PIN)的密钥。PIK通常与每个帐户关联,用于保护帐户持有人的敏感信息。

  • DEK(Data Encryption Key):用于加密和解密数据的密钥。DEK可以用于保护存储在数据库、文件系统或传输过程中的数据。

  • MAK(Message Authentication Key):用于签名和验证消息完整性的密钥。MAK可用于确保数据在传输过程中没有被篡改或损坏。

  • KSN(Key Serial Number):密钥序列号是一种用于唯一标识加密设备或密钥的值。它通常与加密操作相关联,以确保使用正确的密钥。

  • IPEK(Issuer Public Encryption Key):发卡行公共加密密钥,用于生成分发给终端设备的工作密钥。IPEK允许发卡行与终端设备之间进行安全的密钥交换。

  • TR31(ANS X9.24 Part 1):是美国国家标准与技术研究所(NIST)发布的规范,用于定义密钥管理和密钥交换的协议。TR31通过协商和分发密钥来确保安全通信和数据保护。

TR31 Key Block是一种远程导入密钥的方法(报文规范格式),可以导入MK/SK中的MK、PIK、MAK,或DUKPT中的IPEK。KBPK用于对Key Block加密,终端与后台具有相同的KBPK。 

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

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

相关文章

14:00面试,14:08就出来了,问的问题有点变态

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到8月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%,…

雅思写作 三小时浓缩学习顾家北 笔记总结(三)

目录 顾家北饥饿网100个句子翻译 "Heritage sites threatened by urban development" "Heritage sites are threatened by urban development." We should not ignore face-to-face communication. We cannot ignore face-to-face communication. So…

电商项目part09 分布式事务SeataMQ可靠消息

分布式事务 在微服务架构中,完成某一个业务功能可能需要横跨多个服务,操作多个数据库。这就涉及到到了分布式事务,需要操作的资源位于多个资源服务器上,而应用需要保证对于多个资源服务器的数据操作,要么全部成功&…

数据统计汇总聚合

一些方法 特殊:数据聚合 可加入排序

Leetcode: 1. 两数之和 【题解超详细】

前言 有人夜里挑灯看花,有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来。 希望下面的题解可以帮助你们开始 你们的 leetcode 刷题 的 天降之路 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中…

Linux配置ADSL链接

在Linux中配置ADSL链接,可以按照以下步骤进行: 安装rp-pppoeconf工具,这个工具可以通过终端窗口使用。运行命令“rp-pppoeconf”来配置ADSL链接。终端窗口会显示一个向导模式,用于配置ADSL链接。输入用户名和密码。这些信息是用来…

强强联手 | 大势智慧与山维科技签署战略合作协议

8月30日,武汉大势智慧科技有限公司(以下简称“大势智慧”)与北京山维科技股份有限公司(以下简称“山维科技”)达成战略合作。双方将聚焦新型基础测绘建设与实景三维中国领域,携手为广大用户提供数据采集、生…

ShardingJDBC——分库分表实践

摘要 本文主要介绍分表分库,以及SpringBoot集成基于ShardingJDBC的单库分表实践。 一、Sharding-JDBC Sharding-JDBC是ShardingSphere的第一个产品,也是ShardingSphere的前身。 它定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使…

stable diffusion实践操作-embedding(TEXTUAL INVERSION)

本文专门开一节写图生图相关的内容,在看之前,可以同步关注: stable diffusion实践操作 可以理解为提示词的集合,可以省略大量的提示词。后缀safetensors,大小几十kb 正文 1、功能 可以理解为提示词的集合&#xff0…

IntelliJ IDEA创建Web项目并使用Web服务器----Tomcat

🏆IntelliJ IDEA创建Web项目并使用Web服务器----Tomcat 以下是本篇文章正文内容,下面案例可供参考(提示:本篇文章属于原创,请转发或者引用时注明出处。),大家记得支持一下!&#xff…

【权限提升-Windows提权】-UAC提权之MSF模块和UACME项目-DLL劫持-不带引号服务路径-不安全的服务权限

权限提升基础信息 1、具体有哪些权限需要我们了解掌握的? 后台权限,网站权限,数据库权限,接口权限,系统权限,域控权限等 2、以上常见权限获取方法简要归类说明? 后台权限:SQL注入,数…

云原生架构-架构师之路(十九)

云原生架构内涵 云原生架构 基于云原生技术,指将 云应用中的非业务代码部分进行最大化的剥离,让 云设施接管项目中大量非功能特性(如弹性、韧性、安全、可观测性和灰度等)。把质量属性 和 业务功能完全分离,我们自己的…

美创科技获通信网络安全服务能力评定(应急响应一级)认证!

近日,中国通信企业协会公布通信网络安全服务能力评定2023年第一批获证企业名单。 美创科技获得应急响应一级资质,成为2023年第一批获证企业之一! 通信网络安全服务能力评定是对通信网络安全服务单位从事通信网络安全服务综合能力的评定&#…

死锁 银行家算法

死锁 产生死锁的四个条件 资源互斥:资源是独占的且排他使用,进程互斥使用资源,即任意时刻一个资源只能给一个进程使用,其他进程若申请一个资源,而该资源被另一进程占有时,则申请者等待直到资源被占有者释…

Vue前端的一些表格组件的思考

当我们需要在前端中展示一些表格内容时&#xff0c;我们往往使用Vue的table来实现 1. 原生态实现 <template><div><table class"no-gap-table"><thead><tr><th class"styled-header" colspan"4">Column1&…

在ubuntu上安装ns2和nam(ubuntu16.04)

在ubuntu上安装ns2和nam 版本选择安装ns2安装nam 版本选择 首先&#xff0c;版本的合理选择可以让我们避免很多麻烦 经过测试&#xff0c;ubuntu的版本选择为ubuntu16.04&#xff0c;ns2的版本选择为ns-2.35&#xff0c;nam包含于ns2 资源链接(百度网盘) 链接:https://pan.bai…

Leetcode Top 100 Liked Questions(序号198~234)

​198. House Robber ​ 题意&#xff1a;你是一个强盗&#xff0c;你要去抢劫&#xff0c;每个房子都有特定金额的钱&#xff0c;但是不能拿相邻的房子的钱 我的思路 有点像动态规划&#xff0c;但是首先把每个结点空一格的后缀和得到&#xff0c;2n 之后从(in-1;i>0;i…

详解I2C

I2C&#xff08;也常写作 I I C IIC IIC&#xff0c; I 2 C I^2C I2C&#xff09;&#xff0c;全称为Inter-Integrated Circuit&#xff08;“互连集成电路”&#xff09;&#xff0c;用于在集成电路之间进行短距离数据传输。它由Philips&#xff08;现在的NXP半导体&#xff0…

龙迅LT6911UXE HDMI转2PORT MIPIDSI/CSI,支持单PORT 4K60HZ,内置MCU,加音频

龙迅LT6911UXE 1.描述&#xff1a; LT6911UXE是一款高性能HDMI2.0到MIPI DSI/CSI转换器&#xff0c;可用于VR、智能手机和显示器应用。 HDMI2.0输入支持高达6Gbps的数据速率&#xff0c;这为60Hz的视频提供了足够的带宽。同时&#xff0c;还支持 HDCP2.3进行数据解密。对于M…

centos7.6离线升级gcc

1.下载需要的gcc&#xff0c;我这里下载的8.3.0版本&#xff1a; 各版本gcc下载地址 2.上传服务器后解压&#xff1a; tar -zvxf gcc-8.3.0.tar.gz --directory/usr/local/3.进入目录&#xff1a; cd /usr/local/gcc-8.3.0/contrib4.查看需要的依赖包具体是什么版本&#xf…