CryptoKitの新機能

ユーザーにとって、Appの安全性およびデータ保護は極めて重要なことです。認証、メッセージ暗号化などの機能を有効にしたり、または規制要件を満たすために、Appに暗号化操作を実装しなければならない場合があるでしょう。CryptoKitは、ハッシュの計算が必要な場合でも、より高度な認証プロトコルを実装している場合でも、一般的な暗号化操作をより簡単かつ安全に実行できるようにするSwiftフレームワークです。CryptoKitは今年、PEMおよびDER形式をサポートするHMACベースのExtract-and Expand Key Derivation Functions(HKDF)用の新しいAPIを追加し、ユーザーはSwift Cryptoを使用することで、Swiftが実行されるすべての場所でコードを実行できるようになりました。

HKDF

鍵導出関数を使用することで、マスターキーまたはパスコードから、1つ以上の暗号鍵を導出できます。iOS14以降では、HKDFにスタンドアロン型APIを使用できるようになりました。マスターシークレットから複数の鍵を取得するなどの簡単なタスクに使用できるワンタイムパスワードを統合したり、鍵派生プロセスを詳細に制御できる2ステップで行われる抽出および拡張APIを統合してみましょう。以前のiOSバージョンでは、HKDFは楕円曲線鍵共有プロトコルから対称鍵を派生する場合にのみサポートされていました。

HKDF

楕円曲線鍵をエンコードするPEMおよびDER形式

現在PEMおよびDER形式は、CryptoKitで直接サポートされています。これにより、別のライブラリを使用して変換することなく、PEM文字列またはDERでエンコードされたデータを直接使用して、CryptoKitの公開鍵および秘密鍵を初期化できるようになりました。

移植性

Swift Cryptoを使用すると、Linux やサーバーなどのSwiftがサポートするすべてのプラットフォームで、CryptoKit APIを使用してクロスプラットフォームソリューションを作成できます。ワンタイムパスワードを使用した2ファクタ認証のサポートなど、クライアントとサーバーで同じコードを実行する必要がある場合において、移植性は欠かせません。

Resources

Introducing Swift Crypto

Watch “Cryptography in Swift” from dotSwift 2020