密钥管理

加密、解密及OpenSSL 详解

依然范特西╮ 提交于 2020-04-07 06:02:23
1. 数据传输分类 在互联网上数据传输有两种:明文传输和加密传输。明文传输的协议有:ftp、http、smtp、telnet。但是为了数据的完整性和安全性,所以后来引用了加密等相关手段来保证数据的安全和完整性。 2. 案例引入 我在外地出差,因工作需要,公司主管要发给我一份重要资料给我,怎么才能让这个资料顺利的传到我的手上,而且我怀疑有人会窃取这个重要资料,若是被谁窃取到那公司损失就大了! 3. 安全的特点 我能确定这个资料来来自公司 --- 数据来源认证 我能确保在通过因特网传输时没有被修改过 --- 数据的完整性保护(传输的过程中是否被修改) 确宝没有别人能够看到这份资料 --- 数据私密性 (不能被别看到) 主管不能事后否认他曾经发送过那份资料本给我 ---(不可否认性) 4. 角色说明 互联网 黑客 数据 加密 数据 5. 算法 (1). 密码学算法主要分为两个大类,对称加密算法和非对称加密算法,对称加密算法技术已经存在了很长的时间。最早在埃及使用! (2). 我们很快就能看到,对称加密算法和非对称加密算法各有所长和弱点,所以现代密码系统都在努力做到适当地使用这两类算法以利用它们的长处,同时又避开它们各自的缺点。 6. 对称加密算法的加密和解密原理 对称加密算法概念: 使用相同密钥与算法进行加解密运算的算法就叫做对称加密算法 具体加密过程如下图: 7.

由SecureCRT引发的思考和学习

好久不见. 提交于 2020-04-07 05:52:13
前言 由于业务需要,最近在云上新购买了一批centos7.0的服务器,用脚本批量添加了用户(脚本请见我之前的博客/秘钥认证用户自动控制: http://my.oschina.net/pwd/blog/388254 ),加完秘钥之后发现,但是secureCRT 抛出了一下异常。 解决过程 : 1.初步怀疑秘钥有问题,通过命令行去探测是否可以连接,-> ssh -i 秘钥文件 用户名@主机 ,发现能正常连接,确认秘钥是OK的。 2.可能出在secureCRT配置问题,具体操作不详解了,主要是涉及客户端一些可视化的设置,捣鼓完以后没好。 3.根据以上报错联想,可能是这个secureCrt 不支持以上的加密算法,上面已经明确的提示了,于是验证了xshell和putty,以及高版本的SecureCRT是可以连接. 常见终端客户端的介绍请戳链接: http://www.cnblogs.com/276815076/p/4409591.html 由于低版本 SecreCRT 不支持 AES-128-CBC 这个 Cipher,而 Linux 下用 ssh-keygen 生成的公钥默认采用这个 Cipher 的,于是对应的私钥可能会加载不了,所以登陆不上。 思考和学习 参考: http://blog.csdn.net/macrossdzh/article/details/5691924 一

2014-11-08----SSH协议分析以及在linux下免秘钥登录流程

流过昼夜 提交于 2020-04-07 05:40:40
1.什么是SSH SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。如图所示: 2.SSH基本框架 SSH协议框架中最主要的部分是三个协议: * 传输层协议(The Transport Layer Protocol)提供服务器认证,数据机密性,信息完整性 等的支持; * 用户认证协议(The User Authentication Protocol) 则为服务器提供客户端的身份鉴别; * 连接协议(The Connection Protocol) 将加密的信息隧道复用成若干个逻辑通道,提供给更高层的应用协议使用; 各种高层应用协议可以相对地独立于SSH基本体系之外,并依靠这个基本框架,通过连接协议使用SSH的安全机制。 同时SSH协议框架中还为许多高层的网络安全应用协议提供扩展的支持。它们之间的层次关系可以用如下图来表示: 3.互联网主机秘钥机制 对于SSH这样以提供安全通讯为目标的协议,其中必不可少的就是一套完备的密钥机制

AWS KMS 科普: What Why and How?

家住魔仙堡 提交于 2020-04-06 16:51:30
What: 密钥管理 —— 加密并不难,难的是密钥管理 AWS KMS 全称为 Key Management Service,中文直译过来为密钥管理服务 —— 这一点很重要,它提供的核心服务是 密钥管理 ,帮助企业、开发者方便安全地管理密钥。很多刚接触 KMS 的同学经常搞不清 KMS 到底做是做什么的,很大原因也是没仔细注意到 Key Management 这两个词。 所以我们的第一个问题「What」就已经回答了,KMS 就是一个管理密钥的服务,它并不是某种 super super magic 的高超加密方法。 我希望本文的读者通过阅读能意识到一个观念:加密是简单的,难的是管理密钥本身。 Why: KMS 能确保你密钥的安全性 接着来看第二个问题:Why ?为什么我需要把我的密钥给你管理,我自己保存不行了吗?事实上你完全可以自己管理,就像你完全可以自建机房一样,only if 你清楚各种最佳实践并愿意花时间自己去维护。 服务之所以叫服务,是服务提供商为你做了各种各样麻烦的事情 (They deal with those heavy lifting),从而让你把更多的时间精力花在更有价值的事情上。 那么 AWS KMS 为用户做了哪些麻烦的工作呢? 完全托管:你不需要额外的服务器,不需要额外的维护人员。 简化加密过程:你不需要去在意繁琐的加密细节过程,只需要调用相关接口就行了。

Jasypt 加密

感情迁移 提交于 2020-04-06 09:31:32
Jasypt 加密 https://www.cnblogs.com/duanxz/archive/2012/12/26/2833726.html 简 介    Jasypt 也即Java Simplified Encryption是Sourceforge.net上的一个开源项目。在当地时间11月23号的通告中,Jasypt 1.4的新特征包括:加密属性文件(encryptable properties files)、Spring Framework集成、加密Hibernate数据源配置、新的命令行工具、URL加密的Apache wicket集成以及升级文档。 根据Jasypt文档,该技术可用于加密任务与应用程序,例如加密密码、敏感信息和数据通信、创建完整检查数据的sums. 其他性能包括高安全性、基于标准的加密技术、可同时单向和双向加密的加密密码、文本、数字和二进制文件。Jasypt也可以与Acegi Security整合也即Spring Security。Jasypt亦拥有加密应用配置的集成功能,而且提供一个开放的API从而任何一个Java Cryptography Extension都可以使用Jasypt。 Jasypt还符合RSA标准的基于密码的加密,并提供了无配置加密工具以及新的、高可配置标准的加密工具。 1、该开源项目可用于加密任务与应用程序,例如加密密码

常见数字证书类型

回眸只為那壹抹淺笑 提交于 2020-04-03 22:08:53
1 数字证书 1.1 概述   数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是 数字身份证 ,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。 2 证书格式 2.1 证书格式分类 分为2大类:密钥库(含私钥,也可能有公钥)和公钥证书(仅含公钥) 2.1.1 密钥库文件格式【Keystore】 格式 : JKS 扩展名 : .jks/.ks 描述 : 【Java Keystore】密钥库的Java实现版本,provider为SUN 特点 : 密钥库和私钥用不同的密码进行保护 格式 : JCEKS 扩展名 : .jce 描述 : 【JCE Keystore】密钥库的JCE实现版本,provider为SUN JCE 特点 : 相对于JKS安全级别更高,保护Keystore私钥时采用TripleDES 格式 : PKCS12 扩展名 : .p12/.pfx 描述 : 【PKCS #12】个人信息交换语法标准 特点 : 1、包含私钥、公钥及其证书 2、密钥库和私钥用相同密码进行保护 格式 : BKS 扩展名 : .bks 描述 :

浅谈加密算法

帅比萌擦擦* 提交于 2020-03-28 02:37:52
前言 数字签名、信息加密 是前后端开发都经常需要使用到的技术,应用场景包括了用户登入、交易、信息通讯、oauth 等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法 来达到业务目标。这里简单的给大家介绍几种常见的签名加密算法和一些典型场景下的应用。 正文 1. 数字签名 数字签名,简单来说就是通过提供 可鉴别 的 数字信息 验证 自身身份 的一种方式。一套 数字签名 通常定义两种 互补 的运算,一个用于 签名,另一个用于 验证。分别由 发送者 持有能够 代表自己身份 的 私钥 (私钥不可泄露),由 接受者 持有与私钥对应的 公钥 ,能够在 接受 到来自发送者信息时用于 验证 其身份。 注意 :图中 加密过程 有别于 公钥加密 ,更多 介绍戳这里 。 签名 最根本的用途是要能够唯一 证明发送方的身份 ,防止 中间人攻击 、 CSRF 跨域身份伪造 。基于这一点在诸如 设备认证 、 用户认证 、 第三方认证 等认证体系中都会使用到 签名算法 (彼此的实现方式可能会有差异)。 2. 加密和解密 2.1. 加密 数据加密 的基本过程,就是对原来为 明文 的文件或数据按 某种算法 进行处理,使其成为 不可读 的一段代码,通常称为 “密文”。通过这样的途径,来达到 保护数据 不被 非法人窃取、阅读的目的。 2.2. 解密 加密 的 逆过程 为 解密,即将该

IOS关于数据加密(主要为登录加密)想总结的

安稳与你 提交于 2020-03-28 02:33:17
首先上来就来说一下,IOS常见的几种加密算法 *哈希(散列)函数 : MD5、SHA *对称加密算法:DES、3DES、AES *非对称加密算法:RSA 一、哈希(散列)函数 1、MD5 MD5加密的特点: 1、不可逆运算、 2、对不同的数据加密的结果是定长的32位字符(不管文件多大都一样) 3、对相同的数据加密,得到的结果是一样的(也就是复制)。 4、抗修改性 : 信息“指纹”,对原数据进行任何改动,哪怕只修改一个字节,所得到的 MD5 值都有很大区别. 5、弱抗碰撞 : 已知原数据和其 MD5 值,想找到一个具有相同 MD5 值的数据(即伪造数据)是非常困难的. 6、强抗碰撞: 想找到两个不同数据,使他们具有相同的 MD5 值,是非常困难的。 所有的数据(视频、音频、文件、只要存在于硬盘或内存中的)都是可以被MD5加密的,得到的都是32个字符。 但是这是不安全的,相对来说比较容易破解: 传统方法是加盐(Salt):在明文的固定位置插入位数足够多、足够复杂的随机串,然后再进行MD5。 2、加“盐” 可以加个“盐”试试,“盐”就是一串比较复杂的字符串。加盐的目的是加强加密的复杂度,这么破解起来就更加麻烦,当然这个“盐”越长越复杂,加密后破解起来就越麻烦,不信加盐后然后MD5加密,再去到md5破解网站破解试试看,他就没辙了!!! 哈哈,这下应该安全了吧!答案是否定的。如果这个“盐

ssl-原理

元气小坏坏 提交于 2020-03-26 21:24:30
----------------------------------------------------SSL/TLS 介绍----------------------------------------------------------------------------------- 一: SSL/TLS 介绍 SSL 是安全套接层 (secure sockets layer), TLS 是 SSL 的继任者,叫传输层安全 (transport layer security)。 在明文的上层和 TCP 层之间加上一层加密,这样就保证上层信息传输的安全。如 HTTP 协议是明文传输,加上 SSL 层之后,就有了雅称 HTTPS。它存在的唯一目的就是保证上层通讯安全的一套机制。 SSL协议实现的安全机制包括: 数据传输的机密性:利用对称密钥算法对传输的数据进行加密。 身份验证机制:基于证书利用数字签名方法对服务器和客户端进行身份验证,其中客户端的身份验证是可选的。 消息完整性验证:消息传输过程中使用MAC算法来检验消息的完整性。为了避免网络中传输的数据被非法篡改,SSL利用基于MD5或SHA的MAC算法来保证消息的完整性。 ----------------------------------------------------SSL/TLS 版本-----------------

HTTP 5 确保Web安全的HTTPS、确认用户身份的认证

若如初见. 提交于 2020-03-26 18:54:37
7. 在HTTP协议中有可能存在信息窃听或身份伪装等安全问题。使用HTTPS通信机制可以有效地防止这些问题。 HTTP的缺点: 通信使用明文(不加密),内容可能会被窃听。 不验证通信方的身份,因此有可能遭遇伪装。 无法证明报文的完整性,所以有可能已遭篡改。 加密处理防止窃听:分通信的加密、内容的加密 通信的加密: HTTP协议中没有加密机制,但可以通过和SSL(Secure Socket Layer,安全套接层)或TLS(Transport Layer Security,安全层传输协议)的组合使用,加密HTTP的通信内容。 用SSL建立安全通信线路之后,就可以在这条线路上进行HTTP通信了。与SSL组合使用的HTTP被称为HTTPS(HTTP Secure,超文本传输安全协议)或HTTP over SSL。 内容的加密: 还有一种将参与通信的内容本身加密的方式。由于HTTP协议中没有加密机制,那么就对HTTP协议传输的内容本身加密。即把HTTP报文里所含的内容进行加密处理。 这种情况下,客户端需要对HTTP报文进行加密处理后再发送请求。 为了做到有效的内容加密,前提是要求客户端和服务器同时具备加密和解密机制。 不验证对方通信的身份: HTTP协议的实现本身非常简单,不论是谁发送过来的请求都会返回响应,因此不确认通信方,会存在以下各种隐患: