zoukankan      html  css  js  c++  java
  • 安全攻防技能30讲 何为舟

    原文:01 安全的本质 数据被窃取后,你能意识到问题来源吗

    安全原则

    1. 机密性 Confidentiality
      确保数据只被授权的主体访问,不被任何未授权的主体访问;
      e.g. 未付费用户无法学习极客时间付费专栏
    2. 完整性 Intergrity
      确保数据只被授权的主体进行授权的修改,可以理解为对主体设置增删改查的权限;
      e.g. 专栏内容不会变成其他专栏的内容
    3. 可用性 Avaliability
      确保用户可被授权的主体访问到.
      e.g. 付费用户可随时学习

    原文:02 安全原则 我们以供如何上手解决安全问题

    安全解决方案思路

    认证

    即身份识别和认证。身份识别确认“你是谁”,身份认证确认“你是你”

    • 身份识别
      主体如何声明自己的身份。
    • 认证
      证明自己所声明的身份是合法的。
      1) 你知道什么(密码,密保问题等)
      2) 你拥有什么(门禁卡,安全令牌等)
      3) 你是什么(生物特征,指纹,人脸,虹膜等)

    授权

    你能做什么?你能做多少?

    审计和问责

    • 审计
      通过翻阅日志检查 你做了什么?是否违规?
    • 问责
      通过日志完整性确保日志是可靠的,这样审计才是有意义的。

    原文: 03 密码学基础 如何让你的密码变得“不可见”

    加密算法

    对称加密算法

    1. DES 数据加密标准
    • 密钥长度为56位
    1. IDEA 国际数据加密算法
    • 密钥长度为128位
    • DES和AES都受美国征服控制。IDEA没有专利限制
    1. AES 高级加密标准
    • 提供128位,192位,256位密钥长度
    • AES是国际上最认可的密码学算法
    1. 国密SM1
    • 中国政府
    • 不公开,国家机密
    1. 国密SM4
    • 中国政府
    • 算法公开,可自行使用

    非对称加密算法

    1. RSA
    • 优势: 性能比较快
    • 质数难题: 两个大质数p,q相乘的结果n很容易计算,但是根据n去做质因数分解得到p,q需要很大的计算量。
    1. ECC 椭圆加密算法
    • ECC是目前国际上加密强度最高的非对称加密算法
    1. 国密 SM2
    • 中国政府

    散列算法

    • 提供唯一的ID
    • 鲁棒性(同样的消息生成同样的摘要)
    1. MD5 消息摘要算法
    • 128位
    • 不推荐使用,除非长度受限(32个字符)
    1. SHA 安全散列算法
    • 分为SHA-1 ,SHA-2两个版本
    • 推荐使用,SHA-256普遍认为是相对安全的散列算法
    1. 国密SM3
    • 中国政府

    注意: 在使用散列算法要注意加“盐”。

    • 盐:随机字符串,拼接用户密码,这样即使两个用户设置相同密码散列值也不一样,“盐”值越长安全性越高。

    原文: 04 身份认证 除了账号密码,我们还能怎么做身份认证

    身份认证

    对外认证:账号密码,验证码,人脸识别,指纹识别等;(你知道什么,你拥有什么,你是什么)
    对内认证:服务器登录,数据库登录,git登录,内部管理后台登录等;

    现存威胁

    • 没有认证环节
    • 弱密码
    • 认证信息泄露

    解决方案

    • 密码强度限制
    • 定期修改密码
    • 关键操作设置第二密码
    • 手机验证码代替验证
    • 人脸指纹等生物特征
    • https

    单点登录

    公司业务繁杂拥有多个系统,如何对这些账号进行统一管理? - 单点登录
    单点登录如何解决身份认证问题? 在这里我推荐看以下两篇文章,对单点登录介绍较为清晰,能让读者有一个更为深刻的印象。
    单点登录(SSO)看这一篇就够了
    什么是单点登录(SSO)

    • CAS流程
    • JWT
      JWT由 header+payload 经过Base64编码后,再次经过HS256算法进行(密钥)加密获得签名,完整的JWT为:header.payload.signature
    1. 对JWT有一个基础的印象: JSON Web Token - 在Web应用间安全地传递信息

      缺点: 注销问题。
    2. JWT 在实际运用中的使用以及其优缺点,以及 JWT 和 Oauth 2.0 这两者到底有什么差别和联系: JWT超详细分析
    3. 了解JWT在登录功能的使用(PHP): JWT完整使用详解
    • OAuth
    • OpenID

    安全攻防技能30讲系列文章

    安全攻防技能30讲 何为舟 - 笔记(1)

    • 摘要:CIA三元组;安全解决方案;密码学;身份认证;单点登录;JWT;

    安全攻防技能30讲 何为舟 - 笔记(2)

    • 摘要:访问控制;XSS攻击了解;CSRF攻击了解;

    说明 : 文章基于个人理解进行再整理,每篇原文我都通读两遍以上。

  • 相关阅读:
    NLog 在NetCore中实现多实例注入DI, 实现多租户模式
    Linux命令入门篇(二)
    Linux命令入门篇(一)
    uni-app初探之幸运轮盘
    uni-app初探之天气预报小例子
    iOS 底层原理之—dyld 与 objc 的关联
    QT OpenGLWidget高分屏适配时出现的问题
    基于React.js网页版弹窗|react pc端自定义对话框组件RLayer
    面向对象的六大原则
    android混淆日记
  • 原文地址:https://www.cnblogs.com/Tester_Dolores/p/13284955.html
Copyright © 2011-2022 走看看