在上一篇文章《写给开发人员的实用密码学 - 数字证书》中介绍了数字证书,但要让用户信任颁发的数字证书,这里就需要引入 CA 中心。
在之前的文章中,我们讲到了怎么使用netty建立聊天室,但是这样的简单的聊天室太容易被窃听了,如果想要在里面说点悄悄话是很不安全的,怎么办呢?学过密码学的朋友可能就想到了一个解决办法,聊天的时候对消息加密,处理的时候再对消息解密即可。
在社区中,分享了很多篇基于Netty编写的IM聊天入门文章(比如《跟着源码学IM》系列、《基于Netty,从零开发IM》系列等),在这些文章中分享了各种IM通信算法原理和功能逻辑的实现。但是这样简单的IM聊天系统是比较容易被窃听的,如果想要在里面说点悄悄话是不太安全的。
为什么需要https HTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。 举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。 用户登陆 --> 代理服务器(做手脚)--> 实际授权服务器 在发送端对密码进行加密?没用的,虽然别人不知道你原始密码是多少,但能够拿到加密后的账号密码,照样能登陆。 HTTPS是如何保障安全的 HTTPS其实就是secure http的
HTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。
本文主要介绍了HTTPS协议以及SSL/TLS协议运行机制的概述。HTTPS是在HTTP和TCP之间插入一个安全层,以解决HTTP和TCP之间存在的安全缺陷。文章首先介绍了HTTPS的基本概念,然后详细阐述了SSL/TLS协议的运行机制,包括密钥协商、证书颁发、加密解密等过程。最后,文章展望了HTTPS未来的发展方向,并给出了几个值得关注的点。
TLS/SSL是用于将正常流量包装在受保护的加密包装中的Web协议。得益于此技术,服务器可以在服务器和客户端之间安全地发送流量,而不会被外部各方拦截。证书系统还可以帮助用户验证他们正在连接的站点的身份。在本教程中,我们将向您展示如何在Ubuntu 18.04上设置用于Apache Web服务器的自签名SSL证书。
前面说了怎么搭建harbor仓库,这里讲一讲harbor实现https访问,因为只需要内网访问,没必要去申请一个ssl证书,所以我就用openssl颁发自签名证书,实现https访问。需要搭建一个dns服务器,让你的域名解析到你的harbo地址,具体教程,请看我上一篇的博客。
X.509是一种公共密钥基础设施(PKI)标准,用于证书的格式、结构和管理。X.509证书是用于数字身份验证、数据加密和数字签名的关键组件。以下是X.509证书的详细介绍:
.DER:用二进制DER编码的证书;.PEM:用ASCLL(BASE64)编码的证书; .CER:存放公钥,没有私钥; .PFX:存放公钥和私钥(pem 后缀的证书都是base64编码;der 后缀的证书都是二进制格式;crt .cer 后缀的文件都是证书文件(编码方式不一定,有可能是.pem,也有可能是.der);.pfx 主要用于windows平台,浏览器可以使用,也是包含证书和私钥,获取私钥需要密码才可以)
随着个人隐私越来越受重视, HTTPS也渐渐的流行起来, 甚至有许多网站都做到了全站HTTPS, 然而这种加密和信任机制也不断遭遇挑战,比如戴尔根证书携带私钥,Xboxlive证书私钥泻露, 还有前一段时间的沃通错误颁发Github根域名SSL证书事件. 因此本文从非对称加密说起, 介绍了证书的签证流程, 并且通过openssl的命令行工具对这些过程都转化为相对具体的命令, 也算是一个温故知新的简要记录吧.
在《上篇》中,我们谈到了常用的认证方式:用户名/密码认证和Windows认证。在下篇中,我们着重来介绍另外一种重要的凭证类型:X.509证书,以及针对X.509证书的认证方式。不过为了让读者能够真正地全面地了解X.509证书,我们需要先了解一些关于非对称密码学的背景知识。 目录 一、非对称密码学(Asymmetric Cryptography) 消息加密(Encryption) 数字签名(Digital Signature) 二、数字证书
单向认证,只有一方需要验证对方的身份。通常是客户端验证服务器的身份。这种情况下,客户端会检查服务器提供的数字证书是否有效,以确定服务器是否合法。服务器不会验证客户端的身份。这种情况下,客户端可以确认它正在与合法的服务器进行通信,但服务器不能确定其与合法客户端通信。单向认证通常用于一些对服务器身份验证要求较高,但对客户端身份验证要求相对较低的场景,如网站访问。
CSR,全称Certificate Signing Request(证书签发请求),是一种包含了公钥和与主题(通常是实体的信息,如个人或组织)相关的其他信息的数据结构。CSR通常用于向证书颁发机构(Certificate Authority,CA)申请数字证书。下面是CSR的详细介绍:
大家好,又见面了,我是你们的朋友全栈君。 http://blog.chinaunix.net/space.php?uid=23637692&do=blog&id=3057988 1.PKI体
X.509是密码学里公钥证书的格式标准。 X.509 证书己应用在包括TLS/SSL在内的众多 Intenet协议里.同时它也用在很多非在线应用场景里,比如电子签名服务。X.509证书里含有公钥、身份信息(比如网络主机名,组织的名称或个体名称等)和签名信息(可以是证书签发机构CA的签名,也可以是自签名)。对于一份经由可信的证书签发机构签名或者可以通过其它方式验证的证书,证书的拥有者就可以用证书及相应的私钥来创建安全的通信,对文档进行数字签名.
这是一个系列文章,将会通过七篇内容和大家一起聊聊 Kubernetes 中的证书管理。
随着互联网越来越渗透入我们生活的方方面面,各种私密信息在网络中传播,为了保证信息的真实可靠,在我们对其安全性的要求也越来越高,对此,加密是一个永远不过时的话题。非对称加密,全站HTTPS等,深入了解,总会遇到RSA加密算法。在一些特殊行业,如博主工作的互联网金融,RSA加密算法的重要性更是非同一般。
X.509是公钥基础设施(PKI)的标准格式。X.509证书就是基于国际电信联盟(ITU)制定的X.509标准的数字证书。X.509证书主要用于识别互联网通信和计算机网络中的身份,保护数据传输安全。X.509证书无处不在,比如我们每天使用的网站、移动应用程序、电子文档以及连接的设备等都有它的身影。
nginx是一个高效的web服务器,因为其独特的响应处理机制和低内存消耗,深得大家的喜爱,并且nginx可和多种协议配合使用,而HTTP2协议又是一个非常优秀的协议,如果将两者结合起来会产生意想不到的效果,今天我们将会讲解如何在nginx中配置HTTP2协议。
本文来源:腾讯优图实验室 笔者来自腾讯优图实验室,优图实验室专注于图像处理、模式识别、深度学习,在人脸识别、图像识别、医疗AI、交通、OCR 等领域积累了领先的技术水平和完整的解决方案。近年来,优图在计算机视觉领域的研究和应用积累了深厚的底蕴和丰富的行业落地经验。笔者所在的团队主要负责视觉AI能力赋能边缘计算设备的研发工作。一直以来,在实验室甚至整个公司特别强调“安全和隐私”,近半年,笔者在用 GoLang 开发智能边缘计算设备的网络通信项目时,常被要求务必重视“通信的安全和隐私”。期间,对接了多
PKCS 公钥加密标准(Public Key Cryptography Standards, PKCS),此一标准的设计与发布皆由RSA资讯安全公司(英语:RSA Security)所制定,PKCS 目前共发布过 15 个标准。更多公钥加密标准
数字证书是一种文档,其中包含与证书持有者有关的一组属性。最常见的证书类型是符合X.509标准的证书,该证书允许在其结构中对参与方的标识详细信息进行编码。
前几日做支付对接时,被对方文档中的加密方式搞晕乎了一会。意识到证书加密方面的理解不够深入,事后查阅参考资料补习一波。本文是根据期间的学习,以及长期以来的实践做出的总结。
PKI:PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施,在X509标准中PKI为支持共有密钥管理并且支持认证、加密、完整性、可追究性服务的基础设施。
本文主要介绍如何基于openssl制作X.509自签名证书,以及如何使用该证书签发新证书。
x.509 是密码学里面的公钥证书的格式标准. 就是说x.509是一种证书的格式,其实我们经常用这种格式的证书,只是可能没怎么注意过证书格式的标准而已.
到现在,我们已经完成了POS平台和前端的网络集成。不过,还是那句话:平台系统的网络安全是至关重要的。前一篇博客里我们尝试实现了gRPC ssl/tls网络连接,但测试时用的证书如何产生始终没有搞清楚。现在akka-http开发的ws同样面临HTTPS的设置和使用问题。所以,特别抽出这篇博文讨论一下数字证书的问题。
对于api服务器,我们不能让访问者先登录再进行访问这样不安全,也不友好。 http协议没有任何的加密以及身份验证的机制,即时是token认证,也非常容易遭遇窃听、劫持、篡改,因此会造成个人隐私泄露,恶意的流量劫持等严重的安全问题。
OpenSSL是一个功能极其强大的命令行工具,可以用来完成公钥体系(Public Key Infrastructure)及HTTPS相关的很多任务。这个速查手册整理了常用的OpenSSL命令的使用方法,例如生成私钥、生成证书签名请求以及证书格式转换等。
在数字签名部分,我们讲到数字签名可以起到“防抵赖”的作用。然而,在开放的互联网环境中,通信的双方通常是互不相识,数字签名并不能解决身份认证的问题。比如在数字签名中,私钥签名,公钥验证签名。如果有人冒充淘宝给了你公钥,对方持有假冒公钥对应的私钥,这种情况下签名、验签都没问题,但你是在和一个假的淘宝通信。退一步说,你开始拿到的确实是淘宝发布的公钥,如果有人偷偷替换掉了你的机器上的公钥,这样你实际拥有的是李鬼的公钥,但是还以为这是淘宝的公钥。因此,李鬼就可以冒充淘宝,用自己的私钥做成"数字签名",写信给你,而你则使用假的公钥进行解密。
预验证是用作证书透明度(CT)一部分的特殊类型的SSL证书。 预先证书与常规SSL证书不同,因为它们不是(也不可以)用于验证服务器或形成经过身份验证的连接(例如HTTPS连接)。它们的唯一目的是允许证明证书已被记录以直接嵌入到证书中。顾名思义,预认证出现在正式证书之前。而预证书几乎很少暴露给最终用户,也就是说你可能收到了预证书但从不知道它的存在。 预证书在证书透明度RFC中定义。本文将用简单的语言解释什么是预先证书,如何使用它们以及它们的工作机制。 为什么需要预证书? 预证书的存在是为了允许将证书透明度
作者前文介绍了什么是数字签名,利用Asn1View、PEVie、010Editor等工具进行数据提取和分析,这是全网非常新的一篇文章,希望对您有所帮助。这篇文章将详细介绍微软证书漏洞CVE-2020-0601,并讲解ECC算法、Windows验证机制,复现可执行文件签名证书的例子。 这些基础性知识不仅和系统安全相关,同样与我们身边常用的软件、文档、操作系统紧密联系,希望这些知识对您有所帮助,更希望大家提高安全意识,安全保障任重道远。本文参考了参考文献中的文章,并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。
将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。
原文地址: SSL与TLS协议原理与证书签名多种生成方式实践指南 (https://mp.weixin.qq.com/s/g-X8UPNwIkuR_Qd2MDvVQw)
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。
0. 前言 接前一篇文章,上篇文章我们介绍了数字签名、数字证书等基本概念和原理 本篇我们尝试自己生成证书 参考文献:TLS完全指南(二):OpenSSL操作指南 1. OpenSSL 简介 OpenSSL 是一个开源项目,其组成主要包括三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls OpenSSL 主要用于秘钥证书管理、对称加密和非对称加密 1.1 指令 常用指令包括:genrsa、req、x509 1.1.1 genrs
在SSL/TLS/HTTPS通信中,证书虽然不是TLS/SSL协议的一部分,却是HTTPS非常关键的一环,网站引入证书才能避免中间人攻击。证书涉及了很多密码学知识,理解证书后,再深入理解TLS/SSL协议,效果会更好。
站在消息交换的角度,密码学就是帮助我们实现对整个消息或者对消息的某个部分进行数字签名和加密的理论和方法
中间件dble测试成员,主要负责dble的日常测试工作,热衷于探索发现,学习新技术。
Apache kafka允许客户端通过SSL进行连接。默认情况下SSL是禁止状态,可以根据需要开启。本文就是浪尖亲测,开启SSL认证。 1,为每一个kafka Broker创建SSL key和证书 第一步,部署HTTPS需要为在集群中的每台Broker创建key和证书。可以使用java的keytool完成这个任务。我们最初会将密钥生成到一个临时密钥库,以便我们稍后可以导出和签名。 keytool -keystore server.keystore.jks -alias localhost -validity
TTN 的开发环境使用了自签名证书,浏览器端在进行OAUTH登录时会弹出警告,当然我们可以无视警告强制跳转。但本地客户端 CLI 也需要进行 SSL 交互,因此本地也需要添加 CA 证书。
对称加密算法在加密和解密时,使用同一密钥。非对称加密算法需要两个密钥,即公开密钥和私有密钥,公开密钥和私有密钥是一对。用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。因为加密和解密使用两个不同的密钥,所以这类算法叫非对称加密算法。
在传统的加密算法中,通信的双方会采用一个共享秘钥来对数据进行加密和解密。消息发送方先采用秘钥对明文进行加密然后再进行传送,待接收方收到消息后,再采用秘钥对密文进行界面,以得到明文。由于加密和解密采用的秘钥是相同的,这种加密算法也称为对称加密。采用对称加密的通信过程如下图所示:
上面就是利用认证机构Trent进行公钥密码通信的流程。其中1、2、3这几个步骤仅在注册新公钥时才会进行,并不是每次通信都需要。此外,步骤 4 仅在Alice第一次用公钥密码向Bob发送消息时才需要进行,只要Alice将Bob的公钥保存在电脑中,在以后的通信中就可以直接使用了。
领取专属 10元无门槛券
手把手带您无忧上云