Tag Archives: kriptografi

Amerika’nın Günümüz Kriptografi Standartları Üzerindeki Etkisi

Kriptografi’ye girişin ikinci bölümünde Amerika’nın günümüzde sık kullanılan kriptografi standartları üzerinde nasıl bir etkisi var bunu inceleyeceğiz.

NSA skandallarından sonra kriptografinin ne kadar önemli olduğu, bir insan hakkı olan gizliliği yıllarca ne kadar küçümsediğimiz ve tüm bu gözetim ve izlemelere ne kadar hazırlıksız olduğumuz ortaya çıktı. Bununla birlikte, mesaj içeriğinin şifrelenerek araya girmeler olsa dahi iletişimin sadece gönderen ve alıcı arasında anlaşılır olmasını sağlamak için yıllardır algoritmalar oluşturulmaktadır. Ayrıca, kriptografide sık kullanılan algoritmalar kimler tarafından oluşturuldu, bunların bir standartı var mıdır ve algoritmalar üzerinde kimlerin etkisi vardır görmek iletişimin gizliliği açısından son derece önemlidir. Bu yüzden ilk olarak belli başlı bazı terimlerin neler olduğunu inceleyeceğiz.

1-NIST nedir?

Açılımı; National Institute of Standards and Technology. Adından da anlaşıldığı gibi bir standart kurumudur. Türkiye’de benzer (ne kadar benzer iş yapıyorlar, tartışılır) olarak TSE gösterilebilir. Bununla birlikte, 1901 yılında kurulmuş, Amerika’nın en eski fizik laboratuvarlarından da biridir. Genel olarak endüstriyel rekabetçiliğin olumsuzluğunu gidermek için ölçüm standartlarıyla ilgilenmektedirler. Nano düzeyde araçlardan insan yapımı olan en büyük ve karmaşık araçlara kadar ölçüm standartlarını desteklemektedirler.

2-FIPS (Federal Information Processing Standard) nedir?

FIPS; Türkçesi Federal Bilgi İşleme Standart’ı olan Amerika Birleşik Devletleri tarafından askeri olmayan devlet kurumları ve devletle iş yapan diğer kurumlar tarafından bilgisayar sistemlerinde kullanılması için geliştirilmiş bir standartlar bütünüdür. FIPS’in amacı tüm federal hükûmetler ve kurumların güvenlik ve iletişimde kullanacakları ortak bir standartın sağlanmasıdır.

3-Açık-Anahtar Algoritması (Public-key Algorithm) nedir?

Açık-anahtar algoritması daha çok asimetrik kriptografi olarak bilinen ve iki farklı anahtar olan açık ve gizli anahtarlardan oluştan bir algoritmadır. Anahtarlar farklı olmalarına rağmen matematiksel olarak birbirleriyle bağlantılıdırlar. Açık anahtar bir mesajın içeriğini şifrelemede veya dijital imzaları doğrulamada kullanılırken gizli anahtar ise şifreli mesajı açar veya dijital anahtarlar oluşturur. Günümüzde sık rastladığımız TSL, GPG, Diffie-Hellman, RSA ve PGP açık-anahtar algoritmasına örnek olarak gösterilebilirler.

Bu terimleri kavradıktan sonra ikinci olarak sık kullanılan algoritmaların neler olduğu, bunların kimler tarafından ne zaman oluşturuldukları ve üzerinde kimlerin veya hangi kurumların etkilerinin olduğuna bakalım.

AES – The Advanced Encryption Standart

Bilindiği üzere AES (Rijndael), simetrik şifre bloğu olup Joan Daemen ve Vincent Rijmen tarafından tasarlanmıştır. DES (Data Encryption Standart)‘in 56 bitlik küçük bir şifre bloğu olması ve giderek brute force saldırılarına karşı savunmasız kalması yeni bir standartın gerekli olduğunu gösteriyordu. AES ilk 1998 yılında duyrulup yayımlanmış, ardından 2001 yılıda (Rijndael) NIST tarafından Advanced Encryption Standart olarak seçilmiştir. Bu seçim süreci birçok farklı tasarımın elenmesinin ardından gerçekleşmiştir. NSA yarışmaya katılan tasarımların hepsini detaylı bir şekilde inceleyip NIST’e son seçimin en güvenli tasarım olması konusunda teknik destek verse de NIST NSA’den bağımsız olarak kendi kararını vermiş ve seçimini de AES’ten yana yapmıştır. Bu yüzden NSA’in AES’e ne bir katkısı ne de üzerinde bir etkisi mevcuttur denilebilir.

RSA – The Rivest, Shamil, Adleman Public Key Algorithm

RSA algoritması 1977 yılında MIT‘de kriptografi hocaları olan Ron Rivest, Adi Shamir ve Leonard Adleman tarafından tasarlanmıştır. Açık ve gizli anahtar şeklinde ikiye ayrılmatadır. Daha önceside, 1973 yılında bir matematikçi ve İngiliz istihbarat servisi GCHQ çalışanı olan Clifford Cocks, benzer bir algoritma tasarlamış ve belgelerinin yüksek derecede gizlilikleri yüzünden 1998 yılında keşfedilmiştir. Clifford Cocks uygulanması için dönemin pahalı bilgisayarlarına ihtiyacın olduğu, çoğunluk meraktan tasarladığı ve uygulanmadığını belirtmiştir. RSA hem akademik çevreler hem de NSA tarafından detaylı bir şekilde analiz edilmiştir. Bununla birlikte, NSA’in RSA’nın tasarlanmasında veya geliştirilmesinde herhangi bir katkısı yoktur.

Diffie/Hellman/Elliptic-Curve Diffie-Hellman/The Diffie-Hellman Key Exchange Algorithm

Diffie-Hellman algoritması 1976 yılında Stanford Üniversitesi’nde kriptografi hocaları olan Withfield Diffie ve Martin Hellman tarafından tasarlanmıştır. GCHQ çalışanları olan Malcolm Williamson, Clifford Cocks ve James Ellis tarafından birkaç yıl önce bulunmuş fakat yayımlanmamıştır. Diffie-Hellman’ın eliptik eğri sürümü ise bağımsız olarak 1985 yılında Amerikalı kriptologlar Victor Miller ve Neal Koblitz tarafından bulunmuştur. 2002 yılında Hellman, açık-anahtar kriptografisinin bulunmasında büyük katkısı olan Ralph Merkle‘nin de tanınması için algoritma adını Diffie-Hellman-Merkle olarak değiştirmiştir. NSA, potansiyel olarak zayıf olan eliptik eğri parametrelerinin NIST standartları içerisinde yer almamasını sağlamıştır.

DSA/ECDSA – The Digital Signature Algorithm/Elliptic Curve DSA

DSA algoritması dijital imzalar için bir FIPS standartıdır. 1991 yılında NIST tarafından dijital imza standarlarında (DSS) kullanılması için teklifte bulunulmuş ve 1993 yılında kullanılmaya başlanmıştır. Bununla birlikte, DSA 1991 yılında eski bir NSA çalışanı olan David Kravitz tarafından tasarlanmıştır. Ayrıca NSA, Eliptik Eğri DSA ya da ECDSA olarak bilinen diğer bir sürümünü de tasarlamıştır. DSA, akademik çevreler tarafından analiz edilmiştir.

SHA-1/The Secure Hash Algorithm 1

Ron Rivest tarafından tasarlanan MD5 algoritmasının uzun bir benzeri ve SHA-0 algoritmasının düzeltilmiş hali olan SHA-1, NSA tarafından tasarlanmıştır. SHA-0 ise 1993 yılında bir standart haline gelen NSA tasarımıdır. Fakat, 1994 yılında NSA kriptologları SHA-o tasarımında güvenliği azaltan bir sorunla karşılaştıklarında, bu açığı hızlıca kapatmak için bir NIST standartı olan SHA-1’le yer değiştirmişlerdir. Ayrıca, SHA-1 akademik çevreler tarafından analiz edilmiştir. Öte yandan, uzun yıllardır hem NIST hem de NSA SHA-2’nin kullanılmasını tavsiye etmektedir.

SHA-2/The Secure Hash Algorithm 2

NSA, dört farklı uzunluktan oluşan (224, 256, 384 ve 512 bit) hash algoritmarları içeren SHA-2‘yi tasarlamış ve NIST tarafından yayımlanmıştır. SHA-2 daha uzun hashlere sahip olduğu için SHA-1’e göre daha iyi bir güvenlik sağlamaktadır. Ayrıca, SHA-1’in tasarımdan kaynaklanan bazı algoritma açıklarına karşı daha iyi bir savunma oluşturur. Bu algoritmanın bir FIPS standart olması ise 2002 yılında gerçekleşmiştir. SHA-2 de akademik çevreler tarafından analiz edilmiştir.

Görüldüğü üzere, bizlerin kriptografide kullandığı bazı algoritmalar tasarlandıktan sonra yayımlanmış ve bilim adamları, matematikçiler, mühendisler vd. tarafından analiz edilmiştir. Ayrıca, bu algoritmalar için belirli standartlar oluşturulmuş ve güvenilirliği için onay verilmiştir. Öte yandan, günümüzde sık kullanılan bu algoritmalar üzerinde NSA ve GCHQ gibi istihbarat kurumlarının etkisi net olarak görülmekte,  bu algoritmalara benzer algoritmalar oluşturdukları ve yayımlamadıkları da bilinmektedir. Bilim etiği, planlı ve sistemli olarak toplanan verilerin analiz edilmesi, yorumlanması, değerlendirilmesi ve başkalarının da geliştirmesini içerse de gizliliğin istihbarat kurumlarının tekeline bırakılmaması gerektiğinin önemi bir kez daha gözler önüne sermektedir. Çünkü, iletişimin gizliliğini sağlamak amacıyla kullanılan birçok kriptografi algoritmasında istihbarat kurumlarının etkisi veya katkısından ziyade bireylerin daha açık ve daha özgür olarak tasarlanmış, analiz edilmiş ve geliştirilmiş algoritmalara ihtiyacı vardır. Bu, hem iletişimin gizliliğine olan güveni artıracak hem de asıl amacı gizliliği ortadan kaldırmak olan NSA ve GCHQ gibi kurumların küresel gözetim ve izlemesinden daha iyi bir şekilde korunmayı sağlayacaktır.

Kriptografi’ye Giriş – I

Kriptografi çok geniş ve hem tarihsel hem de teknik anlatım açısından uzun bir konu olduğu için giriş kısmını iki parçadan oluşturdum. Bu ilk kısımda eski dönemlerde neler yapıldığı ve nasıl yapıldığı basit örneklerle anlatıldı.

Yüzyıllardır krallar, kraliçeler, generaller ülkelerini ve ordularını yönetebilmek, toprak bütünlüklerini koruyabilmek için etkili ve güvenli bir iletişimden destek aldılar. Aynı zamanda, mesaj içeriklerinin düşmanların eline geçmesi ile gizli bilgileri ortaya çıkartabileceği, ülke çıkarlarını tehlikeye sokabileceğini ve bunların yaratacağı tehlikenin de farkındaydılar. Bu yüzden mesaj içeriğini sadece mesajı alanın okuyabilmesi için kodlar ve şifreleme yöntemleri geliştirildi. Gizliliğe olan tutku, ulusların iletişimin güvenliğini sağlamak içn en iyi şifreleme yöntemlerini oluşturmak ve uygulamak için kod üreten bölümler oluşturmalarına neden oldu. Bu aynı zamanda da düşmanların şifreleri kırabilmek için uğraşmalarını ve gizli içeriği çalabilmelerini de sağladı (Singh, 2002).

Kriptografi, eski Yunanca’dan (kryptos ve graphien) gelmektedir. Genel olarak, birinin mesaj içeriği sade bir şekilde gizlemeye çalışması pratiği anlamına gelen “gizli yazı“‘dır. Temel anlamda, kriptografi; orjinal mesajı dönüştüren bir formül olan anahtara ya da gizlice kodlanmış mesaja denir. Bu kodlamının yapılması sürecine şifreleme, tersi işlemine de şifre çözme denmektedir (Curley, 2013). Mesajın bir anahtar ile şifreli koda dönüştürülmesi çok basit olabilir, fakat bu konuda birçok teknik mevcuttur. Ayrıca, bu dönüşüm işlemi daha karmaşık ve şifreli kodun çözülmesi ise daha zor olabilmektedir. Kriptografi’ye kısa bir giriş açısından bu yazıda ise sadece belirli bazı tarihsel olaylara bakacağız.

Romalı ünlü bir filozof ve devlet adamı olan Cicero‘ya göre gizli yazışmalar Herodot dönemine kadar uzanmaktadır. Herodot yazılarında İ.Ö. 5.yy’da Yunan şehirlerininin özgürlüğünü ve bağımsızlığını tehdit eden Pers saldırılarından bahsetmektedir. Bu konudaki yazılarından dikkati çeken bir şey de gizli yazışmaların Yunan şehirlerini depotik Pers imparatoru Xerxes‘ten kurtardığıdır. Xerxes, imparatorluğu için yeni başkent olarak Persepolis‘i inşaa etmeye başladığında Atina ve Sparta hariç tüm imparatorluktan ve komşu devletlerden hediyeler almıştı. Bu durum ise Yunanistan ile Pers İmparatorluğu arasındaki düşmanlığı bir krize çevirmişti. Kendini aşağılanmış hisseden Xerxes, “Pers İmparatorluğu’nun sınırlarını Tanrı’nın sahip olduğu gökyüzü, güneşin üzerine bakamayacağı uzunlukta topraklar kadar olmalı.” diyerek ordusunu toplamaya başladı.

İlerleyen 5 yıl içerisinde Xerxes tarihin gördüğü en büyük savaş gücünü gizlice oluşturdu ve İ.Ö. 480’de süpriz saldırı için hazırdı. Bununla birlikte, aynı zamanda Yunanistan’dan sürülmüş ve Susa adında bir Pers şehrinde yaşayan Demaratus, Pers ordusunun hazırlıklarına şahit olmuştu. Sürülmesine rağmen hala Yunanistan’a bağlılık duyan Demaratus, Sparta’yı Xerxes’in işgal planı hakında uyarmıştı. Bunu ise ağaç tabletlerin içine mesajlarını kazıyıp üzerine ise balmumu ile kapatatarak yapmış, böylece kontrolden geçen ağaç tabletler boş gibi gözükmüşlerdi. Demaratus’un bu gizli iletişim stratejisi basitçe mesajı gizlemeye dayanmaktadır. Ayrıca, mesajı gizlemeye benzer olarak aynı dönemlerde Histiaeus, Miletus’u Pers imparatoruna karşı ayaklandırmak için elçisinin başını kazıyıp mesajı kafasına kazımış ve elçi Miletus’a ulaşana kadar saçları uzadığı için mesaj gizli kalabilmişti (Singh, 2002).

Mesajın içeriğinin saklanarak yapılan gizli iletişime Yunanca’dan gelen steganografi denmektedir. Önemli bir nokta olarak bu bir “şifreleme” değildir. Steganografi’ye ait birçok örnek bulabilmek mümkündür. Eski Çinliler kaliteli ipeğe yazdıklarını balmumu ile top haline getirip elçiye yuttururlarmış. Kurt sütü olarak anılan tithymalus bitkisinden elde edilen sütü Romalı Gaius Plinius Secundus, görünmez mürekkep olarak kullanmıştır. Özelliği ise kuruduktan sonra transparanlaşan yazılar, yazıldığı yerin belirli bir oranda ısıtılması ile kahverengiye dönüşmektedir. Karbon açısından zengin birçok organik sıvının da buna benzer özellikler taşıdığı bilinmektedir.

Kriptografi’nin kendisi iki kola bölünebilir; yerini değiştirme ve yerine koyma. Yerini değiştirmede mesaja ait harfler yeniden düzenlenir, harflerin yerinin değiştirilmesine anagram da denilmektedir. Bu yöntem, özellikle tek bir kelime için göreceli olarak güvensizdir, çünkü sadece birkaç harfin yeri değiştirilerek yeni bir kelime oluşturulacaktır. Örneğin; kame, kmea, kmae, kema… Diğer yandan, harf sayısı arttıkça oluşuturulabilecek yeni kelime sayısı da artmaktadır. Örneğin, 10 harften oluşan bir kelime veya cümle sayısı 10! gibi büyük bir sayıya ulaşmaktadır. Harflerin rastgele yerine konulması göreceli olarak daha yüksek bir güvenlik sağlamaktadır. Fakat, herhangi bir yöntem veya neden olmadan oluşturulan yeni kelimeler alıcı için de çözülmesi imkânsız hale gelebilmektedir. Bu yüzden yerini değiştirme belirli bir sistemi takip etmektedir. Buna bir örnek olarak ray dizilimi verilebilir.

BU GİZLİ BİR MESAJDIR

B  G Z İ  İ  M S J I
 U  İ L  B R  E A D R

BGZİİMSJIUİLBREADR

İ.Ö. 4.yy’da da Sparta’da skytale adı verilen çokgen şeklinde bir sopa da yerini değiştirmeye örnek olarak verilebilir. Bu çokgen sopanın her bir yüzeyine yazılan yazılar çevrilerek okunur. Örneğin altıgen bir sopa:

       |   |   |   |   |   |  |
       | K | A | M | E | G |  |
     __| İ | Z | L | İ | K |__| 
    |  | V | E | G | Ü | V |
    |  | E | N | L | İ | K |
    |  |   |   |   |   |   |

KAMEG, İZLİLİK, VEGÜV, ENLİK = KAME GİZLİLİK VE GÜVENLİK

Yerini değiştirmenin alternatifi ise yerine koymadır. Yerine koymaya ait şifrelemenin ilk olarak Kâma-sûtra‘da, İ.S. 4.yy’da Brahman öğrencisi Vatsyayana tarafından kadınlara ahçılık, masaj, parfüm hazırlama, giyim gibi şeyleri öğretmek için oluşturulan 64 Kâma-sûtra resimden oluşmaktadır. Bu resimlere marangozluk, satranç ve büyü gibi resimler de dahildir. 45 numaralı resim mlecchita-vikalpa adında, gizli yazışma sanatı olan ve kadınlara gizli ilişkilerini saklamayı tavsiye eden bir resimdir. Temel olarak yerine koymaya dayanır. Örneğin:

A E M K
| | | |
Q P W O

Bu yöntemle biri sizlere “KAME” için “OQWO” yazması gerekecektir. Bu yöndemin ilk kullanılması Julius Caesar‘ın Galya Savaşları dönemine kadar gitmektedir. Tarihte kriptografi ile ilgili önemli olayardan biri de 7 Şubat 1587 yılında İskoç Kraliçesi Mary‘nin idamıdır. İdam kararının gerekçesi tacı kendine alabilmek için Kraliçe Elizabeth‘e suikâst girişimi ile vatana ihanettir. Kraliçe Elizabeth’in baş sekreteri olan Francis Walsingham, diğer komplocuları yakalamış, idam etmiş ve komplonun kalbindeki ismin Kraliçe Mary olduğunu kanıtlamak istemişti. Bu yüzden de Kraliçe Elizabeth’e Kraliçe Mary’nin suçlu olduğuna inandırması gerekmekteydi. Kraliçe Mary’nin direkt idam edilmemesinin sebesi ise eğer bir kraliçe idam edilirse isyancılar da cesaret bularak bir başka kraliçeyi öldürmek isteyebileceklerdi. Diğer yandan, Kraliçe Elizabeth ve Kraliçe Mary kuzenlerdi. Komplocular İngiliz Katolikleri’ydiler ve Protestan olan Kraliçe Elizabeth’i Katolik olan Kraliçe Mary ile değiştirmek istiyorlardı. Kraliçe Mary ile komplocular arasındaki gizli yazışmalar belirli bir şifreleme ile olmaktaydı ve Walsingham bu mektupları yakalasa bile kelimelerin ne anlama geldiği bilemeyecek algısı vardı. Fakat, Walsingham sadece baş sekreter değil ayrıca İngiltere gizli servisinin başındaki isimdi. Walshingman’ın Kraliçe Mary’e ait olan ve tarihte kanlı mektuplar olarak anılan gizli mektupları ele geçirmesi ile ülkenin şifre çözmesiyle ün yapan ismi Thomas Phelippes, bunları çözerek Kraliçe Mary’nin idam edilmesi önündeki engel de ortadan kaldırmıştır.

İslâm dünyasında ise tıp, astronomi, matematik, etimoloji ve müzk alanlarında toplam 290 kitap yayınlayan Al-Kindi‘nin şifre çözme üzerine olan “Şifrelenmiş Mesajların Şifresini Çözme Üzerine Bir El Yazısı” adlı 850’lerde yazdığı kriptoanaliz üzerine eseri, 1987 yılında İstanbul Osmanlı Arşivi’nde keşfedilmiştir. Özellikle istatistik ve Arapça üzerine yoğunlaşmış olsa da Al-Kindi’nin devrimsel keşfi “Şifrelenmiş bir mesajı çözmenin bir yolu; eğer biz yazının dilini biliyorsak o dile ait bir sayfa dolusu yazı bulur ve her harfin görülme sıklığına bakarız. En çok tekrarlanan harfin ilk harf şeklinde bütün farklı harfleri ve sırasını bulana kadar sıraya dizeriz. Daha sonra çözmek istediğimiz şifreli mesaja bakar ve ayrıca sembolleri sınıflandırırız. En çok tekrarlanan sembol daha önce oluşturduğumuz sıradan ilk harf olacak şekilde bütün sembolleri tamamlayana ve şifreli mesajı çözene kadar devam ederiz.” demektedir (Singh, 2002).

800 -1200 yılları arasında Araplar entelektüel ilerlemenin keyfini sürerken ve Al-Kindi’nin kriptoanaliz üzerine eserine rağmen, Avrupa basit kriptografi ile uğraşmakta idi. Fakat, 15.yy’dan sonra Avrupa’da Rönesans ile kriptografi de büyüyen bir endüstri haline dönüştü. Rönesans’ın kalbi olduğu için özellikle İtalya’da her şehirde şifreleme ofisleri kurulmuştu ve her büyük elçi bir şifreleme uzmanına sahipmişti. Aynı zamanda şifreleme bir diplomasi aracı haline gelmiş ve kriptoanaliz bilimi de Batı’ya entegre olmaya başlamıştı. Bu dönemlerde kriptologlar alfabetik harfler ile şifreleme yaparlarken, kritoanalistler ise tekrarlanma sıklıkları ile şifreleri çözmeye çalışmaktaydılar. Ayrıca, uluslar bu yöntemin çözülme kolaylığının ve yaratacağı tehlikelerin farkına kısa sürede vararak daha farklı şifreleme yöntemleri arayışına girmişler, boşluk, sembol ve harflerde oluşan yöntemler de geliştirmişlerdir. Örneğin; A = Kame, Ω = Internette, 30 = Gizlilik ve Güvenlik ise A Ω 30 = Kame Internette Gizlilik ve Güvenlik olmaktadır.

Son olarak, yukarıda yazanlar doğrultusunda gizli yazının bilimsel olarak dallarını inceleyecek olursak:

                                         ,_ Kelime
           ,_ Steganografi              /
	  /              ,_ Yerine koyma
Gizli Yazı              /               \,_ Harf
          \,_ Kriptografi
                        \,_ Yerini değiştirme

Her farklı kod, algoritma anlamına gelen bir şifreleme yöntemi olarak düşünülür ve her anahtar belirli bir şifrelemenin tam detayını belirler. Bu bağlamda, algoritma alfabedeki harflerin kod bloğundaki harflerle yerinin değiştirilmesi ve kod bloğu ile yeri değiştirilen harflerin tersi işlemle şifresinin çözülmesi ile gerçekleştirilir. Bir mesajın şifrelenmesi mesajı gönderinin sahip olduğu anahtar ve algoritma ile şifreleyerek, tersi işlemi gerçekleştirecek anahtara ve algoritmaya sahip olan alıcının şifreli mesajın şifresini çözmesi olarak da kısaca özetlenebilir. İletişimin arasına giren saldırgan anahtar ve algoritmaya sahip değilse mesajı ele geçirse bile şifresini çözeyemecektir. Buna günümüzden bir örnek istenirse gizli ve açık anahtar ile GnuPG‘yi gösterebiliriz.

—–
Singh, S. (2002). The Code Book: How to make it, break it, hack it, crack it. New York: Delacore Press
Curley, R. (2013). Cryptography: Cracking Codes. New York: Britannica Educational Publishing

DNSCrypt

Veri trafiğini daha iyi şifrelemenin en iyi yollarından biri de DNSCrypt kullanmaktır. Sizleri küresel dinleme ve yapacağınız hatalardan korumayacak ama DNS trafiğiniz şifreli bir hale dönüşecektir.

DNSCrypt kısaca, bir istemci ile DNS çözücü arasındaki iletişimi şifreleyen bir araçtır. Diğer bir deyişle, DNSCrypt proxysi doğrudan yerel çözücü olarak kullanabileceğiniz ya da DNSCrypt protokolü olarak DNS isteklerini gönderen, şifreleyen ve doğrulayan yerel bir servis sağlamaktadır. Bununla birlikte, DNSCrypt yüksek hızlı ve yüksek güvenlikli elliptic-curve kriptosu kullanmakta ve istemci ile birinci-seviye çözücü arasındaki iletişimi korumaya odaklanmaktadır.

DNSCrypt’i bu kadar farklı kılan şeylere bakarsak eğer, SSL nasıl HTTP web trafiğini HTTPS şifreli web trafiğine çeviriyorsa DNSCrypt de sıradan bir DNS trafiğini şifreli DNS trafiğine dönüştürmektedir. Bu da kullanıcıya dinleme ya da man-in-the-middle saldırıları gibi durumlarda koruma sağlamaktadır. Ayrıca, DNSCrypt platform bağımsız bir uygulamadır ve GNU/Linux, Windows ya da iOS (jailbreak şartı var) sistemlerde rahatlıkla kullabilirsiniz. Örneğimiz GNU/Linux üzerinde olacak fakat sizler farklı platformlar için en altta verilmiş bağlantılar üzerinden hareketle gidebilirsiniz.  Bununla birlikte, dağıtımınızın ne olduğunu bilmiyorum. Eğer, kullandığınız dağıtımın depolarında dnscrypt paketi yok ise direkt 2. yönteme bakabilirsiniz.

1. Depodan kurulum

İşlemlerimizi terminal üzerinden root olarak gerçekleştireceğiz. Hemen bir tane açın ve:

kame ~ $ apt-get install dnscrypt-proxy (pacman -S dnscrypt-proxy veya dağıtımınız neyse onun paket yöneticisi ile kurulumu gerçekleştirin.)

Kurulum tamamlandıktan sonra dnscrypt-proxy servisini başlatın. Debian ve türevi dağıtımlarda bu otomatik olarak gerçekleşecektir. Eğer başlamazsa:

kame ~ $ /etc/init.d/dnscrypt-proxy start

systemd kullanan farklı bir dağıtımda:

kame ~ $ systemctl enable dnscrypt-proxy
kame ~ $ systemctl start dnscrypt-proxy

yaparak başlatabilirsiniz.

2. Elle kurulum

Eğer depolarınızda yok ise aşağıdaki adımları gerçekleştirin.

kame ~ $ wget -c http://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.3.3.tar.gz
kame ~ $ tar xzf dnscrypt-proxy-1.3.3.tar.gz
kame ~ $ cd dnscrypt-proxy-1.3.3
kame ~ $ ./configure
kame ~ $ make
kame ~ $ sudo make install

Bu aşamaların herhangi birinde (make install hariç) hata alırsanız mevcut hatayı aratarak eksik kütüphane veya paketleri kurmanız gerekebilir.

3. Kullanım

Kurulum aşamalarını tamamlamış iseniz artık kullanıma geçebiliriz. Statik IP ayarları yaparak kullanımını göstereceğim. Sadece DNS sunucusuna yazarak da kullanabilirsiniz. Seçim size kalmış.

kame ~ $ sudo ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.3  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::52e5:49ff:feda:8b5a  prefixlen 64  scopeid 0x20
        ether 50:e5:49:da:8b:5a  txqueuelen 1000  (Ethernet)
        RX packets 345058  bytes 405146897 (386.3 MiB)
        RX errors 0  dropped 8  overruns 0  frame 0
        TX packets 231282  bytes 53324829 (50.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Görüldüğü üzere eth0 kullanmış olduğum bağlantım. inet değeri ise bilgisayarımın ip’si. Ağ yöneticiniz NetworkManager veya başka bir şey olabilir. Ağ yöneticinizinde düzenlemek üzerekullandığınız bağlantıyı (eth0, wlan0 vs.) açın (örneğin Edit connections -> Ethernet (eth0) -> Edit -> IPv4 Settings) ve:

Adress: 192.168.1.3
Netmask: 255.255.255.0
Gateway: 192.168.1.1

şeklinde düzenleyin. Son olarak DNS Servers (DNS sunucusu) kısmına 127.0.0.1 yazın, kaydedin ve ağ yöneticinizi tekrar başlatın. 127.0.0.1, bizim yerel DNSCrypt proxymizdir. Bundan sonraki süreçte artık trafiğimiz şifreli bir şekilde akmaya başlayacaktır.

Dikkat etminiz gereken en önemli nokta DNSCrypt erişime engelli siteleri aşmak için bir araç olmadığıdır. Veri trafiğini en iyi şekilde şifrelemeye çalışmakta fakat bu süreçte IP’niz gizlenmiyor, yeriniz değişmiyor, Internete çıkış noktanız farklılık göstermiyor. Bunu kesinlikle aklınızdan çıkarmayın. Diğer platformlar için indirme bağlantıları aşağıdadır:

Büyük Birader’le Mücadele Etmek

Çocukluğumda yaptığım yaramazlıklar için en çok duyduğum öğüt, “karda yürü ama izini belli etme” idi. Her anımızın gözetlendiği, bir şekilde kaydı tutulduğu ya da bir şekilde bize ait özel dediğimiz verilerin okunduğu şu günlerde Büyük Birader’le mücadeleye nereden başlamalı, bir giriş olarak anlatmak istedim.

  • Biraz paranoya iyidir

Anonimlikte, bence, motivasyon çok önemli. Her adımınızı gözetleyen Büyük Birader’e karşı zihnen de bir mücadele vermektesiniz ve bu konuda motive, sizlere çok büyük bir destek kaynağı olacaktır. Motivasyonun yanına biraz da paranoya eklersek, bence harika olur. Paranoya’nın kısa bir tanımına bakalım:

Paranoya, bireyin herhangi bir olay karşısında olayın oluşumundan farklı olarak gelişebileceğini kendi içerisinde canlandırma yolu ile öne sürdüğü ve sınırsız sayıda çeşitlendirebileceği hayal ürünlerinin tümüdür.

Sizlere yazılarımda devamlı “tehlike modeli“‘nden bahsetmekteyim. Tehlike modeli oluşturmak (kişisel görüşüm) biraz da paranoyaya dayanıyor (ayrıca hesapları ayrıbilmekte örnek bir model var). Çünkü her olay karşısında, bu olayın gelişimi için farklı canlandırmalar oluşturuyor ve buna karşı güvenliğinizi sağlamak üzerine yeni yöntemler geliştiriyorsunuz. Elbette bunu hastalık boyutuna taşımak kişise zarar verecektir. Fakat, paranoyanın model geliştirmedeki etkisini gözardı etmemek gerekli. Anonimlikle ilgili ısrarla söylediğim şeylerden birisi de; “kimsiniz ve kimden saklanıyorsunuz, neden ve ne tür bir risk almayı hedefliyorsunuz?”. Yani, anonimlik düzeyiniz hesaplanabilir, biraz paranoyak olun, iyi bir model oluşturun ve kendinizi koruyun!

  • Kriptografiye önem vermek

Türkiye’deki üniversitelerde kriptografi ile ilgili ne kadar eğitim veriliyor ya da ne kadar insan bu konuda bilgilendiriliyor, bunun üzerine pek bilgi sahibi değilim. Kriptografi çok çok önemli bir konu ve üzerine ciddi olarak düşülmesi, ayrıca bu konuda yerel literatüre çok şey katılması gerekli olduğu düşünüyorum. Kısa bir tanım yapacak olursak:

Kriptografi, gizlilik, kimlik denetimi, bütünlük gibi bilgi güvenliği kavramlarını sağlamak için çalışan matematiksel yöntemler bütünüdür. Bu yöntemler, bir bilginin iletimi esnasında karşılaşılabilecek aktif ya da pasif ataklardan bilgiyi -dolayısıyla bilgi ile beraber bilginin göndericisi ve alıcısını da- koruma amacı güderler.

Sizin için önemli olan tüm verileri şifrelemelisiniz. Bunun daha başka bir açıklaması yok. Eğer mümkünse tüm verilerinizi şifreleyin. Bu, sizi güvende tutmanın temel ve başlıca yollarından biridir. Bu konuda ne tür araçlar kullanabilirsiniz, kısaca bir göz atacak olursak:

* E-postalarınız için GnuPG kullanabilirsiniz.
* Dosyalar için ccrypt ya da encfs kullanabilirsiniz.
* Disk için TrueCrypt ya da dm-crypt + LUKS kullanabilirsiniz.
* Anlık mesajlaşmalarda OTR eklentisini kullanabilirsiniz.
* Ağ için SSH kullanabilirsiniz.

Örnekler elbette çoğaltılabilir. Burada iş sadece şifrelemekle bitmiyor. Temel bir örnek ve tavsiye olarak, kullanacağınız şifre ya da şifreler sizinle ilgili ya da size ait herhangi bir bilgi içermemeli. Güvenli bir şifrenin yolu akılda kalması (inanın kalıyor) zor da olsa, rastgele şifrelerden geçiyor. Bu, sözlük saldırılarında ya da brute force saldırılarında sizlere ciddi bir avantaj sağlamakta. Dikkati çekmek istediğim bir diğer nokta ise kanun uygulayıcılarının yoktan delil var etme ya da herhangi bir şeyi delil olarak kullanma konusundaki tutumları. Bu nedenle, şifrelediğiniz herhangi bir şey yazılı/basılı olarak elinizde bulunmamalı. Elinizdeki basılı dökümanlarla işiniz bittiyse, yakın gitsin. Yedek alacaksanız, aldığınız bu önemli ve şifreleri verilerin yedeğini ailenize, eşinize, dostunuza ait bilgisayarlarda saklamamanız tavsiyedir.

  • Hesapları ayırabilmek

Hesapları ayırmaktan kastettiğim, anonim kimliğiniz ile gerçek kimliğinizi içeren hesapların ayrımını yapmak çok önemli. Anonim hesabınız üzerinden gerçek hesaplarınıza bir bağlantı kurulmamalı. Eğer bu bağlantı kurulursa, artık anonim de değilsinizdir. Anonimlik, tanımı gereği içinde anonim özneleri aşmaya çalışan saldırganları da içerir. Yani, eğer bir anonimlik varsa bu anonimliği ortadan kaldırabilmek için çalışanlar da olacaktır. Bu, kanun uygulayıcı olur, gizli servisler olur, başka bir anonim özne olur. Önemli olan bir saldırgan varlığını asla unutmamak.

Bir diğer nokta da anonim hesabınız üzerinden gerçekte tanıdığınız ve sizin bu kimliğinizi bilen insanlarla pek iletişime geçmemeniz (özellikle telefonla) gerekliliği. Bu konuda kararınız net olmalı ya da en azından ne kadar bilgiye sahip ya da ne zaman bilgiye sahip olacaklarını iyi kararlaştırmak gerekli. Bu, bence çeşitli riskleri de beraberinde getiriyor. Saldırgan ne kadar dar bir çevre oluşturabilirse, sizin kimliğinizi tespit etmesi de o kadar çabuk olabilir. Şimdi bunu basitçe örneklendirelim (şema eklendi):

model

Ben anonim kimliği “X“, gerçek kimliği “A” olan bir bireyim. “X” kimliğini gerçekte kim olduğunu (A’yı) bilen “W“, “Y” ve “Z” gerçek kimlikleri var. Ayrıca, “X” kimliğini aşıp “A” kimliğine ulaşmak isteyen saldırgan “S” var. Eğer, saldırgan “S“, benim “W“, “Y” veya “Z” gerçek kimlikleri ile iletişimde olduğumu bir şekilde farkederse saldırı kapsamını daha karmaşık ve kapsamlı bir halden daha spesifik ve daha dar bir hale getirir. Gerekirse, “W“, “Y” ya da “Z“‘ye doğrudan veya dolaylı olarak baskı/saldırı düzenleyerek benim gerçek kimliğime ulaşabilir. Bu saldırı, örneğin, bir man-in-the-middle saldırısı olabilir. Siz “X” anonim kimliği üzerinden “W” gerçek kimliği ile iletişime geçerken, saldırgan araya girip mesaj içerikleri ile oynayarak sizin “A” gerçek kimliğinizi elde edebilir. Bu bahsettiğim örnek, ayrıca bir tehlike modelidir. Bu yüzden ısrarla diyorum ki, bir tehlike modelinizin olması şart!

  • Kayıtlar

Özellikle /tmp, /var/log ve kullanıcı dizininde (/home/kullanıcı) kalan geçmiş ya da yedek dosyaları sizin için bir risk teşkil etmekte. Kullandığınız program, araç vs. her ne ise bunun nerede kayıt tuttuğunu bilmeniz sizin faydanıza olacaktır. Bir diğer noktada terminal üzerinde gerçekleştirdiğiniz şeylerin (kabuktan kabuğa değişmekte) de ayrı ayrı kaydı tutulmakta. Örneğin:

bash: .bash_history
zsh: .zsh_history
vim: .viminfo
.
.

Yedekler için:
*.swp
*.bak
*~
.
.

Bu sizin kullandığınız ortama göre değişim göstereceği için temel olarak sıralayabileceğim belli başlı şeyleri örnek olarak gösterdim. Sistemden çıkış yaparken bunları silerseniz ya da en azından nelerin kaydını tuttuklarını incelerseniz sizin yararınıza olur. Uygulama olarak Bleachbit, temizleme konusunda tercih edilebilir (Emre’ye teşekkürler.).

  • Karda yürü ama izini belli etme

Ceza hukukunun ciddi bir eleştirisini hukukçu olmadığım için yapamam. Fakat, kanun uygulayıcılarının hukuk dışı deliller elde ederek bireyi hapse atıp, daha sonra mahkemede tutuklu olarak yargılamaya başlaması ne vahim bir durumda olduğunun göstergesidir. Sonuca gelirsek, iyi bir motivasyon, biraz paranoya, önemli verileri şifreleyip anonim kimliğimizle gerçek kimliğimizin ayrımı tam olarak yapabilmek, kendimize uygun tehlike modelleri geliştirip bunlara karşı savunma yöntemleri hazırlamak, ve son olarak karda yürüyüp izimizi belli etmemek! Ayrıca, bu yöntemler sadece burada yazanlarla sınırlı değildir. Herkesin ayrı bir modeli olacak ve yöntemler de ona göre şekillenecektir.

Büyük Birader’i artık her zamankinden daha soğuk bir kış bekliyor.