SEPTAGH
New member
İlginç bi makale 2 kez okudum ama hala okuyorum.Her okuyuşta biraz daha pekişiyor.
"Güvenlik bir ürün değil süreç meselesidir." Bruce Schneier
Neden Güvenlik?
Sevgilinize yazdığınız özel(!) bir e-posta başkaları tarafından kolayca okunabilse kendinizi nasıl hissederdiniz? Ya da bir ihale için hazırladığınız elektronik belgelerle ilgili tüm detaylar rakipleriniz tarafından bir güzel okunsa? Olay yaratacak haberinizdeki en kritik ve gizli noktalar sizinle rekabet eden birileri tarafından kolayca ele geçirilirse ve kendi imzaları ile yayınlansa nasıl bir ruh hali içinde olursunuz?
En basit kişisel iletişimden tutun ulusların kaderini etkileyen devlet sırlarını iletmekle yükümlü insanların günlük pratiklerine kadar "güvenlik" çok çeşitli yerlerde, zamanlarda ve bağlamlarda önemlidir. Daha basitçe başlıktaki soruyu tekrar edecek olursak, neden güvenlik? Çünkü ben izin vermediğim sürece burnunu benim işime sokmanı istemiyorum! Bu kadar basit: bu benim hayatım, benim iletişimim, benim bilgisayarım, benim şirketim, benim mesajım ve bu bilgileri kiminle paylaşacağıma ben karar veririm. Güvenlik konusu pek çok açıdan ele alınabilir: hukuksal, etik, idari, teknik, vs. Burada bizi ilgilendiren kısmı ise teknolojik kısmı olacaktır ve açık yazılım camiasının "nasıl bir güvenlik?" sorusuna verdiği cevaba ve konu ile ilgili temel kavramlara değinilecektir. Genel anlamda gerekli olmakla birlikte konunun etik ve hukuki detaylarına burada yer verilmeyecektir.
Nasıl ve Ne Kadar Güvenlik?
Güvenlik konusunda kime güveneceksiniz? Hangi algoritma? Hangi ürün? En güçlü şifrelemeyi kim yapar? Şirketinizin hassas belgelerini ya da sizinle ilgili kişisel detayları en iyi kim gizler? Belki de en iyisi kendi güvenlik ve şifreleme algoritmanızı kendiniz geliştirmenizdir. Öyle midir? Eğer elinizin altında dünyanın en iyi matematikçilerinden oluşan ve tüm vakitlerini şifreleme konusuna vakfeden, son 30 yıldaki gelişmeleri yalayıp yutmuş bir araştırmacı ekibi yoksa tavsiyem kendi şifreleme algoritmalarınızı geliştirmekten medet ummayın ve size bu yönde telkinlerde bulunan cafcaflı şirketlere, onların etkileyici ilanlarına kulak asmayın. Elektronik belgelerinizin, e-postalarınızın, iletişiminizin şifrelenmesi çok ciddi bilimsel uzmanlık gerektiren konulardır!
"Bu durumda bu işten vaz geçelim çünkü biz bu konuda uzman ya da Einstein gibi bir dahi değiliz ayrıca bu tip bir araştırmaya ayıracak paramız da zaten yok," diyen karamsarlara güzel bir haberim var. Konuyla ilgili yüzlerce uzman son 30 yılda çok ciddi yöntemler, algoritmalar geliştirdiler; bu algoritmalar diğer uzmanlar tarafından yıllarca didik edildi, en ufak bir açığı olan yöntemler elendi ve geriye kala kala en sağlamları kaldı, bunlar da en saygın kurumlar tarafından pratik olarak kabul edildiler.
Güzel haberler bununla bitmiyor, bu yöntemlerden ve algoritmalardan yola çıkan özgür ve açık kodlu yazılım camiasındaki uzmanlar bizim gibi uzman olmayan kullanıcıların en sağlam şifreleme yöntemlerinden faydalanabilmeleri için gerekli yazılımları geliştirdiler, kullanımımıza sundular.
"Pekiyi tamam da ben dosyalarımı mesajlarımı nasıl şifreleyeceğim? Hangi program? Hangi seçenekler?" diye sabırsızlananlara biraz daha sabırlı olmalarını söylemek durumundayım çünkü bahsedeceğim programlardaki temel işlemleri anlamanız için bu kavramlardan yüzeysel olarak da olsa haberdar olmanız gerekiyor. Karşılığında elde edeceğiniz güçlü şifreleme buna değecektir, inanın.
Anahtarlar, İmzalar, Yöntemler, Dosyalar, Kullanıcılar
Bilgisayarınızdaki bir belgeyi şifrelemek için kullanabileceğiniz iki yöntem vardır: Simetrik ve asimetrik yöntem. Bunlarla ilgili olarak bilmeniz gereken temel şey şudur: Simetrik yöntem tek bir anahtar kullanır yani programa bir anahtar verirsiniz ve "al bu anahtarı kullanarak şu dosyayı şifrele" dersiniz, dosyanız şifrelenir. Güzel. Artık şifreli bir dosyanız var ve bunu da arkadaşınıza yollayabilirsiniz; eğer kötü niyetli ve meraklı kişiler bir şekilde bu mesajı ele geçirirse ellerinde bir yığın anlamsız karakter olacaktır. Bu anlamsız yığından anlamlı ve orjinal mesaja geçmenin pratik olarak tek yolu da "anahtar"a sahip olmaktır. Fena bir yöntem değil. Eğer arkadaşınızda da ilgili anahtar varsa arkadaşınız aldığı bu anlamsız gibi görünen veri yığınını kolayca "deşifre" edebilecektir. Anahtar deyip durduğumuz şey ise uzun bir karakter dizisinden başka bir şey değildir ve elinizin altında bir bilgisayar olduğuna göre epey uzun ve karmaşık bir karakter dizisi oluşturabilirsiniz öyle değil mi? Hatta mesela her mesaj için farklı bir anahtar kullanarak güvenliğinizi kat kat sağlamlaştırabilirsiniz. Yalnız burada belki gözünüzden kaçan küçük ama önemli bir nokta var sanırım:
Bu "anahtar"ları arkadaşınıza nasıl vereceksiniz? Mesela yurtdışında oturan bir arkadaşınıza? E-posta ile? Peki ya rakipleriniz e-postaları ele geçirirse? O zaman bütün güvenlik iptal olur. Anahtarları şifrelemek? Bunun için de bir anahtar gerekir ki bu durumda da en başa dönmüş oluruz!
İşte burada ikinci yöntem devreye girer: Asimetrik yöntem. Gene dosyalarımızı şifreleyeceğiz ancak bu durumda iki anahtar kullanacağız daha doğrusu biz gene bir anahtar kullanacağız ancak bu anahtarı arkadaşımıza göndermemiz gerekmeyecek! Garip bir durum ve şöyle bir açıklaması var: Bu sistemde her kullanıcının iki anahtarı vardır, açık anahtar (public key) ve gizli anahtar (private key). Açık anahtar da tıpkı yukarıda belirtildiği gibi uzun bir karakter(sayı da diyebiliriz) dizisidir ve adından anlaşılabileceği gibi cümle aleme ilan edebileceğiniz bir anahtardır, mesela web sayfanızda yayınlayabilirsiniz! Arkadaşınızın açık anahtarını öğrendikten sonra ilgili hassas belgeyi bu anahtarla şifrelersiniz. İşin püf noktası burada! Bir kez bu belge arkadaşınızın açık anahtarı ile şifrelendikten sonra artık onu sadece ve sadece arkadaşınızın gizli anahtarı çözebilir. Asimetrik denmesinin de sebebi de budur yani bir belgeyi şifrelemek için kullandığınız anahtarı onu deşifre etmek yani çözmek için kullanmanız mümkün değildir. Daha kesin bir dille söylemek gerekirse eğer belgeyi arkadaşınızın açık anahtarı ile şifreledikten sonra belgenin orjinalini silerseniz artık siz bile ona ulaşamazsınız, çözülebilmesi için arkadaşınızın şifreli belgeyi alıp kendi gizli anahtarını kullanarak deşifre etmesi gerekir. Bunu sadece arkadaşınız yapabilir. Benzer şekilde eğer arkadaşınız sizin "açık anahtar"ınızı kullanarak bir belgeyi şifrelerse artık o gizli mesaj sadece ve sadece sizin "gizli anahtar"ınız kullanılarak deşifre edilebilir.
Güzel bir haber daha, yukarıdaki yöntemlerle bir belgeyi şifrelemekle kalmayıp aynı zamanda onu sayısal olarak imzalayabilirsiniz de! Böylece arkadaşınız o belgeyi deşifre etmekle kalmayıp aynı zamanda sizden geldiğine de emin olabilir. Bu yüzden bir belgeyi imzalarken dikkatli olun çünkü ileride bir gün "Hayır bu belgeyi ben oluşturmadım!" dediğiniz takdirde insanları ikna etmeniz biraz zor olacaktır, muhtemelen matematiğe ve teknolojiye daha çok güveneceklerdir.
"Bu kadar laf salatası yeter artık şu belgelerimi güvenli bir şekilde şifrelemek istiyorum!" diyenler derin bir nefes alsınlar ve bir sonraki bölümü dikkatlice okusunlar, sindirmeleri gereken epey malzeme bulacaklar
"Güvenlik bir ürün değil süreç meselesidir." Bruce Schneier
Neden Güvenlik?
Sevgilinize yazdığınız özel(!) bir e-posta başkaları tarafından kolayca okunabilse kendinizi nasıl hissederdiniz? Ya da bir ihale için hazırladığınız elektronik belgelerle ilgili tüm detaylar rakipleriniz tarafından bir güzel okunsa? Olay yaratacak haberinizdeki en kritik ve gizli noktalar sizinle rekabet eden birileri tarafından kolayca ele geçirilirse ve kendi imzaları ile yayınlansa nasıl bir ruh hali içinde olursunuz?
En basit kişisel iletişimden tutun ulusların kaderini etkileyen devlet sırlarını iletmekle yükümlü insanların günlük pratiklerine kadar "güvenlik" çok çeşitli yerlerde, zamanlarda ve bağlamlarda önemlidir. Daha basitçe başlıktaki soruyu tekrar edecek olursak, neden güvenlik? Çünkü ben izin vermediğim sürece burnunu benim işime sokmanı istemiyorum! Bu kadar basit: bu benim hayatım, benim iletişimim, benim bilgisayarım, benim şirketim, benim mesajım ve bu bilgileri kiminle paylaşacağıma ben karar veririm. Güvenlik konusu pek çok açıdan ele alınabilir: hukuksal, etik, idari, teknik, vs. Burada bizi ilgilendiren kısmı ise teknolojik kısmı olacaktır ve açık yazılım camiasının "nasıl bir güvenlik?" sorusuna verdiği cevaba ve konu ile ilgili temel kavramlara değinilecektir. Genel anlamda gerekli olmakla birlikte konunun etik ve hukuki detaylarına burada yer verilmeyecektir.
Nasıl ve Ne Kadar Güvenlik?
Güvenlik konusunda kime güveneceksiniz? Hangi algoritma? Hangi ürün? En güçlü şifrelemeyi kim yapar? Şirketinizin hassas belgelerini ya da sizinle ilgili kişisel detayları en iyi kim gizler? Belki de en iyisi kendi güvenlik ve şifreleme algoritmanızı kendiniz geliştirmenizdir. Öyle midir? Eğer elinizin altında dünyanın en iyi matematikçilerinden oluşan ve tüm vakitlerini şifreleme konusuna vakfeden, son 30 yıldaki gelişmeleri yalayıp yutmuş bir araştırmacı ekibi yoksa tavsiyem kendi şifreleme algoritmalarınızı geliştirmekten medet ummayın ve size bu yönde telkinlerde bulunan cafcaflı şirketlere, onların etkileyici ilanlarına kulak asmayın. Elektronik belgelerinizin, e-postalarınızın, iletişiminizin şifrelenmesi çok ciddi bilimsel uzmanlık gerektiren konulardır!
"Bu durumda bu işten vaz geçelim çünkü biz bu konuda uzman ya da Einstein gibi bir dahi değiliz ayrıca bu tip bir araştırmaya ayıracak paramız da zaten yok," diyen karamsarlara güzel bir haberim var. Konuyla ilgili yüzlerce uzman son 30 yılda çok ciddi yöntemler, algoritmalar geliştirdiler; bu algoritmalar diğer uzmanlar tarafından yıllarca didik edildi, en ufak bir açığı olan yöntemler elendi ve geriye kala kala en sağlamları kaldı, bunlar da en saygın kurumlar tarafından pratik olarak kabul edildiler.
Güzel haberler bununla bitmiyor, bu yöntemlerden ve algoritmalardan yola çıkan özgür ve açık kodlu yazılım camiasındaki uzmanlar bizim gibi uzman olmayan kullanıcıların en sağlam şifreleme yöntemlerinden faydalanabilmeleri için gerekli yazılımları geliştirdiler, kullanımımıza sundular.
"Pekiyi tamam da ben dosyalarımı mesajlarımı nasıl şifreleyeceğim? Hangi program? Hangi seçenekler?" diye sabırsızlananlara biraz daha sabırlı olmalarını söylemek durumundayım çünkü bahsedeceğim programlardaki temel işlemleri anlamanız için bu kavramlardan yüzeysel olarak da olsa haberdar olmanız gerekiyor. Karşılığında elde edeceğiniz güçlü şifreleme buna değecektir, inanın.
Anahtarlar, İmzalar, Yöntemler, Dosyalar, Kullanıcılar
Bilgisayarınızdaki bir belgeyi şifrelemek için kullanabileceğiniz iki yöntem vardır: Simetrik ve asimetrik yöntem. Bunlarla ilgili olarak bilmeniz gereken temel şey şudur: Simetrik yöntem tek bir anahtar kullanır yani programa bir anahtar verirsiniz ve "al bu anahtarı kullanarak şu dosyayı şifrele" dersiniz, dosyanız şifrelenir. Güzel. Artık şifreli bir dosyanız var ve bunu da arkadaşınıza yollayabilirsiniz; eğer kötü niyetli ve meraklı kişiler bir şekilde bu mesajı ele geçirirse ellerinde bir yığın anlamsız karakter olacaktır. Bu anlamsız yığından anlamlı ve orjinal mesaja geçmenin pratik olarak tek yolu da "anahtar"a sahip olmaktır. Fena bir yöntem değil. Eğer arkadaşınızda da ilgili anahtar varsa arkadaşınız aldığı bu anlamsız gibi görünen veri yığınını kolayca "deşifre" edebilecektir. Anahtar deyip durduğumuz şey ise uzun bir karakter dizisinden başka bir şey değildir ve elinizin altında bir bilgisayar olduğuna göre epey uzun ve karmaşık bir karakter dizisi oluşturabilirsiniz öyle değil mi? Hatta mesela her mesaj için farklı bir anahtar kullanarak güvenliğinizi kat kat sağlamlaştırabilirsiniz. Yalnız burada belki gözünüzden kaçan küçük ama önemli bir nokta var sanırım:
Bu "anahtar"ları arkadaşınıza nasıl vereceksiniz? Mesela yurtdışında oturan bir arkadaşınıza? E-posta ile? Peki ya rakipleriniz e-postaları ele geçirirse? O zaman bütün güvenlik iptal olur. Anahtarları şifrelemek? Bunun için de bir anahtar gerekir ki bu durumda da en başa dönmüş oluruz!
İşte burada ikinci yöntem devreye girer: Asimetrik yöntem. Gene dosyalarımızı şifreleyeceğiz ancak bu durumda iki anahtar kullanacağız daha doğrusu biz gene bir anahtar kullanacağız ancak bu anahtarı arkadaşımıza göndermemiz gerekmeyecek! Garip bir durum ve şöyle bir açıklaması var: Bu sistemde her kullanıcının iki anahtarı vardır, açık anahtar (public key) ve gizli anahtar (private key). Açık anahtar da tıpkı yukarıda belirtildiği gibi uzun bir karakter(sayı da diyebiliriz) dizisidir ve adından anlaşılabileceği gibi cümle aleme ilan edebileceğiniz bir anahtardır, mesela web sayfanızda yayınlayabilirsiniz! Arkadaşınızın açık anahtarını öğrendikten sonra ilgili hassas belgeyi bu anahtarla şifrelersiniz. İşin püf noktası burada! Bir kez bu belge arkadaşınızın açık anahtarı ile şifrelendikten sonra artık onu sadece ve sadece arkadaşınızın gizli anahtarı çözebilir. Asimetrik denmesinin de sebebi de budur yani bir belgeyi şifrelemek için kullandığınız anahtarı onu deşifre etmek yani çözmek için kullanmanız mümkün değildir. Daha kesin bir dille söylemek gerekirse eğer belgeyi arkadaşınızın açık anahtarı ile şifreledikten sonra belgenin orjinalini silerseniz artık siz bile ona ulaşamazsınız, çözülebilmesi için arkadaşınızın şifreli belgeyi alıp kendi gizli anahtarını kullanarak deşifre etmesi gerekir. Bunu sadece arkadaşınız yapabilir. Benzer şekilde eğer arkadaşınız sizin "açık anahtar"ınızı kullanarak bir belgeyi şifrelerse artık o gizli mesaj sadece ve sadece sizin "gizli anahtar"ınız kullanılarak deşifre edilebilir.
Güzel bir haber daha, yukarıdaki yöntemlerle bir belgeyi şifrelemekle kalmayıp aynı zamanda onu sayısal olarak imzalayabilirsiniz de! Böylece arkadaşınız o belgeyi deşifre etmekle kalmayıp aynı zamanda sizden geldiğine de emin olabilir. Bu yüzden bir belgeyi imzalarken dikkatli olun çünkü ileride bir gün "Hayır bu belgeyi ben oluşturmadım!" dediğiniz takdirde insanları ikna etmeniz biraz zor olacaktır, muhtemelen matematiğe ve teknolojiye daha çok güveneceklerdir.
"Bu kadar laf salatası yeter artık şu belgelerimi güvenli bir şekilde şifrelemek istiyorum!" diyenler derin bir nefes alsınlar ve bir sonraki bölümü dikkatlice okusunlar, sindirmeleri gereken epey malzeme bulacaklar