medium

my blogs

my blogs

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 :

  • İlk yazım
  • İkinci yazım
  • Üçüncü yazım
  • 🟩 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.

  • Anahtar yönetimi nedir, nasıl çalışır?
  • Encryption Key Management
  • Key Management neden önemlidir?
  • Anahtar şifreleme nasıl çalışır?
  • Şifreleme türleri nelerdir?
  • Simetrik ve asimetrik kriptografi nedir?
  • Public key ve private key nedir?
  • Şifreleme hataları nelerdir?
  • Bu konuda nelere dikkat edilmelidir?
  • ve dahası :)
  • 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 ? :

  • 🎗 Farklı aşamalarda ve farklı bölümlerde çalışanların, anahtarları nasıl yönetmesi gerektiğine ilişkin talimatlar “kesinlikle” paylaşılmalıdır
  • 🎗Anahtarları depolayan sunucuya yetkisiz fiziksel ve sanal erişimi önleyen güvenlik önlemleri alınmalıdır
  • 🎗 Temel işlevler için politikalar belirlenmelidir
  • 🎗 Erişimi sınırlayan ve anahtarlara kimin ve ne zaman erişebileceğini tanımlayan rol tabanlı denetimler belirlenmelidir
  • 🎗 Farklı departmanların tuşlarla nasıl etkileşim kurması ve koordine etmesi gerektiğine ilişkin talimatlar yine çoook önceden belirlenmelidir
  • 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:

  • Merkeziyetsiz : Son kullanıcılar veya çalışanlar, kilit yönetiminden sorumludur ve şirket yönetişimi bu durumu üstlenmez. Bu sayede aslında en güvenilir anahtar yönetimi söz konusu olur. Yani sorumluluk kişinin kendisindedir.
  • Dağıtık : İş yeri temel rehberlik sağlarken her ekip veya departmanın ayrı bir anahtar yönetimi protokolü vardır. Bu sayede merkezi sistemlerden daha güvenilir bir yapı söz konusudur.
  • Merkezi: İş yeri içerisinde düzenlenen bir politika, tüm personelin ve departmanların anahtarları nasıl kullanacağını belirler. Bu politikalara göre her şey sunucularda merkezi olarak saklanır.
  • 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:

  • Şifrelenmiş verileri orijinal düz metin biçimine geri dönüştürebilir
  • Resmi web sitenizi taklit eden bir kimlik avı web sitesi oluşturabilirler
  • Tüm güvenlik altyapısını çökertebilirler
  • Ayrıcalıklı bir kullanıcı olarak hareket edip farklı sistemlere ve veritabanlarına erişebilirler
  • Uygulamaları ve belgeleri kendi adlarına imzalayabilirler
  • 🟡 Güvenilir anahtar yönetimi, şifrelenmiş verilerle ilgili yüksek düzeyde güvenliği garanti eder ve tam olarak şunları sağlar:

  • Yalnızca yetkili kullanıcıların verileri okuyabilmesi veya verilere erişebilmesi (ki bu her işyeri için en önemli önlemdir) - İnternet ve özel ağlar üzerinden güvenli veri aktarımı - Hackerların sistemlerinizi kolayca gözetleyememesi, virüs bulaştıramaması
  • 🎄 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:

  • İlk olarak, algoritmalar verileri rastgele görünen karakterlerden (şifreli metin / ciphertext) oluşan bir dizi halinde karıştırır. Gönderici daha sonra şifreli metni alıcıya iletir.
  • Alıcı taraf şifreli metni aldığında, bir şifre çözme anahtarı; mesajı orijinal düz metin formuna geri döndürür.
  • 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:

  • 💠 Veri şifreleme anahtarı / The data encryption key (DEK): Verileri şifreleyen ve şifresini çözen bir şifreleme anahtarıdır
  • 💠 Anahtar şifreleme anahtarı / The key encryption key (KEK): DEK’i şifreleyen ve şifresini çözen bir anahtardır aslında (DEK yukarıdaki data encryption key’dir)
  • 💠 Anahtar Yönetim Sistemi / Key Management System (KMS): Anahtar yönetim yazılımını depolayan ve çalıştıran bir sistemdir
  • 💠 Anahtar yönetim API / Key management API (KM API): Bir sunucudan bir istemciye şifreleme anahtarlarını alan bir API’dır
  • 💠 Sertifika yetkilisi / A certificate authority (CA): Dijital sertifikalar aracılığıyla kullanıcıların ve sistemlerin kimliğini doğrulayan bir üçüncü taraf varlıktır
  • 💠 Taşıma katmanı güvenliği / Transport layer security (TLS): Bir bilgisayar ağı üzerinden hareket eden verileri koruyan bir kriptografik protokol, bundan ileride daha çok bahsedeceğim, özellikle Zero-Knowledge projelerinde en sevdiğim konulardan biridir
  • Verilerinizi hem sabit halde hem de hareket halindeyken korumak için şifreleme kullanabilirsiniz:

  • 🔘 Bekleyen şifreleme: Bu şifreleme türü, saklanan verileri korur.Bilgisayar korsanları bir veritabanına girerse, bilgileri anahtar olmadan deşifre edemezler. (bunu encryption at rest olarak görebilirsiniz)
  • 🔘 Aktarım sırasında şifreleme: Bu şifreleme türü, hareket halindeki verileri korur ve müdahaleyi veya manipülasyonu önler. Tipik örnekler e-postalar, kısa mesajlar ve web verileridir diyebiliriz. (bunu da encryption in transit olarak görebilirsiniz)
  • 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:

  • Symmetric: Simetrik şifreleme diye karşılaşırsanız eğer aklınıza bu gelsin.
  • İsminden de anlaşılacağı üzere simetrik şifrelemede, aynı anahtar mesajı hem şifreler hem de şifresini çözer.
  • Asymmetric: Asimetrik şifreleme olarak karşılaşırız.
  • 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

  • **public key** açık anahtar demektir , verileri şifreler ve yalnızca içeriği karıştırdığı için herkese açık olabilir
  • 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:

  • Kaynak kullanım süresi (OUP — originator usage period)
  • Alıcı kullanım süresi (RUP — recipient usage period)
  • 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?

  • 🟩 Bireyler şirketten ayrılabilirler ve şifrelerin güvenliğinden emin olmak istersiniz
  • 🟩 Belirli süreçleri arşivlersiniz ve arşivlerin anahtarını güvende tutmak istersiniz
  • 🟩 Kimin neye erişimi olup olmadığını izlemek gerekir
  • İ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:

  • 🔷 Anahtarları sabit kodlamaktan kaçının: Kriptografik anahtarlarla ilgili en önemli uygulama, hiçbir zaman anahtar değerleri hiçbir yerde sabit kodlamak değildir. Bir anahtarı açık kaynak koduna veya herhangi bir tür koda sabit olarak kodlamak, anahtarı anında tehlikeye atar. Bu koda erişimi olan herkes artık şifreleme anahtarlarınızdan birinin anahtar değerine erişebilir ve bu da güvenli olmayan bir anahtarla sonuçlanır.
  • 🔷 En az ayrıcalık: En az ayrıcalık ilkesi, kullanıcıların yalnızca çalışmaları için kesinlikle gerekli olan anahtarlara erişmesi gerektiği fikridir. Bu, anahtar kullanımının daha iyi izlenmesini sağlarken yalnızca yetkili kullanıcıların önemli şifreleme anahtarlarına erişmesini sağlar. Bir anahtar kötüye kullanılırsa veya güvenliği ihlal edilirse, anahtara yalnızca birkaç kişi erişebilir, bu nedenle, ihlal kuruluş içindeyse şüpheli havuzu epey daraltılır.
  • 🔷 HSMs: HSM’ler, kriptografik anahtarları depolayan ve yerinde kriptografik işlemler gerçekleştiren fiziksel cihazlardır. Saldırganın bir HSM’den anahtarları çalması için, cihazı tesisten fiziksel olarak çıkarması, HSM’ye erişmek için gereken erişim kartları yeter sayısını çalması ve anahtarları güvende tutmak için kullanılan şifreleme algoritmasını atlaması gerekir. Bulut üzerindeki HSM’ler aynı zamanda geçerli bir anahtar yönetimi depolama yöntemidir, ancak Bulut Hizmeti Sağlayıcının güvenliğinin başarısız olması ve bir saldırganın burada depolanan anahtarlara erişmesine izin verme olasılığı her zaman vardır.
  • 🔷 Otomasyon: Otomasyon, anahtarların kripto dönemini aşmamasını ve aşırı kullanılmamasını sağlamak için yaygın olarak uygulanan bir yöntemdir. Yeni anahtarlar oluşturma, anahtarları düzenli olarak yedekleme, anahtarları dağıtma, anahtarları iptal etme ve anahtarları yok etme gibi anahtar yaşam döngüsünün diğer bölümleri de otomatikleştirilebilir.
  • 🔷 İlkeleri Oluşturma ve Yürütme: Şifreleme anahtarlarıyla ilgili güvenlik ilkeleri oluşturma ve uygulama, birçok kuruluşun anahtar yönetim sistemlerinin güvenliğini ve uyumluluğunu sağlamanın başka bir yoludur. Güvenlik ilkeleri, bir kuruluştaki herkesin izlediği yöntemleri sağlar ve belirli anahtarlara kimin erişebildiğini ve erişmiş olduğunu izlemek için başka bir yöntem oluşturur.
  • 🔷 Ayrı Görevler: Kilit yönetimle ilgili görevleri ayırmak, herhangi bir kuruluş için başka bir önemli uygulamadır. Görevler ayrılığına bir örnek, bir kişinin yeni kullanıcının anahtarlara erişimini yetkilendirmek üzere atanması, bir başkasının anahtarları dağıtması ve üçüncü bir kişinin anahtarları oluşturmasıdır. Bu yöntemle birinci kişi, dağıtım aşamasında anahtarı çalamaz veya anahtar yaşam döngüsünün üretim aşamasında anahtarın değerini öğrenemez. Yani kısaca görevleri farklı kişilere emanet etmektir.
  • 🔷 Bölünmüş Anahtarlar: Herhangi bir anahtar yönetim sisteminin gücünü sağlamak için son bir uygulama, anahtarları birden çok bölüme ayırmaktır. Bu şekilde, hiç kimse tam anahtarı bilemez, bunun yerine anahtarı kullanmak için birden fazla kişinin bir araya gelmesi gerekir.
  • 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 🎡🎡