MASTG-KNOW-0066 CryptoKit

Apple CryptoKit は iOS 13 でリリースされ、FIPS 140-2 認証 の Apple のネイティブ暗号化ライブラリ corecrypto の上に構築されています。Swift フレームワークは厳密に型付けされた API インタフェースを提供し、効果的なメモリ管理を行い、比較可能 (eauatable) に適応し、ジェネリックをサポートします。CryptoKit にはハッシュ、対称鍵暗号化、公開鍵暗号化のためのセキュアなアルゴリズムが含まれています。このフレームワークでは Secure Enclave のハードウェアベースの鍵マネージャも利用できます。

Apple CryptoKit には以下のアルゴリズムが含まれています。

ハッシュ:

  • MD5 (Insecure Module)

  • SHA1 (Insecure Module)

  • SHA-2 256-bit digest

  • SHA-2 384-bit digest

  • SHA-2 512-bit digest

対称鍵:

  • Message Authentication Codes (HMAC)

  • Authenticated Encryption

    • AES-GCM

    • ChaCha20-Poly1305

公開鍵:

  • Key Agreement

    • Curve25519

    • NIST P-256

    • NIST P-384

    • NIST P-512

例:

対称鍵の生成と解放:

let encryptionKey = SymmetricKey(size: .bits256)

SHA-2 512-bit digest の計算:

let rawString = "OWASP MTSG"
let rawData = Data(rawString.utf8)
let hash = SHA512.hash(data: rawData) // Compute the digest
let textHash = String(describing: hash)
print(textHash) // Print hash text

Apple CryptoKit の詳細については、以下のリソースを参照してください。

Last updated

Was this helpful?