It is possible to limit server connections to client with specific certificates. When using SSL/TLS it is sometimes refer as SSL client authentication or mutual authentication as the client authenticate the server and the server authenticate the client.
A free implementation of a mutual authentication using SSL/TLS we'll require to setup a Public Key Infrastructure and create a Certificate Authority (CA). Your Web Server will need to support SSL/TLS and have a certificate.
It can be done easily using OpenSSL.
Create a Certificate Authority
- Create new CA (private key and certificate).
Create a Server certificate
Client certificate.
- Create a client certificate request.
- Sign the client certificate using the CA certificate and private key
previously created.
Client Authentication
- Install your CA certificate within your browser.
- Configure your web server to authenticate users based on the provided
client certificate.
Resources
Secure Web Access
What is the difference between an x.509 “client certificate” and a normal SSL certificate?