安全(六种核心安全机制-加密、密钥、签名与证书)-程序员宅基地

  1. 安全要解决什么问题

  2. 你都会的密码术

  3. 安全机制之对称加密

  4. 安全机制之非对称加密

  5. 安全机制之密钥交换

  6. 安全机制之消息摘要

  7. 安全机制之电子签名

  8. 安全机制之证书与PKI

一、在典型的场景中,安全主要用于解决4类需求:

1、保密(Security/Confidentiality)

希望通信中的信息对外进行保密(不想任何第三方来窥探你的信息)

例如:你是某个公司的高层领导,你有很多机密的文档。你可能放到了公司的保险箱或者家里的保险箱,只有你才有key(钥匙)才能打开看。

2、鉴别/认证(Authentication)

希望可以鉴别认证出与你通信的那个对端确实是所认为的那个对端。(例如跟你女朋友打电话,你怎么能确认和你打电话的那个人就是你女朋友)

例如:你怎么能确认打电话的就是你朋友呢?不是仿冒的人在这里。通过你女朋友的声音可以鉴别出是女朋友本人。
例如:组织上安排重庆地下工作者与上海地下工作者接头在某个地点,并出示了相关接口口号,只有口号对头才能鉴别是要接头的人。

例如:借钱的时候会写借条,写借条的技巧:用大小写,字体间隔非常小,防止篡改。

3、完整性(Integrity)

一旦某个信息产生了以后,你希望这个信息不能被谁来篡改;或者说它已经发生了篡改,你可以很方便的鉴别出它已经发生了篡改。

4、不可否认性(non-repudiation)

对于某一个信息,你可以很方便的确认这个信息是由谁产生的,并且一旦由某人产生了某个信息,将来在某一时刻他想否认都是不可以的。

例如:犯人进行签字画押;皇帝传位需要写诏书和盖龙印。

例如:电子文档签名。

二、密码术:

在日常场景中,其实你都在有意无意中利用密码术来完成特定的安全需求

1、字母加密

字母A用B代替,C用D代替,前面的一个字母用后面的一个字母替代。

2、藏头诗

诗里面藏了一些我要表达的含义。

例如:毛氏今有才人出,晓文晓理难晓伊。冬去春来秋月夜,爱却江山爱美人。

3、倒写文

例如:把书信完整的倒过来写。

4、任何规则都可以定义密码术

5、为什么不自己发明和使用新的密码术呢?

因为自己发明的密码术没有通过验证,没有黑客攻击过,很难考证它的安全强度。你有可能在密码术留下后门,将来用来盈利。

6、算法和秘钥的分离

算法公开,秘钥保密。算法公开的目的使用者的验证、专家的论证、黑客的尝试与破解。若干年后该密码术没有被黑客攻破或者专家破解,该密码术就会成为公开的算法。

三、安全机制之对称加密

1、典型的加密模型

密钥:分为加密密钥和解密密钥。

明文:没有进行加密,能够直接代表原文含义的信息。

密文:经过加密处理之后,隐藏原文含义的信息。

加密:将明文转换成密文的实施过程。

解密:将密文转换成明文的实施过程。

2、对称秘钥算法

对称的含义(Symmetric):加密端和解密端是用的同一个key

置换加密,转置换加密和乘积密码(算法的模型)

置换加密(顺序不变,原始的数据用其他数据替换,原始的字母用其他字母进行替换)

例如:

abcde  ----> klmno

转置换加密(原始数据的信息不变,是数据顺序打乱变化)

例如:

123456789  ----> 253698174

乘积密码(置换密码和转置换密码的混合使用)

例如:

abcde ----> poklm ----> mlkpo

3、DES(Data Encryption Standard)数据加密标准

每取64bit (8byte)作为加密单元,经过19次的反复置换和转置换加密。秘钥其实是56bit。

后面出现的3重DES,就是DES经过了三次转换。

4、AES(Advanced Encryption Standard)高级加密标准

运用了复杂的数学书法,内部构造还是沉积密码。它的输入是128bit,以128bit为单元加密。秘钥是可选的,可以以128bit长度加密单,也可以以192bit长度加密,也可以用256bit长度加密,比较灵活。

四、安全机制之非对称加密

非对称加密模型

加密秘钥 K 称为公钥(public),解密秘钥 K ' 称为私钥(private)

加密秘钥可以任何人知道,解密秘钥需要保密(解密者保管)。

 

数学是科学基础,基础学科研究之物,虚虚实实,先虚后实。

公开秘钥算法的最重要两大数学基础。

1、建立在分解大数的困难度

2、建立在以大素数为模来计算离散对数的困难度。

 

RSA算法(非对称加密算法)

建立在分解大数的困难度

公钥/私钥长度 至少1024bit

五、安全机制之密钥交换

1、对称加密优缺点:

高效(相对于非对称加密来说,传输速度快)

秘钥交换问题(会话秘钥实时产生且周期性变化)

不如RSA的加密安全程度高,但是当选择256bit的AES,仍然能胜任绝大多数的安全领域。

2、非对称加密优缺点:

安全性足够高

没有秘钥交换的问题

效率低,对于大数据加密很慢(加密算法复杂)

3、其他秘钥交换方式:

Diffie-Hellman 秘钥交换协议

基于以大素数为模计算离散对数的困难度

对方各自选定key,然后以一定算法交换(使得key不以明文传输)后传输给对方

双方利用对方交换来的数据和自己选定的key做交换,获得一个一致的结果,作为会话秘钥

六、安全机制之消息摘要

1、HASH与散列函数的定义与特点

HASH翻译成散列或者哈希

HASH(散列)函数(算法)的定义是:变长的输入变换成定长的输出

常见的HASH算法:MD5(128bit)、SHA1(160bit)

HASH的特点:

易变性:即便原始信息发生1bit的变化,HASH的输出将会有不可预知的巨大变化。

不可逆:通过HASH结果构造出满足的输入信息是不可能的或者及其困难的。

2、消息摘要与数字指纹

人的指纹的特点:双胞胎的指纹不同;通过指纹猜不出它的主人。

与Hash的对应关系:易变性、不可逆

数字指纹由此而来

消息摘要:摘要窥/定全体

名字真多:HASH、哈希、散列、MD、消息摘要、数字指纹

3、HASH的应用场景:放篡改

基于易变性特性

可保完整性

示例:文件下载时的MD5、消息传送时尾部额外传MD

4、HASH的应用场景:防损坏

基于易变性特性

可保完整性

示例:

CRC校验的作用和不足

MD校验消息恶劣环境传输的完整性和未受损坏

应用程序中对于核心文件/数据库读写的鲁棒性保护、防止掉电和Crash

5、HASH的应用场景:认证

基于不可逆向性

可认证对端

示例:

HTTP的Basic和Diges认证(明文传输)

PPP的PAP和CHAP认证(明文传输)

手机登录密码和隐藏MMI的设计

6、HMAC:Hash-based Message Authentication Code

遇到的问题:

直接尾部附带消息摘要的问题(篡改内容的同时篡改摘要)

直接对密码做HASH传输的认证的问题(重放攻击)

HMAC怎么解决的

HMAC就是使用Key对原始消息变换后再近些HASH

七、安全机制之电子签名

1、签名要解决什么问题:

签什么:签的内容的完整性包含

谁在签:签名人的不可否认性

2、公钥密码术的两面性:

3、HASH+公钥密码术:成就电子签名

八、安全机制之证书与PKI

1、证书的作用:公钥的存储和交换

公钥作为一个字段存储于数字证书中

证书的交换和传输即可传输/交换公钥

2、证书的作用:现代信任基石

证书只是存储和交换公钥的吗?那我不可以把公钥直接作为一个文件来存储和交换吗?

另外,我不可以篡改证书吗?我作为第三者,篡改小李发给小王的证书,把里面的公钥改成我的,以此来HACK别人发给小李的信息。

利用签名来保护数字证书本身

       人的信任关系:一个信任人的列表

       数字时代的信任关系:一个受信任者的证书列表

3、证书链和PKI

人的信任链:孔子 -> 孔子的徒弟 -> 孔子的徒弟的徒弟

数字时代的信任链:证书链

证书签名的不同点:根证书的自签名,非根证书的父签名

证书的限制:约束、用途、有效期

PKI的概念

4、基于证书的认证

基于可信任证书的认证方式可被广泛的应用在现代安全领域,比如:wifi、https

在https中,典型的Client对Server的认证和鉴别基于可信任列表

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013491829/article/details/107417953

智能推荐

python另存为excel_python 将数据保存为excel的xls格式(实例讲解)-程序员宅基地

文章浏览阅读9.1k次。python 将数据保存为excel的xls格式(实例讲解)python提供一个库 xlwt ,可以将一些数据 写入excel表格中,十分的方便。贴使用事例如下。#引入xlwt模块(提前pip下载好)import xlwt#使用workbook方法,创建一个新的工作簿book = xlwt.Workbook(encoding='utf-8',style_compression=0)#添加一个she..._python 什么样的数据格式容易保存xls

时频分析工具箱典型函数的使用_tfrpwv函数代码-程序员宅基地

文章浏览阅读2.3w次,点赞26次,收藏223次。本文全文参考时频特性分析(Matlab),仅仅对文章进行运行测试,整理。不错的文章Matlab emd工具箱、时频分析工具箱下载以及安装方法matlab emd工具箱特此感谢!一、概念法国中央科学研究院和美国RICE大学共同开发了时频分析工具箱(matlab emd)是一款非常好用的时频分析计算工具,它是分析时变非平稳信号的有力工具,matlab 时频分析工具箱提供了时间域与频率..._tfrpwv函数代码

FloatWindow的使用_com.yhao.floatwindow.floatwindow-程序员宅基地

文章浏览阅读6.1k次。1.在工程的 build.gradle 中添加:allprojects { repositories { ... maven { url 'https://jitpack.io' } } }2.在应用的 build.gradle 中添加: dependencies { compile 'com.github.yhaolpz:FloatWindow:1_com.yhao.floatwindow.floatwindow

【CNN分类】基于格拉姆角场GAF结合卷积神经网络的故障诊断附matlab代码 2023新算法-程序员宅基地

文章浏览阅读681次,点赞12次,收藏20次。多输入单输出 (MISO) 预测在许多实际应用中至关重要,例如故障诊断、异常检测和预测性维护。本文提出了一种基于格拉姆角场 (GAF) 和卷积神经网络 (CNN) 的 MISO 预测方法。GAF 用于提取输入数据中的局部特征,而 CNN 用于学习这些特征之间的关系并生成预测。该方法在故障诊断任务上进行了评估,实验结果表明其具有良好的预测精度和鲁棒性。引言MISO 预测是指基于多个输入变量预测单个输出变量的任务。它在许多领域都有着广泛的应用,例如故障诊断、异常检测和预测性维护。

gzip循环压缩文件_gzip压缩命令 for循环-程序员宅基地

文章浏览阅读857次。#! /bin/bashfor i in ` ls -l *.txt | awk '{ print $8 }' `do gzip $idoneecho "gzip OK"_gzip压缩命令 for循环

7个支持图片外链的免费相册-程序员宅基地

文章浏览阅读5.6k次。有时候需要用到图片 又要外链 又要保持原图大小 又要无水印所以收集一些支持图片外链的免费相册备用 ( ̄▽ ̄")当然 这些免费 这些外链 都是有一定的限制的比如每月限制流量或图片最终页有一堆广告等这是没办法的事儿 想使用免费相册的朋友 所能做的 只有耐心的挑选一个自己最满意的免费相册服务1. 美国TripnTale – 无限免费旅游网络图片相册  美国TripnTale是一个免费旅游图片存储空间,提..._支持图片外链的相册

随便推点

Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have-程序员宅基地

文章浏览阅读3.7k次。Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have…The error may involve defaultParameterMap ### The error occurred while setting parameters今天这个报错真的是困扰到我了,网上找了超多的资料,都没有解决。。我是这样写的:有的说,数据库名要用${数据库名}来获取,于是我_error updating database. cause: com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxe

卷积神经网络的网络结构——ResNet V2_resnetv2结构-程序员宅基地

文章浏览阅读3.9k次。《Identity Mappings in Deep Residual Networks》2016,kaiming He et al,ResNet V2。深度残差网络作为一种极深的网络框架,在精度和收敛等方面都展现出了很好的特性。作者通过对残差块(residual building blocks)背后的计算传播方式进行分析,表明了当跳跃连接(skip connections)以及附加激..._resnetv2结构

发布到IIS上后用IP地址无法打开网页问题_iis 配置本机ip 网站无法显示-程序员宅基地

文章浏览阅读4.3k次。场景:.net项目发布到IIS服务器,可以用localhost访问到网页和静态资源,但是换成IP地址就会显示就空白页,但是访问img等静态资源是正常的原因:项目是需要链接的sqlserver数据库,通过日志loger查到 “在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。”解决方法:1.sqlserver配置管理器2.3.4...._iis 配置本机ip 网站无法显示

【AIGC】一款离线版的AI智能换脸工具V2.0分享(支持图片、视频、直播)_ai人脸替换工具离线版v2.0-程序员宅基地

文章浏览阅读7k次。一个基于roop 开发的换脸工具成品AI换脸工具V2.0。下载解压、打开就能用~支持图片换脸、视频换脸、直播换脸!_ai人脸替换工具离线版v2.0

Win10用VirtualBox安装Ubuntu虚拟机异常处理:FATAL: NO bootable medium found! System halted-程序员宅基地

文章浏览阅读8.2k次。环境:Windows 10;Virtual Box在创建好虚拟系统之后,会出现一个FATAL: NO bootable medium found! System halted的错误,导致无法进入系统。这是因为你没有挂载你所安装的镜像文件。解决方法:1.打开”设置“,找到“系统”选项。2.选择“系统”中的“启动顺序”,将“光驱“选项利用右边的上下箭头移至第一位。即选择_fatal: no bootable medium found! system halted

html表单文本框不能为空,layui 解决富文本框form表单提交为空的问题-程序员宅基地

文章浏览阅读2.3k次。layui 解决富文本框form表单提交为空的问题layui 解决富文本框form表单提交为空的问题一直获取不到form data这样子就可以正常提交了以上这篇layui 解决富文本框form表单提交为空的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。时间: 2019-10-25第一步: 引用两个文件 第二步: 点击删除按钮弹出提示框 /*删除开始*/ $("...._layui的form取消可以提交空值

推荐文章

热门文章

相关标签