そば屋五兵衛 WEB サイトにて使用されている暗号化技術に関して

そば屋五兵衛の WEB サイト(以下 当サイト) では、SSL/TLS による暗号化通信をサポートしておりません。
その代わりに javascript による暗号化を実装しており、これによりお客様のデータを保護できるようになっております。

当サイトで使用している javascript ライブラリは2種類あり、SJCLTom Wu 氏のライブラリを使用しています。
SJCL は AES 暗号を、Tom Wu 氏のライブラリでは公開鍵暗号を実装しています。
javascript による暗号化の流れは以下のようになっています。

  1. 所定の文字列からランダムに選ばれた 32 文字の鍵[A]を生成します。
  2. お客様の入力された情報を鍵[A]を使って AES 暗号化します。(暗号化データができます)
  3. 鍵[A]をそのまま送信すると、メールデータが漏洩した場合に容易に復号されてしまうため、あらかじめスクリプトに記述されている公開鍵を使って暗号化します。(暗号化パスワードができます)
  4. 作成された暗号化データと暗号化パスワードを送信します。
  5. 当店のパソコンにある秘密鍵を使い、暗号化パスワードから鍵[A]を取り出します。
  6. 暗号化データを鍵[A]を使って復号します。
  7. お客様の入力された情報を確認します。

上記の 1 から 4 までがお客様の端末内にて行われます。
AES 暗号化強度は 256bit です。
公開鍵暗号に用いられる公開鍵と秘密鍵のキーペアは OpenSSL を用いて作成しました。鍵長は 2048bit です。
いわゆる”オレオレ証明書”ですが、データをプレーンテキストのまま送信するよりは安全性が高いかと思います。
暗号化技術について詳しく知りたい方は、WEB で検索するなどしてお調べください。

メリット

デメリット

総括

当店の保持する秘密鍵は暗号化された状態で保存されています。セキュリティには万全を期していますが、「絶対」ではない点は留意してください。