開発の背景
公開鍵暗号方式とファイル暗号化
クリプタンの暗号化・復号は、公開鍵暗号方式を利用しています。公開鍵方式のメリットは、暗号化に使用した公開鍵とペアになっている秘密鍵を保持している本人以外は復号することができないという高い安全性です。しかし、この方式を利用するには、事前に暗号化する人へ公開鍵を受け渡すという準備が必要です。
一方、日本国内においては、脱PPAPの決定打となるソリューションが、人々に提供されていないという状況がありました。
そこで、パスロジは、公開鍵暗号方式の使いにくさを解消した上で、ファイルの暗号化に適用するという独自の手順を確立し、クリプタンを生み出しました。
クリプタン独自のファイル暗号化・復号手順
クリプタンは、公開鍵暗号化方式を利用して、ファイルを暗号化します。暗号化に使用する公開鍵は、公開鍵を管理しているサーバーから自動的に取得するので、相手の公開鍵の有無を問わず送信することができます。
復号の際には、パスワードを使わない本人確認を行います。ファイルの暗号化にパスワードを使っていないので、パスワードへの攻撃は無意味となり、本人以外が暗号化ファイルを入手しても復号することができません。
クリプタンによるファイルの暗号化
クリプタンによる暗号化の手順を示します。スマートフォンアプリを使った多要素認証(4Login認証)を例として示しています。
初めに送信対象となるファイルは共通鍵方式で暗号化されます。その共通鍵を受信者専用の公開鍵で暗号化します。共通鍵で暗号化されたファイルと公開鍵で暗号化された共通鍵を任意の方法で受信者に送信します。
以下のチャートがクリプタンによる暗号化の手順です。
- はじめに送信対象となるファイルは共通鍵方式で暗号化されます。
- その共通鍵を指定した受信者専用の公開鍵で暗号化します。
- 共通鍵で暗号化されたファイルと公開鍵で暗号化された共通鍵のセットが「p4cファイル」として生成されます。
- 秘密鍵は鍵サーバー上に保管されています。
なお、4Loginサーバーと鍵サーバーはそれぞれ、弊社が運営するサーバーです。4Loginサーバーは4Login認証を実施する認証サーバーです。鍵サーバーはクリプタン利用者の公開鍵を利用者のメールアドレスと紐づけて管理します。
クリプタンによるファイルの復号
以下のチャートがクリプタンにおける復号手順です。スマートフォンアプリを使った多要素認証(4Login認証)を例として示しています。
※インターネット接続環境が必要です。
受信者PCには、暗号化されたファイルと暗号化された共通鍵のセットである「p4cファイル」が届いている状態です。共通鍵が必要ですが、共通鍵は暗号化されています。
共通鍵を復号するには、鍵サーバーに保存されている秘密鍵が必要ですが、これを使用するためには、受信者の認証が必要です。受信者の認証に成功しないと、復号は開始されません。
一方、暗号化ファイル(p4cファイル)自体をパスロジが入手することはありません。つまり、パスロジが秘密鍵を管理していたとしても、原理的に、パスロジがp4cファイルを復号することは不可能という状況に変わりはありません。
このプロセスの最大の特長は、秘密鍵が鍵サーバーから出ることはない点です。したがって、インターネット通信の傍受などで秘密鍵を窃取することはできません。
このように、暗号化、送信、復号のプロセス全体において悪意の第三者がファイルの内容を窃取することができないだけでなく、プロセスに関わるサービス事業者(パスロジ)がファイルの内容を原理的に取得できないようになっています。