Üyelik gerektiren sitelerin artmasıyla birlikte aklımızda tutmamız gereken şifre sayısı da arttı. Hem güvenli hem kolay şifreler oluşturmak aslında çok kolay.
Tahmin edilmesi zor şifreler daha zor kırılır. Eğer şifre olarak doğum tarihi, isim, soyisim, şehir adı, lise adı, okul numarası gibi bilgilerinizi kullanırsanız sizinle ilgili ufak bir araştırma yapan hemen hemen herkes şifrelerinize sahip olacaktır. Bunun nasıl olabileceğine dair küçük bir senaryo şöyle:
Sizin şifrenizi elde etmek isteyen biri, öncelikle sizinle temasa geçer. Örneğin bir forumda sizin yardımınızı istemektedir ve işlerin daha kolay yürümesi için sizinle MSN üzerinden konuşmak ister. Siz bunu büyük ihtimalle kabul edersiniz zira birilerine yardım etmek nereden bakarsanız örnek bir davranıştır. Şahıs, MSN’de sahte yardım faslından sonra sizinle ilgili bilgi toplamaya başlar. Bu yolla saldırısı için gerekli bilgileri toparlamış olur. Ardından Brute Force yöntemiyle sizin şifrenizi kırmayı deneyecektir. Eğer üstte yazdığım gibi bir şifre kullanırsanız muhtemelen o şifrenin ait olduğu hesabınıza veda etmek zorunda kalırsınız. Kırılması en zor şifre, rastgele sayı, harf ve sembollerin karışımından oluşan ve uzunca karakterli (en az 8-10 karakter) şifrelerdir.
Hatırlaması kolay şifre oluşturmak
Tarihin başlangıcından bu yana bilgilerin şifrelenmesi gerekliliğinden birden fazla yöntem ortaya çıktı. Kendi güvenli ve kolay hatırlanabilir şifreniz için değişik teknikler uygulayabilirsiniz. Biz sizin için temel şifreleme tekniklerinden “Metni Gizleme”yi ele aldık. Çoğu zaman yeterince güvenli ve kullanması çok kolay. Peki, metin gizleme tekniği nasıl kullanılır?
Unutmayacağınız bir cümleyi not defterine yazın. Ardından cümledeki her sözcüğün baş harfini ve her sembolü cümlenin altına sıralayın. İşte size kırılması etmesi zor ama hatırlaması kolay bir şifre. Örneğin : YSD12_asd11
Şifre oluşturma yazılımları
Bu yazılımlar sizin için kırılması zor ve hatırlamanızı gerektirmeyen şifreler oluşturur. Oluşturulan şifreleri hesabınıza tanımladıktan sonra bütün hesaplarınıza ulaşabileceğiniz tek bir şifre kullanmak hatırlanabilirlik için gayet güzeldir. Programı kendi bilgisayarınıza kurduktan sonra hesaplarınıza otomatik erişim sağlamış oluyorsunuz. Ancak sizin bilgisayarınızda ana şifrenizi kıran biri doğrudan tüm hesaplarınıza otomatik erişim sağlamış olur ki bu da pek istenilen bir durum değil. Ancak şifre oluşturma yazılımlarının bu olumsuz duruma rağmen -daha karışık ve kırılması zor şifreler ürettiği için- sizin bilgisayarınıza erişimi olmayan birine karşı gerçekten işlevsel bir savunma aracına dönüşüveriyor.
Güvenliğiniz için temel bilgiler; -Aynı rakamlardan oluşan veya sıralı rakam ve harf kombinasyonlu şifrelerden uzak durun.(Örneğin; 555555, 123456, 987654321,asdfghjklşi,111111,987654) -Başta da söylediğim gibi doğum günü, okul numarası vs gibi tahmin edilebilir şifreler kullanmayın. -Her hesap için ayrı şifre kullanın. -İnternet kafe gibi ortak kullanımda olan bilgisayarlarda mümkün olduğunca şifrelerinizi kullanmaktan kaçının. -Mutlaka bir güvenlik yazılımı kullanın. -Şifrenizi düzenli aralıklarla değiştirin. -Otomatik şifre hatırlama seçeneklerinden uzak durun. -Sizden bilgilerinizi isteyen e-postaları doğrudan spam olarak tanımlayın ve size vaadettiği hiç bir şeye inanmayın (Hiç bir firma sizden bilgilerinizi e-posta yoluyla istemez!)
Yazılımcılar İçin Randomize Şifre Üretmek;
Kullandığınız programlama dillerine göre otomarik random şifre üretin, öyleki ID ile çağırma yöntemleri yerine randomize değerleri çağırmanız daha eski olacaktır.
Örneğin : index.asp?urunID=1 yerine index.asp?urunID=1264121652155
Yazılımcılar İçin Örnek Kodlar; Asp Kodu :
<%
Function SifreUret(Uzunluk)
Karakterler = "123456789abcdefghijklmnoprqstuvyz"
Randomize
KarakterBoyu = Len(Karakterler)
For i = 1 To Uzunluk
KacinciKarakter = Int((KarakterBoyu * Rnd) + 1)
UretilenSifre = UretilenSifre & Mid(Karakterler,KacinciKarakter,1)
Next
SifreUret = UretilenSifre
End Function
%>
' Randomly decide what set of ASCII chars we will use
iAsc = Int(3 * Rnd + 1)
'Randomly pick a char from the random set
Select Case iAsc
Case 1
iChr = Int((Asc("Z") - Asc("A") + 1) * Rnd + Asc("A"))
Case 2
iChr = Int((Asc("z") - Asc("a") + 1) * Rnd + Asc("a"))
Case 3
iChr = Int((Asc("9") - Asc("0") + 1) * Rnd + Asc("0"))
Case Else
Err.Raise 20000, , "PasswordGenerator has a problem."
End Select
Err.Raise 20000, , "PasswordGenerator has a problem."
End Select
strResult = strResult & Chr(iChr)
Next c
PasswordGenerator = strResult
Exit_Proc:
Exit Function
Err_Proc:
MsgBox Err.Number & ": " & Err.Description, _
vbOKOnly + vbCritical
PasswordGenerator = vbNullString
Resume Exit_Proc
End Function
Delphi Kodu :
function RandomPassword(PLen: Integer): string; var str: string; begin Randomize; //string with all possible chars str := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; Result := ''; repeat Result := Result + str[Random(Length(str)) + 1]; until (Length(Result) = PLen) end;
procedure TForm1.Button1Click(Sender: TObject); begin //generate a password with 10 chars label1.Caption := RandomPassword(10); end;
function RandomWord(dictSize, lngStepSize, wordLen, minWordLen: Integer): string; begin Result := ''; if (wordLen < minWordLen) and (minWordLen > 0) then wordLen := minWordLen else if (wordLen < 1) and (minWordLen < 1) then wordLen := 1; repeat Result := Result + Chr(Random(dictSize) + lngStepSize); until (Length(Result) = wordLen); end;
procedure TForm1.Button2Click(Sender: TObject); begin //generate a password with 10 chars Caption := RandomWord(33, 54, Random(12), 2); end;