密钥管理

python 各种加密

匿名 (未验证) 提交于 2019-12-02 22:54:36
加密学习 对称加密 对称密钥加密 , 又叫私钥加密。即信息发送的方和接受方用一个密钥去加密和揭秘数据。 最大的优势是 加解密速度快,适合对大量数据进行加密, 对称加密的缺点是密钥的管理和分配, 换句话说就是 如何把密钥发送到需要解密你的消息的人手里的问题。在发送密钥的过程中, 密钥有很大的风险被黑客拦截。 现实中的做法是将对称加密的密钥进行非对称加密然后传给需要他的人。 非对称加密 1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。 (2) Alice的浏览器向银行的网站请求公钥。 (3) 银行将公钥发送给Alice。 (4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。 (5) Alice的浏览器将加密后的对称密钥发送给银行。 (6) 银行使用私钥解密得到Alice浏览器的对称密钥。 (7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。 (三)总结 (1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。 (2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。 (3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。 python3

linux基础练习9

流过昼夜 提交于 2019-12-02 18:34:52
1、判断UID是否大于等于500,如果为真就显示为普通用户,如果为假就显示为系统或管理用户 awk -F: '{$3<=500?name="system user":name="comon user";print name,$1,$3}' /etc/passwd 2、显示用户id为奇数的用户。 awk -F: '{if ($3%2==0) next;print $1,$3}' /etc/passwd 3、统计web服务访问日志中的ip访问量 awk '{print $1}' /var/log/httpd/access_log | sort -nr | uniq -c 4、简述加密类型以及数据加密解密过程  加密:限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。   解密:加密的逆过程,使用密钥配合加密算法,转换成明文内容。 安全防护的目标:   保密性:即隐私性   完整性:指数据在传输过程中要保证能够完整,还能保证传输后能够还原回原来的数据;   可用性:指还原后的数据还能用 常见的安全性攻击:   威胁保密性的攻击:窃听,通信量统计;  

HTTP详解

半世苍凉 提交于 2019-12-02 14:51:30
一 、基础概念 URI 请求和响应报文 二、HTTP 方法 GET HEAD POST PUT PATCH DELETE OPTIONS CONNECT TRACE 三、HTTP 状态码 1XX 信息 2XX 成功 3XX 重定向 4XX 客户端错误 5XX 服务器错误 四、HTTP 首部 通用首部字段 请求首部字段 响应首部字段 实体首部字段 五、具体应用 连接管理 Cookie 缓存 内容协商 内容编码 范围请求 分块传输编码 多部分对象集合 虚拟主机 通信数据转发 六、HTTPS 加密 认证 完整性保护 HTTPS 的缺点 七、HTTP/2.0 HTTP/1.x 缺陷 二进制分帧层 服务端推送 首部压缩 八、HTTP/1.1 新特性 九、GET 和 POST 比较 作用 参数 安全 幂等性 可缓存 XMLHttpRequest 参考资料 一 、基础概念 URI URI 包含 URL 和 URN。 请求和响应报文 1. 请求报文 2. 响应报文 二、HTTP 方法 客户端发送的 请求报文 第一行为请求行,包含了方法字段。 GET 获取资源 当前网络请求中,绝大部分使用的是 GET 方法。 HEAD 获取报文首部 和 GET 方法类似,但是不返回报文实体主体部分。 主要用于确认 URL 的有效性以及资源更新的日期时间等。 POST 传输实体主体 POST 主要用来传输数据,而

linux net通信 基于密钥

╄→尐↘猪︶ㄣ 提交于 2019-12-02 12:47:56
配置SSHD服务   SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理 Linux 系统的首选方式。在此之前,一般使用 FTP 或 Telnet 来进行远程登录。但是因为它们 以明文的形式在网络中传输账户密码和数据信息,因此很不安全,很容易受到黑客发起的中 间人攻击,这轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。   想要使用 SSH 协议来远程管理 Linux 系统,则需要部署配置 sshd 服务程序。sshd 是基于 SSH 协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法: 基于口令的验证-------用账号和密码登录 基于密钥的验证-------需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较; 超哥之前说过“Linux一切接文件”,也就是在Linux系统中修改服务程序,都得去修改它对应的配置文件,sshd程序的配置文件是/etc/ssh/sshd_config,检查配置文件参数 grep -v '^#' /etc/ssh/sshd_config |grep -v '^$' 在RHEL7系统中,已经默认安装启动了SSHD服务, 使用密码登录 ssh 192.168.12.15 基于口令的认证 1.在第一次登录的时候,系统会出现下面的提示信息: The

常用的对称加密算法

Deadly 提交于 2019-12-02 12:00:39
文章目录 `1、DES(Data Encryption Standard)` `2、3DES(Triple DES)` `3、AES(Advanced Encryption Standard)推荐使用` 需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。 因此加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要。因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题。 在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。 下面列举几个比较常用的: 1、DES(Data Encryption Standard) DES加密算法出自IBM的研究,后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位(8字节)密钥,以现代计算能力, 24小时内即可被破解。虽然如此,在某些简单应用中,我们还是可以使用DES加密算法 特点:数据加密标准,速度较快,适用于加密大量数据的场合 提供一个 DES 加密工具类: package

密钥,私钥,公钥的区分

拈花ヽ惹草 提交于 2019-12-02 11:59:29
首先明确几个基本概念: 1、密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。 2、公钥,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。 3、私钥,如上,用来解密公钥加密的数据。 4、摘要,对需要传输的文本,做一个HASH计算,一般采用SHA1,SHA2来获得。 5、签名,使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。(看最下面的一部分就明白了) 6、签名验证,数据接收端,拿到传输文本,但是需要确认该文本是否就是发送发出的内容,中途是否曾经被篡改。因此拿自己持有的公钥对签名进行解密(密钥对中的一种密钥加密的数据必定能使用另一种密钥解密。),得到了文本的摘要,然后使用与发送方同样的HASH算法计算摘要值,再与解密得到的摘要做对比,发现二者完全一致,则说明文本没有被篡改过。 上面实际上介绍了加密解密和数字签名两个概念和实现过程,二者的过程正好是相反的。 公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),将其中的一个向外界公开,称为公钥;另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。 使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密

keytool的使用

非 Y 不嫁゛ 提交于 2019-12-02 05:19:48
keytool的使用 参考文档 https://blog.csdn.net/weisong530624687/article/details/59112309 使用 "keytool -help" 获取所有可用命令 使用 "keytool -command_name -help" 获取 command_name 的用法 D:\tools\jdk\bin>keytool --help 密钥和证书管理工具 命令: -certreq 生成证书请求 -changealias 更改条目的别名 -delete 删除条目 -exportcert 导出证书 -genkeypair 生成密钥对 -genseckey 生成密钥 -gencert 根据证书请求生成证书 -importcert 导入证书或证书链 -importpass 导入口令 -importkeystore 从其他密钥库导入一个或所有条目 -keypasswd 更改条目的密钥口令 -list 列出密钥库中的条目 -printcert 打印证书内容 -printcertreq 打印证书请求的内容 -printcrl 打印 CRL 文件的内容 -storepasswd 更改密钥库的存储口令 使用 "keytool -command_name -help" 获取 command_name 的用法 D:\tools\jdk\bin

加密、解密、数字签名和数字证书详解

大兔子大兔子 提交于 2019-12-02 03:22:31
1. 概述 随着电子商务的迅速发展,信息安全已成为焦点问题之一,尤其是网上支付和网络银行对信息安全的要求显得更为突出。为了能在因特网上开展安全的电子商务活动,公开密钥基础设施(PKI, Public Key Infrastructure)逐步在国内外得到广泛应用。我们是否真的需要PKI,PKI究竟有什么用?下面通过一个案例一步步地来剖析这个问题。 2. 案例 2.1 案例内容 甲想将一份合同文件通过Internet发给远在国外的乙,此合同文件对双方非常重要,不能有丝毫差错,而且此文件绝对不能被其他人得知其内容。如何才能实现这个合同的安全发送? 2.2 问题1 问题1 :最自然的想法是,甲必须对文件加密才能保证不被其他人查看其内容。那么,到底应该用什么加密技术,才能使合同传送既安全又快速呢?   可以采用一些成熟的 对称加密算法 ,如DES、3DES、RC5等对文件加密。对称加密采用了对称密码编码技术, 对称加密的特点是文件加密和解密使用相同的密钥 ,即加密密钥也可以用做解密密钥,这种方法在密码学中叫做对称加密算法, 2.3 问题2 问题2: 如果黑客截获此文件,是否用同一算法就可以解密此文件呢?   不可以,因为加密和解密均需要两个组件:加密算法和对称密钥,加密算法需要用一个对称密钥来解密,黑客并不知道此密钥。 2.4 问题3 问题3: 既然黑客不知密钥

SGX概述:第一部分(内部机制) 翻译

淺唱寂寞╮ 提交于 2019-12-02 02:41:49
目录 [Overview of Intel SGX - Part 1, SGX Internals](https://blog.quarkslab.com/overview-of-intel-sgx-part-1-sgx-internals.html) 1. Introduction 介绍 2. Overview 概述 Instructions 指令 Structures 结构 3. Memory 内存 Enclave Page Cache (EPC) Enclave Page Cache Map (EPCM) Memory Management Structures Instructions Explanations 解释 Memory Content 4. Processor 处理器 Enclave Creation Measures 措施 Structures Instructions Explanations Enclave Entry/Exit Instructions Explanations Interrupt Handling 中断处理 Instructions 指令 Explanations 5. Features Sealing Instructions Explanations Attestation Structures Instructions

使用gpg-agent的SSH功能

别来无恙 提交于 2019-12-01 21:54:06
转载:(https://ddosolitary.github.io/posts/use-the-ssh-feature-of-gpg-agent/) GPG和SSH是非常常用的有非对称加密功能的软件,然而,有没有觉得ssh-agent不太好用,有没有觉得要同时管理两者的密钥很麻烦?实际上,GPG提供的gpg-agent提供了对SSH协议的支持,这个功能可以大大简化密钥的管理工作。 使用GPG管理SSH密钥主要有这些好处: 备份密钥时只要备份一个GPG密钥即可,不用再单独备份SSH密钥 可以使用GPG提供的各种密钥管理功能(如子密钥) gpg-agent可以在需要时自动启动(SSH功能的自动启动需要systemd一类的软件支持,不过Arch Linux的官方gpg包已经提供了相关的systemd配置),而ssh-agent需要手动启动 gpg-agent会自动加载所有被允许用于SSH的密钥,而ssh-agent必须手动使用ssh-add添加密钥,而且每次启动都要手动添加 gpg-agent在密钥被使用时才会询问密码,而且可以设置缓存密码的时间,而ssh-agent在添加密钥时询问密码,只能设置添加的密钥的有效时间,失效后又要手动添加 虽然也可以通过一定的系统配置来获得一部分以上说到的好处,但是有现成的软件提供了这样的功能,显然要方便很多。 那么进入正题。首先要启用gpg