January 8, 2018

AxCrypt IDとは何ですか?

警告 – これはやや技術的な投稿です ;-) AxCryptの内部動作の一部に本当に興味がある方のみ対象です。

実際にはそれ以上のものです。技術的には、AxCrypt IDはRSA-4096鍵ペアです。

鍵ペアは、公開鍵暗号(非対称暗号)で使用される概念です。この種の暗号方式では、以下の性質を持つ2つの関連する鍵があります:

  • 公開鍵 – この鍵は秘密ではなく、誰でもデータを暗号化するために使用できます。しかし、復号には使用できません! これを共有鍵と呼ぶこともあります。
  • 秘密鍵 – この鍵は秘密にしておく必要があり、公開鍵を使って暗号化されたデータを復号する際に必要です。これを秘密鍵と呼ぶこともあります。
  • 公開鍵から秘密鍵を導き出すことは、計算上事実上不可能(一般に言うところの「不可能」)です。
  • AxCryptでファイルを暗号化する際、AES-128/-256を使用します。これは、暗号化と復号の両方に同じ1つの鍵を使用する、対称型の強力な暗号化アルゴリズムです。

    AxCryptがファイルを暗号化する際のプロセスは、原則として以下の通りです:

  • ファイルが暗号化されるたびに、ランダムな128ビットまたは256ビットのセッションキーが生成されます。
  • ファイルデータはAESとセッションキーを使用して暗号化されます。
  • セッションキーは、AESをコアとする特別なキー包装アルゴリズムを使用して、パスワードで暗号化されます。この暗号化されたセッションキーは、暗号化されたファイルに追加されます。
  • セッションキーは、RSA-4096を使用して、AxCrypt IDの公開鍵で暗号化されます。この暗号化されたセッションキーは、暗号化されたファイルに追加されます。
  • セッションキーは、ファイルのキー共有に選択した他のAxCryptユーザーのAxCrypt ID公開鍵で暗号化されます。これらの暗号化されたセッションキーが、暗号化されたファイルに追加されます。
  • ファイルを復号化するには、AxCryptは原則として以下の処理を行います:

  • パスワードを使用し、上記でパスワードで暗号化されたセッションキーを特定して復号を試みます。成功した場合、復号されたセッションキーを使用してファイルを復号化します。
  • プライベートAxCrypt IDキーを使用し、AxCrypt ID公開鍵で暗号化されたすべてのセッションキーを特定してそれぞれ復号を試みます。いずれかが成功した場合、復号されたセッションキーを使用してファイルを復号化します。
  • 鍵ペアは通常、アカウント作成時に当社のサーバーで生成されます。秘密鍵は、一時的に当社のローカルシステム鍵を使用して暗号化されます。サインオンしてパスワードを設定すると、パスワードを使って再暗号化されます。

    暗号化された秘密鍵は、もちろんAxCryptファイルとして暗号化されていますが、上記のようにセッション鍵を暗号化するにはパスワードのみを使用しています。この暗号化には公開鍵は使用しません。

    通常、このプロセスは次のとおりです。

  • アカウントに登録します。当社はサーバー上で鍵ペアを生成・作成し、秘密鍵を一時的に暗号化します。
  • パスワードを設定します。当社はパスワードを使って秘密鍵を再暗号化します。この時点で、パスワードを知らなければ、誰もあなたの秘密鍵を復旧できません。当社も、他の誰もできません。
  • AxCryptアプリでサインインします。アプリは当社のサーバーに接続し、鍵ペア(秘密鍵と公開鍵の両方)をサーバーからダウンロードします。秘密鍵は暗号化された状態で保持されます。
  • サインインパスワードを使ってファイルを開くことが失敗するたびに、AxCryptは秘密鍵を復号し、上記のようにセッション鍵の復号を試みます。これにより、あなたと共有されたファイルや、それ以降にパスワードを変更した場合(注:リセットではなく「変更」)に以前のパスワードで暗号化された古いファイルも開けるようになります。
  • AxCrypt IDのパスワードを変更することは、実質的に、お客様の秘密鍵を古いパスワードで復号し、その後新しいパスワードで再暗号化することを意味します。これにより、パスワードの変更後も、以前にAxCryptで暗号化したファイルを開くことができるようになります。なお、古いパスワードでも引き続きファイルを開けることに注意してください!また、これが当社のサーバーに依存しない理由でもあります。元のパスワードを知っていれば、いつでもファイルを開くことができます。暗号化された秘密鍵の同期済みコピーがあれば、現在のパスワードを持っている限り、どのファイルでも開くことができます。

    これらの鍵管理のすべては、AxCryptが自動的かつ裏側で処理し、当社のサーバーへのアクセスを許可している限り、完全に透過的に行われます。

    上記の仕組みを完全に理解している上級ユーザーの場合、当社のサーバーを使わずにこれらすべてを行うことが可能です。AxCrypt IDの鍵ペアを生成し、エクスポートやインポートなどを行うことができます。ただし、誤りや誤解により簡単にデータの損失やAxCryptの使用不能につながる可能性があるため、実際にこれを実行することはお勧めしません。

    上記の内容は、プロセスの簡略化されたバージョンです。セキュリティを確保し、さまざまな同期シナリオやパスワードリセットのイベントなどを処理するために、実際には多くの追加的な詳細が含まれています。詳細については、技術ドキュメントを参照してください。

    無料トライアルを始める