频道栏目
首页 > 资讯 > 加密解密 > 正文

数据加密过程及证书颁发

12-03-09        来源:[db:作者]  
收藏   我要投稿
数据加密方式:
1、对称加密
   加密效率高
DES
3DES:
AES:支持不同长度的加密128 192 256 512
Blowfish
工具
openssl enc
gpg
 
 
2、公钥加密(非对称加密)
  算法复杂,加密过程慢,通常用于实现密钥交换
加密和签名:RSA  ELGmal
 
 
数字签名:DSA
 
 
3、单向加密
  加密的过程是不可逆的,通常用于实现文件的摘要特征,保证文件完整性
MD5   128
SHA1  160
CRC-32
工具:
md5sum
sha1sum
openssl dgst
 
 
计算文件的校验码:
#md5sum  FILE     ==>  #openssl dgst -md5 FILE
#sha1sum FILE     ==>  #openssl dgst -sha1 FILE
 
 
计算机网络中数据加密实现过程:
  用户A给用户B发送加密文件:
1、用户A将文件用单向加密,生成文件的摘要特征码,用自己的私钥把特征码加密
2、A用户电脑随机生成对称密钥将文件和加密过的特征码一并加密
3、用B的公钥将对称密钥加密
4、将加密过的密钥和2过程中产生的文件一并发给B
 用户B收到A的加密数据:
1、用自己私钥将文件解密  得到A的对称密钥
2、用对称密钥解密文件
3、用A的公钥解密特征码,并将文件单向加密也形成摘要特征码,两者比对,若一致,表示文件是A用户发送且未被篡改过
  
公钥是公开在网络中的  私要则是用户自己妥善保存的  
这里有个问题就是A 和B的公钥如何在网络中传输并确定A的公钥就是A的B的公钥就是B的
 
 
用户B可向具有公信力的第三方CA(证书颁发机构)申请证书,证书内容包括:
 
 
         一、证书的持有者的相关信息
         二、CA的相关信息
         三、证书的使用方法
        四、公钥
 
 
  CA会用私钥对证书的特征码加密  用户A和B需要进行数据加密传输是,会各自得到对方的证书,会用CA的公钥解密,并对比特征码,以实现证书的真实性,确定就是对方的证书,那么就可以得到对方的公钥  上述过程就可以进行
 
 
 
 
 
 
在Linux中颁发过程 ,因为是实验过程  所以需要自己创建个CA,此CA为自己颁发证书
 
 
CA服务器建立:
#cd /etc/pki/CA
#vim /etc/pki/tls/openssl.cnf
dir             = ../../CA   替换成/etc/pki/CA   此目录为CA的工作目录
#openssl genrsa 1024>/private/cakey.pem     //生成私钥
 #chmod 600 cakey.pem
#openssl req -new -x504 -key /private/cakey.pem -out cacert.pem -days=365  //为自己颁发证书
  需要为CA服务器建立目录和文件
 #mkdir  certs crl newcerts
  #touch index.tst serial crlnumber
  #echo 01>serial      处理证书请求的文件序列号 从01 开始
 
 
用户向CA请求
cd /etc/http
#openssl genrsa 1024 >httpd.key
#openssl req -new -key httpd.key -out httpd.csr   //生成证书请求  会要求输入相关信息
#scp httpd.csr /CASERVERIPADD:/tmp      //将httpd.csr文件cp到CA服务器中,递交请求
 
CA处理用户的证书请求 
#openssl ca -in /tmp/httpd.csr -out httpd.crt   //颁发证书
 
作者 明日香
相关TAG标签
上一篇:思科CDP协议基础知识
下一篇:应用服务器常见安全管理漏洞
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站