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 の詳細については、以下のリソースを参照してください。
PreviousMASVS-CRYPTO: 暗号NextMASTG-KNOW-0067 CommonCrypto, SecKey および Wrapper ライブラリ (CommonCrypto, SecKey and Wrapper libraries)
Last updated
Was this helpful?