HTTPS, veri aktarımının güvenliğini nasıl sağlar?

Yazar | Shuaidi

Baş Editör | Guo Rui

İstemci ile sunucu arasındaki veri aktarımı sürecinde, HTTP protokolünün iletiminin güvenli olmadığını, yani normal şartlar altında HTTP'nin düz metin olarak iletildiğini herkes bilir. Ancak HTTPS protokolünün veri iletimi güvenlidir, bu da HTTPS verilerinin iletiminin şifreli olduğu anlamına gelir.

HTTPS, hiç tanışmamış iki yabancı olan istemci ile sunucu arasındaki iletişimde veri aktarımının güvenliğini nasıl sağlar? Aşağıda, veri aktarımının güvenliğini sağlamak için HTTPS'nin nasıl şifrelendiğini anlamak için sizi adım adım anlatacağım.

İstemciye küçük bir konuk ve sunucuya küçük bir sunucu diyelim. Ardından, HTTPS'nin, iletişimlerinin küçük müşteri ile küçük sunucu arasındaki iletişimde aracı tarafından gizlice dinlenmeyeceğini nasıl garanti ettiğini adım adım keşfedin (yani bir taraf diğer taraftan yanıt ister).

Simetrik şifreleme

Xiaoke ve Xiaofu şimdi özel bir görüşme yapmak isterlerse, bu konuşmanın içeriğinin diğer yabancılar tarafından bilinmesini istemiyorlar. Bununla birlikte, olağan veri aktarım sürecimizde, düz metin olarak iletilir.Bir bilgisayar korsanı konuşma içeriğini çalarsa, rahatsızlık verir.

Bu sorunu çözmek için Xiaofu'daki bu adam, hackerların belirli içeriği görememesi için verileri şifrelemenin bir yolunu düşündü. Yöntem şuna benzer:

Her veri aktarımından önce Xiaofu, Xiaoke'ye bir anahtar gönderecek ve ardından Xiaofu, Xiaoke'ye mesaj gönderme sürecinde bu mesajları şifrelemek için bu anahtarı kullanacaktır. Bu mesajları aldıktan sonra Xiaoke, önceki sunucu tarafından verilen anahtarla mesajların şifresini çözecek, böylece Xiaoke şifreli metindeki gerçek verileri alabilecektir. İstemci sunucuya bir mesaj göndermek isterse, mesajı şifrelemek için de bu anahtarı kullanır ve sunucu, mesajı aldıktan sonra şifresini çözmek için de bu anahtarı kullanır.

Bu şekilde veri aktarımının güvenliği garanti altına alınır. resim gösterdiği gibi:

Bu yönteme simetrik şifreleme denir ve hem şifreleme hem de şifre çözme aynı anahtarı kullanır.

Şu anda Xiaofu, kendi stratejisini düşünmekten oldukça gurur duyuyordu. Ancak bu stratejinin güvenliğinin temeli, küçük müşterinin küçük sunucunun anahtarına sahip olmasıdır. Ancak sorun, Xiaofu'nun bu anahtarı Xiaoke'ye düz metin olarak iletmesidir.Bir bilgisayar korsanı bu anahtarı ele geçirirse, Xiaofu ve Xiaoke bile içeriği şifrelemiş ve anahtarı ele geçiren bilgisayar korsanı Kardeşimin gözünde, bu Mingwen'den farklı değil.

Asimetrik şifreleme

Xiaofu hala oldukça zekidir.Anahtarın ele geçirileceğini anlayan başka bir yöntem düşündü: verileri asimetrik şifrelemeyle şifrelemek. Aşağıdaki gibi yöntemler:

Hem Xiaofu hem de Xiaoke'nin iki anahtarı vardır. Bir anahtar herkese açıktır (bunu tüm dünyanın bilip bilmemesi önemli değildir) ve genel anahtar olarak adlandırılır; diğer anahtar gizliyken (yani, yalnızca siz bilirsiniz) Özel anahtardır. Ek olarak, bir genel anahtarla şifrelenen verilerin şifresi yalnızca ilgili özel anahtarla çözülebilir; özel bir anahtarla şifrelenen verilerin şifresi yalnızca ilgili genel anahtarla çözülebilir.

Bu nedenle, veri iletme sürecinde Xiaofu, verileri Xiaoke'ye iletirken Xiaoke tarafından kendisine verilen genel anahtarla şifreleyecek ve ardından aldıktan sonra özel anahtarıyla şifresini çözecektir. Konuk sunucuya bir mesaj gönderdiğinde, sunucunun şifrelemesi için kendisine verdiği genel anahtarı da kullanacak ve ardından sunucu özel anahtarıyla şifresini çözecektir.

Bu sayede veriler her iki tarafa da güvenle ulaşabilir. Gosterildigi gibi:

Böylesine karmaşık bir strateji geliştirebilirsin Xiaofu artık bundan gurur duyamaz ... Çok geçmeden Xiaoke üzerine soğuk su döktü.

Küçük misafir ciddi bir şekilde şunları söyledi: Aslında, yönteminiz o kadar güvenli değil ve bilgisayar korsanları tarafından yakalanma tehlikesi hala var. Örneğin:

Genel anahtarınızı bana iletme sürecinde, bir bilgisayar korsanı sizin açık anahtarınızı ele geçirir ve sizin genel anahtarınızı taklit etmek ve bana göndermek için kendi genel anahtarınızı kullanırsa. Genel anahtarı aldıktan sonra, şifreli aktarım için genel anahtarı kullanacağım (şu anda kullanılan genel anahtar aslında hacker'ın genel anahtarıdır). Bilgisayar korsanı şifrelenmiş mesajı yakaladıktan sonra, mesaj içeriğini elde etmek için kendi özel anahtarıyla şifresini çözebilir. Ardından mesajı şifrelemek için (küçük sunucu) genel anahtarınızı kullanın ve ardından size (küçük sunucu) gönderin. Bu şekilde, konuşmamızın içeriği bilgisayar korsanları tarafından hala ele geçirildi (tersine, Xiaoke genel anahtarı Xiaoserver'a ilettiğinde durum aynıdır).

...... Böyle hassas bir fikir iyi değil, Xiaofu'nun bu dalgası tanrısız yüzlerle dolu.

Buraya ekleyeyim, aslında veri aktarımı sürecinde simetrik şifreleme kullanım hızı asimetrik şifrelemeden çok daha hızlıdır. Bu nedenle, veri iletildiğinde, genellikle sadece asimetrik şifreleme kullanılmaz (ilk önce asimetrik şifrelemenin çok güvenli olduğunu varsayıyoruz), aynı zamanda asimetrik şifreleme + simetrik şifreleme kombinasyonu kullanılır. Buna dayanarak, anahtarı güvenli bir şekilde iletmek için asimetrik şifreleme yöntemini kullanabilir ve ardından mesaj içeriğini iletmek için simetrik şifreleme yöntemini kullanabiliriz (Tabii ki burada asimetrik şifreleme iletiminin güvenli olduğunu varsayıyorum ve bunun nasıl güvenli hale getirileceği aşağıda açıklanmaktadır. ).

Dijital sertifika

Bir düşünelim, asimetrik şifreleme güvensizliğine ne sebep olur? Simetrik şifreleme yönteminin güvensizliğinden farklıdır. Asimetrik şifrelemenin güvensiz olmasının nedeni, müşterinin genel anahtarı aldıktan sonra, genel anahtarın gerçekten sunucuya ait olup olmadığını belirleyememesidir.

Başka bir deyişle, bu genel anahtarın sunucudan geldiğini ve başkaları tarafından sahte olmadığını kanıtlamak için bir strateji bulmalıyız.

Bu sorunu çözmek için Xiaofu ve Xiaoke, nihai bir strateji bulmak için beyinlerini harap etti: dijital sertifikalar - herkesin tanıdığı güvenilir bir sertifika merkezi (CA) bulmamız gerekiyor. Ortak anahtarı istemciye gönderme sürecinde, sunucu, genel anahtarın ve sunucunun kişisel bilgilerinin bir mesaj özetini oluşturmak için Hash algoritmasını kullanacaktır. Gosterildigi gibi:

Xiaofu, özetin değiş tokuş edilmesini önlemek için, CA tarafından sağlanan özel anahtarı, bir dijital imza oluşturmak üzere ileti özetini şifrelemek için kullanır. Gosterildigi gibi:

Ve son olarak, Hash algoritması ve dijital imza önündeki bilgiler dijital bir sertifika oluşturmak için birleştirilecektir. Gosterildigi gibi:

İstemci dijital sertifikayı aldığında, mesaj özetini elde etmek için dijital sertifikadaki dijital imzanın şifresini çözmek için CA tarafından sağlanan ortak anahtarı kullanacak ve ardından başka bir sertifika almak için dijital sertifikadaki sunucunun genel anahtarı ve kişisel bilgilerini karma haline getirecektir. Bir mesaj özeti ve ardından iki mesaj özetini karşılaştırın, eğer aynıysa, bu şeylerin gerçekten küçük sunucular olduklarını, aksi takdirde olmadıklarını kanıtlar. Gosterildigi gibi:

Şu anda, bazı kişilerin soruları olabilir, CA'nın genel anahtarı küçük müşteriye nasıl verildi? Sunucu, CA'nın özel anahtarına nasıl sahip olur?

Aslında, (bazı) sunucular başlangıçta bu sertifikalar için sertifika yetkilisinden başvurur ve bu sertifikalar da istemcide yerleşik olarak bulunur. Resimde gösterildiği gibi (bu resim Yuan Yifeng'in ağ günlüğünden alınmıştır):

İstemci, sunucu tarafından döndürülen verileri aldığında, yerleşik sertifika listesinde dijital sertifikanın kilidini açmak için bir ortak anahtar olup olmadığını kontrol edecektir.

Feragatname: Bu makale yazar tarafından sunulmuştur ve telif hakkı kendisine aittir.

Python 3 dizelerinde STR ve Bytes arasındaki fark nedir?
önceki
Düşük yakıt tüketimi ve güçlü kontrol iyi bir plug-in hibrit otomobillerdir.Bunu nasıl değerlendirirsiniz?
Sonraki
18 yıl önceki QQ hakkında, hatırlıyor musunuz?
King of Glory e-spora da değer mi? LOL lideri size sırrı anlatıyor!
Hangisi daha güvenli, araba mı SUV mu? Verilerle konuşun ve sonunda bir yanıt alın!
Deprem programlanıyor! Bu konu tüm programcıları etkiliyor!
DCT şanzıman gerçek çekiç Changan CS35 PLUS 1.4T versiyonu gerçek araba maruz
WeChat Hindistan'da "öldü"
Kralın ihtişamından LOL'a kadar, sizin için böyle utanç verici bir an yok!
Python, kullanımı kolay ve ucuz bir cep telefonu seçmek için nasıl kullanılır?
China Telecom Care Card paketi çevrimiçidir: aylık kira 1 sent, 1G veri / 100 dakika konuşma dahil
Huawei'in yapay zeka çipleri hakkındaki tüm sorular, cevapları burada var
Uzun süre dikkat ettikten sonra, bu yıl sonunda arabadan bahsediyorum, BAIC New Energy EU5
Microsoft, Windows 10 güncelleme programını yeniden yayınladı!
To Top