iOS

セキュリティと暗号化

高度なKeychain、CryptoKit、SSL Pinning、生体認証、secure coding、ATS

20 面接問題·
Senior
1

機密性の高い認証トークンを安全に保存するには、どのiOSのメカニズムを使用すべきですか?

回答

Keychainは、機密データ専用に設計されたiOSのネイティブなセキュアストレージシステムです。データを自動的に暗号化し、定義された制御ポリシーに従ってアクセスを管理します。UserDefaultsはデータを平文で保存するため、秘密情報には決して使用すべきではありません。Keychainは、生体認証によるアクセスや安全なiCloud同期などの高度な機能も提供します。

2

デバイスがロックされている間、データにアクセスできないようにするには、どのKeychain属性を指定しますか?

回答

kSecAttrAccessibleWhenUnlockedは、デバイスがロック解除されているときのみデータにアクセスできるようにします。これにより、バックグラウンドプロセスを通じてKeychainが参照された場合でも保護されます。この値はAppleが機密トークンに推奨しています。WhenUnlockedThisDeviceOnlyなどの他のオプションは、iCloud同期を防ぐことで追加の保護を提供します。

3

AES-256の対称暗号化を行うには、どのCryptoKitクラスを使用すべきですか?

回答

CryptoKitのSymmetricKeyは対称鍵を管理し、AES.GCM(Galois/Counter Mode)は認証付き暗号化を行います。GCMは機密性と認証の両方を提供し、改ざん攻撃を防ぐため好まれます。このアプローチは、古いデバイスで極端なパフォーマンスを必要としない状況では、ChaCha20Poly1305よりも安全です。

4

対称暗号化に対する非対称暗号化の主な利点は何ですか?

5

セキュリティにおいて、ハッシュ化と暗号化の根本的な違いは何ですか?

+17 面接問題

次の面接に向けてiOSをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める