TLS sırasında oturum anahtarları her iki tarafta da aynı değere sahip mi?
El Sıkışma aşamasının son adımlarında oluşturulan oturum anahtarlarıyla ilgili iki sorum var:
"İstemci yazma anahtarı" ve "sunucu yazma anahtarı", her iki anahtarın her iki tarafta bağımsız olarak üretilmesine rağmen aynı değere mi sahip?
(Aynı soru) "İstemci yazma MAC anahtarı" ve "sunucu yazma MAC anahtarı" da aynı değere mi sahip?
Genel soru: İstemci ve sunucu, oturum anahtarlarını oluştururken aynı sonuçlara mı ulaşıyor?
Yanıtlar
"İstemci yazma anahtarı" ve "sunucu yazma anahtarı", her iki anahtarın her iki tarafta bağımsız olarak üretilmesine rağmen aynı değere mi sahip?
Hayır, sonraki cevaba bakın.
Şifreleme anahtarları için bu, mesaj yine de MAC olduğundan daha az önemlidir. Ancak, TLS 1.2 içinde ve MAC-then-encrypt kullanılmadan önce, bazı istenmeyen güvenlik açıklarını ortaya çıkarabilir. Örneğin, gönderen oracle saldırılarına açıksa, aynı anahtar kullanılacağı zaman mesajların şifresini çözmek için bunu kullanabilirsiniz. Bu, başlangıçta dolgu oracle saldırıları öngörülmediğinden, anahtar ayırmanın her zaman iyi bir fikir olduğunu gösterir.
(Aynı soru) "İstemci yazma MAC anahtarı" ve "sunucu yazma MAC anahtarı" da aynı değere mi sahip?
Hayır, kasıtlı olarak farklıdırlar, bu nedenle gönderenlerin kendi mesajlarının kendilerine tekrar gönderilmesini sağlayamazsınız. Temel olarak bir KDF (TLS 1.2 dilinde PRF) her anahtar için farklı bir etiket kullanır, bu da her türetilen anahtarın yalnızca ana anahtara bağlı olacağı anlamına gelir (tek yönlü bir işlev kullanarak).
Genel soru: İstemci ve sunucu, oturum anahtarlarını oluştururken aynı sonuçlara mı ulaşıyor?
Evet, öyle. Ancak her bir özel anahtar için aynı değerlerle sonuçlanırlar . İstemci ve sunucu aynı ana sırları türetir ve ardından belirli anahtarlar için aynı etiketleri kullanmaya devam eder. Yani her iki tarafta da "istemci yazma anahtarı" olacaktır, ancak sunucu mesajların şifresini çözmek için bunu kullanacaktır.