【PHP8.x】sodium_crypto_auth_verify関数の使い方
作成日: 更新日:
sodium_crypto_auth_verify関数は、PHPのLibreSodium拡張機能が提供する暗号学的なメッセージ認証コード(MAC)を検証するための機能です。この関数は、与えられたメッセージ認証コードが、特定のメッセージと秘密鍵を用いて正しく生成されたものであるかを検査する役割を担います。
この関数の主な目的は、データの完全性と信頼性を保証することです。具体的には、受信したデータが送信元から送られてくる途中で改ざんされていないかを確認したり、メッセージが正当な送信元によって作成されたものであるかを認証したりするために使用されます。
sodium_crypto_auth_verify
関数を利用する際には、検証対象となるメッセージ認証コード、そのMACが生成された元のメッセージ、そしてMACの生成時に使用されたのと同じ秘密鍵の三つの情報が必要です。これらの情報がすべて一致した場合にのみ、関数はtrue
を返して検証の成功を示します。もしMACがメッセージや秘密鍵と合致しない場合、またはデータが途中で改ざんされていた場合、関数はfalse
を返して検証が失敗したことを通知します。
この機能は、通信におけるデータの信頼性を高め、不正なデータの受け入れや偽装されたメッセージによる攻撃からシステムを保護するために非常に重要です。システムエンジニアを目指す方にとって、データのセキュリティを確保するための基本的な仕組みとして理解しておくべき関数の一つと言えます。
基本的な使い方
構文(syntax)
1$is_valid = sodium_crypto_auth_verify($mac_tag_string, $message_string, $key_string);
引数(parameters)
string $mac, string $message, string $key
- string $mac: 検証するメッセージ認証コード (MAC)
- string $message: 検証する元のメッセージ
- string $key: MACの生成に使用された秘密鍵
戻り値(return)
bool
認証が成功した場合はtrue
を、失敗した場合はfalse
を返します。