暗号ソフトウェアの公開について

IO::Socket::SSL や Net::SSLeay といった暗号関係モジュールについて、ActiveState 社が ppm の提供を行っていないことから、日本での法律関係を調べてみた。POPFileMac OS Xインストーラにこれらモジュールのバイナリを含めて配布することができるかどうかの検討。

日本では、外国為替及び外国貿易法(昭和二十四年十二月一日号外法律第二百二十八号。いわゆる外為法)第二十五条において、

(役務取引等)
第二十五条 居住者は、非居住者との間で次に掲げる取引を行おうとするときは、政令
定めるところにより、当該取引について、経済産業大臣の許可を受けなければならない。
一 国際的な平和及び安全の維持を妨げることとなると認められるものとして政令で定
める特定の種類の貨物の設計、製造又は使用に係る技術(以下「特定技術」という。)
を特定の地域において提供することを目的とする取引
二 国際的な平和及び安全の維持を妨げることとなると認められるものとして政令で定
める外国相互間の貨物の移動を伴う貨物の売買に関する取引
外国為替及び外国貿易法 第二十五条

という規定があり、一定の制限がかけられているようである。
ソフトウェアが「貨物」に該当するのかどうかはよくわからないが、第一号の「特定技術」になるのかな。この「政令で定める」という部分は、外国為替令(昭和五十五年十月十一日政令第二百六十号)第十七条において、

第十七条 法第二十五条第一項第一号に規定する政令で定める特定の種類の貨物の設計、
製造又は使用に係る技術を特定の地域において提供することを目的とする取引は、別表
中欄に掲げる技術を同表下欄に掲げる地域において提供することを目的とする取引とす
る。
2 法第二十五条第一項第二号に規定する政令で定める外国相互間の貨物の移動を伴う貨
物の売買に関する取引は、次のいずれかに該当する取引とする。
一 輸出貿易管理令別表第一の一の項の中欄に掲げる貨物の外国相互間の移動を伴う当
該貨物の売買に関する取引
二 輸出貿易管理令別表第一の二から一六までの項の中欄に掲げる貨物の外国相互間の
移動を伴う当該貨物の売買に関する取引(当該取引に係る貨物の船積地域又は仕向地
が同令別表第三に掲げる地域であるものを除く。)であつて、次のいずれかに該当す
るもの
イ 当該取引に係る当該貨物が核兵器、軍用の化学製剤若しくは細菌製剤若しくはこ
れらの散布のための装置又はこれらを運搬することができるロケット若しくは無人
航空機(ロにおいて「核兵器等」という。)の開発、製造、使用又は貯蔵(ロにお
いて「開発等」という。)のために用いられるおそれがある場合として経済産業省
令で定める場合に該当する場合における当該取引
ロ 当該取引に係る当該貨物が核兵器等の開発等のために用いられるおそれがあるも
のとして経済産業大臣から許可の申請をすべき旨の通知を受けた場合における当該
取引
外国為替令 第十七条

とあり、その別表には

  貨物 地域
(一)輸出貿易管理令別表第一の九の項の中欄に掲げる貨物の設計、製造又は使用に係
る技術であつて、経済産業省令で定めるもの
(二)輸出貿易管理令別表第一の九の項(一)から(三)まで又は(五)から(六)ま
でに掲げる貨物の設計、製造又は使用に係る技術であつて、経済産業省令で定めるも
の((一)及び一五の項の中欄に掲げるものを除く。)
全地域

外国為替令 別表

と書かれている。これだけで何のことだかわからないが、輸出貿易管理令別表第一の九を見てみると

  貨物 地域
次に掲げる貨物であつて、経済産業省令で定める仕様のもの
(略)
(七)暗号装置又はその部分品
全地域

輸出貿易管理令 別表第一

ということで、「暗号装置又はその部分品」の「設計、製造又は仕様に係る技術」であって、経済産業省令で定めるもの、というのが規制の対象になるということらしい。
ここでいう経済産業省令というのは、輸出貿易管理令別表第一及び外国為替令別表の規定に基づき貨物又は技術を定める省令(平成三年十月十四日号外通商産業省令第四十九号)のことで、この第八条には

第八条 輸出令別表第一の九の項の経済産業省令で定める仕様のものは、次のいずれかに
該当するものとする。
(略)
九 暗号装置であって、次のイからニまでのいずれかに該当するもの(次のホからヌま
でのいずれか又は第三条第十九号ハ(二)2又は第十条第五号イに該当するものを除
く。)又はその部分品
イ デジタル方式の暗号処理技術(アナログ方式の暗号処理をデジタル方式の暗号処
理技術を用いて実行するものを含む。)を用い、認証又はデジタル署名のため以外
の暗号機能を有するように設計したものであって、次のいずれかに該当するもの
(一)対称アルゴリズムを用いたものであって、アルゴリズムの鍵の長さが五六
ビットを超えるもの
(二)非対称アルゴリズムを用いたものであって、アルゴリズムの安全性が次のい
ずれかの有する困難性に基づくもの
1 五一二ビットを超える整数の素因数分解
2 有限体上の乗法群における五一二ビットを超える離散対数の計算
3 2に規定するもの以外の群における一一二ビットを超える離散対数の計算
(略)
輸出貿易管理令別表第一及び外国為替令別表の規定に基づき貨物又は技術を定める省令 第八条

と書かれている。ロ以降や第三条第十九号ハ(二)2又は第十条第五号イに該当することはなさそうなので、該当するとすれば引用したイになるのだろう。「認証又はデジタル署名のため以外の暗号機能」という部分が、SSL 接続に使用する場合に該当するのかどうかは微妙ではあるが、「有するように設計したもの」と言われれば、それ以外の用途にも使用可能であることから、規制の対象になるのかもしれない。

一方、外国為替令第十七条をよく読むと

4 第一項又は第二項に規定する取引のうち経済産業大臣が当該取引の当事者、内容その
他からみて法の目的を達成するため特に支障がないと認めて指定したものについては、
法第二十五条第一項の規定による経済産業大臣の許可を受けないで当該取引をすること
ができる。
外国為替令 第十七条

という例外規定がある。この「経済産業大臣が・・・認めて指定したもの」というのは、貿易関係貿易外取引等に関する省令(平成十年三月四日号外通商産業省令第八号)第九条に

(許可を要しない役務取引等)
第九条 令第十七条第四項に規定する経済産業大臣が指定する取引は、次の各号の一に該
当する取引とする。
(略)
五 公知の技術を提供する取引又は技術を公知とするために当該技術を提供する取引であ
って、以下のいずれかに該当するもの
イ 新聞、書籍、雑誌、カタログ、電気通信ネットワーク上のファイル等により、既に
不特定多数の者に対して公開されている技術を提供する取引
(略)
ニ ソースコードが公開されているプログラムを提供する取引
貿易関係貿易外取引等に関する省令 第九条

と書かれており、「既に不特定多数の者に対して公開されている技術を提供する取引」や「ソースコードが公開されているプログラムを提供する取引」については「経済産業大臣の許可を受けないで当該取引をすることができる」ということがわかる。

ということは、今回問題になっている IO::Socket::SSL や Net::SSLeay については、(POPFile 本体も含め)これらのいずれにも該当することから、外為法第二十五条の許可は不要という解釈になるものと思われる。

外為法にはもうひとつ、第四十八条(輸出の許可等)があり、「政令で定める特定の地域を仕向地とする・・・輸出」については許可が必要ということになっている。インターネットを通じて不特定な相手に対して公開する場合にこの条項が適用されるのかはわからないが、どうなのだろう。