El Sıkışma Sonrası TLS ve 21 Uyarı


7

TLS v1.0 çalıştıran bir müşterimiz / sunucumuz var ve ilk el sıkışmadan sonra Şifreleme Uyarısı 21'yi istemciden almaya devam ediyoruz. Onlar şifre blok zincirleme kullanıyorlar ve blok şifre giriş uzunluğunun blok uzunluğunun katından farklı bir şeyden farklı olduğunu, Şifre Çözme Başarısız uyarısına neden olacağını, ancak bunun gerçek olup olmadığını nasıl belirleyeceğini nasıl bulacağımı okudum. uyarının nedeni nedir?

Aşağıdaki karşılıklı dizisini ekledim ... Teşekkürler ... Teşekkürler

Güvenli Yuva Katmanı

TLSv1 Record Layer: Handshake Protocol: Client Hello ##
    Content Type: Handshake (22)###
    Version: TLS 1.0 (0x0301)
    Length: 254
    Handshake Protocol: Client Hello
        Handshake Type: Client Hello (1)
        Length: 250
        Version: TLS 1.2 (0x0303)
        Random
            GMT Unix Time: Jun 25, 1983 13:56:23.000000000 Eastern Daylight Time
            Random Bytes: 2761896c45978dc3868cd4858d7a3d5749f7218e40f5fd3f...
        Session ID Length: 0
        Cipher Suites Length: 100
        Cipher Suites (50 suites)
        Compression Methods Length: 1
        Compression Methods (1 method)
        Extensions Length: 109
        Extension: ec_point_formats
        Extension: elliptic_curves
        Extension: SessionTicket TLS
        Extension: signature_algorithms
        Extension: Heartbeat

Güvenli Yuva Katmanı

TLSv1 Record Layer: Handshake Protocol: Multiple Handshake Messages
    Content Type: Handshake (22)
    Version: TLS 1.0 (0x0301)
    Length: 1449
    Handshake Protocol: Server Hello
        Handshake Type: Server Hello (2)
        Length: 77
        Version: TLS 1.0 (0x0301)
        Random
        Session ID Length: 32
        Session ID: 569d341d4d75bc12b41fa995f22fea93a51d14fa1d612e69...
        Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
        Compression Method: null (0)
        Extensions Length: 5
        Extension: renegotiation_info
    Handshake Protocol: Certificate
        Handshake Type: Certificate (11)
        Length: 816
        Certificates Length: 813
        Certificates (813 bytes)
    Handshake Protocol: Server Key Exchange
        Handshake Type: Server Key Exchange (12)
        Length: 540
        Diffie-Hellman Server Params
            p Length: 128
            p: fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400...
            g Length: 20
            g: 9760508f15230bccb292b982a2eb840bf0581cf5
            Pubkey Length: 128
            Pubkey: 73f35da13f584ccb05901f5242f71da41b5f35cc185409a9...
            Signature Length: 256
            Signature: 3b8a31d223c149fb0af62f653be5d61af1297c11c4d6e925...
    Handshake Protocol: Server Hello Done
        Handshake Type: Server Hello Done (14)
        Length: 0

Güvenli Yuva Katmanı

TLSv1 Record Layer: Handshake Protocol: Client Key Exchange
    Content Type: Handshake (22)
    Version: TLS 1.0 (0x0301)
    Length: 134
    Handshake Protocol: Client Key Exchange
        Handshake Type: Client Key Exchange (16)
        Length: 130
        Diffie-Hellman Client Params
            Pubkey Length: 128
            Pubkey: 76ef1851a1202c19b55aebc2cf830cbb023f15f75d7c963a...
TLSv1 Record Layer: Change Cipher Spec Protocol: Change Cipher Spec
    Content Type: Change Cipher Spec (20)
    Version: TLS 1.0 (0x0301)
    Length: 1
    Change Cipher Spec Message
TLSv1 Record Layer: Handshake Protocol: Encrypted Handshake Message
    Content Type: Handshake (22)
    Version: TLS 1.0 (0x0301)
    Length: 48
    Handshake Protocol: Encrypted Handshake Message

Güvenli Yuva Katmanı

TLSv1 Record Layer: Change Cipher Spec Protocol: Change Cipher Spec
    Content Type: Change Cipher Spec (20)
    Version: TLS 1.0 (0x0301)
    Length: 1
    Change Cipher Spec Message

Güvenli Yuva Katmanı

TLSv1 Record Layer: Handshake Protocol: Encrypted Handshake Message
    Content Type: Handshake (22)
    Version: TLS 1.0 (0x0301)
    Length: 48
    Handshake Protocol: Encrypted Handshake Message

Güvenli Yuva Katmanı

client-> sunucu

TLSv1 Record Layer: Application Data Protocol: http
    Content Type: Application Data (23)
    Version: TLS 1.0 (0x0301)
    Length: 32
    Encrypted Application Data: 50c0d7383385d5ea8aa08c9a489904b20fb508a1b53ec017...
TLSv1 Record Layer: Application Data Protocol: http
    Content Type: Application Data (23)
    Version: TLS 1.0 (0x0301)
    Length: 480
    Encrypted Application Data: 18ad9fa298268b2da260c4873075d8116554d3067659a0f6...

Güvenli Yuva Katmanı

sunucu-> istemci

TLSv1 Record Layer: Application Data Protocol: http
    Content Type: Application Data (23)
    Version: TLS 1.0 (0x0301)
    Length: 352
    Encrypted Application Data: a425edb24ceb1fab0516b7cf64e18d571db0f222e606d1a7...

Güvenli Yuva Katmanı

client-> sunucu

TLSv1 Record Layer: Application Data Protocol: http
    Content Type: Application Data (23)
    Version: TLS 1.0 (0x0301)
    Length: 32
    Encrypted Application Data: 4952a32d5ca081870f74397b4b45d8af9017938b92db648a...
TLSv1 Record Layer: Application Data Protocol: http
    Content Type: Application Data (23)
    Version: TLS 1.0 (0x0301)
    Length: 480
    Encrypted Application Data: 3a97d944ddabc997a965cc75ed946aa0dd4b13e525f44aff...

Güvenli Yuva Katmanı

sunucu-> istemci

TLSv1 Record Layer: Application Data Protocol: http
    Content Type: Application Data (23)
    Version: TLS 1.0 (0x0301)
    Length: 32
    Encrypted Application Data: 47f3838b409d33cfd039f51e432e7675095f6f724ba7c728...
TLSv1 Record Layer: Application Data Protocol: http
    Content Type: Application Data (23)
    Version: TLS 1.0 (0x0301)
    Length: 352
    Encrypted Application Data: 8bd4f772427b1bf25901b3cc59cff003d83b02bd11421e62...

Güvenli Yuva Katmanı

client-> sunucu

TLSv1 Record Layer: Application Data Protocol: http
    Content Type: Application Data (23)
    Version: TLS 1.0 (0x0301)
    Length: 32
    Encrypted Application Data: 1a0750299f160c207a88d6d6b2bc794373b7d45ae845129f...
TLSv1 Record Layer: Application Data Protocol: http
    Content Type: Application Data (23)
    Version: TLS 1.0 (0x0301)
    Length: 480
    Encrypted Application Data: 094956aa5f580d500d9402bc84696748f6c008d8f75bcafc...

Güvenli Yuva Katmanı

client-> sunucu

TLSv1 Record Layer: Encrypted Alert
    Content Type: Alert (21)
    Version: TLS 1.0 (0x0301)
    Length: 32
    Alert Message: Encrypted Alert

1
villican - lütfen yardımcı olacak hiçbir şey yapmayan düzenlemeler eklemeyin.
Rory Alsop,

Bunun TLS v1.0temelde doğru kırıldığını anlıyor musun ? Müvekkilinizin 1983’ü düşünmesinin bir nedeni var mı?
Ramhound

2
@Ramhound: TLS 1.0 standardı ilk olarak 1999 yılında piyasaya sürüldü.
bwDraco

@bwDraco - Aslında ................ biliyorum Sen tamamen ikinci ilişkisiz sorunun noktayı kaçırdın. GMT Unix Time: Jun 25, 1983 13:56:23.000000000 Eastern Daylight TimeBu yüzden benim müşteri neden Junt 25 1983 @ 1:53 PM GMT'nin bu yazının aynısını düşündüğünü soruyor. Saat doğru (veya yeterince yakın) ancak tarih doğru değil. Şu anda 14:39 GMT, bu nedenle, yeterince yakın olduğunu nasıl bildiğimi.
Ramhound

1
21 uyarı numarası değildir ve bu bir "şifreleme uyarısı" değildir. 21, tüm uyarı kayıtlarının kayıt türüdür, ancak uyarı kaydı şifrelenir ve Wireshark şifresini çözemez, böylece "Şifreli Uyarı" mesajı görüntülenir. Bu olabilir normal close_notify, ama orada bir hata olduğunu ve bu yüzden ne olursa düşünürse öğrenmek için sunucu günlükleri kontrol edin.
dave_thompson_085

Yanıtlar:


9

Bu bir Karışım

Bu AlertDescription21 değil .

Bunun yerine bu ContentType21 .

  enum {
      change_cipher_spec(20), alert(21), handshake(22),
      application_data(23), (255)
  } ContentType;

Şimdi ne var? Yani bunun bir alarm olduğunu biliyoruz, ama, tamam ne tür? Bir AlertDescriptionalan bir bayt genişliğindedir . Peki bu hangisi? Ve ne yazık ki, cevap ...

Alert Message: Encrypted Alert

... biz bilmiyoruz. Şifrelenmiş.

S: Ancak, sertifika için özel anahtarı kullanırsak, bu paket çöplüğünün şifresini çözemez miyiz?
C: Hayır Bu bağlantı geçici bir şifre paketi (yani kullanılan Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)) bu yüzden olduğundan ileriye güvenli ve oturum toplu şifreleme anahtarı sertifikasının özel anahtarından yeniden edilemez.

Yeni bir iz al.

Başka bir iz alın ama bu sefer daha sonra şifresini çözebildiğinizden emin olun. Bunu yapmak için, özel anahtarı hazır bulundurun ve güvenli olmayan bir paketi DHEzorlayın ( adında ECDHE olmayan herhangi bir şey ) veya yazılımınızın oturum anahtarını bir yere atmasını sağlayın. ( Chrome ve Firefox bunu yapabilir. )


1
Wireshark'ın sunucu anahtarını kullanarak şifresini çözmek için , DH (ECDH dahil) olmadan paketine ihtiyacınız vardır . Kesin anlamda sadece DHE ve ECDHE (ve nadiren kullanılan EC / DH_anon) olan kısa ömürlü ve DH ve ECDH olabilir sunucu anahtarla deşifre fakat Wireshark böylece yapmaz. (Ve kendin yapmak çok fazla iş olsa da, arada sırada elle bir ya da iki tane çerçeve yaptım.)
dave_thompson_085

@ dave_thompson_085 teşekkürler. Neden "EC" yazdığımı bilmiyorum.
StackzOfZtuff

4

... TLS v1.0 çalıştıran bir müşterimiz / sunucumuz var ve ilk el sıkışmasından sonra istemciden Şifreleme Uyarısı 21'i almaya devam ediyoruz ...

Görünüşe göre müşteri aşağı seviyede ve geliştirilmesi gerekiyor.

Göre RFC 5246, Aktarım Katmanı Güvenliği (TLS) Protokolü Sürüm 1.2 , 21 uyanık decryption_failed_RESERVED olduğunu . Ve alarmın anlamı:

decryption_failed_RESERVED
   Bu uyarı, TLS'nin daha önceki sürümlerinde kullanılmış
   ve CBC moduna [CBCATT] yönelik bazı saldırılara izin vermiş olabilir . Bu GEREKİR
   uyumlu uygulamalar ile gönderilecektir DEĞİL.


Uyarı numarasının 21 olduğu bilinmemektedir ve muhtemelen değildir; soru hakkındaki yorumuma bakın. Müşterinin görünüşe göre 2011'in sonlarından sonra koyarak BEAST'a cevaben yaygın bir şekilde uygulanan 1 / N-1 parçalanması yaptığını fark ettin. Dikkat çeken alarmları birleştirmek için 20 = MAC ve 21 = 'deşifre et' = CBC’nin önceden belirtilmiş olduğunu 2009 yılında 1.1, ve birçok kişi bunu 1.0 da uyguladıktan sonra defacto oldu.
dave_thompson_085
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.