加密和CA认证

1.  加密数据可以通过以下几种方式:
【单向加密(可保证数据的完整性,仅提取数据的特征码,并且是不可逆的,只要数据一样加密后的结果一定也一样)
            #单项加密算法有:CRC-32、MD5(linux redhat默认使用的,定长输出为128位)、SHA-1、mdc2)
【对称加密(通常用来加密数据,可保证数据安全性,并且加密和解密使用同一个密钥,也成块加密
            #算法库有DES、3DES、AES、Blowfish、Twofish、RC6、I DEA、CAST5等
            #常用加密工具:openssl enc、gpg(支持3DES、CAST5、Blowfish)
【非对称加密(会生成一对密钥,公钥纯粹用来做数据加密的,私钥常用来做身份认证、密钥交换,基于非对称机密目的是想要拿到对方的公钥)
             #算法库有:RSA、EIGamal、DSA(只签名不加密)
             #加密工具:gpg、openssl、
公钥基础架构(PKI),数字证书是它的核心
2.  openssl三个重要库文件:
  【libcrypto加密库,提供机密机制,可用来实现通用加密】
【libssl保证协议并附加安全机制,如认证安全、传输安全;
并支持传输层安全的套接字协议(TLS/SSL)】
#TLS只能对tcp协议进行加密
#SSL对一般常见的协议均可进行对其加密
#可对Sendmail、OpenLDAP、Apache等提供安全库
【openssl多目标的通用加密,可生成x.509格式证书;摘录概要信息等】
            {和openssl相关的常用指令如下:
            #openssl  version  -a(查看openssl版本和编译时的参数)
            #openssl  ?(显示openssl所有可用的指令)
            #openssl  speed  aes(用来测试对当前某个加密算法的速度的)
            #openssl  cipers(显示所有常见的加密算法)
3.  随机数生成器(两次输入每个字符击键盘之间的时间间隔称作一个随机数,此数所放位置称作熵尺)
L inux  RedHat 上有内核提供的两个熵尺地址:
【/dev/random(通常被用来使用)
【/dev/urandom(不建议使用)
例openssl  rand  -base64  5(用来生成一个64位的随机数)
4 . 数字签名(仅保证数据的完整性,但不保证其加密性)
5. 计算校验码和输出校验码的格式:
   【sha1sum [--check]  file
   【md5sum  [--check]  file
   【openssl  dgst
   【cksum
    它们的用法区别例子如下图
      
    看到均对/etc/fstab计算校验码,用sha1sum和openssl  dgst的特校验码一样,但与MD5的则不同因为MD5的定长默认输出为128位
    输出校验码例子如下图
    
6.  用户认证例子如下图
openssl  passwd  -1(用来校验密码的)
7.  用户安全通信要实现如下这三个过程:
【数据完整性(需用hashes算法对此数据提取特征码)
【身份验证(用非对称加密算法,发送方用自己的私钥加密提取到的特征码)
【数据加密(用sy协议,用GPH或asy算法生成一对密钥KE)
8. 基于第7步的具体过程如下:(此处是对于发送者而言的)
   1)计算数据fingerpirnt
   2)使用自己的私钥加密此hash,并附加在数据尾部
   3)生成一个临时性的对称密钥
   4)使用此对称密钥加密数据及附加的hash
   5)使用对方的公钥加密此对称密钥,并附加在秘文尾部
   6)发送给接收方
9. 例子从生成一对密钥,CA证书签发请求,CA公司对证书签发请求做证书签名,发证等这些过程的演示,具体步骤如下:
  1)cd  /etc/pki/tls/certs/(切换目录在这个目录之下生成证书)
    
  2)make  my.key(生成一对密钥,且必须以“.key”为后缀作为要生成的一对密钥文件名)或
openssl  genrsa  1024  >my.key两种方法均可用,具体如下图所示;
   
   
  都已出现了my.key密钥文件
3)openssl  rsa  -in  my.key  -pubout  -out  my.pub
  从my.key中踢出公钥(默认生成的密钥包含着公钥的,但是却隐藏了)如下图:
  
出现my.pub表明已踢出公钥成功了
4)make  my.csr  my.key(证书签发请求,必须以“.csr”为后缀签发请求的文件名)或
   openssl  req  -new  -key  my.key  �C out  my.csr命令均可
   如下图所示:
  
  
  都已出现my.csr文件表明证书签发请求已成功创建
 5) openssl  req  -in  my.csr  -noout  -text(以文本方式查看my.scr密钥文件)如下图所示:
openssl  req  -in  my.csr  -noout  -subject(查看my.csr密钥文件主题)如图:
  
  出现的情况和用文本显示中黑色标记的情况一样
6)证书分为以“.pem”或“.crt”为文件后缀的证书。
make  my.pem(生成证书)或
   openssl  req  -new  -x509  -key  ./my.key  -out  ./my.pem 两命令均可用来生成证书,如下图所示  
  
  
  
  看到他们都出现my.pem了说明证书已创建成功
7)cat  my.pem(查看证书)如图所示它中即含有证书和私钥,所以用“.pem”生成的证书一般只用来做实验用,而不能用来作为真正的证书,因为私钥是不允许放入证书中的,所以真正的证书是以“.crt ”为后缀名创建的证书。
  如下图:
  
  看到图中标记它确实包含有私钥
make  my.crt(创建以“.crt”形式为后缀的证书,这种形式的证书现实中真正使用的证书)
看到图中已出现my.crt文件表证书已创建成功
  cat  my.crt  (查看证书)如下图:
  
  看到图中确实已不含有私钥了
8)如果某公司的私钥丢了则CA公司将会把此公司的CA证书吊销以保证安全

你可能感兴趣的:(加密,职场,休闲,CA认证)