Ana Sayfa Kimler Online Bugünki Mesajlar
Geri git   -||Forumteknik.Com||- > BİLGİSAYAR & İNTERNET > İnternet & Network
ÜYE OL!!! Üye Listesi Takvim Arama Bugünki Mesajlar Bütün Forumları okunmuş kabul et


Tags: ,

Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Stil
Alt 02-18-2008, 03:06 PM   #1
lhRnl
Site Kurucusu
 
lhRnl - ait Kullanıcı Resmi (Avatar)
Bilgiler
 

Üyelik tarihi:Feb 2008
Yaş: 16
Mesajlar: 119.566
Açtığı Konu Sayısı: 119832
Üye No: 1
Seviye 131 [♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥♥ Bé-Yêu ♥]
Aktiflik: 4909 / 4909
Güç: 8608 / 8608
Deneyim: 91%

İletişim Bilgileri
lhRnl - MSN üzeri Mesaj gönder
Hamachi nedir?

Hamachi, pek çok değişik amaç için kullanabileceğiniz özel bir VPN (Virtual Private Network) uygulamasıdır. Bu uygulama ile internet üzerinde bir yerel ağ (LAN) veya VPN kurabilir, işyerinizden evdeki bilgisayarınıza bağlanabilir, arkadaşlarınızla LAN üzerindeymiş gibi oyun oynayabilir veya dosya paylaşımı yapabilirsiniz. Hamachi'yi diğer programlardan ayıran en önemli özellikler, kullanmak için hiçbir ayar yapmanızın gerekmemesi, hızlı ve güvenli olmasıdır.

Hamachi, Applied Networking Inc. tarafından geliştirilmiş bir freeware yazılımdır, yani ücretsiz dağıtılabilir; ama açık kaynak bir uygulama değildir. Şu anda, Microsoft Windows ve Linux işletim sistemleri için sürümleri mevcuttur, Mac OS X sürümü geliştirme aşamasındadır ve bir deneme sürümü [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...] adresinden ulaşabileceğiniz forumda yayınlanmıştır.

Nasıl Çalışır?
Hamachi'yi bilgisayarınıza yüklediğinizde, sisteminizde sanal bir ağ aygıtı oluşturur. Bu sanal ağ aygıtı üzerine yollanan tüm IP ve IPX paketlerini daha önceden ilklendirilmiş, UDP protokolü kullanan bir bağlantıya uygun formata dönüştürüp aktarır, yani tüneller. Hamachi'nin hızlı çalışmasının en önemli sebeplerinden biri; bağlantılarında optimum paket boyutunu belirleyen, gönderdiği paketlerin hedefine ulaşıp ulaşmadığını kontrol edip aldığı paketler için karşı tarafa bilgi mesajı gönderen TCP protokolü yerine, daha emniyetsiz bir transfer protokolü olan UDP'yi kullanmasıdır. UDP, TCP'nin kullandığı pek çok denetimi yapmasa da, uygun koşullarda kullanıldığında TCP'ye göre çok daha hızlı bir bağlantı sağlar.

Yukarıda UDP bağlantısının daha önceden ilklendirildiğini söyledik. Şimdi bunun nasıl olduğundan bahsedelim. Hamachi, geliştiricilerinin meditasyon sunucusu adı verdikleri 3. bir sunucunu kullanarak hamachi ağı kurmak isteyen iki sunucunun bağlantısını ayarlar ve yeniden başlatır. Aslında, henüz hamachi'ye ait bir patent olmaması ki açık kaynak kodu olmaması buna bağlanılıyor, hamachi'nin tam olarak nasıl bir uygulama kullandığını bilmemizi engelliyor. Fakat yine de bu konu hakkında ileri sürülen tezler yok değil. Örneğin, bahsettiğimiz bağlantı ayarlama işlemi sırasında, hamachi NAT (Network Address Translation) ile dönüştürülmüş IP adreslerini bildiği sunucuların birbirleriyle bağlantılarının dışarıya açık IP kullanarak, tam ve aynı anda direkt bağlantı kurmalarını söyler.

Normalde NAT kullanan aygıtlar, istenmeyen paket trafiğini otomatik olarak durdururlar ve böylece bağlantıyı engellerler. Fakat bağlantı için iki sunucunun aynı andaki istekte bulunduğundan, NAT aygıtlarının routerlarının dışa dönük portları gelen trafiği kabul eder. Hangi portu kullanarak bağlantı kurulacağı konusunda ise, meditasyon sunucusunu bağlantı kurmak isteyen sunucuların port numaralarında sayı sırası izlediğini düşünüp, meditasyon sunucusuyla kurdukları bağlantıda kullandıkları port numarasının bir sonrakilerini birbirlerine ilettikleri düşünülüyor. Açılan portlardaki UDP trafiği portun kullanımındaki boş zamana bağlı olarak devam edeceğinden, hamachi periyodik olarak bir paket trafiği sağladığında bağlantı hiç kopmayacaktır.

Dediğimiz gibi bu sadece bir varsayım. Diğer bir tez ise, hamachi'nin "UDP hole punching" tekniği kullandığı yönündedir. Buna göre ise, bağlantı kurmak isteyen sunucuların öncelikle halka açık IP adresi bilinen 3. bir sunucuyla UDP bağlantısı kurarak, bağlantı bilgilerini paylaşıp; daha sonra bu bilgiler aracılığıyla NAT aygıtlarının da sorun çıkarmayacağını umarak bağlantıyı bu iki sunucuya aktarmaya dayanıyor.


Örneğin, A ve B bağlanmak isteyen sunucular, X ise bilinen halka açık sunucu olsun:

Önce A ve B, X ile bağlantı UDP bağlantısı kurup, NAT bilgilerini ve bağlantı için atadıkları geçici port numaralarını X'e aktarır.
X bu bilgileri karşılıklı olarak A ve B sunucularına gönderir.
A ve B birbirlerinin NAT aygıtları ile haberleşir, daha önce X' gönderdikleri bilgileri onaylayarak UDP bağlantı oluştururlar.
Bahsettiğimiz bu yaklaşım, sadece "Full cone NAT" tipi cihazlarda, yani herhangi bir iç IP ve port numarasından gelen istekler aynı dış IP'ye ve port numarasına yönlendiren NAT cihazlarında çalışmaktadır. Hamachi'nin p2p bağlantılarının %97'sine başarı sağlaması ve proje geliştiricilerinin yukarıdaki yaklaşımın p2p bağlantılarının sadece %80'inde başarılı olacağını savunması, bu yaklaşımın biraz şüpheli kılıyor.

Gerçekte ise NAT aygıtlarının %5'inin Hamachi'yi desteklemediği biliniyor. Bunun için hamachi'inin "Magic option" adında alternatif bir servisi var. Ayrıca 1.0 versiyonu ile "relayed tunneling" adında başka bir alternatif sunuldu.

Nasıl Kurulur ve Kullanılır?
Microsoft Windows kullanıcıları için hamachi kurulumu oldukça basit.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...] adresinden indirecekleri uygulamayı çalıştırıp, yönergeleri izlediklerinde Hamachi kurulmuş olacaktır. Linux kullanıcıları için durum biraz farklı. Dediğimiz gibi hamachi açık kaynak kodlu bir program olmadığından, derlenmiş bir ikili dosya (hamachi) olarak yukarıdaki adresten indirilebilir. Linux üzerinde sanal ağ aygıtı kurulması için TUN/TAP aygıt sürücüsüne gerek duyar. Eğer sisteminizde /dev/net/tun dosyası varsa sorun yok. Ama yoksa o zaman, [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...] adresine uğramanız gerekiyor. Hamachi'yi çalıştırmak için gerekli olan root haklarını ayarlamak için açık kaynak"tuncfg" adlı yardımcı bir program ı kurmamız gerekiyor. İndirdiğimiz .tar dosyasını arşivden çıkarıp, oluşan dizine geçtikten sonra root haklarına sahip olarak tuncfg programını kuracağız.


# make install

Tuncfg yüklendikten sonra, bu programı root hakları ile çalıştırmamız gerekiyor.

# sudo /sbin/tuncfg -> (Eğer sudo yüklü değilse) #su - ; /sbin/tuncfg; exit

Bu komuttan sonra hamachi yüklenmiş olacaktır. Hamachi yüklendikten sonra, her iki işletim sistemi için de yaptığı ortak bazı işlemler vardır. Windows üzerinde program ilk çalıştırıldığında, hamachi meditasyon sunucusuna bağlanarak kullanıcının hesabını kullandığı sürece onu tanımlayacak bir Hamachi ağ adresi atar. Bu adres, 5.x.x.x ağ adreslerinden biri olacaktır. Yine program ilk çalıştırıldığında, kullanıcı bir RSA anahtarı oluşturur. Bu bilgi meditasyon sunucusuna sadece bu sırada gönderilir. Daha sonraki bağlantılarda kullanıcı Hamachi ID'sini (Hamachi ağ adresi) ve RSA anahtarını meditasyon sunucusuna gönderir ve sunucu bunları doğruladığında bağlantı kurulur. Linux sistemlerinde bu işlemler kullanıcının vereceği bir komut ile meydana gelir.

# ./hamachi-init

Dediğimiz gibi, hamachi çok kolay kullanılabilir bir program. Windows kullanıcıları bu konuda hiç zorluk çekmeyeceklerdir. Zira ilk çalıştırmada, hamachi adım adım ilerleyen bir kılavuz ile programın nasıl çalıştırılacağını anlatıyor.


Windows kullanıcıları için hamachi'nin güzel ve basit bir arayüzü var. Arayüzde, temel işlevi gören 3buton var. Bunlar, Power , Networking Menu ve System Menu'dür Power butonuna basınca, bahsettiğimiz işlemleri yaparak hamachi ağına bağlanır. Bu durumda, Networking Menü >> Join Existing Network ile herhangi ağa bağlanabilirsiniz. Bu durumda, bağlanmak istediğiniz ağın ismini ve parolasını bilmelisiniz. Diğer bir seçenekte kendi ağınızı oluşturabilirsiniz. Networking Menü >> Create New Network ile kendi ağınıza isim ve parola vererek yeni hamachi ağınızı kurmuş olursunuz.

Hamachi bağlantınızı kontrol etmek için, ismi "test" ve parolası "secret" olan deneme sunucusuna bağlanabilirsiniz. Oluşturulan her ağ öntanımlı olarak 16 kişilik olduğundan zaman zaman bağlanmak istediğiniz ağların dolu olması sorunuyla karşılaşabilirsiniz.

Bir ağa bağlandığınızda, ağın ismi ve o anda bağlı olan kullanıcıların listesi sıralanır. Çevrimiçi olan kullanıcıların yanında yeşil renkli bir nokta, bağlantıda sorun yaşayanların yanında sarı nokta, o anda bağlantı kuran kullanıcıların yanında yanıp sönen yeşil nokta ve çevrimdışı kullanıcılar için de gri nokta bulunur. Girdiğiniz ağdan çıkmak için ağ isminin üzerinde sağ tıklayıp, "Leave Network"'e tıklamanız; ağda çevrimdışı olmak içinse "Go Offline"'a tıklamanız gerekir. Ağdaki kullanıcılar, öntanımlı olarak hamachi ID'leri ve kullanıcı adlarıyla beraber gözükürler. Bunu değiştirmek için kullanıcı isimlerinden birine tıklayıp, "Set Label" ile sadece takma isimleri veya hamachi ID'leri ile gözükmelerini sağlayabilirsiniz. Aynı şekilde kullanıcıları bloklayabilir, ping atabilir veya mesaj atabilirsiniz.


Kullanıcı isimlerine sağ tıkladığınızda eğer kullanıcı paylaşıma açtıysa bu paylaşımlara "Browse" seçeneği ile ulaşabilirsiniz. Eğer kendi kuruduğunuz ağı silmek isterseniz ağ isminin üstüne gelip, "Delete"'e basarak bunu yapabilirsiniz. Aynı şekilde "Set Password" seçeneği ile parola değiştirebilirsiniz. System menüsündeki "Preferences" kısmından; takma isim değişimi, çevrimdışı kullanıcıların saklanması veya mesajlaşma ile ilgili ayarları yapabilirsiniz.

Linux kullanıcıları için bu kadar güzel bir arayüze sahip olmasalar da, aynı işlevleri kullanabilirler. Ancak öncelikle, hamachi oturumunu başlatmanız gerekir. Bunun için:

#./hamachi start

komutunu çalıştırmanız gerekir. Eğer oturumu kapatmak isterseniz, yazacağınız komut;

#./hamachi stop

Oturum ilk defa açıldığında hamachi çevrimdışıdır. Çevrimiçi olabilmek için,


#./hamachi login

komutunu yürütmelisiniz. Tekrar çevrimdışı olmak için ise;

#./hamachi logout

komutunu yürütmelisiniz. Hamachi oturumu "stop" komutu ile her kapandığına son durumunu da kaydeder. Yani, eğer "./hamachi stop" komutundan önce çevrimdışı olmadıysanız, bir sonraki oturumda "./hamachi login" komutunu çalıştırmanız gerekmez. Hamachi'de her oturum açtığınızda, program size kullandığınız hamachi sürümünü, pid değerini, durumunuzu ve ağdaki takma adınızı gösterir.

Bu işlemlerden sonra, önceden kurulmuş bir ağa bağlanmak için;

#./hamachi join <ağ ismi>

kendi ağınızı kurmak için ise,

#./hamachi create <ağ ismi>

komutunu çalıştırmalısınız. Her iki durum için devamında bir parola belirtmelisiniz. Yine her iki durum için de girdiğiniz ağda çevrimdışı olarak gözükürsünüz. Çevrimiçi olabilmek için,

#./hamachi go-offline <ağ ismi>

komutunu çalıştırmalısınız. Ağdan çıkmak için ise;

#./hamachi leave <ağ ismi>

yürütmeniz gerekir. Eğer kurduğunuz bir ağı silmek isterseniz,


#./hamachi delete <ağ ismi>

komutunu çalıştırıyoruz. Ağda istemediğiniz kullanıcıları ağdan atmak için,

#./hamachi evict <kullanıcı ismi>

komutunu kullanabilirsiniz. Eğer ağdaki kullanıcıları listelemek isterseniz,

#./hamachi list

komutunu çalıştırıyorsunuz. Bu komutun çıktılarında, "[]" köşeli parantezler arasındaki isimler bağlandığınız ağları ve bu isimlerin önündeki asteriks "*" işaretleri ise bu ağlarda çevrimiçi olduğunuzu gösterir. Kullanıcılar, hamachi ID - Takma isim – Tünel adresi olarak gösterilir. Örnek olarak;

* [Yeni]
* 5.1.1.12 Dünya
x 5.1.1.17 Mars
5.1.1.45
* 5.1.0.18 Uranüs 10.0.0.100:45634

Yukarıdaki örnekte olduğu gibi, çevrimiçi kullanıcılar hamachi ID'lerinin yanındaki asteriks "*" işareti ile belirtilir. Eğer biliniyorsa, takma isimleri ve tünelleme işlemi sırasındaki IP adresleri belirtilir. Hamachi ID'lerin yanındaki (x) işareti bu kullanıcı ile bağlantı kurulamadığını gösterir. Eğer kullanıcıların takma isimlerini öğrenmek isterseniz;

#./hamachi get-nicks

komutunu çalıştırabilirsiniz. Eğer kendi takma isminizi değiştirmek isterseniz,

#./hamachi set-nick <yeni_takma_ismi>

olarak çalıştırabilirsiniz.

Her iki işletim sistemi kullanıcıları için de önemli olan bir nokta, hamachi hesap bilgilerinin yedeklenmesidir. Hamachi'de yeni bir ağ yarattıktan sonra hamachi'yi silmek (sistemin çökmesi veya işletim sisteminin tekrar yüklenmesi vb. gibi durumlarda.) zorunda kaldıysanız, daha önce kurduğunuz ağların sizin yönetiminizden çıkmaması için aynı hamachi hesabını kullanmanız gerekir. Tabii, eğer yedekleme yapmadıysanız bunu yapamayacaksınız. Yedekleme işlemi için Windows kullanıcıları, System Menu>>Preferences>>Status kısmındaki "Backup Identity" butonu ile bunu yapabilir. Linux kullanıcıları ise bunu "hamachi-init" komutundan sonra hesap için oluşturulan (öntanımlı olarak /root/.hamachi/) dizininin bir kopyasını alarak yapabilirler.

Peki ya Güvenlik?
Hamachi'nin geliştiricilerinin övündükleri bir nokta da programın sağladığı güvenlik avantajlarıdır. Daha önce kullanıcıların kendilerine ait özel bir IP aldığını ve bir RSA anahtarı oluşturduğunu söylemiştik. Bunu dışında her hamachi sunucusunun da bir RSA anahtarı vardır ve bu anahtar bilgileri yükleme paketi içine eklenmiştir. Bir kullanıcı hamachi sunucusuna bağlanmak istediğinde, istediği sunucuya ait RSA anahtarını gönderir. Eğer sunucu bu anahtara sahipse, bunu belirterek kullanıcının gönderdiği veriye ait bir imza gönderir ve bağlantı kurulur. Bu bağlantılar sırasında hamachi'nin yaptığı anahtar değişimi, üretimi ve mesaj şifrelemesi gibi işlemlerin algoritma ve kuralları geliştiricilerinin "Crypto Suite" adını verdikleri bir uygulamadan alınır. Bu uygulama, Diffie-Hellman anahtar değişimi, blok şifreleme, mesaj şifreleme ve doğrulama işlemlerini yapması için geliştirilmiş. Eğer biraz bu işlemlerin ayrıntılarından bahsedersek;

*) Diffie-Hellman anahtar değişimi, 1976 yılında aynı isimli geliştiriciler tarafından yayımlanan bir sunucular-arası gizli parola değişimi protokolüdür. Bu protokolün iki p ve g olarak iki gizli olmayan değişkeni var. p parametresi bir asal sayı ve g parametresi de p'den daha küçük bir tamsayıdır. Bu iki değişken arasında şöyle bir ilişki vardır:

1'den p-1'e kadar her n sayısı için bir adet k sayısı vardır ki, n = gk mod p.

Peki bu nasıl uygulanıyor? A ve B iki sunucu olsun ve birbirlerinin gizli parolalarını DH (Diffie-Hellman) protokolü ile değişmek istesinler. Bu durumda A, x ve B y olarak iki rastgele sayı seçerler. Daha sonra her ikisi de bu sayıları p ve g değişkenleri ile türetirler. Bu durumda A'nın sayısı gx mod p ve B'nin sayısı gy mod p olur. Bu sayıları birbirleriyle değiştiklerinde A gab = (gb )a mod p değerini, B ise gba = (ga ) b mod p değerini hesaplar. Bu durumda,

gab = gba = k olacağından, A ile B'nin gizli anahtarı artık k'dır. Burada, p asal sayısının gizli k değerinin hesaplanmasını önleyecek kadar büyük olması gerekir. Bu algoritma ortadaki adam saldırısına karşı korunmasızdır. Örneğin bir C sunucusu, A'nın B'ye gönderdiği sayıyı engelleyip kendi sayısını B'ye gönderebilir. B'nin cevap olarak gönderdiği sayı yerine A'ya yine kendi sayısını gönderir. Bu durumda, A ile C ve B ile C arasında iki adet gizli parola oluşur. Bu durumda C bu iki parolayı bildiğinden, A ile B arasındaki trafiği deşifre ederek öğrenebilir.

Bu temele dayanan ve yukarıda açıklanan saldırıya karşı çözüm getiren Station-to-Station (STS) protokolü 1992 yılında Diffie, Oorschot ve Wiener tarafından geliştirilmiştir.

*) Blok şifreleme, şifrelenmemiş belli boyuttaki bir metini şifreleyip aynı boyutta bir veri haline getiren simetrik şifreleme algoritmasıdır. Bu şifreleme işleminde kullanıcının belirlediği bir anahtar (parola) kullanılır. Deşifre işlemi yine aynı anahtar kullanarak ilk işlemin tersi yapılarak gerçekleşir. Bu işlemdeki sabit boyuta blok boyutu da denir ve genelde 64 bit olarak belirlenir. Blok şifrelemenin kendi arasında da iteratif blok şifreleme ve elektronik kod kitabı gibi birçok değişik metodu vardır.

*) Mesaj denetimi kodları (MAC: Message Authentication Code) gönderilen mesajın üzerinde bir denetim işlemi yaparak mesajın bütünlüğünün korunduğuna ve değiştirilmediğine dair bilgi içeren verilerdir. Bu veriler sayısal imzalardan farklı olarak ortak parola ile üretilir ve doğrulanır. Böylece sadece hedeflenen kişinin doğrulama denetimi yapması sağlanır. Mesaj denetim kodlarının oluşturulmasında da blok şifreleme temelli veya hash-fonksiyonu temelli olmak üzere pek çok değişik yöntem kullanılır.


Şimdi bu bilgiler doğrultusunda biraz yukarıda bahsettiğimiz olayların detayına göz atalım:

Kullanıcı sunucuya önce bir HELO mesajı ile bağlanır.

HELO CryptoSuite ServerKfp Ni Gi

Burada CryptoSuite kullanılan öntanımlı şifreleme algoritmalarını, ServerKfp sunucunun genel anahtarının parmak izi, Ni ve Gi ise kullanıcının 1024 bitlik DH (Diffie-Hellman) üs değerleridir. Eğer sunucu ServerKfp ile aynı genel anahtara sahipse, sunucu aşağıdaki mesaj ile cevap verir.

HELO OK Nr Gr

Burada Nr ve Gr sunucunun DH üs değerleridir.

Bu durumda, her iki taraf birbirlerinin DH üs değerlerini bildiğinden, artık ortak parolayı hesaplayabilirler. Bunu aşağıdaki şekilde yaparlar:

KEYMAT = T1 | T2 | T3 | ...
T1 = prf (K, Ni | Nr | 0x01)
T2 = prf (K, T1 | Ni | Nr | 0x02)
T3 = prf (K, T2 | Ni | Nr | 0x03)
...

Burada K, DH algoritmasına ait gizli bir değer ve prf ise HMAC-SHA1 şifreleme uygulamasıdır. Bağlantıda kullanılan tüm ileti trafiği KEYMAT fonksiyonundan türetilen Ka anahtarı ile denetlenen Ke anahtarı ile şifrelenir. Öntanımlı CryptoSuite KEYMAT ile türetilen değerin ilk 256 bitini Ke ve sonraki 160 bitini Ka olarak kullanır.

Artık kullanıcı sunucu ile bağlantı kurduğuna göre, hamachi'de oturum açması gerekir. Bunun için kullanıcı sisteme AUTH mesajı iletir.

AUTH Kimlik İmza(Ni | Nr | Gi | Gr, Kpri_cli)

Bu iletide, Kimlik kullanıcının 32 bitlik hamachi IP adresi ve İmza ise, kullanıcının daha önceki iletilerden edindiği DH üs değerleri ve sonucunda hesapladığı gizli DH parolasının SHA1 çıktısıdır. Sunucu Kimlik değerinden kullanıcıya ait hesabı bulur ve kendi hesapladığı İmza değeri ile karşılaştırır. Eğer uyuşma varsa,


AUTH OK İmza(Nr | Ni | Gr | Gi, Kpri_srv)

iletisiyle cevap verir. Buradaki İmza değeri ise sunucunun HELO mesajında aldığı ServerKfp ve kendi hesapladığı gizli DH parolası değerleriyle oluşturduğu SHA1 çıktısıdır.

P2P bağlantı
Meditasyon sunucusu kullanıcılar arasında tünelleme yaptıktan sonra, SPI adı verilen iki adet 32 bitlik rasgele değer üretir. SPI değerleri her iki yöndeki ileti akışını etiketlemek için kullanılır. Kullanıcıya bir UDP paketi geldiğinde paketten SPI değeri ile karşısındaki kullanıcıyı belirler ve parola değerini hesaplayıp, deşifre etme ve doğrulama işlemlerini yapar.

0.9.9.5 sürümünden önceki programlar için KEYMAT değerleri meditasyon sunucusu üzerinden hesaplanırken, 0.9.9.6 sürümü ve sonrakiler için KEYMAT değerleri kullanıcıların kendisi tarafından hesaplanıyor. Bu işlemi kısaca açıklarsak;

Öncelikle kullanıcılardan SPI değeri daha küçük olanı, bağlantıyı başlatan olarak seçilir ve karşısındakine KE1 Ni Gi | Ni ve Gi bağlantıyı başlatan sunucunun DH üs değerleri. mesajını göndermeye başlar. Bu işlemi karşı taraftan cevap gelmediği sürece N ms'de bir gönderir. Diğer taraf karşılık olarak aşağıdaki mesajı gönderir:

KE2 Nr Gr İmza(Nr | Ni | Gr | Gi, Kpri_r)

Burada Nr ve Gr cevap veren tarafın DH üs değerleri ve İmza ise cevap veren tarafın gizli parolası ile oluşturulmuş SHA1 çıktısıdır. Bu durumda cevap veren, Ni ve Gi değerlerinin gerçek değerler olmaması tehlikesi sebebiyle P2P parola değerlerini türetmez ve sadece Nr ve Gr değerlerini gönderir.

Bağlantıyı başlatan taraf, İmza değerini doğrularsa yukarıda bahsedilen KEYMAT'i kullanarak P2P parola değerini üretir ve karşı taraftan cevap alana kadar belli aralıklarla bu mesajı karşıya iletir.

KE3 Ni Gi İmza(Ni | Nr | Gi | Gr, Kpri_i)

Son olarak cevap veren taraf P2P parola değerini hesaplayıp, bağlantıyı başlatan tarafın gönderdiği değeri doğrularsa, karşıya anahtar değişiminin başarıyla tamamlandığını bildiren bir ileti gönderir.

Anahtar değişimi sırasında, kullanıcıların birbirlerinin imzalarını doğrulamaları için, birbirlerinin gizli olmayan anahtar değerlerini bilmeleri gerekir. Bu değerleri ya meditasyon sunucusu yardımıyla ya da karşıdaki kullanıcıdan başka bir yolla edinip yükleyerek alırlar.

Mesajların Güvenliği
Mesajlar 256 bitlik simetrik şifreleme algoritması ile şifrelenir ve yukarıda açıkladığımız MAC ile doğruluğu denetlenir. Her mesaj kendine özel bir mesaj numarası alır. İleti şifrelenmeden önce, eğer gönderilecek veri blok şifreleme için küçükse, ESP yöntemi ile veri gerekli boyuta uzatılır. Sonra mesaja ait bir IV değeri hesaplanıp mesaja eklenir ve mesaj şifrelenir.

Şifrelenmiş mesaja tekrar olarak IV değeri ve özel bir mesaj numarası (sürekli artan 32 bitlik bir değer) eklenir. Eğer TCP protokolü ile yollanacaksa, boyut başlığı, UDP ile yollanacaksa SPI değeri şifrelenmiş mesaja eklenir. Sn olarak bu mesaj üzerinde bir HMAC-SHA1 imza değeri üretilir ve mesaja eklenip karşıya yollanır.


Bu şifreleme metodu TLS ve IKE/IPsec ile belirtilen metotlarla uyumludur.

Ne için kullanabiliriz?
En başta bahsettiğimiz gibi, hamachi çok amaçlı bir VPN uygulamasıdır. Yukarıda kendinize ait bir ağı nasıl oluşturabileceğinizden bahsettik. Bu ağ üzerinden yerel ağ üzerinde yağabileceğiniz pek çok işlemi gerçekleştirebilirsiniz. Örneğin, VNC (Virtual Network Computing) trafiğini tünellemek için hamachi'yi kullanabilirsiniz. Bu sayede bağlandığınız bilgisayarın masaüstünü görebilir ve ekran başındaymış gibi karşıdaki bilgisayarı yönetebilirsiniz. Microsoft Windows üzerinde Remote Desktop uygulamasını hamachi IP adresi ile çalıştırarak aynı işlemi yapabilirsiniz.

Eğer dosya paylaşımı yapmak istiyorsanız, bu da çok basit birkaç işlem ile yapılabilir. Güvenlik açısından Windows işletim sistemleri dosya paylaşımını engeller fakat Windows üzerinde paylaşmak istediğiniz dosyalara ait dizinlerin üzerine sağ tıklayıp, Özellikler ile açılan pencerede Paylaşım sekmesinden bunu yapabilirsiniz. Daha sonra, Başlat>>Denetim Masası>>Ağ Bağlantıları içindeki hamachi ağ bağlantınıza sağ tıklayıp Özelliklerden hamachi üzerinde Dosya paylaşımının aktif olduğundan emin olun. Linux kullanıcıları için ise, Samba gibi dosya paylaşım programlarında ayarlarını hamachi'nin oluşturduğu sanal ağ aygıtı üzerinden yapmaları yeterli olacaktır.

Hamachi'nin kullanımını yaygınlaştıran en önemli sebeplerden biri de internet üzerinde oyunların oldukça hızlı oynanmasını sağlamasıdır. Eğer hamachi ile oyun oynamak isterseniz, karşınızda iki seçenek var. Ya kendi ağınızı yaratıp, bu ağ üzerinde oyunun ayarlarını yaparak arkadaşlarınızın oyuna dâhil olmasını beklersiniz, ya da diğer hamachi kullanıcılarının oyun için açmış oldukları ağlara bağlanıp, bir oyuna dahil olabilirsiniz. Unutulmaması gereken, her hamachi ağındaki toplam kullanıcı sayısı en fazla 16 olabiliyor. Dünya üzerinde hangi oyunlar için hangi ağların açıldığını [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...] adresinden öğrenebilirsiniz. Oyunları hamachi üzerinden oynamak için oyunlar üzerinde ne gibi değişikler yapılması gerektiğini öğrenmek için ise, [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...] adresine bakabilirsiniz. Unutulmaması gereken, her hamachi ağındaki toplam kullanıcı sayısı en fazla 16 olabiliyor.

Sonuç
Hamachi hem sunduğu kullanım seçenekleri hem de kullanımdaki inanılmaz kolaylığı ile uzunca bir süre kullanıcıların gözdesi olabilir. Ayrıca oldukça güvenli olması da büyük bir artı. Önümüzdeki dönemde hamachi'nin açık kaynak bir işletim sistemi projesine dahil olması düşünülüyor. Belki ileride bu inanılmaz programcığın nasıl çalıştığını keşfetme imkanı bulabiliriz.

Kaynaklar
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...]


lhRnl 'in imzası

ExtralarlhRnl isimli Üye şimdilik offline konumundadır
 
Alıntı ile Cevapla
Cevapla


Seçenekler
Stil

Yetkileriniz
Yeni Mesaj yazma yetkiniz aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz aktif değil dir.

Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Gitmek istediğiniz klasörü seçiniz



Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 05:22 PM .


Powered by vBulletin Version 3.6.8
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by 3.0.0
Site Kurucusu: lhRnl
eXTReMe Tracker

Dost Siteler
| -((Forum Teknik))- | Favori Forum | Bilgi Paylasim Platformu | Tr Tekno | Link Değişimi | DmozTr | Tiz Forum | Backlink
Arşiv Linkleri

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563