20170908 加密和安全(一)

一、安全机制:

  • 信息安全防护的目标
    保密性Confidentiality
    完整性Integrity
    可用性Usability
    可控制性Controlability
    不可否认性Non-repudiation

  • 安全防护环节
    物理安全:各种设备/主机、机房环境
    系统安全:主机或设备的操作系统
    应用安全:各种网络服务、应用程序
    网络安全:对网络访问的控制、防火墙规则
    数据安全:信息的备份与恢复、加密解密
    管理安全:各种保障性的规范、流程、方法

  • 安全攻击:STRIDE
    假冒Spoofing
    篡改Tampering
    否认Repudiation
    信息泄漏Information Disclosure
    拒绝服务Denial of Service
    提升权限Elevation of Privilege

  • 常用安全技术

    • 认证
    • 授权
    • 安全通信
    • 审计
    • 3A(认证、授权、审计)
  • 密码算法和协议

    • 对称加密
    • 公钥加密
    • 单向加密
    • 认证协议

二、对称加密和非对称加密:

(一)对称加密:加密和解密使用同一秘钥

  • 常用加密标准:
    DES: Data Encryption Standard, 56bits
    3DES
    AES: Advanced Encryption Standard, (128, 192, 256bits)

  • 特性:
    1、加密、解密使用同一个密钥,效率高
    2、将原始数据分割成固定大小的块,逐个进行加密

  • 缺陷:
    1、密钥过多:与不同用户通信需要保存不同秘钥
    2、密钥分发:秘钥分发的过程要么不安全,要么分发的效率太低、成本太高
    3、数据来源无法确认

(二)非对称加密:

  • 公钥加密:密钥是成对出现,一个用于加密,另一个用于解密

    • 公钥(public key):公开给所有人
    • 私钥(secret key):自己留存,必须保证其私密性
  • 特性:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然

  • 缺点:密钥长,加密解密效率低下

  • 功能:

    • 数字签名:主要在于让接收方确认发送方身份
    • 对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方
    • 数据加密:适合加密较小数据
  • 常用加密标准:
    RSA(加密,数字签名),DSA(数字签名),ELGamal

  • 实现数据加密的过程:

    • 接收者
      生成公钥/密钥对:P和S
      公开公钥P,保密密钥S
    • 发送者
      使用接收者的公钥来加密消息M
      将P(M)发送给接收者
    • 接收者
      使用密钥S来解密:M=S(P(M))
  • 实现数字签名的过程

    • 发送者
      生成公钥/密钥对:P和S
      公开公钥P,保密密钥S
      使用密钥S来加密消息M
      发送给接收者S(M)
    • 接收者
      使用发送者的公钥来解密M=P(S(M))

(三)单向散列:

  • 定义:将任意数据缩小成固定大小的“指纹”

  • 特点:

    • 任意长度输入
    • 固定长度输出
    • 若修改数据,指纹也会改变(“不会产生冲突”)
    • 无法从指纹中重新生成数据(“单向”)
  • 功能:验证数据完整性

  • 常见算法:
    md5: 128bits, sha1: 160bits, sha224, sha256, sha384, sha512

  • 常用工具

    • md5sum | sha1sum [ --check ] file
    • openssl, gpg
    • rpm -V
  • 实验1:md5sum, sha1sum工具验证数据完整性

20170908 加密和安全(一)_第1张图片
  • 实验2:使用gpg实现对称加密

    • 发送方:gpg -c passwd,过程输入两次密码,生成passwd.gpg的加密文件
    • 接收方:gpg -o passwd -d passwd.gpg,输入密码,将解密结果重定向到文件
  • 实验3:使用gpg实现公钥加密

(1)接收方:执行gpg --gen-key命令生成密钥对

第1步:选择密钥加密标准,选择默认RSA

20170908 加密和安全(一)_第2张图片

第2步:选择密钥位数,这里指明1024位

第3步:选择密钥有效期,选择默认值0,表示永久有效

20170908 加密和安全(一)_第3张图片

第4步:为密钥提供一个标签便于区分

20170908 加密和安全(一)_第4张图片

第5步:提示输入密码,可以不指定密码,直接ok继续,系统会反复提示确认密码,然后提示生成公钥和私钥成功

20170908 加密和安全(一)_第5张图片

(2)接收方:查看公钥并且导出公钥

第1步:查看公钥gpg --list-keys

20170908 加密和安全(一)_第6张图片

第2步:导出公钥gpg -a --export -o hellopeiyang.pubkey

第3步:将公钥发送给发送方

(3)发送方:导入接收方的公钥,用这个公钥加密文件,将密文传送给接收方

第1步:导入接收方的公钥gpg --import hellopeiyang.pubkey,可以查看一下是否正确导入gpg --list-keys

20170908 加密和安全(一)_第7张图片

第2步:用公钥加密文件gpg -e -r hellopeiyang message,-r选项后指定公钥的标签名,生成"原文件名.gpg"的加密文件

20170908 加密和安全(一)_第8张图片

第3步:将加密文件发送给接收方

(4)接收方:接收加密文件,用私钥解密文件

执行命令gpg -o message -d message.gpg,-o选项将解密结果输出重定向到文件

20170908 加密和安全(一)_第9张图片

(5)后续工作:删除密钥
必须先删除私钥,再删除相应的公钥
gpg--delete-secret-keys hellopeiyang 删除私钥
gpg--delete-keys hellopeiyang 删除公钥

20170908 加密和安全(一)_第10张图片

你可能感兴趣的:(20170908 加密和安全(一))