PAPとは

PAPは、ネットワーク接続においてユーザーの妥当性を確認するための、最も基本的な認証プロトコルのことです。

正式名称をPassword Authentication Protocol(パスワード認証プロトコル)と呼び、主にPPP(Point-to-Point Protocol)による接続確立の過程で使用されます。クライアントが自身のID(ユーザー名)とパスワードをサーバーへ送信し、サーバー側で保持している情報と照合することでアクセスを許可する仕組みを指します。

PAPの動作原理と手順

PAPは「2ウェイ・ハンドシェイク」と呼ばれる非常にシンプルなプロセスで認証を行います。

  1. 認証リクエスト:クライアントは、あらかじめ設定されたIDとパスワードを「認証要求パケット」に含めてサーバーへ送信します。
  2. 認証結果の返信:サーバーは受信した情報をデータベースと照合し、一致すれば承認(Authenticate-Ack)、不一致であれば拒否(Authenticate-Nak)のパケットを返します。

このプロセスは、PPPのリンク確立フェーズの直後に実行され、認証が成功するまでネットワーク層の通信は開始されません。

技術的な特徴と課題

PAPは実装が容易である反面、現代のセキュリティ基準においては重大な脆弱性を抱えています。

1. 平文による送信

PAPの最大の特徴であり欠点は、IDとパスワードが「平文(クリアテキスト)」で送信されることです。通信経路の途中でパケットが傍受(スニッフィング)された場合、第三者に認証情報が容易に盗み取られる危険性があります。

2. 再送攻撃への耐性

チャレンジ・レスポンス方式を採用していないため、一度傍受されたパケットをそのまま再利用して不正にログインを試みる「再送攻撃(リプレイアタック)」を防ぐ手段がありません。

3. クライアント主導の試行

PAPでは、認証の試行回数やタイミングをクライアント側が制御します。これにより、総当たり攻撃(ブルートフォース攻撃)に対する耐性が低いという側面もあります。

CHAPとの比較

PAPの脆弱性を改善するために開発されたプロトコルがCHAP(Challenge Handshake Authentication Protocol)です。

比較項目PAPCHAP
認証方式2ウェイ・ハンドシェイク3ウェイ・ハンドシェイク
パスワード送信平文で送信送信しない(ハッシュ値を利用)
セキュリティ低い(盗聴に弱い)高い(再送攻撃に強い)
処理負荷非常に低いやや高い
CHAPとの比較

現代における利用シーン

セキュリティリスクがあるため、インターネットを通じた直接の接続にPAPが利用されることは推奨されません。しかし、以下のような特定の環境では現在も使用されることがあります。

  • 互換性の確保:非常に古いOSや通信機器、組み込みデバイスなど、高度な認証プロトコルに対応していない機器を接続する場合。
  • クローズドな環境:物理的に保護された専用線や、RADIUSサーバーとの通信において、上位層で強力な暗号化(IPsecやTLSなど)が既に施されている場合。

通信の信頼性指標

P_{safe}

を評価する際、暗号化の有無 E と認証プロトコルの強度

S_{auth}

を変数とすると、PAPを用いる場合の信頼度は

S_{auth}

が極めて低いため、他のレイヤでの保護が不可欠となります。

P_{safe} = f(E, S_{auth})

総じて、PAPはネットワーク技術の歴史において基礎的な役割を果たしてきましたが、現代のITシステム設計においては、特別な理由がない限りCHAPやEAPといったより堅牢な方式を選択することが標準的な設計指針とされています。

関連用語

スニッフィング セキュリティ用語集 | APPSWINGBY
PPP | 今更聞けないIT用語集
クラウドソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。