none
SNI kullanılan bir domain için TCP ile HTTPS dinlemek

    Soru

  • SNI kullanılan bir sistem için HTTPS request'lerinde URL'in etkialanı kısmının şifrelenmediğini biliyorum.

    Bunu TCP yönlendirmesi sırasında okumak için bir çalışma / proje üzerindeyim.

    Çok basit bir nginx tarzı kendi geliştirdiğim modül üzerinde çalışıyorum. 

    a) TCP ile SNI kullanılan HTTPS isteğini okuduğumda gelen/giden verilerdeki istek ve yanıt başlıklarını (HEAD) okuduğum zaman bu yazı ASCII formatında mıdır ?

    UTF-16 gibi bir format mıdır ? Hangi seçenek ile okuduğum zaman doğru bir head text okumuş olurum ?

    b) Bir de head (başlık) kısmı istek veya yanıt paketlerinin başında mıdır ? Yani ilk gönderilen paketlerde midir ?


    23 Kasım 2018 Cuma 11:26

Yanıtlar

Tüm Yanıtlar

  • a) UTF8 ama ASCII olarak oku sıkıntı çekmezsin.

    b) SNI'de domain adın ilk CLIENTHELLO paketinde gönderilir. Soru bu ise.

    Tüm bu bilgiler ilgili RFC dokümanında bulunabilir. 


    www.cihanyakar.com

    • Yanıt Olarak İşaretleyen Pelin AYDIN 23 Kasım 2018 Cuma 19:02
    23 Kasım 2018 Cuma 12:16
  • a) UTF8 ama ASCII olarak oku sıkıntı çekmezsin.

    b) SNI'de domain adın ilk CLIENTHELLO paketinde gönderilir. Soru bu ise.

    Tüm bu bilgiler ilgili RFC dokümanında bulunabilir. 



    Cihan Bey; bir de projem gereği istemci tarafında HASH kontrolü yapmam gerekiyor. SHA-512 gibi üst düzey bir HASH özeti gerekli. İstemci tarafında olduğu için .NET kadar güvenilir olmasa da, Javascript dili ile yazılmış bazı açık kaynaklar var.

    A) Bazıları yazarları tarafından Github'a yüklenmiş, bazıları makalelerde bahsediliyor. Belki uzmanlık alanınız değil ama, güvenilirlik açısından tavsiye edebileceğiniz bir kaynak var mıdır ?

    B) Dikkat edilmesi ve bilmemiz gereken unsurlar nedir ?

    23 Kasım 2018 Cuma 19:28
  • Neden bir hash algoritmasına ihtiyacınız var ve neden bilindik sha gibi algoritmalar size uygun değil? 

    www.cihanyakar.com

    23 Kasım 2018 Cuma 20:56
  • Neden bir hash algoritmasına ihtiyacınız var ve neden bilindik sha gibi algoritmalar size uygun değil? 


    SHA-512 şu an için en kolay bulunabilen özet algoritması. Birinci neden olarak bulunabilirlik.

    Ama sha-1 ya da sha-256 güvenilirlik konusunda güncelliğini yitiriyor. (TÜBİTAK KAMUSM belgelerine göre)

    En öncemli nedense iframe kullanmayarak direkt css ve html verisi aldığım cdn sistemim var ama yayıncıya güvenmiyorum. Dosya javascript olsaydı integrity özelliği ile doğrulayabilirdim, ama css ve html de bu imkan yok.

    Javascript kadar önemli bir unsur gibi gözükmeseler de, değiştirilen bir html belgesi, form gibi bir potansiyel aktivite içerebilir, css ile de bu yanıltıcı süs ve z index ile her elementin önüne poziyonlanabilir.

    AJAX ile çektiğim bilgilere güvenmiyorum açıkçası. Tek bir dosyam yok, koşula bağlı olarak 50 den fazla html verisi aldığımdan (performans adına) tek bir dosyada da html ya da css dosyası oluşturamıyorum.

    Durum bundan ibaret. Aslında AJAX ile herşey için .jpg, .png, mp4 gibi bilgiler için dahi kullanılabilir SHA-512. Evet katılıyorum, native koda göre çok performanslı özet değer oluşmuyor ve yüzlerce kat daha yavaş çalışıyor.

    Ama güvenlik adına değer.

    23 Kasım 2018 Cuma 22:38
  • Neden SHA olmasın diye sormuştum.

    Geçmiş tarayıcılara uyumluluk istiyorsanız crypto.js kullanabilirsiniz.

    Güncel tarayıcılar için zaten hali hazırda dahili destek var. Aşağıdaki linke bakın.

    https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest

    Benim böyle bir sorunum olsa, CDN'i işini kendim hallederdim. Para verip halledebiliyorsanız kod yazarak zaman ve para harcamayın...


    www.cihanyakar.com

    24 Kasım 2018 Cumartesi 09:05
  • Neden SHA olmasın diye sormuştum.

    Geçmiş tarayıcılara uyumluluk istiyorsanız crypto.js kullanabilirsiniz.

    Güncel tarayıcılar için zaten hali hazırda dahili destek var. Aşağıdaki linke bakın.

    Benim böyle bir sorunum olsa, CDN'i işini kendim hallederdim. Para verip halledebiliyorsanız kod yazarak zaman ve para harcamayın...


    Merhaba, Cihan Bey bir bilginiz var mı, javascript tarafında aes 256 ya da daha güçlü bir şifreleme algoritması dahili olarak mevcut mudur ? Ya da başka bir çeşidi var ise, .net tarafında karşılığı olursa iyi olur...

    Kısaca bir mesajlaşma hizmeti hazırlıyorum ama eğer chat esnasında video / resim gibi paylaşımlar olursa bunları farklı bir bilgisayar aracılığı ile taşımam gerekiyor, çünkü bu bir test projesi ve ev network ü text dışında medya paylaşımına olanak vermiyor çoklu kullanıcıda.

    Anahtar paylaşarak rsa ya da aes gibi bir şifreleme gerekli. SSL gibi genel değil de, iki kişi arasında kalacak şekilde rsa versiyonu javascriptte var mıdır ?

    Tabii dahili bir javascript fonksiyonu varsa tarayıcı desteği olursa iyi olur çünkü güvenilirlik açısından 3. parti riskli olabilir.

    Whatsappta kullanılan signal foundation un algoritmaları var ama henüz kendi sitelerinde yayınladıkları dökümantasyonunu incelemeye vakit bulamadım, bilemedim önerir misiniz ?

    14 Aralık 2018 Cuma 16:17
  • Verdiğim link'i inceleseydiniz keşkei, sadece bir üst dizine bakmanız yeterliydi. Evet hepsi var. Yeter ki bunları deskteleyen güncel bir tarayıcı kullanın.

    https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto


    www.cihanyakar.com


    • Düzenleyen Cihan Yakar 15 Aralık 2018 Cumartesi 15:24
    15 Aralık 2018 Cumartesi 15:23
  • Verdiğim link'i inceleseydiniz keşkei, sadece bir üst dizine bakmanız yeterliydi. Evet hepsi var. Yeter ki bunları deskteleyen güncel bir tarayıcı kullanın.

    Evet, dediğiniz gibi, bir üst dizin gözden kaçmış... Bakmamıştım, biraz .net ten farklı geldi arayüzleri, .net sanki biraz daha sade gibi. Aslında şu browser destek veriyor, bu vermiyor işi zaten karmaşık hale getiriyor. AES in bazı biçimleri desteklenmiyor misal microsoft edge tarafından. Zaten edge birçok noktada internet explorer gibi kibrini devam ettiyor...

    Sizce bunlarla mı uğraşmalı yoksa (ilgi duydunuz mu bilmiyorum) signal foundation tarafından yayınlanan mesajlaşma ve şifreleme algoritmaları ile mi ?

    İmplementi zor mu değil mi, artı/eksi taraflarını iyi bilmiyorum. Whatsapp kullanıyor hali hazırda zaten, bir yerde haber vardı, ptt messenger da kullanıyor diye... Daha önce mesaj şifreleme konusunda araştırmaya sıkı sıkıya ihtiyaç duymadım.

    RSA/AES + WebSocket mi yoksa Signal üzerinden araştırmaya devam etmek mi daha vakit kazancı olur?


    16 Aralık 2018 Pazar 06:11
  • Bildiğiniz üzere Edge 'de chromium olarak yoluna devam etme kararı aldı. Gerisi ürününüzün analizi ilgili konular ben ne desem boş :)


    www.cihanyakar.com

    17 Aralık 2018 Pazartesi 07:33