むらかみの雑記帳

Android とか iOS とかソフトウェア開発に関するネタ帳

HTTPS を使ってるアプリを AppStore や Android Market で配信するときの輸出手続きについて(その3) - 暗号分類

'12/11/24: このブログの内容をもとに Amazon Kindle ストアで電子書籍を出版しました。

スマートフォンアプリ配信の輸出管理

スマートフォンアプリ配信の輸出管理

前回のエントリで、EAR の Category 5, Part 2 に該当するかどうかの判定まで書きました。今回は、該当する場合に、さらに暗号の分類をする方法について書いてみます。分類によっては無許可で輸出できるケースがあります。

どこを見るかですが、今度は登録の「私は、暗号登録なしに、私の暗号品目を自己番号分類し、それを輸出することができますか?」 の中にあるフローチャート2をみて分類していきます。(原文はこちら)

なお、以下の説明で Q. の番号は説明のために私が勝手に振ってます (前回の Q. の番号と重複しないように振ってあります)

Q5. 一般に公開されている暗号ソースコードですか?

AppStore/Android Marketで配信するアプリはソースコードではなくてバイナリですから、ここは No になります。

蛇足ですが、オープンソースなどで一般公開されている暗号ソースコードは許可例外TSU(740.13(e))というものを使ってテロ支援国以外に輸出できるようになっています。

Q6. ベータテストソフトウェアですか?

普通は当然 No ですよね?

ただし、最近は Google Play でベータ版の配布もできるようになってます。この場合は Yes になりますが、この場合は 許可例外 TMP を使うこともできます。

Q7. 鍵長が対称鍵56ビット以下、非対称鍵512ビット以下、楕円暗号鍵112ビット以下ですか?

鍵長がこれ以下の場合は、5D992-NLR (No License Required)に分類され、申告なしで輸出できます。

HTTPS(SSL)の場合、鍵長はクライアントとサーバの組み合わせで決まります。DES-56bit だと対称鍵56ビットなので条件を満たしますが、今時そんなものは使わず対称鍵128ビットを使うので、ここは No ということになるでしょう。

Q8. 5A002の注釈(除外条項)通りに限定された暗号ですか?

5A002の注釈はこちらを見てください。2ページ目の注と書かれているところです。ここに挙げられているものは5D992-NLRに分類され、申告なしで輸出できます。

ここには、スマートカード、銀行業務、携帯用無線電話機関連、コードレス電話関連、無線PAN、などなどがあります。ちょっと量が多いので、注釈を読んでください(だんだんなげやりになってきた、、、)

銀行業務のくだりは、iTunes Connect の2番目の質問の d) が該当しますね。

Q9. 認証のみですか?

ここ結構重要。暗号機能が認証のためにだけ使われていれば、5D992-NLR として申告なしで輸出できます。

前回エントリで Twitter クライアントの例をあげましたが、Twitter APIHTTPS を使うのはおもに認証部分で、ツイートするところは HTTP を使いますので、本項目により申告なしにできる可能性があります(ダイレクトメッセージの取得など一部の APIHTTPS なので、これを使ってるとダメですが、、、)

なお、これは iTunes Connect の2番目の質問の c) が該当します。

Q10. マスマーケット製品ですか?

輸出したいものがマスマーケット品かどうかで判断がわかれます。

マスマーケット品の定義はこちらの注3に書いてあるので確認してください。AppStore/Android Marketで配信するアプリは、(a)電子取引により一般に入手可能で、(b)暗号機能が使用者によって変更不可能で、(c)インストール時に供給者による支援が不要で、(d)必要に応じて当局に詳細を提供できる、のでほぼマスマーケット品に該当するといえるでしょう。

10/11追記: 非標準暗号を使っている場合は、マスマーケット品にはなりませんので注意。これは§742.15(b)のところにかいてあります。

マスマーケット品の場合は、そうでないものよりだいぶ規制が緩くなります。以下の説明はマスマーケット品だとして説明しています。

Q11. マスマーケット品の場合、鍵長が対象鍵64ビット以下、非対称鍵768ビット以下、楕円暗号鍵128ビット以下ですか?

マスマーケット品の場合、Q7より鍵長の基準がちょっとだけ緩くなります。この条件を満たしていれば 5D992-NLR として申告なしで輸出できます。

んが、HTTPS は先に述べたとおり、No になるかと思います。

対称鍵64ビット超のマスマーケット暗号

Q11 が No だった場合、対称鍵64ビット超のマスマーケット暗号として、EAR §742.15 を使用することになります。

これについては§742.15の (b) にある「鍵長が64ビットを超えるマスマーケット暗号」云々を確認します。また、こちらにも簡単な表があります(原文はこちら)

(b)項には 1), 3), 4)の3つがあり、4) に該当した場合は 5D992-NLR として申告なしで輸出できます。

、、、が、下に書いた通り 4) は事実上使えませんので、1) か 3) を使わなければなりません。

742.15 (b)(4) マスマーケット番号分類請求、暗号登録及び自己番号分類報告の要求事項の除外

(b)(4)にはさらに i) と ii) があります。i) は短距離無線暗号(WLANとか)なので、アプリはあまり関係ありません。

ii) は、米国原産ソースコードやツールキットを使って開発されたもの、あるいは組み込んだものです。ただし、その暗号機能がすでに商務省BISにより番号分類されて、登録・承認されていることが条件です。

iOSに組み込まれている暗号機能は BIS により承認されているので、この条件が合致するはずです。
Apple 製品に搭載されている暗号機能については、AppleExport Compliance に書いてあります。iOS SDK は 5D992.c で NLR (許可不要)。CCATS 番号は G136387 となっています。

なお、Android の場合は、含まれる暗号が承認されているかどうかも不明。Google のサイトかどこかに書いてあるんでしょうか?

10/12修正: 残念ながら、(b)(4)(ii) の条項は「米国からの」輸出には適用できないことが判明しました。したがって、AppStore や Android Market で配信するアプリではこれを使うことはできません。標準暗号のみを使っている場合は (b)(1) を、非標準暗号を使っている場合は (b)(3) を使うしかありません。

742.15 (b)(1) 即時のマスマーケット承認

これは暗号登録を BIS に提出し、ERN (Encryption Registration Number)を発行してもらえれば、5D992-NLRとして輸出ができます。ただし、以下の (b)(3)の品目を除きます。

ただし、この場合は自己番号分類報告というのを年に1度提出しなければなりません。まあ、CSVファイルを作ってメールで送るだけなんで、大した手間ではないですが。

742.15 (b)(3) 特定のマスマーケット貨物、ソフトウェア及び部分品に対して義務付けられる番号分類請求

(b)(3)に該当する条件はいくつかありますが、特に重要なのは「非標準暗号」を使っている場合。

(b)(3)の場合、ERNの発行の他に、番号分類請求をする必要があります。番号分類請求をして30日経過したら、5D992-NLRとして輸出が可能です。

まとめ

上記のとおり分類した結果、5D992-NLRで申告不要、となった場合は申告は不要です。iTunes connect の暗号の2番目の質問は Yes になると思います。

これが No になる場合は、米国商務省 BIS に暗号登録を申請し、ERN を取得しなければなりません(742.15(b)(3)の場合はさらに番号分類申請をしてCCATSを取得)。iTunes Connect では ERN や CCATS をアップロードする必要があります。Android Market では一切提出は求められないですが、ちゃんとやっておけよという項目はありますね(そーいうのは怖いって)。

なお、BISへの申請は全部 Web 上でできるようになっています。これは SNAP-R というシステムでできます。SNAP-RについてはSNAP-Rに記述があります。申請自体は30分あればできるよー、ということになっているようです(つーか、書類書くの30分で終わらねーよ!と思うのですが)

ちなみに私は個人で SNAP-R のアカウントだけ取りました。でも、申告が必要な状態にはなってないのでまだ ERN 取得はしたことないですけどね。本当は ERN 取得までやって、そのやり方まで書けるとよかったんですが。→ 10/11追記 : ERN 取得しました。次のエントリに詳細を書いてあります。

以上で、暗号を使っているアプリを配信するときの輸出に関する説明は終わりです。この手の解説が全然なかったので、少しでも開発者の皆さんのお役に立てれば幸いです。

'2012/6/1 : リンク修正しました。