基础内容

定义:确保系统和数据的保密性、完整性和可用性

关键概念

  • 身份认证(Authentication):验证用户身份(should this person be allowed in? If yes, who are they?)
    • 认证方式
      • 单因素认证(Single-Factor Authentication):仅使用一个因素(如密码)进行认证
      • 多因素认证(Multi-Factor Authentication, MFA):结合两种或多种独立的认证方式,如密码和短信验证码、指纹识别等
    • 实现技术
      • 用户名和密码
        • 最常见的认证方式,通过数据库存储用户的哈希密码进行验证。
        • 技术:Bcrypt, Argon2
      • OAuth
        • 一种开放标准,用于访问资源的授权
        • 工具:OAuth 2.0 , OpenID Connect
      • 生物识别
        • 使用指纹、面部识别、虹膜扫描等生物特征进行认证。
        • 技术:Touch ID, Face ID
  • 授权(Authorization):控制用户访问权限(once they are in, what are they allowed to do?)
  • 数据加密(Data Encryption):保护数据的机密性
    • 加密类型
      • 对称加密:使用相同的密钥进行加密和解密
      • 非对称加密:使用一对公钥和私钥进行加密和解密
    • 加密应用
      • 传输加密:在数据传输过程中进行加密,保护数据免受窃听和篡改
      • 存储加密:在数据存储时进行加密,保护数据免受未经授权的访问
    • 实现技术
      • 对称加密算法
        • 技术:AES(高级加密标准)
      • 非对称加密算法
        • 技术:RSA(Rivest-Shamir-Adleman)、ECC(椭圆曲线密码学)
      • 传输层安全协议
        • 使用 SSL/TLS 协议对数据传输进行加密
        • 工具:OpenSSL, Let’s Encrypt
      • 数据库加密
        • 对存储在数据库中的敏感数据进行加密
        • 技术:TDE(Transparent Data Encryption),应用级加密