区块链安全基础一
关键词:信息安全 网络安全 (非)对称加密 密钥管理技术
一. 信息安全知识基础
1.1 信息安全定义&特征
1.1.1信息安全的定义:
a. 信息系统的安全(也称实体安全,系统运行的安全)
b. 特定信息体系的安全
- 系统中信息的安全(用户权限的限制,数据加密)
- 管理安全(对信息资源和系统运行的管理)
1.1.2信息安全的特征
a. 保密性
b. 完整性
c. 可用性
d. 可控性
e. 可审查性
关于五种特征的解释:
(1)保密性:保密性是指信息不泄漏给非授权的个人、实体和过程,或供其使用的特性。
(2)完整性:完整性是指信息未经授权不能被修改、不被破坏、不被插入、不延迟、不乱序和不丢失的特性。对网络信息安全进行攻击其最终目的就是破坏信息的完整性。
(3) 可用性:可用性是指合法用户访问并能按要求顺序使用信息的特性,即保证合法用户在需要时可以访问到信息及相关资产。
(4)可控性:可控性是指授权机构对信息的内容及传播具有控制能力的特性,可以控制授权范围内的信息流向以及方式。
(5)可审查性(抗抵赖性):在信息交流过程结束后,通信双方不能抵赖曾经做出的行为,也不能否认曾经接收到对方的信息。
1.2 网络安全的定义&特征
1.2.1 网安定义
a. 硬件安全
b. 软件安全
c.系统中数据的安全
1.2.2网安特征
a.保密性
b.完整性
c.可用性
d.可控性
1.3 网络信息安全技术需求
1.3.1 网络物理安全(实体安全)
指所有支持网络系统运行的硬件总体安全。
物理安全的需求主要有:
- 环境安全
- 设备安全(物理防备)
- 媒体安全(媒体数据&媒体本身)
1.3.2网络认证
定义:实现网络资源访问控制的前提和依据。
作用:标识,鉴别网络资源访问者身份的真实性
1.3.3 网络访问控制
网络访问控制是有效保护网络管理对象,使其免受关键技术方法。其目标主要有两个:
(1)限制非法用户获取或使用网络资源。
(2) 防止合法用户滥用权限,越权访问网络资源。
1.3.4网络安全保密
目的: 就是防止非授权的用户访问网上信息或网络设备。
为此,重要的网络物理实体能够采用辐射干扰机技术,防止通过电磁辐射泄露机密信息。
1.3.5网络安全监测
作用: 发现系统入侵活动和检查安全保护措施的有效性,以便及时报警给网安管理员
1.3.6网络漏洞评估
作用: 扫描弱点&漏洞
1.3.7 防范网络恶意代码
1.3.8 网络安全应急响应
1.3.9 网络安全体系
网络安全的实现不仅仅取决于某项技术,而是依赖于一个网络信息安全体系的建立,这个体系包括安全组织机构、安全制度、安全管理流程、安全人员意识等。通过安全体系的建立,可以在最大程度上实现网络的整体安全,满足企业或单位安全发展的要求。
1.4 信息安全策略
- 物理安全
- 访问控制
- 防火墙
- 信息加密
- 网络安全管理
1.5 相关法律
二. 密码学基础
2.1 密码基本知识
2.2 古典密码体制
2.2.1 单表密码
(仅个人兴趣列出 非必须掌握)
- 凯撒密码
该算法表示为:
(c代表密文,p代表明文)
仿射密码
仿射密码的主要特点是使用一个线性函数进行加密和解密。
加密过程:
在仿射密码中,字符通过以下公式进行加密:
E(x)=(ax+b) mod m
E(x):加密后的字符
x:原字符在字母表中的位置(例如,A=0,B=1,C=2,…,Z=25)
a 和 b:密钥,其中 a必须与字母表的大小 m 互质
m:字母表的大小(例如,对于英文字母,m=26)
假设我们选择 a=5 和 b=8,加密字母 “C”:
C 的位置 x=2
加密:E(2)=(5⋅2+8)mod 26=18
对应字母为 “S”
乘法密码
加密公式为:
E(x)=(a⋅x)mod m
- E(x):加密后的字符
- x:原字符在字母表中的位置(例如,A=0,B=1,C=2,…,Z=25)
- a:密钥,且必须与字母表的大小 m 互质
- m:字母表的大小(对于英文字母,m=26)
密钥词组密码
加密过程
选择密钥词组:首先选择一个密钥词组,去掉重复字母并将字母的顺序保留。
例如,如果选择的密钥词组是 “SECURITY”,则变为 “SECURIT”(去掉重复的 “I”)。
生成替代字母表:使用密钥词组的字母开头,后面跟上字母表中未在密钥词组中的字母。
密钥字母:S E C U R I T
剩余字母:A B D F G H J K L M N O P Q V W X Y Z
生成的替代字母表:
1
S E C U R I T A B D F G H J K L M N O P Q V W X Y Z
加密文本:用原字母表的字母替换为替代字母表中的字母。
2.2.2 多表密码
2.2.2.1普拉斐尔密码
加密过程
选择密钥:选择一个密钥词(例如 “PLAYFAIR”),去掉重复字母并将其填入一个5x5的矩阵中。
填充矩阵:在密钥的基础上,依次填入剩余字母(通常将 “I” 和 “J” 合并为一个字母,矩阵中只使用一个)。
例如,使用 “PLAYFAIR” 作为密钥,矩阵为:
1
2
3
4
5P L A Y F
I R B C D
E G H K M
N O Q S T
U V W X Z准备明文:将明文按两两分组。如果有重复的字母,插入一个填充字母(通常使用 “X”)。如果最后一组只有一个字母,则在其后添加一个填充字母。
例如,明文 “HELLO” 变为 “HE LL OX”(分组为 “HE”, “LX”, “OX”)。
加密规则:
- 同列:如果两个字母在同一列中,则用其下方的字母替换(循环回到顶部)。
- 同行:如果两个字母在同一行中,则用其右边的字母替换(循环回到左边)。
- 不同行不列:如果两个字母在矩阵的不同位置,形成一个矩形,则用矩形的对角字母替换。
例如,加密 “HE”:
- H(第3行第3列) 和 E(第3行第1列) 形成一个矩形,加密为 “BK”。
重复上述步骤:对所有分组进行加密。
解密过程
解密过程与加密过程相反,使用相同的矩阵和规则:
- 同列:用上方的字母替换。
- 同行:用左边的字母替换。
- 不同行不列:用矩形的对角字母替换。
2.2.2.2 维吉尼亚密码
加密过程
选择关键词:选择一个关键词(例如 “KEY”),并将其重复直到与明文长度相同。
明文和关键词对齐:将明文与关键词字符逐一对齐。
例如,明文为 “HELLO WORLD”,关键词为 “KEY”,对齐后:
1
2H E L L O W O R L D
K E Y K E K E Y K E
解密过程
解密过程与加密过程相似,但公式反转:
示例
假设明文为 “HELLO WORLD”,关键词为 “KEY”:
- 重复关键词:将 “KEY” 重复,得到 “KEYKEYKEYK”。
- 对齐并加密:
- H (7) + K (10) = R (17)
- E (4) + E (4) = I (8)
- L (11) + Y (24) = J (9)
- L (11) + K (10) = V (21)
- O (14) + E (4) = S (18)
- 空格不加密
- W (22) + K (10) = G (6)
- O (14) + E (4) = S (18)
- R (17) + Y (24) = P (15)
- L (11) + K (10) = V (21)
- D (3) + E (4) = H (7)
最终加密结果为 “RIJVS GSPVH”。
2.2.2.3 希尔密码
2.3 现代密码体制
2.3.1 对称密码体制
加密解密用同一把密钥 or 两把密钥之间可以推理出来
对称加密算法的优点:
- 加,解密处理速度快
- 保密度高
对称加密算法的缺点:
- 密钥分发困难
- 密钥管理困难
举例:
数据加密标准(DES)算法:
DES算法特点:
(1)分组加密算法:以64位为分组,64位一组明文输入,
64位密文输出。
(2) 对称算法:加密和解密用同一密钥。
(3)有效密钥长度为56位:密钥通常表示为64位数,但每个第8位都用作奇偶校验,可以忽略。
(4)代替和置换:DES算法是两种加密技术的组合,先代替后置换。
(5) 易于实现:DES算法只是使用了标准的算术和逻辑运算,其作用的数最多也只有64位,并且,算法的重复特性使得它可以非常理想地在一个专用芯片中实现
2.3.2 非对称密码体制
加密解密用不同密钥 or 两把密钥之间很难推理出来
非对称加密算法的优点:
1. <span style = "color: red;">密钥分发简单</span>
2. <span style = "color: red;">密钥管理便捷</span>
3. <span style = "color: red;">可以实现签名</span>
非对称加密算法的缺点:
- 加密解密处理速度较慢
- 同等安全强度下公钥密码体制的密钥位数要求多一些
举例:
- RSA密钥生成原理
- EIGamal公钥密码技术
- 椭圆曲线密码技术
[具体解释等如果到时候我再遇到就去查了补充在这里QwQ]
三.密钥管理技术
一个完整的保密通信系统
由
密码体制(密码算法,及所有的明文,密文和密钥)
信源
信宿
攻击者
构成。
加解密算法一般都是公开的,所有的密码技术都依赖于密钥。当密码算法确定后,密码系统的保密程度就完全取决于密钥的保密程度。
密钥管理定义
密钥管理涉及密钥的产生和存储、分发、使用、更新(替换)、备份和恢复、以及撤销和销毁等,涵盖了密钥的整个生存周期。
密钥管理目的
- 确保密钥的安全性
- 确保密钥的有效性
- 密钥的分发和分享
- 密钥的更新和轮换
- 密钥的备份和恢复
- 监控和审计
3.1 密钥的类型和组织结构
3.1.1 关于密钥长度
密钥是安全通信的必要长度之一
长度决定因素:
- 数据价值
- 所需安全期
- 攻击者资源情况
- 计算机计算能力
- 加密算法的发展
3.1.2密钥的产生与存储
产生与生成算法有关:大部分采用随机或伪随机过程
存储:有无介质,记录介质,物理介质等几种
3.1.3密钥的使用&更新(替换)
密钥的使用是指从存储介质上获得密钥,进行加密和解密的技术活动。
密钥的更新和替换是指定期更换密钥,以增强系统的安全性和保护密钥的长期有效性
3.1.4密钥的备份与恢复
备份:在密钥使用期内,存储一个受保护的拷贝,用于恢复遭到破坏的密钥
恢复:当一个密钥由于某种原因被破坏了,在还没有泄露出去以前,从它的一个备份重新得到密钥的过程
3.1.5密钥的销毁和撤销
销毁:一般针对公钥证书所对应的密钥,撤销后密钥不再具备使用效力。
自然撤销:当证书到期时
按需撤销
密钥更换后,原来的密钥必须销毁。密钥不再使用时,该密钥所有的拷贝都必须删除,生成或构造该密钥的所有信息也应该被全部删除。
3.2 密钥托管技术
定义:提供一种密钥备份与恢复的途径,也称为托管加密
实现手段:把加密的数据和数据恢复密钥联系起来,通过一个防窜扰的托管加密芯片(Clipper芯片)来实现,该技术包括两个主要的核心内容:
- skipjack加密算法
- LEAF
密钥托管技术在具体实施时有三个主要环节:生产托管Clipper芯片、用芯片加密通信、无密钥存取
技术组成:USC KEC DRC
(这几个模块的相互关系:这几个模块的相互 关系:USC用密钥K加密明文,并且在传送的同时传送一个数据 恢复域DRF(Data Recovery Field), DRC则从KEC提供的和DRF 中包含的信息中恢复出密钥K来解密密文。)
1.USC:
(1)USC: USC由软件、硬件组成(一般情况下,硬件比 软件安全、不易发生窜扰),提供数据加密/解密的能力,执 行支持数据恢复的操作,同时也支持密钥托管。这种支持体 现在将数据恢复域(DRF)附加到数据上。
USC的功能表现在以下几个方面:
1 提供具有数据加解密能力的算法及支持密钥托管功能的硬 件或相关软件。
2 提供通信(包括电话、电子邮件及其他类型的通信,由相 关部⻔在法律许可的条件下对通信的监听后执行对突发事件 的解密)和数据存储的密钥托管。
3 提供突发解密的识别符(包括用户或USC的识别符、密钥 的识别符、KEC或托管代理机构的识别符)和密钥(包括属 于芯片单元密钥KEC所使用的全局系统密钥,密钥还可以是 公钥或私钥,私钥的备份以托管的方式有托管机构托管)。
2.KEC:
(2)KEC:可以作为公钥证书密钥管理系统的组成部分,也 可以作为通用密钥管理的基础部分。它由密钥管理机构控制, 主要用于向DRC提供所需的数据和服务,管理着数据恢复密钥 的存储、传送和使用。数据恢复密钥主要用于生成数据加密密 钥,因此在使用托管密码加密时,所有的托管加密数据都应与 被托管的数据恢复密钥联系起来。
数据恢复密钥主要由以下内容组成:
密钥选项
密钥分割
密钥的产生和分配
密钥托管时间
密钥更新
密钥的全部和部分
密钥存储
KEC在向DRC提供诸如托管的密钥等服务时,服务包括:
1 授权过程:对操作或使用DRC的用户进行身份认证和对访问 加密数据的授权证明。
2 传送数据恢复密钥(主密钥不提供):如果数据恢复密钥是 会话密钥或产品密钥,KEC向DRC直接传送数据恢复密钥。密 钥传送时和有效期一起传送,有效期过后,密钥将被自动销 毁。
3 传送派生密钥:KEC向DRC提供由数据恢复密钥导出的另一 密钥(派生密钥)。比如受时间限制的密钥,被加密的数据仅 能在一个特定的有效时间段内被解密。
4 解密密钥:如果在DRF中使用主密钥加密数据加密密钥 时,KEC只向DRC发送解密密钥,而不发送主密钥。
5 执行⻔限解密:每个托管机构向DRC提供自己的解密结 果,由DRC合成这些结果并得到明文。 6数据传输:KEC和DRC之间的数据传输可以是人工的也 可以是电子的。
3.DRC
(3)DRC:由算法、协议和设备组成。DRC利用KEC所提 供的和在DRF中包含的信息中恢复出数据加密密钥,进而解 密密文,得到明文。仅仅在执行指定的已授权的数据恢复时 使用。
为了解密数据,要获得数据加密密钥, DRC必须采用下列方 法来获得数据加密密钥:
(1)从发送方S或接收方R接入:
(2)与KEC交互
(3)穷举搜索
(1)从发送方S或接收方R接入:
首先要确定与S或R相关的数据恢复密钥能否恢复密钥K。如果只 能利用S的托管机构持有的子密钥才能获得K,当各个用户分别向专 ⻔的用户传送消息,尤其是在多个用户散布在不同的国家或使用不 同的托管机构时,DRC一定得获取密钥托管数据后才能进行实时解 密,这是有困难的;同样,当只有利用R的托管机构所持的子密钥才 能获得K时,也不可能实时解密专⻔用户传送出的消息。如果利用托 管机构的子集所持的密钥可以进行数据恢复,那么一旦获得了K,则 DRC就可以实时解密从USC发出或送入的消息。该系统就可以为双 向实时通信提供这种能力,但这要求通信双方使用相同的K。
(2)与KEC交互
对于每个数据加密密钥,S或R都有可能要求DRC或KEC有一次相互作用,其中对数据加密密钥要求DRC与KEC之间的联系是 在线的,以支持当每次会话密钥改变时的实时解密。
(3)穷举搜索
当托管代理机构把部分密钥返回给DRC时,DRC必须使用穷举搜索以确定密钥的其余部分。
DRC还使用技术、操作和法律等保护手段来控制什么是可以解 密的,比如可以对数据恢复进行严格的时间限制。这些保护措施提 供了KEC传送密钥时所要求的限制,而且认证机构也可以防止DRC 用密钥产生伪消息。
3.3 密钥分配方案
3.3.1分配依据
减轻负担,提高效率——(自动密钥分配机制)
提高安全性——减少系统中驻留的密钥量
3.3.2常用密钥分配技术
静态分配技术
静态分配技术是一种由中心以离线方式预分配的技术,是“面对面”的分发,如到银行领取信用卡密钥,它具有安全性 好的特点,是长期沿用的传统密钥管理技术,不过,它必须 解决密钥的存储技术,静态分发只能以集中式机制存在。
动态分配技术
动态分配技术是一种“请求一分发”的在线分发技术,如在网上申请用户密钥,它具有方便、及时的特点,但这种分配 技术需要有专门的协议的支持,动态分配技术可采用有中心 或无中心的机制。
3.3.3 密钥分配体制
集中式密钥分配体制
集中式分配体制是引入一个中心服务器(通常称作密钥分配中
心或KDC),在这个体系中,团体中的任何一个实体与中心服务 器共享一个密钥。在这样的系统中,需要存储的密钥数量和团体 的人数量差不多,KDC接受用户的请求,为用户提供安全的密钥 分配服务。它的典型代表是Kerboros协议。
分布式密钥分配体制
分布式分配体制中网络中的主机具有相同的地位,他们之间的 密钥分配取决于他们之间的协商,比较著名的有Diffie-Hellman密 钥交换协议,但Diffie-Hellman密钥交换协议没有提供鉴别机制,不能抵抗中间人攻击。
3.3.4密钥分配的基本方法
对于通信双方A和B,密钥分配可以有以下几种方法:
1 密钥由A选定,然后通过物理方法安全地传递给B。
2 密钥由可信赖的第三方C选取并通过物理方法安全地发送给A 和B。
3 如果A和B事先已有一密钥,那么其中一方选取新密钥后,用已有的密钥加密新密钥发送给另一方。
4 如果A和B都有一个到可信赖的第三方C的保密信道,那么C就可以为A和B选取密钥后安全地发送给A和B。
5 如果A和B都在可信赖的第三方C发布自己的公开密钥,那么 他们用彼此的公开密钥进行保密通信。
3.3.5对称密码技术的密钥分配方案
ANSI X9.17定义了三层密钥层次结构:
1)主密钥(KKMs),通过手工分配;
2)密钥加密密钥(KKs),通过在线分配;
3)数据密钥(KDs)。
对称密码技术的密钥分配方案:
(1)集中式密钥分配方案
(2)分布式密钥分配方案
分布式密钥分配方案是指网络通信中各个通信方具有相同的地位,它们之间的密钥分配取决于它们之间的协商,不受何其 他方的限制。这种密钥分配方案要求有n个通信方的网络需要 保存[n(n-1)/2]个主密钥,对于较大型的网络,这种方案是不适用的,但是在一个小型网络或一个大型网络的局部范围内,这种方案还是有用的。
3.3.6非对称密码技术的密钥分配方案
(1)公钥的分配:
分开发布
公开发布:是指用户将自己的公钥发送给另外一个参与 者,或者把公钥广播给相关人群。
这种方法有一个非常大的缺 点:任何人都可以伪造一个公钥冒充他人。
公用目录
由一个可信任的系统或组织建立和管理维护公用目录,该公用目录维持一个公开动态目录。公用目录为每个参与者维护一 个目录项{标识符,公钥},每个目录项的信息必须进行安全认 证。任何人都可以从这里获得需要保密通信的公钥。与公开发布公钥相比,这种方法的安全性高一些。但也有一个致命的弱点, 如果攻击者成功地得到目录管理机构的私钥,就可以伪造公钥, 并发送给给其他人达到欺骗的目的
公钥机构
为更严格控制公钥从目录分配出去的公钥更加安全,为此需 要引入一个公钥管理机构来为各个用户建立、维护和控制动态的公用目录。与单纯的公用目录相比,该方法的安全性更高。但这 种方式也有它的缺点:由于每个用户要想和其他人通信都需求助 于公钥管理机构,因而管理机构可能会成为系统的瓶颈,而且由 管理机构维护的公用目录也容易被攻击者攻击。
- 公钥证书
在不与公钥管理机构通信,又能证明其他通信方的公钥的可信度,实际上完全解决了公开发布及公用目录的安全问题。
采 用公钥证书是为了解决公开密钥管理机构的瓶颈问题。
公钥证书即数字证书是由授权中心CA(Certificate Authority)颁发的。
证书的形式为CA=ESKCA[T,IDA, PKA],其中IDA是用户A的身份标识符,PKA是A的公钥,T是 当前时间戳,SKCA是CA的私钥。
ps:公钥证书的发放过程:
(2)利用非对称密码技术进行对称密码技术密钥的分配:
- 简单分配:
下图就是用 非对称密码技术建立会话密钥 的过程。
但这一分配方案容易 遭到主动攻击,假如攻击者已 经接入A和B双方的通信信 道,可以轻易地截获A、B双 方的通信。
具有保密和认证功能的密钥分配:
针对简单分配密钥的缺点,人们又设计了具有保密和认证功能的非对称密码技术的密钥分配,如下图所示。
密钥分配过程既具有保密性,又具有认证性,因此既可以防止被动攻击,也可以防止主动攻击。
题:
1.请分析网络信息安全非常重要的原因。
2.请说明网络信息安全的内涵、特征及网络信息安全问题的原因。
3.请说明网络信息安全的目标和功能是什么。
4.请说明信息安全技术需求和安全策略。
5.请说明信息安全与区块链安全的区别和联系。
6.请说明近几年国内出台了哪些网络相关法律,这些法律的出台有什么重要意义。
比较对称密码算法和非对称密码算法的优缺点,考虑在异地的两个人如何通过不可信的网络信道传输信息?
两个交易者A和B,假设B没有A的电话或邮箱的前提下,B如何相信A在网上发布的公钥就是真真的A发布的公钥,而不是C假冒A发布的?
请说明密码学在信息安全领域有哪些作用。
请说明密码系统的组成及它们之间的关系。
请说明如何认识密码系统的安全性。
请说明密码分析者对密码技术的攻击方式有哪些,并简要说明?
给定DES算法,在平均意义下,有多少个密钥可以把一个指定的输入分组加密得到一个指定的输出分组?
什么是非对称加密?和对称加密的区别?它的工作原理是什么?
利用 ab mod n=((a mod n)(b mod n)) mod n,能把35^77 mod
83所需的76次乘法运算化简到11次吗,还可以进一步化简吗。选择两个素数p = 7和 q = 11。计算n 和 φ(n);选择公钥指数e=17。计算私钥指数d;加密明文消息m=5,计算密文。
为什么要引进密钥管理技术?
密钥管理系统涉及到密钥管理的哪些方面?
什么是密钥托管?
简述分布式密钥分配方案的过程。
简述集中式密钥分配方案的过程,并分析可能存在的潜在威胁。