Not:
Birçok insan "özel" bir URL'yi kimlik doğrulamasıyla karıştırıyor gibi görünüyor. Ayrıca, bağlantıyı güvenilir bir varlık aracılığıyla göndermenin iki faktörlü kimlik doğrulaması için bir girişim olduğu anlaşılıyor. Açık olmak gerekirse, tahmin edilmesi yeterince zor olsa da halka açık bir kaynaktan bahsediyoruz.
Özel bir URL kullanırken, her zaman bunun tehlikeye girebileceğini varsaymalısınız - böyle bir URL'yi tasarlamalısınız; böylece, tehlikeye atılsa bile, kaynak saldırgana bilgi sızdırmaz.
Özel / tahmin edilmesi zor URL’ler, şifre tabanlı kimlik doğrulaması ile aynı değildir. Doğal olarak, özel URL'ler hiç özel değildir - bunlar halka açık kaynaklardır. "Özel" URL teriminin bir yanlış isim olduğunu düşünüyorum, bunun yerine "belirsiz" URL’lerdir.
"Özel" bir URL kullanmanın kabul edilebilir olduğu bazı durumlar vardır, ancak bunlar şifre doğrulama veya anahtar tabanlı kimlik doğrulama gibi geleneksel kimlik doğrulama yöntemlerinden doğal olarak daha az güvenlidir.
Yaygın olarak kullanılan "özel" URL’leri gördüğüm yerlerden bazıları:
- Şifre Sıfırlama e-postaları
- Sertifika Oluşturma e-postaları
- Hesap / e-posta onay e-postaları
- Satın alınan içeriğin teslimi (e-kitaplar, vb.)
- Uçuş check-in, baskı biniş kartı, diğer kimlik doğrulama işlemleri geleneksel kimlik doğrulamanın yanı sıra özel URL'ler de kullanır
Buradaki ortak nokta, rastgele URL’lerin tipik olarak yalnızca tek seferlik işlemler için iyi olmasıdır. Ayrıca, geleneksel kimlik doğrulama ve rastgele URL'ler birbirini dışlayan değil - aslında, bir kaynak sunarken ek güvenlik sağlamak için birbirleriyle birlikte kullanılabilirler.
Robert Harvey’nin belirttiği gibi, rasgele / özel bir URL’yi güvenli bir şekilde kullanmanın tek yolu, sayfayı dinamik olarak oluşturmak ve URL’yi kullanıcının kimliği doğrulanmış sayılabilecek şekilde sunmaktır. Bu e-posta, SMS, vb. Olabilir.
Rasgele oluşturulmuş / özel bir URL genellikle birkaç özelliğe sahiptir:
- Makul bir süre sonra sona ermelidir.
- Tek kullanımlık bir URL olmalıdır: IE, ilk erişime girdikten sonra süresi bitmelidir.
- Kullanıcının güvenli bir şekilde kimliğini doğrulamak için kullanıcının kimliğini güvence altına alması gereken başka bir işletmeye ertelemelidir. (Bağlantıyı e-posta veya SMS yoluyla göndererek vb.)
- Modern bir bilgisayarın URL'yi son kullanma tarihinden önceki zaman dilimi içinde kaba bir şekilde zorlaması imkansız olmalıdır - ya kaynağı ortaya çıkaran API'yi sınırlandırarak veya tahmin edilemeyecek kadar yeterli entropi ile bir URL bitiş noktası oluşturarak.
- Kullanıcı hakkında bilgi sızdırmamalıdır. IE: Sayfa bir şifreyi sıfırlamaksa: sayfa, talep edenin hesap bilgilerini görüntülememelidir. Alice bir şifre sıfırlama bağlantısı isterse ve Bob URL’yi bir şekilde tahmin ederse, Bob’in kimin şifresini sıfırladığını bilmesi gerekmez.
- Kullanıcı hakkında bilgi sızdırıyorsa, geleneksel kimlik doğrulamanın üstünde kullanılmalıdır; örneğin, bir çerez seti varsa veya oturum kimliği hala geçerliyse, bir sayfa kimliği doğrulanmış bir kullanıcı olarak kabul edilebilir.
Farklı kaynaklar farklı güvenlik seviyeleri gerektirir. Örneğin, bazı arkadaşlarınızla gizli bir tarif paylaşmak isterseniz, onlarla paylaşmak için rastgele / özel bir URL kullanmak kabul edilebilir. Ancak, kaynak bir kişinin kimliğini çalmak veya hesaplarını diğer hizmet sağlayıcılarla riske atmak için kullanılabilirse, büyük olasılıkla bu kaynağa erişimi kısıtlama konusunda çok daha fazla önem verirsiniz.