メモアプリのセキュリティ機能
メモアプリには、秘密メモの機能が搭載されており(iPhone、iPad、Mac、およびiCloudのWebサイトの場合)、ユーザは特定のメモの内容を保護できます。メモをほかの人と安全に共有することもできます。
秘密メモ
秘密メモはユーザが設定したパスフレーズを使ってエンドツーエンドで暗号化されます。iOS、iPadOS、macOSの各デバイス、およびiCloudのWebサイトでこのメモを見るには、パスフレーズが必要です。iCloudアカウント(「この」デバイスのアカウントを含む)ごとに別々のパスフレーズを設定できます。
ユーザがメモを保護して秘密メモを作成すると、ユーザのパスフレーズから、PBKDF2およびSHA256を使って16バイトの鍵が導出されます。メモとそのすべての添付ファイルの内容はAES-GCM(AES with Galois/Counter Mode)で暗号化されます。新しいレコードがCore DataおよびCloudKit内に作成され、暗号化されたメモ、添付ファイル、タグ、および初期化ベクトルが保存されます。新しいレコードが作成されると、元の暗号化されていないデータは削除されます。暗号化に対応する添付ファイルは、イメージ、スケッチ、表、マップ、およびWebサイトです。ほかの種類の添付ファイルを含むメモは暗号化できず、非対応の添付ファイルを秘密メモに追加することもできません。
ユーザが秘密メモを見るには、パスフレーズを入力するかFace IDまたはTouch IDを使って認証する必要があります。秘密メモを表示または作成するときに、ユーザが正しく認証されると、「メモ」は安全なセッションを開始します。安全なセッションが開いている間は、追加の認証なしでほかのメモを見たり保護したりできます。ただし、安全なセッションは、入力されたパスフレーズで保護されているメモにのみ適用されます。異なるパスフレーズで保護されているメモの場合は、認証操作が必要です。安全なセッションは以下の場合に終了します。
ユーザが「メモ」で「今すぐロック」ボタンをタップした
「メモ」がバックグラウンドに切り替えられてから3分(macOSでは8分)を超えた
iOSまたはiPadOSデバイスがロックされた
秘密メモのパスフレーズを変更するには、現在のパスフレーズを入力する必要があります。これは、パスフレーズの変更時にはFace IDとTouch IDを利用できないためです。新しいパスフレーズを選択すると、メモアプリは、前のパスフレーズで暗号化されている同じアカウント内のすべての既存メモの鍵を再ラップします。
ユーザがパスフレーズを3回続けて間違って入力するとユーザが設定したヒントが「メモ」に表示されます(設定時にユーザが入力した場合)。ユーザがそれでもパスフレーズを思い出せない場合は、「メモ」の設定でリセットできます。リセットした場合、新しいパスフレーズで新しい秘密メモを作成することはできますが、以前の秘密メモを表示することはできません。リセット後でも、古いパスフレーズを思い出すことができれば、以前の秘密メモを表示できます。パスフレーズをリセットするには、ユーザのiCloudアカウントのパスフレーズが必要です。
共有メモ
パスフレーズでエンドツーエンドの暗号化がなされていないメモは、ほかのユーザと共有できます。共有メモであっても、ユーザがメモに入力したテキストまたは添付ファイルには、CloudKitで暗号化されるデータタイプが使用されます。アセットはCKRecordに含まれる暗号化された鍵により、常に暗号化されています。作成日や変更日などのメタデータは暗号化されません。CloudKitは参加者が互いのデータを暗号化および復号するプロセスを管理します。