パスワード認証プロトコル(PAP)は、ポイントツーポイントプロトコル(PPP)がユーザーを検証するために使用するパスワードベースの認証プロトコルです。[ 1 ] PAPはRFC 1334で規定されています。
ほぼすべてのネットワークオペレーティングシステムはPAPを使用したPPPをサポートしており、ほとんどのネットワークアクセスサーバーも同様です。PAPはPPPoEでも使用され、DSLユーザーの認証に用いられます。
ポイントツーポイントプロトコル(PPP)はデータを暗号化せずに平文で送信するため、PAPはPPPセッションを傍受できる攻撃者に対して脆弱です。攻撃者は、ユーザー名、パスワード、およびPPPセッションに関連付けられたその他の情報を見ることができます。CHAPまたはEAPを使用することで、PPPリンクのセキュリティをさらに強化できます。しかし、認証方法を選択する際には常にトレードオフがあり、どちらがより安全かという明確な答えはありません。
PPPでPAPを使用する場合、それは脆弱な認証方式とみなされます。脆弱な方式は、トランスポート層セキュリティ(TLS)などのより複雑な方式に比べてシンプルで計算負荷も軽いですが、攻撃に対してはるかに脆弱です。脆弱な方式は、家庭用DSL回線のように、トランスポート層が物理的に安全であると想定される場所で使用されます。トランスポート層が物理的に安全でない場合は、代わりにTLSやインターネットプロトコルセキュリティ(IPsec)などのシステムが使用されます。
PAPは、 RADIUSやDiameterなどの他のプロトコルにおけるパスワード認証を説明する際にも使用されます。ただし、これらのプロトコルはトランスポート層またはネットワーク層のセキュリティを提供するため、PAPをPPPと併用する場合に見られるようなセキュリティ上の問題は発生しません。
クライアントが平文パスワードを送信すると、認証サーバーはそれを受信し、「既知の有効な」パスワードと比較します。認証サーバーはパスワードを平文で受信するため、保存されるパスワードの形式は「保存時」に安全な形式に選択できます。攻撃者がパスワードのデータベース全体を盗み出したとしても、平文パスワードを復元する機能を逆算することは計算上不可能です。
その結果、PAPパスワードはPPPリンク経由で送信される場合はセキュリティが低下しますが、 CHAPなどの他の方法よりも「保存時」のセキュリティは向上します。
PAP認証は最初のリンク確立時にのみ行われ、双方向ハンドシェイクを使用してクライアントの身元を確認します。
PPPフレームに埋め込まれたPAPパケット。プロトコルフィールドの値はC023(16進数)です。