Purdue’den Blockchain’e Dair Öğrendiklerim Serisi#4 Kriptografi🎃
Selllaaammm değerli okuyucularım😊 , ben Elif Hilal! 🔮 öncelikle yazılarımı okuduğunuz için teşekkür ederim. Aranızda beni tanımayan veya ilk defa ismimi duyanlar varsa, kendimi tanıtmak için buraya bir link bırakayım.

Bu yazı, serimin dördüncü yazısı, bundan önceki üç yazıyı okumak isterseniz eğer hemen linklerini ekliyorum :
🟩 Peki sırada hangi konular var dersiniz? 💯
Her cumartesi — pazar günleri Purdue Üniversitesinden öğrendiğim Blockchain bilgilerini sizlerle paylaşmaya çalışıyorum. 4.ders yine upuzuuuun ve tartışmanın bol olduğu bir dersti.
Hazırsanız başlıyoruuuuum!
🟩 Anahtar Yönetimi Nedir ve Nasıl Çalışır?💫
Kriptografik anahtarlar, hassas bilgilerin korunmasında, veri ihlallerinin önlenmesinde ve düzenlemelere uyulmasında hayati bir rol oynar. Ne yazık ki, kaybolan veya çalınan bir anahtar, maliyetli sistem ve veri kayıplarına yol açabilir; bu nedenle, güvenliğe önem veren her şirketin sağlam anahtar yönetimi protokolleri uygulaması gerekir. Hele ki söz konusu şirket, dünya çapında bir şirketse, veri güvenliği daha önemli bir hale geliyor. :) sürekli verilerimizin sızdırılmasını istemeyiz, değil mi?
🔷 Şifreleme Anahtarı Yönetimi Nedir? (Encryption Key Management)
Şifreleme anahtarı yönetimi, kriptografik anahtarların güvenli kullanımını sağlayan bir dizi uygulama ve kuraldır diyebiliriz.
Doğru anahtar yönetimi, bir anahtarın üretiminden, kullanımdan depolamasından silmesine kadar yaşam döngüsü boyunca güvenli kalmasını sağlar.
Bir kriptografik anahtar , bir kripto algoritması tarafından işlendiğinde verileri şifreleyebilen ve şifresini çözebilen bir harf ve sayı dizisini bozan bir dosyadır.
Anahtar yönetiminin temel amacı, bu dosyaları yetkisiz kullanıcılardan ve sistemlerden uzak tutmaktır.
🔴 Tahmin edeceğiniz gibi bir anahtarın kaybedilmesi ciddi sonuçlar doğurabilir, bu nedenle sağlam bir şifreleme anahtarı yönetim stratejisi gerekir. Peki o zaman şunu soralım, güvenilir ve sağlam bir şifreleme anahtar yönetimi neleri içermelidir ? :
Aslında okuyunca çok basit ve herkesin aldığı önlemlermiş gibi geliyor kulağa, fakat gerçek hayatta böyle değil maalesef 🌚
Bir işletme ya da işyeri, anahtar yönetimine üç farklı şekilde yaklaşabilir:
Hocamız derste yüzde yüz merkeziyetsiz sistemlerin anahtar yönetimlerini desteklediğini ifade etti, fakat bana soracak olursanız, en güvenli yaklaşım, merkezi bir strateji oluşturmak ve ekiplerin özel anahtarları nasıl sakladığı, paylaştığı ve kullandığı üzerinde tam kontrol elde ettikten sonra merkeziyetsiz bir yapıya geçmektir. Aslında aynı şeylerden bahsediyoruz, fakat ben ek olarak merkezi bir politikanın ya da guideline gibi bir rehberin olması gerektiğine inanıyorum. Malum, bu işler riske atmaya gelmez 🌕
Key Management Neden Önemlidir ?
Yukarıda da belirttiğim üzere siber güvenlik stratejisinde ya da kripto gibi sektörlerde kriptografinin etkin kullanımı için anahtarların dikkatli yönetimi hayati önem taşır.
Anahtar kasa kombinasyonuna benzer: Fail kasanın kilidini nasıl açacağını biliyorsa hiçbir kasa hırsızı durduramaz. Benzer şekilde, zayıf anahtar yönetimi, en iyi şifreleme algoritmalarını bile değersiz hale getirebilir.
🟡 Güvenliği ihlal edilmiş bir anahtar, bir saldırganın şunları yapmasına olanak tanır:
🟡 Güvenilir anahtar yönetimi, şifrelenmiş verilerle ilgili yüksek düzeyde güvenliği garanti eder ve tam olarak şunları sağlar:
🎄 Peki Anahtar Şifreleme Nasıl Çalışır?
Şifreleme, aslında veri gizliliğinin ilk şartıdır. Şifrelemenin ne yaptığını şöyle özetleyebiliriz :
Şifreleme; bir içeriği gönderen ve alıcı dışında herkes tarafından okunamaz durumda tutarken veri alışverişi yapmamızı sağlar.
🟡 Nasıl gerçekleşir peki bu? Şifreli veri alışverişi iki adımlı bir işlemdir:
Buradaki en önemli bilgi şudur, bu süreç boyunca, bilgi, şifre çözme anahtarına sahip olmayan kişiler tarafından okunamaz.
🟡 Şifreleme tamamen otomatiktir ve veri alışverişinde bulunan iki tarafın mesajları kodlaması veya kodu çözmesi gerekmez. Şifreleme sürecindeki temel faktörler ve işlemler de sırasıyla şunlardır:
Verilerinizi hem sabit halde hem de hareket halindeyken korumak için şifreleme kullanabilirsiniz:
Eğer bunları anladıysak şimdi sırada ne var? Uzun bir ders olduğunu söylemiştim :)
🎈 Şifreleme Türleri
Şimdi daha derine inelim, iki ana şifreleme türü vardır:
İsminden de anlaşılacağı üzere simetrik şifrelemede, aynı anahtar mesajı hem şifreler hem de şifresini çözer.

Adından da anlaşılacağı üzere, bir anahtar içeriği şifreler ve farklı bir anahtar verilerin şifresini çözer. Bu iki anahtar matematiksel olarak birbirleriyle alakalıdır.

Tahmin edeceğiniz üzere simetrik şifrelemenin kullanımı ve kurulumu daha kolaydır.Çünkü sadece 1 anahtar söz konusudur. Ancak, içeriği kodlamak ve çözmek için aynı anahtara güvenmek, bu stratejiyi asimetrik şifrelemeden daha az güvenli hale getirir. Bu nedenle, asimetrik şifreleme kullanılması sistemi daha güvenli hale getirir, unutmayın 🎉
🎨 Simetrik Kriptografi 🎨
Simetrik kriptografi, yukarıda en az üç defa söylediğim üzere hem veri şifreleme hem de şifre çözme için aynı anahtarı kullanır. 😅 Tek bir anahtar tüm işlemi koruduğu için anahtarın gizliliği gerçekten çok önemlidir.
Aşağıda, simetrik bir şifreleme işleminin nasıl göründüğünü gösteren bir diyagram var, buyrunuz :

Yukarıdaki şemadaki işlemin nasıl çalıştığına dair bir diyagram var fakat, yine de adım adım bu sistemin nasıl çalıştığını açıklamak istiyorum:
1. Öncelikle kullanıcı, uygulamaya bir istek gönderir ve şifrelenmiş verilere erişmesini ister 2. Sonra, uygulama, müşterinin KM API’sine (key management) bir DEK alma isteği gönderir. (hatırlayın DEK data encryption key demekti) 3. İstemci (KM API aracılığıyla) ve KM birbirlerinin sertifikalarını doğrularlar 4. Kimlik bilgileri geçerliyse KM API ve KM güvenli bir TLS bağlantısı oluşturur 5. KM, istenen DEK’in şifresini KEK (key encryption key) ile çözer 6. Anahtar yöneticisi, DEK’i KM API’ye gönderir 7. Sonra, KM API, DEK’i uygulamaya gönderir 8. Ve en sonunda uygulama, kullanıcıya düz metin verileri gönderir 😇
Bu arada şirketler genellikle bekleyen verileri korumak için simetrik şifreleme kullanırlar, bilginize.
Şimdi eğer Simetrik Kriptografi hakkında bilgi edindiysek sırada Asimetrik Kriptografi var.
🎨 Asimetrik Şifreleme Nedir? 🎨
Yukarıda da bahsettiğimiz üzere asimetrik şifrelemede iki farklı anahtar vardır. İki anahtardan biri verilerin şifrelenmesi için diğeri ise şifrenin çözülmesi için vardır. Şimdi burada önemli olan şey, public ve private key ayrımıdır.
✅ Public Key
Bir public key kripto para işlemlerini almanıza olanak tanır. Bu, [özel anahtar- private key] ile eşleştirilmiş bir şifreleme kodudur. Herkes public keye işlem gönderebilirken, onların “kilidini açmak” ve işlemde alınan kripto para biriminin sahibi olduğunuzu kanıtlamak için özel anahtara ihtiyacınız vardır. İşlemleri alabilen genel anahtar, genellikle genel anahtarınızın kısaltılmış biçimi olan bir [adres] olur.
Bu nedenle, public key’inizi endişe duymadan özgürce paylaşabilirsiniz. (IBAN ya da e-mail paylaşmak ile aynı işleve sahiptir). Çevrimiçi olarak kripto adresleri için açık anahtarlara sahip içerik oluşturucular veya hayır kurumları için bağış sayfaları görmüş olabilirsiniz. Herkes bağışta bulunabilse de, bağışlanan fonların kilidini açmak ve bunlara erişmek için private key’e ihtiyacınız olacaktır.💬
Bir **public key** örneği aşağıdaki gibidir:
3048 0241 00C9 18FA CF8D EB2D EFD5 FD37 89B9 E069 EA97 FC20 5E35 F577 EE31 C4FB C6E4 4811 7D86 BC8F BAFA 362F 922B C01B CAB 423 CB040 CB021B CAB 4000 CR744 2654 C01B 2F40 CR74F 922B F01B 2F40 CR74F 922B F01B 2F40 CR74F 922B F01B 2F40 CR744 265B F01B 2F40 CRDS CRIGED
✅ Private Key
**private key** özel anahtar demektir, verilerin şifresini çözer ve açık anahtarın eşsiz bir karşılığıdır diyebiliriz. Bu anahtarı güvende tutmak çok önemlidir, çünkü private key olmadan verilerin kodunu çözmenin bir yolu yoktur.
⚠ ⚠ ⚠ İşte unutulmaması gereken çok önemli bir tavsiye: Özel anahtarınızı asla kimseyle paylaşmayın. Özel anahtar, size mülkiyeti kanıtlama veya genel adresinizle ilişkili fonları harcama olanağı verir.
Bir private key birçok biçimde olabilir:
- 256 karakter uzunluğunda ikili kod - 64 basamaklı onaltılık kod - QR kodu - Hatırlatıcı bir cümle … gibi gibi
Şekli ne olursa olsun, private key astronomik olarak büyük bir sayıdır. Özel bir anahtarla ortak bir anahtar oluşturabilirsiniz, ancak tek yönlü “trapdoor” işlevi nedeniyle bunun tersini yapmak neredeyse imkansızdır. Private bir key’e bağlı herhangi bir sayıda genel anahtarınız olabilir.
(cüzdanlardan, cüzdanların farklılıklarından ve anahtarların saklanmasından bir başka yazımda bahsedeyim, bu zaten uzadı :)
Her iki anahtar da benzersizdir, birbirine özeldir ve aynı anda oluşturulur.
✈ İşte asimetrik şifrelemenin iki tarafın güvenli bir şekilde dosya alışverişi yapmasına nasıl izin verdiğini gösteren bir diyagram:

🔱 Her ne kadar bu diyagram çoğu şeyi özetlese de , ben yine de bu diyagramı özetler nitelikte bir açıklama yapmak ve asimetrik kriptografinin nasıl çalıştığını özetlemek istiyorum.
Umarım şu ana kadar açıkladığım kısımlarda anlaşılmayan bir şey yoktur, şayet eğer soru işaretiniz olursa bana nasıl ulaşabileceğinizi biliyorsunuz😊
✔ Şifreleme Anahtarları Yönetim Hataları Neler?
Bir şifrenin yaşam döngüsünün her aşamasını hesaba katmadan şifreleme anahtarlarının güvenli kullanımını sağlamak bir hatadır. Şirketlerin yaptığı diğer yaygın hataları merak ediyorsanız şöyle özetleyebilirim:
— Zayıf, aşırı kısa tuşlara ve şifrelere güvenmek - Aynı anahtarı farklı amaçlar ve görevler için kullanmak (örneğin bir şifreyi on farklı websitesi için kullanmak) - Eski anahtar sürümlerinin yeniden kullanılması - Özel anahtarların şifrelenmiş verilerle aynı sunucuda veya veritabanında saklanması - Anahtarları şifrelenmemiş bir biçimde tutmak - Uygun koruma olmaksızın anahtarların sistemler ve kullanıcılar arasında taşınması
✔Derste üzerinde çok durmadığımız ama benim her şeyden önce bir avukat olarak çok sevdiğim bir alandan bahsetmek istiyorum size. 🤩
⚖ Şirketler Şifreler Konusunda Nelere Dikkat Etmeli? ⚖
Bir anahtarın yaşam döngüsünün her aşamasına ve şifreleme anahtarlarının güvenli kullanımını sağlamak için ekibinizin ya da işyerinizin nelere dikkat etmesi gerektiğine bakmak ister misiniz? Şayet, dikkat edilmediği taktirde sürekli sorun yaratan bir konudur bu🤗
🗝 Key Generation — Anahtar Üretimi 🗝
Şirketler ve iş merkezleri, normal olarak, bir anahtar yönetim sunucusunda şifreleme anahtarları oluşturur ve depolarlar. HER ŞEYDEN ÖNCE hackerların kodu kırmak için basit teknikler kullanmasını önlemek için generator dediğimiz “anahtar oluşturucunun” yalnızca uzun ve karmaşık anahtarlar oluşturduğundan emin olun.💊
Sunucu tipik olarak güvenli bir rastgele bit üreteci kullanır ve anahtarı tüm öznitelikleriyle birlikte bir depolama veritabanında depolar.
🏹 İkinci bir bilgi olarak şunu söylemek istiyorum, bir anahtar yöneticisi, yöneticilerin herhangi bir zamanda anahtarın özelliklerini düzenlemesine izin vermelidir.💊
💊 Anahtar aktivasyonu, oluşturma sırasında veya daha sonraki bir tarihte (otomatik veya manuel olarak) gerçekleşir. Ayrıca her anahtar için bir kripto periyodu tanımlamanız sizler için işleri kolaylaştırır. Bu periyod, anahtarın işlevsel yani çalışmakta olduğu zamandır. Kripto döneminin süresini iki faktör etkiler:
NOT: Örneğin, bir veritabanını şifrelersiniz ve ona önümüzdeki altı ay boyunca öğeler eklemeyi planlarsınız. Bu durumda, OUP altı ayda oturur. Kullanıcıların veritabanına erişmesine ve veritabanını kullanmasına iki yıl boyunca izin vermeyi planlıyorsanız, bu süre RUP’tur. Bu örnekte OUP ve RUP çakıştığı için kripto periyodu iki yıldır.
💊 Bir başka tavsiye olarak, bir anahtar oluşturduğunuzda, sunucunun bunu şifreli bir durumda sakladığından kesinlikle emin olun. Anahtarlar, yalnızca güvenli, manipülasyona karşı korumalı bir ortamda şifrelenmemiş biçimde bulunmalıdır. Ayrıca, anahtarı asla koruduğu şifrelenmiş verilerle aynı veritabanında saklamayın, bu durum çok baş ağrıtır.
✅ Anahtar Kullanımı ve Devri — Key Use and Rollover🔋
🔔 Anahtar yöneticisi, yetkili sistemlerin ve kullanıcıların şifreleme veya şifre çözme işlemleri için anahtarları almasına izin vermek durumundadır.
Yönetici kişi burada ayrıca tüm şifreleme anahtarlarının mevcut ve geçmiş örneklerini de yönetmelidir.
🔔 Örneğin, yazılım her yıl yeni bir anahtar oluşturur ve eskisini devre dışı bırakırsa (veya yenisine yönlendirirse), yönetici anahtarın önceki sürümlerini elinde tutmalı ancak yalnızca geçerli örneği dağıtmalıdır.
🔔 Günümüzde birçok şirket, anahtar rotasyonlarını otomatik bir sürece dönüştürmeyi tercih ediyor. Ek güvenlik için, anahtar kullanımını bir teknoloji günlüğüne kaydetmeyi ve denetim izleri sağlamayı da düşünebilirsiniz.
🔔 Ekibin aynı anahtarı farklı amaçlar için kullanmadığından da ayrıca emin olun. Bir hackerın tek bir anahtarı ele geçirmesi durumunda sistemler arasında potansiyel yanal hareketi önlemek için her görev benzersiz bir anahtar ile çalışmalıdır.
Tabi bunlar benim düşüncelerim, sizler nasıl isterseniz öyle kullanırsınız🤗
🕹 Anahtar İptali — Key Revocation
Bir yönetici, her şeyi yönetebilmek adına, bir anahtarı iptal etmek ve kullanımını engellemek için anahtar yöneticisini kullanabilmelidir. Bu durum neden önemlidir?
İptal edilmiş bir anahtarın yeniden etkinleştirilmesi, yöneticilerin eski yedeklemeler gibi önceden bu anahtarla şifrelenmiş verilerin şifresini çözmesine yardımcı olabilir. Fakat, iptal edilmiş anahtarlara kimin erişimi olduğunu bilmek önemlidir. Bu nedenle şifre iptallerini yöneticinin takip etmesi önemli.
✅ Yedekleme — Backup 🎙
Tüm anahtarlar, devre dışı bırakılmadan önce bir yedekleme gerektirir, bu nedenle yönetici, devre dışı bırakılan tüm anahtarların ayna arşivini tutmalıdır.
Kripto döneminden sonra kurtarma, (kripto periyodu yukarıda anlatıldı) yeniden etkinleştirme ihtiyacı varsa yöneticilerin anahtarları yeniden oluşturmasına olanak tanır.
Bir anahtarın kurtarılamaması, söz konusu anahtarla birlikte şifresi çözülmüş halde kalan tüm verilerin etkili bir şekilde kaybolduğu anlamına gelir.Geçmiş olsun demekten başka çok çare de yoktur.
Anahtar Silme 📸
Yönetici, anahtarı [depolama veritabanından] silebilir. Silme seçeneği şu durumlarda hayati önem taşır:
- Anahtar artık kullanımda değilse - Birisi anahtarı tehlikeye atıyorsa
Bir anahtarın kaldırılması, örneklerinin tümünü veya bir kısmını silebilir. Birisi şifrelenmiş verileri tehlikeye atarsa, anahtarı hızlı bir şekilde silebilme özelliği, verileri güvenli ve kurtarılamaz durumda tutabilir. Güvenlik ekibi tehdidi ortadan kaldırdığında, bir yönetici görüntüyü anahtarı yeniden oluşturmak ve verilerin şifresini çözmek için kullanabilir.
Sağlam ve Güvenilir Anahtar Yönetimi Olmadan Güvenli Kriptografi Yoktur 🎬 😇
Etkili anahtar yönetimi, veri koruma stratejinizin belki de en önemli parçasıdır.(daha sonraki yazılarımda bu işin hukuk tarafından da bahsetmeyi düşünüyorum) Anahtarları yaşam döngüsünün tüm aşamalarında güvende tutan ve protokollerin ekiplerinizin dinamik çalışma ortamları için gerekli esnekliği sunmasını sağlayan bir sistem kurmalısınız, her ne yapıyorsanız yapın, bütün veriler sizi bir gün tehlikeye atabilir.
Uyumluluk ve En İyi Uygulamalar
✅Uyumluluk standartları ve düzenlemeleri, birçok kilit yönetim uygulaması gerektirir. NIST tarafından oluşturulan standartlar ve PCI DSS, FIPS ve HIPAA gibi düzenlemeler, kullanıcıların hassas verileri korumak için kullanılan kriptografik anahtarların güvenliğini sağlamak için belirli en iyi uygulamaları izlemesini bekler.
Aşağıda yazacaklarım, resmi düzenlemelere ve standartlara uygunluğu sağlamak için izlenmesi gereken en önemli uygulama adımlarıdır:
Bu yazıda bu kadar diyorum :) Ama diğer yazılar için çok heyecanlıyım, bakalım beraber daha nelerden bahsedeceğiz değerli okuyucularım. 🚦 Her şey için teşekkürler, hoşçakalın!
💻 Bu arada Blockchain ekosisteminde düzenlediğim etkinliklerden haberdar olmak için Meetup sayfama kaydolabilir, Telegram grubuma girebilir, Twitter’dan takip edebilirsiniz!👻 Umarım yazılar, içerikler ve paylaşımlarım sizlere fayda sağlıyordur. Bana ulaşmaktan çekinmeyin 🎡🎡