2010-11-24 14 views
1

AppleのiTunes Storeに私のアプリケーションを提出する準備をして、提出プロセス中に質問に困惑しました:「輸出法では、暗号化を含む製品に輸出のための適切な承認が必要です......あなたの製品は暗号化を使用していますか?iphoneでCommonCryptoの代わりに使用する方法は何ですか?

CommonCrypto CommonCryptor.hを使用して、設定ファイルを不正な変更からエンコードしました。 これで、すべての暗号化を完全に削除してxmlファイルをそのまま残すか、ファイルを保護するために他の方法を使用する必要があるかどうかはわかりません。 それを保護するために使用できる他の簡単な保護メカニズムと同時に暗号化を使用しないので、何度も余分な書類を必要とせずにアプリケーションを提出できますか?

答えて

1

あなたの「暗号化」の使用は、「情報セキュリティ」のためではないため、米国の輸出ルールの対象ではありません(ICBWに「はい、はい、はい、いいえ」と答えていると思います。注文)。本質的に、NSAがあなたを脅かすのを止めないなら、あなたはそれを使うことができます。

しかし、暗号化は伝統的にメッセージの整合性ではなく機密性を提供します。ユーザーが(iPhoneのバックアップを編集するなどして)設定ファイルを改ざんしていないようにするには、MACで保存してください。つまり、

  1. MACキーを生成します(/ dev/randomからいくつかのバイトを取り出します)。
  2. あなたはそれを保存するとき、ファイルのMACを計算する(Objective-C sample code for HMAC-SHA1を参照してください。受け入れ答えは実際にはHMAC-SHA-256であることに注意)ファイルの最後にMACを追加
  3. (またはファイル属性として設定、または別のファイルに貼り付ける)。
  4. 読み取り時に、ファイルのMACを計算し、保存したものであることを確認します。ファイルに追加されている場合は、最後の数バイトを削除する必要があります(たとえば、[NSData dataWithContentsOfFile:path]、次に-subdataWithRange:を「メッセージ」とMACに取得してからMACを検証し、検証が成功した場合は「メッセージ」を解析する必要があります)

あなたのバイナリからMACキーを抽出することによって、脱獄された電話機で誰かが停止することはありませんが、それほど意思はありません。また、誰かがプレーンテキスト設定ファイルを読むのを止めることはありませんが、 。

あなたが制御しているコンピュータ上でファイルを生成している場合(サーバーからダウンロードしたファイルなど)、署名します。技術的には、RSA署名の検証は暗号化と同じですが、エクスポートの暗号化として目的であれば(それが「認証」目的のためであり、それでもカウントされません)。 DSAの署名の検証は暗号化ではありません(私の考えでは、その背後にある数学は私の頭を越えていると思います)。

+0

ファイル保護に関する説明とアイデアをありがとうございます。それはまさに私が探していたものです。 – GrAnD

関連する問題