Skip to the content.

最終更新日:2026年6月30日

まず結論

ダイジェスト認証とベーシック認証は、どちらもHTTPで利用される認証方式ですが、利用者IDとパスワードの送信のしかたが違います。

SG試験では、次の切り分けが重要です。

  • ベーシック認証利用者ID:パスワードBase64でエンコードして送る
  • ダイジェスト認証:パスワードそのものではなく、認証に必要な情報を使って作った ハッシュ値 を送る

選択肢では、「Base64」「MD5」「SHA」「エンコード」「ハッシュ化」 の言葉を入れ替えて迷わせてくることがあります。


直感的な説明

ベーシック認証は、たとえるなら、IDとパスワードを書いた紙を読みにくい文字に変えて渡すイメージです。

見た目はそのまま読めませんが、Base64は暗号化ではありません。
元に戻すことができるので、通信経路を盗聴されると危険です。

一方、ダイジェスト認証は、パスワードそのものを渡すのではなく、パスワードなどを材料にして作った確認用の値を渡すイメージです。

そのため、ベーシック認証よりはパスワードが直接見えにくい方式です。
ただし、現在の実務では、どちらの方式でもHTTPSなど安全な通信と組み合わせることが重要です。


定義・仕組み

ベーシック認証は、HTTPのAuthorizationヘッダーに認証情報を入れて送る方式です。

基本の流れは次のとおりです。

  1. 利用者IDとパスワードを :(コロン)で連結する
  2. 連結した文字列をBase64でエンコードする
  3. Authorizationヘッダーに入れてサーバへ送る

たとえば、SG試験では次のような表現が出たらベーシック認証を考えます。

利用者IDとパスワードを : で連結し、Base64でエンコードしてAuthorizationヘッダーで送信する。

ここで注意したいのは、Base64は暗号化ではなくエンコードだという点です。

ダイジェスト認証は、サーバから送られるランダムな値などを使い、認証用のハッシュ値を作って送る方式です。

古い説明ではMD5が代表例として出てきます。
ただし、SG試験では細かい計算式よりも、パスワードそのものを送らず、ハッシュ値を使うという理解が大切です。

HTTP Basic認証はRFC 7617で、HTTP Digest認証はRFC 7616で定義されています。


どんな場面で使う?

ベーシック認証は、簡単なアクセス制限で使われることがあります。

たとえば、社内向けの簡易ページや、開発中のページに最低限の認証をかけるような場面です。
ただし、認証情報の扱いが弱いため、HTTPSなしで使うのは危険です。

ダイジェスト認証は、ベーシック認証よりもパスワードを直接送らない点が特徴です。

しかし、現在のWebシステムでは、フォーム認証、セッション管理、多要素認証、OAuthなど、別の認証方式が使われることも多くあります。

SG試験では、実務でどれが最新かを細かく覚えるよりも、次のように判断するとよいです。

  • ID:パスワード をBase64で送る → ベーシック認証
  • パスワードそのものではなくハッシュ値を送る → ダイジェスト認証
  • Base64を「暗号化」と書いている → 注意
  • HTTPSなしで安全と言い切っている → 注意

よくある誤解・混同

Base64は暗号化ではない

ベーシック認証では、IDとパスワードをBase64でエンコードします。

ここで、Base64でエンコード=暗号化と考えると誤りです。

Base64は、データを別の文字表現に変える方法です。
秘密にするための仕組みではないので、認証情報を安全に守るにはHTTPSなどの対策が必要です。

ダイジェスト認証は「IDとパスワードをBase64で送る」ではない

利用者ID:パスワード をBase64で送るのは、ベーシック認証です。

ダイジェスト認証は、パスワードそのものではなく、認証に必要な情報から作ったハッシュ値を使います。

選択肢で、

ダイジェスト認証では、利用者IDとパスワードを : で連結し、Base64でエンコードする。

と書かれていたら、ベーシック認証の説明と混同している可能性があります。

MD5やSHAだけで判断しない

問題によっては、ダイジェスト認証の説明でMD5やSHAが出てくることがあります。

ただし、SG試験では、アルゴリズム名だけで判断するよりも、認証情報をどのように送るかを見る方が安定します。

  • Base64でエンコードして送る → ベーシック認証
  • ハッシュ値を使って送る → ダイジェスト認証

この切り分けを優先しましょう。


まとめ(試験直前用)

  • ベーシック認証は、利用者ID:パスワードBase64でエンコードしてAuthorizationヘッダーで送る。

  • ダイジェスト認証は、パスワードそのものではなく、認証用の ハッシュ値 を使う。

  • Base64は暗号化ではない
    「Base64だから安全」と書かれていたら注意する。

  • 迷ったら、
    Base64=ベーシック認証、ハッシュ値=ダイジェスト認証
    で切り分ける。

  • SG試験では、方式名よりも、IDとパスワードをどう扱っているかを見る。

公式情報・参考リンク

© 2024-2026 stemtazoo. All rights reserved.