VPN'leri düşündüğümüzde, genellikle ilk düşüncemiz kullanıcı verilerinin şifrelenmesidir. Ancak, muhalifler veya veriyi okuma niyetinde olanlar, bir saldırganın bir konuşmayı kaydedebildiğini ve daha sonra katılımcıların arasındaki yanıtları tekrar oynayabileceğini gösterdi. Yapmamız gereken şey, verilerin kaynağının gerçek olmasını sağlamaktır. Dijital imzaların ve sertifikaların devreye girdiği yer burasıdır.
Dijital İmza oluşturmak için, ortak anahtar şifreleme sistemlerinin yerinde olması gerekir. Dijital İmzanın yapımı, mesajın bilinen bir gizli anahtarla birleştirilmesiyle mesaja bir karma fonksiyonun uygulanmasını ve daha sonra, öz olarak bilinen bir sabit uzunluk çıktısı üretecek bir matematiksel fonksiyonun uygulanmasını gerektirmektedir. Sindirim daha sonra, mesajın orijinal kaynaktan geldiğini doğrulamak için mesaja eklenebilecek bir imza oluşturan genel şifre çözme anahtarı ile şifrelenir.
Alıcı, karma işlevini yeniden hesaplar ve ortak anahtarı uyguladıktan sonra imza ile karşılaştırılır. Eğer iki eşleşirse, o zaman sadece yaratıcının karma işlevi ve özel anahtarı bilmesi nedeniyle, mesajın orijinal olması gerekir.
Mesaj Özet algoritmaları, çok sayıda çıkışın her birine birçok potansiyel girişi eşleştirmek için Karma işlevlerini kullanır. Normal olarak üretilen, tipik olarak birkaç yüz bit uzunluğunda sabit bir uzunluk alanıdır. Bir gizli anahtar gönderici ve alıcı arasında paylaşılır ve bunu aktarma için bir mesajla birleştirerek, özet üretilir.
MD5 (Message Digest 5) muhtemelen kullanılan en yaygın karma işlevidir ve paket iletilmeden önce genellikle başlığa eklenen 128 bitlik bir özet üretir. Mesajdaki herhangi bir değişiklik, sindirimin değişmesine neden olur ve kaynak ve hedef IP adresleri bile, sindirimi oluştururken mesaj içerikleriyle birlikte kullanılabilir ve bu da adresleri doğrular.
Bir başka popüler karma algoritma, MD5'ten daha fazla güvenlik sağlayan 160 bitlik bir özet üreten SHA'dır (Güvenli Karma Algoritma).
Sindirmenin ne kadar uzun olduğu önemli değil, özdeş bir sindirim her zaman aynı paket için sonuçlanacak. Ancak, sisteme saldırmak isteyen herkes değişiklikleri izleyebilir ve hangi sırayla gönderilen paketlerin bazı bilinen sonuçlarla sonuçlanacağını belirleyebilir. Bu sonuç daha sonra mesajların tekrarı ile çoğaltılabilir. Bu bir çarpışma saldırısı olarak bilinir.
HMAC (Karma Tabanlı İleti Kimlik Doğrulama Kodu), ilk paket için gizli anahtar kullanılarak hesaplanan ve sonuçta oluşan paketler için yeniden hesaplanan ipid ve opid olarak iki hesaplanmış değer ekleyerek çarpışma saldırılarıyla mücadele etmek için kullanılabilir. Değerler her paketin ardından saklanır ve bir sonraki paket için sindirimin hesaplanmasında kullanılmak üzere geri kazanılır. Bu, özdeş paketler için bile özütün daima farklı olmasını sağlar.
Bir Dijital Sertifika, isim, adres, anne kızlık soyadı, ev numarası, Ulusal Sigorta Numarası veya gerçekten herhangi bir şey gibi bilinen bazı bilgiler kullanılarak üretilir. Bu bilgi, genel anahtara eklenir ve daha sonra, RSA veya AES gibi güvenli bir şifreleme sistemi aracılığıyla özel anahtar kullanılarak şifrelenen sindirimi oluşturmak için karma işlevinin bir parçası olarak kullanılır.
Dijital Sertifika, kullanıcının sindirimi vermesi için ortak anahtarla ortak şifreleme işleminden geçirilerek doğrulanabilir. Bu, kullanıcının talep edilen kimliğinden ve genel anahtarından sindirmenin hesaplanmasıyla karşılaştırılabilir. İki hesaplama aynı sonucu verirse, sertifika geçerli olur. Mesajın kaynağının gerçekliğini doğrulamak için dijital sertifikalar mesajlara eklenir.