Appleは,自社OSのセキュリティサブシステムから,3つの主要コンポーネントをオープンソースとして公開すると発表した。その中のひとつのライブラリにライセンス上の制約が課されていることが,いくつかの論争を引き起こしている。
公開されたコンポーネントは次の3つだ。
corecrypto
: 他の暗号化ライブラリの基本となるビルディングブロック。Appleによると,“iOSおよびOS Xアプリが直接利用するべきではない”ような低レベルのプリミティブを提供する。corecrypt
を調べることによって,開発者やセキュリティ関係者は,その実装の内容やセキュリティ特性の確認が可能になる。後ほど説明するようにcorecrypto
では,他の2つのライブラリと比較して制限の多いライセンス事項に従うことが求められている。- Common Crypto: 対称暗号やハッシュベースのメッセージ認証,ダイジェストといった一般的な暗号操作をサポートし,iOSとOSXの暗号化サービスを提供するライブラリである。
- Security Framework: 証明書やキーペア,信頼ポリシなどの管理APIを提供するフレームワーク。キーチェーンやトランスポートレベルのネットワークセキュリティなど,重要なOSおよびiOSのサービスを含む。
Appleによる発表詳細で重要な点として多くから指摘されているのは,低レベルコンポーネントであるcorecrypto
が事実上オープンソースではない点だ。Appleによって許諾されている権利がcorecrypto
のダウンロードと90日間のソースコード検証のみであることと,再配布が明確に禁止されていることを考慮すれば,“ソース公開”よりも“内部使用許諾契約”という表現の方が適切とも考えられる。redditのあるコメントに従えば,90日という制限は,許諾取り消しの可能性を考慮したものであるかも知れない。Appleが‘corecrypto’のダウンロードオプション停止を決定した場合,その後90日が経過すれば,公開されているソースはすべてライセンス違反であると確定するからだ。
もうひとつ懸念されているのは,iOSおよびOS Xの現行バージョンに含まれている暗号化ライブラリやフレームワークが,Appleの提供しているソースコードから実際に構築されているのかどうかを知ることが事実上不可能になる点だ。
そのような事情はあるにせよ,Appleとしては,暗号化ライブラリを公開することによって,サードパーティ開発者がより高度なセキュリティを構築可能になると期待している。