Private Internet Accessはデフォルトにより業界標準VPNであり、オープンソースのOpenVPNを使用して、セキュアなVPNトンネルを提供します。暗号化において、OpenVPNには多くのオプションが用意されています。当アプリのユーザーはVPNセッションで個々が求める暗号化レベルを選ぶことができます。PIAは最も妥当なデフォルトを選ぶように努めており、ほとんどのユーザーにこれを使用するように推奨しています。とは言うものの、ユーザーには選択の自由あることも伝えています。 また、Private Internet Accessのユーザーは、VPNトンネルにWireGuard®を使用することを選ぶこともできます。
データ暗号化: AES-128
データ認証: SHA1
ハンドシェイク RSA-2048
データ暗号化: なし
データ認証: なし
ハンドシェイク ECC-256k1
データ暗号化: AES-256
データ認証: SHA256
ハンドシェイク RSA-4096
データ暗号化: AES-128
データ認証: なし
ハンドシェイク RSA-2048
これは対称暗号アルゴリズムです。ここではすべてのデータが対称暗号アルゴリズムを使用して暗号化・複合化されます。対称暗号にはユーザーとサーバーによって共有される一時的な秘密鍵が使用されます。この秘密鍵はハンドシェイク暗号化を使用して交換されます。
これはメッセージ認証アルゴリズムです。ユーザーのデータはすべてメッセージ認証アルゴリズムを使用して認証されます。これは能動的攻撃からユーザーを保護するためだけに使用されます。能動的な攻撃が心配ではない場合、データ認証をオフにすることができます。
安全なハッシュアルゴリズム(160ビット)を使用したHMAC。
aria-hidden="true">これが最速の認証モードです。
安全なハッシュアルゴリズムを使用したHMAC (256ビット)。
騙されて攻撃者のサーバーに接続することがないよう、セキュアな接続を確立し、ユーザーが本当にPrivate Internet Access VPNサーバーと通信していることを確認するために使用されます。弊社はTLS v1.2を使用してこの接続を確立します。弊社のすべての証明書は署名にSHA512を使用しています。
2048bit 一時的なデフィー・ヘルマン(DH)鍵交換、および鍵交換がPrivate Internet Accessサーバーで実際に行われたことを実証する2048ビットRSA証明書。
RSA-2048と同様。ただし鍵交換および証明書の両方で3072ビットを使用。
RSA-2048と同様。ただし鍵交換および証明書の両方で4096ビットを使用。
警告が表示される場合が3通りあります:
最近のNSA暴露は、特定の、またはことによると米国標準化団体によるすべての楕円曲線に裏口があり、NSAがより簡単にその暗号を解読できるのではないかという懸念を引き起こしています。署名と鍵交換で使用される曲線においてこの証拠はなく、& style='line-height:1;'>†これはあり得そうもないと考える専門家もいます。このためPIAはユーザーにオプションを提供しながらも、楕円曲線設定が選択された場合、必ず警告を表示しています。また、PIAにはそれほどスタンダードではない曲線 secp256k1が含まれています。これはBitcoinが使用しているもので、その他の曲線を開発したNISTではなく、カナダを拠点とするCerticom社によって開発されたものです。secp256K1では 裏口を隠す場所がより少ないと思われます。
†
ECCを使用する乱数発生器が裏口から侵入されたという有力な証拠がありますが、広くは利用されていませんでした。
能動的攻撃というのは、攻撃者がVPNセッションのデータを変更したり、データを注入したりできる、ユーザーとVPNサーバーの"間"のポジションに入ってくる攻撃です。OpenVPNは、データ暗号化とデータ認証の両方が使用されている限り、能動的攻撃者に対して安全であるように開発されました。
受動的攻撃というのは、ネットワークを通過するすべてのデータを攻撃者が記録するだけの攻撃で、データが変更されたり、新しいデータが注入されることはありません。干渉したり変更したりすることなく、すべてのネットワークトラフィックを監視網でキャプチャしたり、保管したりするエンティティが受動的攻撃者の一例です。データ暗号化を使用していれば、OpenVPNセッションは受動的攻撃者から保護されます。
一時的な鍵は暗号化の鍵で、ランダムに生成され、一定回数のみ使用されます。一定回数使用された後は破棄され、安全に消去されます。一時的な鍵交換は、これらの鍵が作成され交換されるプロセスを指します。デフィー・ヘルマンはこのプロセスを行うのに使用されるアルゴリズムです。一時的な鍵の背景にある考え方というのは、鍵の使用後、鍵は捨てられ、攻撃者が暗号化されたデータおよびクライアントとサーバー両者への完全なアクセスを最終的に入手したとしても、誰一人としてその鍵を使用して暗号化されたデータを複合することはできない、というものです。