密钥管理

【转帖】HTTPS 详解一:附带最精美详尽的 HTTPS 原理图

孤街醉人 提交于 2020-01-25 00:50:01
HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 https://segmentfault.com/a/1190000021494676 前言 作为一个有追求的程序员,了解行业发展趋势和扩充自己的计算机知识储备都是很有必要的,特别是一些计算机基础方面的内容,就比如本篇文章要讲的计算机网络方面的知识。本文将为大家详细梳理一下 HTTPS 的实现原理。 近年来,随着用户和互联网企业安全意识的提高和 HTTPS 成本的下降,HTTPS 已经越来越普及。很多互联网巨头也在力推 HTTPS,比如谷歌的 Chrome 浏览器在访问 HTTP 网站时会在地址栏显示不安全的提醒,微信要求所有的小程序必须使用 HTTPS 传输协议,苹果也要求所有在 App Store 上架的应用必须采用 HTTPS ,国内外的大部分主流网站也都已迁移至 HTTPS,可见 HTTPS 全面取代 HTTP 只是时间问题。 说了这么多,究竟什么是 HTTPS,它与 HTTP 相比有什么优缺点?其底层原理又是怎么实现的呢?下面就为你一一解答,先来看一下 HTTP 的弊端吧。 1、HTTP 的最大弊端——不安全 HTTP 之所以被 HTTPS 取代,最大的原因就是不安全,至于为什么不安全,看了下面这张图就一目了然了。 图1. HTTP数据传输过程 由图可见,HTTP 在传输数据的过程中,所有的数据都是明文传输

移动通信安全——移动通信系统的安全基础

巧了我就是萌 提交于 2020-01-24 09:54:36
加密算法 1、加密的两种方法:   对称(私钥)密码体制   非对称(公钥)密码体制 2、对称密码体制   加密密钥与解密密钥相同   保密强度高,但密钥管理难且可抵赖   从加密模式来看,分为两类:   a、序列密码   有限状态机产生伪随机序列——>使用该序列逐比特加密信息流   b、分组密码   明文按照固定长度分组——>用固定长度密钥单独加密每个分组   分组算法:DES、3DES、IDEA、IDEA、Skip-jack、Safer-64、LOK189、Shark 3、非对称加密体制   加密密钥(公开密钥)与解密密钥(专用密钥)不同   基本过程:A生成一对密钥——>公开其中的公开密钥PK——>C使用PK加密并将密文发送给A——>A用其中的专用密钥ZK解密   非对称密码体制中的每个用户都有一对选定的密钥   非对称密码体制,密钥管理简单,不可抵赖,但所需密钥长度较长,处理速度较慢 WPKI    1、PKI:公钥基础设施   PKI系统:提供公钥加密和数字签名的系统   数字证书组成:用户身份,用户公钥,认证中心的数字签名 2、PKI系统的组成:认证中心CA、注册中心RA、证书库、客户端软件   a、认证中心   验证用户身份——>对含有用户身份与公钥的数据结构数字签名,捆绑用户身份和密钥——>生成公钥证书   根证书:直接被用户终端信任的CA  

HTTP杂谈

别等时光非礼了梦想. 提交于 2020-01-24 05:03:31
HTTP 协议 HTTP请求和响应步骤 以上完整表示了HTTP请求和响应的7个步骤,下面从TCP/IP协议模型的角度来理解HTTP请求和响应如何传递的。 TCP/IP协议 TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议,通过20多年的发展已日渐成熟,并被广泛应用于局域网和广域网中,目前已成为事实上的国际标准。TCP/IP协议簇是一组不同层次上的多个协议的组合,通常被认为是一个四层协议系统,与OSI的七层模型相对应。 HTTP协议就是基于TCP/IP协议模型来传输信息的。 (1). 链路层 也称作数据链路层或网络接口层(在第一个图中为网络接口层和硬件层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。 (2). 网络层 也称作互联网层(在第一个图中为网际层),处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议

[转帖]IPSec介绍

时间秒杀一切 提交于 2020-01-23 23:34:50
https://blog.csdn.net/NEUChords/article/details/92968314 1.IPSEC协议簇安全框架 a.IPSec简介 IPSec(Internet Protocol Security):是一组基于网络层的,应用密码学的安全通信协议族。IPSec不是具体指哪个协议,而是一个开放的协议族。 IPSec协议的设计目标:是在IPV4和IPV6环境中为网络层流量提供灵活的安全服务。 IPSec VPN:是基于IPSec协议族构建的在IP层实现的安全虚拟专用网。通过在数据包中插入一个预定义头部的方式,来保障OSI上层协议数据的安全,主要用于保护TCP、UDP、ICMP和隧道的IP数据包。 b.IPSec协议族 IPSec VPN体系结构主要由AH、ESP和IKE协议套件组成。 IPSec通过ESP来保障IP数据传输过程的机密性,使用AH/ESP提供数据完整性、数据源验证和抗报文重放功能。 ESP和AH定义了协议和载荷头的格式及所提供的服务,但却没有定义实现以上能力所需具体转码方式,转码方式包括对数据转换方式,如算法、密钥长度等。 为简化IPSec的使用和管理,IPSec还可以通过IKE进行自动协商交换密钥、建立和维护安全联盟的服务。具体如下: 1.AH协议:AH是报文头验证协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能。然而

20189221 2018-2019-2 《密码与安全新技术专题》第五周作业

…衆ロ難τιáo~ 提交于 2020-01-23 05:38:30
20189221 2018-2019-2 《密码与安全新技术专题》第五周作业 课程:《密码与安全新技术专题》 班级: 201892 姓名: 郭开世 学号:20189221 上课教师:谢四江 上课日期:2019年4月23日 必修/选修: 选修 1.本次讲座的学习总结 讲座主题:区块链技术 比特币 比特币(BitCoin)是一种由开源的P2P软件产生的电子币,数字币,是一种网络虚拟资产。比特币也被意为“比特金”。比特币基于一套密码编码、通过复杂算法产生,这一规则不受任何个人或组织干扰,去中心化;任何人都可以下载并运行比特币客户端而参与制造比特币;比特币利用电子签名的方式来实现流通,通过P2P分布式网络来核查重复消费。每一块比特币的产生、消费都会通过P2P分布式网络记录并告知全网,不存在伪造的可能。 比特币的特点: ​ 1.数字货币 ​ 2.不依托于任何国家或组织而利用计算机技术独立发行。 ​ 3.通过P2P分布式技术实现,无中心点。 ​ 4.所有人均可自由的参与。 ​ 5.总量有限,不可再生。 ​ 6.本身机制开源,可以被山寨。 面临的一些疑问: ​ 1.较大的政策风险,国家组织是否会承认? ​ 目前德国是唯一承认比特币具有合法货币地位的国家。 ​ 中国明令禁止 ​ 2.安全性如何得到保证,被盗了谁来给你找回? ​ 11年MyBitcion遭遇黑客攻击,7.8万比特币至今下落不明。 ​

Spring Boot 开启 HTTPS

可紊 提交于 2020-01-20 10:16:33
操作系统:Windows 10 x64 java version “1.8.0_221” 获取证书 获取 SSL 证书主要有两种,一种是自己通过工具生成,另外一种是通过 SSL 证书服务商获取。 以下介绍使用 JDK 自带的 keytool 工具来生成 SSL 证书。 在命令行中输入命令 keytool -help 查看我们的 JDK 是否带有 keytool 工具。 若输出如下信息,则证明此 JDK 版本带有 keytool 工具。 密钥和证书管理工具 命令: -certreq 生成证书请求 -changealias 更改条目的别名 -delete 删除条目 -exportcert 导出证书 -genkeypair 生成密钥对 -genseckey 生成密钥 -gencert 根据证书请求生成证书 -importcert 导入证书或证书链 -importpass 导入口令 -importkeystore 从其他密钥库导入一个或所有条目 -keypasswd 更改条目的密钥口令 -list 列出密钥库中的条目 -printcert 打印证书内容 -printcertreq 打印证书请求的内容 -printcrl 打印 CRL 文件的内容 -storepasswd 更改密钥库的存储口令 使用 "keytool -command_name -help" 获取 command_name

使用truelicense实现用于JAVA工程license机制(包括license生成和验证)

梦想的初衷 提交于 2020-01-19 04:25:41
开发的软件产品在交付使用的时候,往往会授权一段时间的试用期,这个时候license就派上用场了。不同于在代码中直接加上时间约束,需要重新授权的时候使用license可以避免修改源码,改动部署,授权方直接生成一个新的license发送给使用方替换掉原来的license文件即可。下面将讲述使用truelicense来实现license的生成和使用。Truelicense是一个开源的证书管理引擎,详细介绍见 https://truelicense.java.net/ [此地址已不可用(苏醒若蘅注)] 一、首先介绍下license授权机制的原理: 1、 生成密钥对,方法有很多。 2、 授权者保留私钥,使用私钥对包含授权信息(如使用截止日期,MAC地址等)的license进行数字签名。 3、 公钥给使用者(放在验证的代码中使用),用于验证license是否符合使用条件。 接下来是本例制作license的具体步骤: 二、第一步:使用keytool生成密钥对 以下命令在dos命令行执行,注意当前执行目录,最后生成的密钥对即在该目录下: 1、首先要用KeyTool工具来生成私匙库:(-alias别名 –validity 3650表示10年有效) keytool -genkey -alias privatekey -keystoreprivateKeys.store -validity 3650 2

几种常见的加密算法

China☆狼群 提交于 2020-01-18 03:23:32
一、概念 数据加密 的基本过程就是对原来为明文的文件或数据按某种 算法 进行处理,使其成为不可读的一段代码为“密文”,使其只能在输入相应的 密钥 之后才能显示出原容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该 编码 信息转化为其原来数据的过程。 简单来说,就是 把某一段数据(明文),按照“某种规则”转换成另外一段不可读的数据(密文)。这里选定的“规则”,就是加密算法。 理所当然,当别人拿到“密文”,解析出“明文”的难度取决于加密算法的破解难度。 二、几种常见的加密算法 1、 Base64算法 原码 /** * Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。 */ public class Base64Util { /* 我们知道Java中是用"8个二进制数字"表示一个实际的字节。 比如:我要用Base64编码一个字符串“abc”,实际算法如下: 'a','b','c'的ASCII标准编码分别为(十进制)97,98,99,因此用二进制表示“abc”字符串就是: 01100001,01100010,01100011 ---3组,每组8字节 Base64的原理:将这三组8字节,分成4组6字节 011000,010110, 001001,100011 ---4组,每组6字节 高位补0 00011000,00010110,

公钥私钥加密解密数字证书数字签名详解

*爱你&永不变心* 提交于 2020-01-13 12:02:34
决心花一些时间,将这些概念和使用的过程彻底弄清楚。最先找到的文章是: 数字签名是什么? (阮一峰博客),读了一遍,又找了一些资料,终于把这些概念弄清楚了,这里整理记录一下。 首先明确几个基本概念: 1、密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。 2、公钥,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。 3、私钥,如上,用来解密公钥加密的数据。 4、摘要,对需要传输的文本,做一个HASH计算,一般采用SHA1,SHA2来获得。 5、签名,使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。 6、签名验证,数据接收端,拿到传输文本,但是需要确认该文本是否就是发送发出的内容,中途是否曾经被篡改。因此拿自己持有的公钥对签名进行解密(密钥对中的一种密钥加密的数据必定能使用另一种密钥解密。),得到了文本的摘要,然后使用与发送方同样的HASH算法计算摘要值,再与解密得到的摘要做对比,发现二者完全一致,则说明文本没有被篡改过。 上面实际上介绍了加密解密和数字签名两个概念和实现过程,二者的过程正好是相反的。 在签名的过程中,有一点很关键,收到数据的一方,需要自己保管好公钥,但是要知道每一个发送方都有一个公钥,那么接收数据的人需要保存非常多的公钥,这根本就管理不过来

https数字证书基础概念(一)

空扰寡人 提交于 2020-01-13 05:25:22
基础概念 密钥 公钥密码体制 对称加密算法 非对称加密算法 CA 数字证书 摘要 摘要算法 数字签名 参考资料 后记 密钥 密钥,一般是一个字符串或数字,在加密或解密时传递给加密或解密算法 。下面公钥密码体制中提到的公钥和私钥都是密钥,只是公钥是加密时使用的密钥,私钥是解密时使用的密钥。 公钥密码体制 公钥密码体制(public-key cryptography)由公钥、私钥、加密算法三部分组成, 其中由公钥加密的内容只能由私钥解密 ,也就是说除了私钥之外,由公钥加密的内容无法被解密。公钥密码体制的加解密过程如下: 加密 :使用 加密算法 和 公钥 对明文进行加密,得到密文。 解密:使用 解密算法 和 私钥 对密文进行解密,得到明文。 公钥密码体制的公钥和算法都是公开的,只有私钥是保密的 。所以在实际使用中,都是生成一对公钥和私钥,把公钥发布出去,自己保留私钥。 对称加密算法 在对称加密算法(symmetric key algorithms)中,加密和解密时使用的密钥是相同的 。在安全通信之前,会要求通信双方商定一个密钥,泄漏密钥就意味着任何人都可以对发送或接收的消息解密;因此对称加密算法要保证安全性的话,密钥只能让使用的人知道,不能对外公开。 对称加密算法的特点: 算法公开、计算量小、加密速度快、加密效率高 。 非对称加密算法 在非对称加密算法(asymmetric key