天天看点

Linux加密和安全

 墨菲定律:一种心理学效应,是由爱德华·墨菲(edward a. murphy)提出的,原话:如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会做出这种选择  主要内容:     任何事都没有表面看起来那么简单     所有的事都会比你预计的时间长     会出错的事总会出错     如果你担心某种情况发生,那么它就更有可能发生
  1、信息安全防护的目标:     保密性 confidentiality     完整性 integrity       数据不能被串改,要保证数据的完整性     可用性 usability       让系统一直处于稳定可用状态     可控制性 controlability       系统要处于可控制的范围内     不可否认性 non-repudiation       否定事情的正确性   2、安全防护环节:     物理安全:各种设备/主机、机房环境     系统安全:主机或设备的操作系统     应用安全:各种网络服务、应用程序     网络安全:对网络访问的控制、防火墙规则     数据安全:信息的备份与恢复、加密解密     管理安全:各种保障性的规范、流程、方法
安全×××: stride   spoofing 假冒   tampering 篡改   repudiation 否认   information disclosure 信息泄漏   denial of service 拒绝服务   elevation of privilege 提升权限 安全设计基本原则:   使用成熟的安全系统   以小人之心度输入数据   外部系统是不安全的   最小授权   减少外部接口   缺省使用安全模式   安全不是似是而非   从stride思考   在入口处检查   从管理上保护好你的系统
  常用安全技术     认证     授权     审计     安全通信       在通信的过程中,要保证信息的安全   密码算法和协议     对称加密     公钥加密     单向加密     认证协议
凯撒密码 加密思想是在当前字母往后移三位,比如说:love,oryh,如果最后一位是z的话继续转圈回来从a开始继续往下走
  对称加密:加密和解密使用同一个密钥     des:data encryption standard,56bits     3des:相对于des的三倍加密方式     aes:advanced (128, 192, 256bits)     blowfish,twofish     idea,rc6,cast5   特性:     1、加密、解密使用同一个密钥,效率高     2、将原始数据分割成固定大小的块,逐个进行加密   缺陷:     1、密钥过多     2、密钥分发     3、数据来源无法确认 算法的几个要求:   1、公钥可以公开    2、key   算法和密钥配合起来一块使用,密钥不公开,保证用不同的密钥结合相同算法加密出来的结果是破解不了的
  公钥加密:密钥是成对出现     公钥:公开给所有人;public key     私钥:自己留存,必须保证其私密性;secret key   特点:     用公钥加密数据,只能使用与之配对的私钥解密;反之亦然   功能:     数字签名:主要在于让接收方确认发送方身份     对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方     数据加密:适合加密较小数据   缺点:     密钥长,加密解密效率低下   算法:     rsa(加密,数字签名)     dsa(数字签名)     elgamal   基于一对公钥/密钥对     用密钥对中的一个加密,另一个解密 实现加密:   接收者     生成公钥/密钥对:p和s     公开公钥p,保密密钥s   发送者     使用接收者的公钥来加密消息m     将p(m)发送给接收者     使用密钥s来解密:m=s(p(m)) 结合签名和加密 分离签名
将任意数据缩小成固定大小的“指纹”   任意长度输入   固定长度输出   若修改数据,指纹也会改变(“不会产生冲突”)   无法从指纹中重新生成数据(“单向”) 功能:    数据完整性 常见算法    md5: 128bits、sha1: 160bits、sha224 、sha256、sha384、sha512 常用工具    md5sum | sha1sum [ --check ] file    openssl、gpg    rpm -v
Linux加密和安全
密钥交换: ike( internet key exchange )   公钥加密:   dh (deffie-hellman):生成会话密钥,由惠特菲尔德·迪菲(bailey whitfield diffie)和马丁·赫尔曼(martin edward hellman)在1976年发表 参看:https://en.wikipedia.org/wiki/diffie%e2%80%93hellman_key_exchange dh:   a: g,p 协商生成公开的整数g, 大素数p   b: g,p   a:生成隐私数据 :a (a<p ),计算得出 g^a%p,发送给b   b:生成隐私数据 :b,计算得出 g^b%p,发送给a   a:计算得出 [(g^b%p)^a] %p = g^ab%p,生成为密钥   b:计算得出 [(g^a%p)^b] %p = g^ab%p,生成为密钥
文件完整性的两种实施方式 被安装的文件   md5单向散列   rpm --verify package_name (or -v) 发行的软件包文件   gpg公钥签名   rpm --import /etc/pki/rpm-gpg/rpm-gpg-key-redhat*   rpm --checksig pakage_file_name (or -k)
对称加密file文件    gpg -c file    ls file.gpg
在另一台主机上解密file   gpg -o file -d file.gpg
在hostb主机上用公钥加密,在hosta主机上解密 在hosta主机上生成公钥/私钥对   gpg --gen-key 在hosta主机上查看公钥   gpg --list-keys 在hosta主机上导出公钥到cobbler.pubkey   gpg -a --export -o cobbler.pubkey 从hosta主机上复制公钥文件到需加密的b主机上   scp cobbler.pubkey hostb: 在需加密数据的hostb主机上生成公钥/私钥对 在hostb主机上导入公钥   gpg --import cobbler.pubkey 用从hosta主机导入的公钥,加密hostb主机的文件file,生成file.gpg   gpg -e -r cobbler file   file file.gpg 复制加密文件到hosta主机   scp fstab.gpg hosta: 在hosta主机解密文件   gpg -d file.gpg 删除公钥和私钥   gpg --delete-keys cobbler   gpg --delete-secret-keys cobbler

继续阅读