The best answer is D. Mutual certificate authentication.
A comprehensive explanation is:
Mutual certificate authentication is a method of mutual authentication that uses public key certificates to verify the identities of both parties in a two-way communication. A public key certificate is a digital document that contains information about the identity of the certificate holder, such as their name, organization, domain name, etc., as well as their public key, which is used for encryption and digital signature. A public key certificate is issued and signed by a trusted authority, called a certificate authority (CA), that vouches for the validity of the certificate.
Mutual certificate authentication works as follows:
Both parties have a public key certificate issued by a CA that they trust.
When they initiate a communication, they exchange their certificates with each other.
They verify the signatures on the certificates using the CA’s public key, which they already have or can obtain from a trusted source.
They check that the certificates are not expired, revoked, or tampered with.
They extract the public keys from the certificates and use them to encrypt and decrypt messages or to generate and verify digital signatures.
They confirm that the identities in the certificates match their expectations and intentions.
By using mutual certificate authentication, both parties can be confident that they are communicating with the intended and legitimate party, and that their communication is secure and confidential.
Mutual certificate authentication is often used in conjunction with Transport Layer Security (TLS), a protocol that provides encryption and authentication for network communications. TLS supports both one-way and two-way authentication. In one-way authentication, only the server presents a certificate to the client, and the client verifies it. In two-way authentication, also known as mutual TLS or mTLS, both the server and the client present certificates to each other, and they both verify them. Mutual TLS is commonly used for secure web services, such as APIs or webhooks, that require both parties to authenticate each other.
Virtual private network (VPN), Secure Shell (SSH), and Transport Layer Security (TLS) are all technologies that can help to ensure the identities of individuals in a two-way communication are verified, but they are not methods of mutual authentication by themselves. They can use mutual certificate authentication as one of their options, but they can also use other methods, such as username and password, pre-shared keys, or tokens. Therefore, they are not as specific or accurate as mutual certificate authentication.
References:
What is mutual authentication? | Two-way authentication1
How to prove and verify someone’s identity2
Identity verification - Information Security & Policy3