Keyczar

暗号処理はプログラミング時にもっとも気をつかう部分のひとつだ。乱数や初期値の選定、鍵の生成方法と管理および運用、アルゴリズムの選定など気にしなければいけないことが多い。ひとつでも間違えるとまったく効果を失ってしまうこともある。暗号処理をおこなっているとしても使い方を間違っていれば無意味なこともある。

こういった問題を解決するためGoogle Security Teamは11日(米国時間)、オープンソースソフトウェアとしてKeyczarを公開した。Keyczarは暗号処理において懸念される問題を解決することを目的とした暗号ツールキット。今のところJavaとPythonがサポートされており、近いうちにC++版も登場するとされている。Keyczarの主な特徴は次のとおり。

  • アルゴリズムやモード、鍵長をデフォルトで安全なものを仕様
  • 初期ベクトルと暗号文シグネチャの自動生成機能の提供
  • 簡単なAPIの提供
  • 鍵のローテーションとバージョン管理機能の提供

今のところJava版に限定されているが国際化実装も追加されており、現状ではメッセージとして日本語やそのほかの言語メッセージが表示できるようになっている。近いうちにPython版でも同様の機能が提供される見通し。成果物はApache License Version 2.0のもとで提供されている。

JavaとPythonのプログラミング例 - Keyczarのサイトより抜粋

なおKeyczarは従来からあるJava JCEやOpenSSL、PyCryptoなどのライブラリを置き換えるものではない。これらライブラリをベースに使いつつ、開発者に対して安全で扱いやすいAPIを提供することを目的としたライブラリだ。暗号処理を使いたいがアルゴリズムの選定や鍵の選定、鍵の管理などもっと簡単に実施したいと考えている場合にはKeyczarを検討してみるとよさそうだ。