暗号化ラッパプログラムの開発
松澤 英之
宮崎大学 情報基盤センター
matuzawa@cc.miyazaki-u.ac.jp

Development of Wrapper Program for Encryption
Hideyuki Matsuzawa
Information Technology Center, University of Miyazaki.

概要
昨今情報漏えい対策は重要である。宮崎大学でも個人情報の漏えい対策として、個人情報が書き込まれているファイル・フォルダをパスワード付 ZIP で圧縮する、すなわちファイル・フォルダを暗号化する事を推奨している。本研究では、ユーザが常に暗号化されているパスワード付 ZIP ファイルを簡単に参照・編集できるラッパプログラムを開発した。
フトを用いて復号化する。

1

はじめに独立行政法人 情報処理推進機構(IPA)が作成し2.

復号化されたファイルを参照・編集する。

3.

復号化したファイル・フォルダを暗号化ソフ

た情報セキュリティ啓発のための対策のしおり

トで再度暗号化する。暗号化の際に暗号化ソ「初めての情報セキュリティ対策のしおり(第 1フトが暗号化前のファイル・フォルダを削除版)」[1]では、新入社員に対する最初のセキュリテしないものもある。この場合秘密保持のため、ィ対策として個人情報及び企業情報の漏洩対策を暗号化前のファイル・フォルダを暗号化した挙げている。また NPO 日本ネットワークセキュ

のち手動で削除する必要がある。

リティ協会セキュリティ被害調査ワーキンググル

暗号化ソフトには自動でこれら 3 つの工程を行うープが作成した 2015 年情報セキュリティインシ

ものもある[4][5]。

デントに関する調査報告書【速報版】Ver. 1.0[2]か

しかし宮崎大学ではパスワード付 ZIP ファイルら、 2006 年度の個人情報漏えいの原因の約半数を自動的に復号・暗号化する便利な暗号化ソフト

は紛失・置き忘れ、盗難であることがわかる。

は導入されていない。またデフォルトの Windows

IPA が作成した「暗号化による<情報漏えい>対策

クライアント OS にはパスワード付 ZIP ファイルのしおり(第 1 版)」[3]では、紛失・置き忘れ、盗を作成する機能はない。自動的に復号化して参難の対策の例として情報の暗号化を挙げている。

照・編集できる暗号化ソフトを導入している人以宮崎大学でも「教員の個人情報ファイルの取り外は、ファイルを参照・編集するたびに上記 3 工扱い方針」で個人情報を含むファイル・フォルダ程を手作業で行わなければならない。暗号化したに対してパスワードで保護する事を推奨している。

ファイルを参照・編集するたびに行われるこれらファイル・フォルダ自体にパスワードを付ける機の作業は、パソコンユーザにとっては非常に面倒能はない。そこで宮崎大学ではファイル・フォルな作業である。2015 年に発生した年金機構におけダをパスワード付 ZIP で圧縮する方法を推奨してる不正アクセスによる情報流出事案の検証報告書いる。パスワード付 ZIP ファイル作成時には暗号[6]では、原則として厳格なルールを定めていても化も行われるので、宮崎大学の方針によれば個人ルールが遵守されなければ情報が漏洩する事に言情報を含むファイル・フォルダは常に暗号化する及している。同様にこのファイル・フォルダの暗事が推奨されていることになる。通常暗号化され号化に関しても、ユーザが個々のファイル・フォているファイル・フォルダをユーザが参照・編集ルダを暗号化して運用する事が面倒な作業であるする時には、どのような工程を経る必要があるだと認識すればそれを回避する方向、即ちファイルろうか。

を暗号化しないで保存するようになることが考え

1.

られる。

暗号化されたファイル・フォルダを暗号化ソそこで、この面倒な 3 工程をなるべく簡単にし、パソコンユーザに個人情報を含んだファイル・フ

1.

車輪の再発明を防ぐ。

2.

ユーザがファイルを参照・編集する時、暗号ォルダをパスワード付 ZIP で保存・利用してもら化されていないファイルを扱う時と同様に操うために パスワード 付 ZIP ファイルに対す る作できる。

Windows 向け暗号化ラッパプログラムを開発し3.

た。

ラッパプログラムからファイルの参照・編集を行う外部プログラムを起動する場合、Windows のファイルの拡張子とフソフトウェ

2

暗号化方法アの関連付けを利用して起動するので、Windows パソコンで利用できる様々な形式のラッパプログラムの暗号化方法としてパスワファイルを参照・編集する事が出来る。また、ード付 ZIP を用いた。パスワード付 ZIP ファイル

ラッパプログラム導入後もラッパプログラムを暗号化方法として採用する利点は、1.
2.

最近の Windows クライアント OS ではデフォが扱えるファイルの種類を増やすことが出来ルトでパスワード付 ZIP の復号化が行えるる。

IPA「電子メール利用時の危険対策のしおり(第4.

ラッパプログラムで手動或いは自動的に暗号4 版)」[7]で、電子メールにファイルを添付す化ソフトを選択できるようにすれば、ラッパる際にはファイルをパスワード付 ZIP で暗号プログラムが将来的に様々な暗号化形式に対応できる。

化してから添付する事を紹介している
3.

今回は、GUI、CUI で利用可能でパスワード付

Mac OS X ではデフォルトでパスワード付 ZIP

ZIP ファイルを作成できる 7-Zip[8]を暗号化ソフトファイルの暗号化が行える4.

として利用した。
宮崎大学の方針では個人情報を含むファイル・フォルダにパスワードをつける事を推奨している。またファイル・フォルダにパスワ

4

ラッパプログラムのプロセスードを付ける方法としてファイル・フォルダをパスワード付 ZIP で圧縮(暗号化)する事を推奨している

ラッパプログラムの基本コンセプトは
1.

部プログラムに任せる。

である。
一方、パスワード付 ZIP ファイルに対しては暗暗号化ファイルを参照・編集する 3 工程は外2.

ラッパプログラムは外部プログラム同士が円号化の解読のためのフリーソフトが出回っている滑に働くように補助する。などセキュリティ強度の点で問題がある。今回はラッパプログラムの具体的なプロセスは以下開発したラッパプログラムを宮崎大学でたくさんのとおりである。のユーザに使ってもらうため、セキュリティ強度の問題は目をつぶってパスワード付 ZIP を用いた。

3暗号化ソフト
Windows にはデフォルトでパスワード ZIP を作成する機能はない。Windows 用の GUI 暗号化ソフト(実際は書庫ソフト)は広く普及してので、最初にファイル・フォルダを暗号化するプロセスは一般に利用されている GUI タイプの暗号化ソフトで行う事とする。ラッパプログラムで復号・暗号化、図 1

或いはファイルの参照・編集を行う際は、ラッパ1.

復号化したいパスワード付 ZIP ファイル名をプログラムから復号・暗号化用の、或いはファイ引数としてラッパプログラムを起動する。
ル参照・編集用の外部プログラムをそれぞれ起動
2.
して行う。これは以下の利点がある。

ラッパプログラムは外部暗号化ソフトにパス

3.

4.

5.

ワード付 ZIP ファイル名を引数として渡し、参照・編集するソフトウェアの起動に失敗し戻り値としてパスワード付 ZIP ファイルに含た場合でも、既に復号化されているファイまれるファイル・フォルダのリストを取得すル・フォルダを再度暗号化する必要があるのる。

でラッパプログラムのプロセスは続行する。

ラッパプログラムは外部暗号化ソフトからの9.

外部暗号化ソフトに引数としてパスワード、戻り値であるファイル・フォルダのリストにZIP ファイル名、暗号化するファイル・フォついて判断する。ラッパプログラム起動時にルダ一覧を渡してファイル・フォルダの暗号引数で指定したファイルが ZIP で暗号化され化を行う。暗号化ソフトとして使用した 7-Zipていない場合、ラッパプログラムは終了する。

は暗号化時に、暗号化前のファイル・フォル

パスワード付 ZIP ファイルに含まれるファイダを削除する機能があるので、この削除機能

ルが一つの場合は、パスワード入力画面(プロを利用して復号化したファイル・フォルダをセス 5)に進む。それ以外はプロセス 4 に進む。

削除する。

ラッパプログラムは取得したファイルリスト(フォルダは除く)を表示し、ユーザに参照・5編集するファイルを選択させる。

5.1 パスワード一時保存サーバ

パスワード一時保存サーバ

パスワード付 ZIP ファイルを復号化するため上で記述したプロセスでは、このラッパプロのパスワード入力画面を表示する。入力されグラムを起動するたびに、ユーザはファイルを復たパスワードは伏字で表示される。パスワー
号・暗号化するためのパスワードを入力する必要
ドの入力がキャンセルされた場合は、ラッパがある。ファイル・フォルダを参照・編集するたプログラムを終了する。ユーザが入力する以
びにユーザがパスワードを入力するのは大変なの外の方法でパスワードを取得する方法についで、パスワードを一時保存するサーバを作成した。ては改めて言及する。
ラッパプログラムがこのサーバと通信する事でパ

6.

ラッパプログラムはユーザが入力したパスワ
ソコン起動後最初にラッパプログラムを利用する
ード、パスワード付 ZIP ファイル名を引数と時または、前に入力したパスワードと異なる場合して外部暗号化ソフトに渡し、外部暗号化ソを除いてパスワードの入力を省略できる。
フトで復号化を行う。ラッパプログラムは復パスワードを共有する方法として、サーバで号化した際に外部暗号化ソフトが表示するメはなく一時ファイルにパスワードを保存・共有すッセージを取得する。
る方法も検討した。しかしファイルにパスワード7.

外部暗号化ソフトから取得したメッセージでを保存した場合、パソコンが異常終了した時でも外部暗号化ソフトが正常に終了したか判断すパスワードを保存したファイルを完全に削除するる。パスワードが間違っていた場合は、パス方法を思いつけなかった。つまりパソコンが異常ワード入力画面(プロセス 5)に戻る。復号化に終了した場合は、パソコン内にパスワードを保存失敗した場合は、ラッパプログラムを終了すしたファイルが残されてしまう恐れがある。しかる。
しサーバプログラムの場合は、メモリー上にパス8.

プロセス 4 で選択したファイルに対応した参ワードが保存されるので、パソコンが異常終了し照・編集するソフトウェアを起動する。
た場合でもパスワードが残されることはないと判
Windows ではコマンドプロンプトでファイル断した。
名を入力するだけで、GUI でファイルアイコ
サーバプログラムはユーザが起動する複数のンをダブルクリックした場合と同じようにフラッパプログラムからアクセスされるので、ラッァイル形式に対応したソフトウェアを起動す

パプログラムとサーバ間の通信には TCP/IP を用る事ができるので、ラッパプログラムはいた。このサーバは重要なファイルを復号化する
Windows のシェル(コマンドプロンプト)にパスワードを保存しているので、特にセキュリテ'start "画面表示名" 選択されたファイル名'をィには気を付ける必要がある。そこでパスワード渡す。ここで"start"コマンドは現在利用してを保持しているサーバが起動している時間を短くいるコマンドプロンプトとは別のコマンドプするように努めた。そのため、パソコンが起動しロンプトを起動するためのコマンドである。

ている間は常にプログラムが働く Windows サービ

バが起動しているコンピュータに保存されている。

スとしては登録せずに、ラッパプログラムと同じサーバとクライアントが別のパソコンで動いていように起動しているときはコマンドプロンプトがる場合は、アクセス制御のためのパスワード等サ表示されるコンソールプログラムとした。コンソーバの設定をクライアントから見る或いは変更すールプログラムの場合、サーバプログラムが動いることはできない。しかしサーバとクライアントているコマンドプロンプト画面を閉じることで簡が同一のパソコンで動いている場合、管理者権限単にサーバプログラムを終了できる。

等を用いてサーバの設定を見ることができる。つ5.2 プロセス

まりパソコンに管理者権限を持つ複数のユーザがサーバを起動する場合は、ラッパプログラムの登録されている場合、パスワード付 ZIP ファイルプロセス 4 終了後に行う。まずパソコンでサーバのパスワードを他の管理者権限を持っているユー

プログラムが起動しているかどうかラッパプログザから完全に防御する方法を見つけ出せなかった。

ラムが確認する。サーバが起動していない場合は、そこでパスワードを保護するために管理者権限をラッパプログラムから外部プログラムとしてサー所有しているユーザが一人だけの場合にサーバプバプログラムを起動する。サーバプログラムが既ログラムを起動できるように、ラッパプログラムに起動していた場合は、ラッパプログラムはサーの設定でサーバプログラムの起動を選択できるよ

バと通信して保存されているパスワードを取得、うにした。デフォルトの設定ではサーバプログラ

プロセス 5 でパスワード入力画面に伏字でパスワ

ムは起動しない。

ードを表示する。ラッパプログラムはプロセス 7でパスワードが正しいと確定した後にサーバへパスワードの保存を行う。

6 ラッパプログラムの起動
ラッパプログラムの起動
Windows のデフォルト設定では ZIP ファイルをサーバを利用するかどうかは設定ファイルでダブルクリックするとエクスプロラーが起動する。
指定できるようになっている。デフォルトはサーWindows での ZIP ファイルをダブルクリックしたバを利用できない。この設定については後程議論
場合のデフォルトの振る舞いを変えることができする。
なかったので、ファイルを右クリックしたときに5.3 プロトコル表示されるメニューに"CryptoWrapper"の項目を設
サーバの送受信プロトコルは HTTP プロトコル
け、ラッパプログラムを起動する事にした。
を参照した。サーバのプロトコルは HTTP プロト
コルと同じステートレスである。サーバはクライ

7 今後

アントからのアクセス要求を受け、パスワードが現在、今回開発したラッパプログラムの実証保存されている場合は保存してあるパスワードを、実験を行っている。その結果を待って更に改良をパスワードが保存されていない場合は空文字をク行う予定である。
ライアントに送信してクライアントの接続を終了
それ以外にいくつか改良を予定している。今する。
ク ラ イ ア ン ト か ら の 送 信 デ ー タ は "GET:” と"POST:パスワード"の 2 種類がある。送信データ回開発したプログラムは Windows 向けである。パソコンユーザには Mac ユーザも多数いるので、Mac 版も作成する予定である。

が"POST:パスワード"の場合は、まずサーバに保また、今回は暗号化方式としてセキュリティ存されているパスワードを送られたパスワードで強度の高くないパスワード付 ZIP を選んだ。これ更新する。そのあとどちらの場合もサーバに保存以外にも暗号化方式を活用出来るようにする予定
されているパスワードをラッパプログラムに送信である。
する。
5.4 セキュリティ

参考文献
ラッパプログラムからサーバプログラムへのアクセスは同一パソコン内に限定している。
TCP/IP で通信しているので、サーバはパソコンに登録されている全ユーザからアクセス可能である。
一般にアクセス制御等を行うサーバの設定はサー[1] 独立行政法人 情報処理推進機構(IPA)、初めての情報セキュリティ対策のしおり(第 1 版)、
1-5
ペ ー ジ 、 2012
年 、
http://www.ipa.go.jp/security/antivirus/documents/09_hazimete.pdf

[2] NPO 日本ネットワークセキュリティ協会セキュリティ被害調査ワーキンググループ、
2015 年情報セキュリティインシデントに関する調査報告書【速報版】Ver. 1.0 、4 ページ、
2016年、
http://www.jnsa.org/result/incident/data/2015inci
dent_survey_sokuhou.pdf[3] 独立行政法人 情報処理推進機構(IPA)、暗号化による<情報漏えい>対策のしおり(第 1 版)、
7-8
ペ ー ジ 、 2014
年 、https://www.ipa.go.jp/security/antivirus/documents/12_crypt.pdf[4] Dekart
PrivateDisk、
http://www.dekart.com/products/encryption/priva
te_disk/[5] セ キ ュ リ テ ィ ・ ウ ェ ア ハ ウ ス 、
http://www.ost-net.com/swh/[6] 日本年金機構における不正アクセスによる情報流出事案検証委員会、検証報告書、12 ページ、
2015
年、
http://www.mhlw.go.jp/kinkyu/dl/houdouhappyou_150821-02.pdf[7] 独立行政法人 情報処理推進機構(IPA)、電子メール利用時の危険対策のしおり(第 4 版)、
11
ペ ー ジ 、 2012
年 、
http://www.ipa.go.jp/security/antivirus/documents/07_mail.pdf[8] 7-Zip、http://www.7-zip.org/