これは、VBA(VisualBASIC for Application) & C# & .Net Framework4.0 で作成しました


はじめに
多くのビジネスシーンでは、
  1. 営業が申し込み用紙のテンプレートとなる MS-Word ファイルを顧客へメールに添付して送信
    営業→顧客
  2. 顧客は、MS-Word ファイルに必要事項を記入して、返信メールに添付して送信
    顧客記入
  3. 営業は、MS-Word ファイルを受信して、受注成立
    顧客→営業



という事なので、MS-Word マクロで公開鍵暗号処理が可能であれば...


  1. 営業は、RSA 公開鍵ペアを作成して、公開鍵を MS-Word ファイルに貼り付ける
    秘密鍵はきちんと保管する
  2. 営業が申し込み用紙のテンプレートとなる MS-Word ファイルを顧客へメールに添付して送信
    営業→顧客
  3. 顧客は、MS-Word ファイルに必要事項を記入
  4. 顧客は、好きなパスワード(後々の報告書などの送付時の ZIP パスワード保護のためのパスワード)を MS-Word に記入
    顧客記入
  5. MS-Word マクロ(VBA)によって、暗号化される
    VBA による RSA暗号処理
  6. MS-Word ファイルを営業へメールに添付して送信
  7. 営業は、Word ファイルを受信して、受注成立
    顧客→営業
  8. 営業は、秘密鍵で顧客が指定したパスワードを秘密鍵で復号する
  9. のちのち、報告書などの送付に使う ZIP パスワード保護に、このパスワードを使用する



というふうにビジネスフローを変化させずに、安全に ZIP パスワードを共有できる


ファイル内容
rsaTest.docm
MS-Word2010 で動作確認した MS-Word VBA サンプル
公開鍵の作成、公開鍵による暗号化、秘密鍵による復号まで実装
このファイルはサンプルなため平文のテキストボックスと暗号化処理後のテキストボックスを分けているが、実運用時には上書きした方がよい 実運用においては、公開鍵による暗号化のみで十分で、営業には、↓の .NET Application を使わせればいいでしょうね

WordRSA.exe
rsaTest.docm と互換性のある .NET Applicarion

sCipher.exe
ファイルを Drag&Drop すると暗号化/復号する .NET Applicarion (Gzip 圧縮もするよ)




動作環境
Microsoft Offce 2010 VBA & Microsoft .NET Framework4.0


免責など
修正BSDライセンスで配布します。

(修正BSDライセンスにしても、あまり以前と、ライセンス条項って変わっていないような気がするんだよなぁ〜)


謝辞



その他リンク



Version1.0.0.3DownLoad(WordRSA.lzh as 97,966byte) (WordRSA.lzh.base64)
(LHAは、吉崎栄泰氏が、著作権を所有)


履歴



暗号化ツール
ED とか暗号化プログラムはいくつもあると思うけど、暗号化ツール「sCipher.exe」を同梱してみた。
または、第一引数に入力ファイルのパスを指定して起動する

アルゴリズムは、AES128bit/CBC/PKCS7 Padding/IV=null/PBKDF2(HMACSHA1)(salt=null) 方式

sCipherの図




sCipher.reg に sCipher.exe を配置したファイルパスを編集して、レジストリな登録すれば、右クリックメニューに登録することも可能です。
sCipher 右クリックメニュー



懸念事項



mail to active@window.goukaku.com