iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

0
Software Development

安全軟體開發生命週期(SSDLC)學習筆記系列 第 32

密碼開發方法

概述

此處參考NIST的加密標準和準則(CSRC)文件,當中的加密需求最佳指南。

參考資料

-libsodium-(Github)
-OpenSSL-(Github)

建議使用帶有Curve25519的橢圓曲線密碼演算法(ECC/ECDH)(用於簽名和密鑰交換)

建議
  • TLS密碼組件
    建議密碼組件均應與 >= TLS 1.2版本
    不建議使用SSL 3.0或以下版本

    TLS密碼套件:
    - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    - TLS_ECDHE_ECDSA_WITH_AES_128_CCM
    - TLS_ECDHE_ECDSA_WITH_AES_256_CCM
    - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    - TLS_AES_128_GCM_SHA256
    - TLS_AES_256_GCM_SHA384
    - TLS_AES_128_CCM_SHA256

  • 雜湊演算法

    • 常見雜湊演算法
      • SHA-512
      • SHA-384
      • SHA-256
    • .Net雜湊演算法
      • 符合FIPS要求
        • SHA512Cng
        • SHA384Cng
        • SHA256Cng
          • SHA512CryptoServiceProvider
          • SHA256CryptoServiceProvider
          • SHA384CryptoServiceProvider
      • 不符合FIPS要求
        • SHA512Managed
        • SHA384Managed
        • SHA256Managed
  • 隨機數生成器(RNG)

    • CNG:BCryptGenRandom:
      BCRYPT_USE_SYSTEM_PREFERRED_RNG
    • CAPI:
      cryptGenRandom
    • Win32/64:RtlGenRandom:
      BCryptGenRandom、CryptGenRandom)
      SystemPrng(.Net Core)
    • .NET:
      RNGCryptoServiceProvider
      RNGCng
    • Windows:
      Windows.Security.Cryptography.CryptographicBuffer.GenerateRandom、GenerateRandomNumber
    • OS X:
      int SecRandomCopyBytes(SecRandomRef random, size_t count, int8_t bytes)
    • Java:
      java.security.SecureRandom。
  • 參考資料


上一篇
授權和認證開發方法
下一篇
HTTP標頭開發方法
系列文
安全軟體開發生命週期(SSDLC)學習筆記36

尚未有邦友留言

立即登入留言