あなたの「暗号化」の使用は、「情報セキュリティ」のためではないため、米国の輸出ルールの対象ではありません(ICBWに「はい、はい、はい、いいえ」と答えていると思います。注文)。本質的に、NSAがあなたを脅かすのを止めないなら、あなたはそれを使うことができます。
しかし、暗号化は伝統的にメッセージの整合性ではなく機密性を提供します。ユーザーが(iPhoneのバックアップを編集するなどして)設定ファイルを改ざんしていないようにするには、MACで保存してください。つまり、
- MACキーを生成します(/ dev/randomからいくつかのバイトを取り出します)。
- あなたはそれを保存するとき、ファイルのMACを計算する(Objective-C sample code for HMAC-SHA1を参照してください。受け入れ答えは実際にはHMAC-SHA-256であることに注意)ファイルの最後にMACを追加
- (またはファイル属性として設定、または別のファイルに貼り付ける)。
- 読み取り時に、ファイルのMACを計算し、保存したものであることを確認します。ファイルに追加されている場合は、最後の数バイトを削除する必要があります(たとえば、
[NSData dataWithContentsOfFile:path]
、次に-subdataWithRange:
を「メッセージ」とMACに取得してからMACを検証し、検証が成功した場合は「メッセージ」を解析する必要があります)
あなたのバイナリからMACキーを抽出することによって、脱獄された電話機で誰かが停止することはありませんが、それほど意思はありません。また、誰かがプレーンテキスト設定ファイルを読むのを止めることはありませんが、 。
あなたが制御しているコンピュータ上でファイルを生成している場合(サーバーからダウンロードしたファイルなど)、署名します。技術的には、RSA署名の検証は暗号化と同じですが、エクスポートの暗号化として目的であれば(それが「認証」目的のためであり、それでもカウントされません)。 DSAの署名の検証は暗号化ではありません(私の考えでは、その背後にある数学は私の頭を越えていると思います)。
ファイル保護に関する説明とアイデアをありがとうございます。それはまさに私が探していたものです。 – GrAnD