Anasayfa Tasavvuf Kırılması zor şifre oluşturma teknikleri
Kırılması zor şifre oluşturma teknikleri PDF Yazdır
Yusuf Yumlu tarafından yazıldı.   

KIRILMASI ZOR ŞİFRE OLUŞTURMA TEKNİKLERİ

Yusuf YUMLU

Ü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
%>

Kullanımı : <%=Sifreuret(9) %> Buradaki 9 üretilecek şifrenin, 9 karakterden oluşacağını belirlemektedir.

php Kodu :

 
 
 
function generatePassword($length=9, $strength=0) {
 
$vowels = 'aeuy';
$consonants = 'bdghjmnpqrstvz';
if ($strength & 1) {
$consonants .= 'BDGHJLMNPQRSTVWXZ';
}
if ($strength & 2) {
$vowels .= "AEUY";
}
if ($strength & 4) {
$consonants .= '23456789';
}
if ($strength & 8) {
$consonants .= '@#$%';
}
$password = '';
$alt = time() % 2;
for ($i = 0; $i < $length; $i++) {
if ($alt == 1) {
$password .= $consonants[(rand() % strlen($consonants))];
$alt = 0;
} else {
$password .= $vowels[(rand() % strlen($vowels))];
$alt = 1;
}
}
return $password;
}
 
 
 
C# Kodu : 
 

int num = random.Next();

int num = random.Next(1000);

private int RandomNumber(int min, int max)
{
Random random =
new Random();
return random.Next(min, max);
}

/// <summary>
///
Generates a random string with the given length
/// </summary>
///
<param name="size">Size of the string</param>
///
<param name="lowerCase">If true, generate lowercase string</param>
///
<returns>Random string</returns>
private string RandomString(int size, bool lowerCase)
{
StringBuilder builder =
new StringBuilder();
Random random =
new Random();
char ch ;
for(int i=0; i<size; i++)
{
ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65))) ;
builder.Append(ch);
}
if(lowerCase)
return builder.ToString().ToLower();
return builder.ToString();
}

public string GetPassword()
{
StringBuilder builder =
new StringBuilder();
builder.Append(RandomString(4,
true));
builder.Append(RandomNumber(1000, 9999));
builder.Append(RandomString(2,
false));
return builder.ToString();
}

 
Javascript Kodu : 
 <SCRIPT LANGUAGE="JavaScript">

 For c = 1 To lngLength
  
   ' 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
  
   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



function randomPassword(length)

{

  chars = "abcdefghijklmnopqrstuvwxyz1234567890";

  pass = "";

  for(x=0;x<length;x++)

  {

    i = Math.floor(Math.random() * 62);

    pass += chars.charAt(i);

  }

  return pass;

}

function formSubmit()

{

  passform.passbox.value = randomPassword(passform.length.value);

  return false;

}



</script>

 

VB Kodu :

 

Public Function PasswordGenerator(ByVal lngLength As Long) _

  As String

 

On Error GoTo Err_Proc

 

 Dim iChr As Integer

 Dim c As Long

 Dim strResult As String

 Dim iAsc As String

 

 Randomize Timer

 

 For c = 1 To lngLength

  

   ' 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

  

   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;

 

Selam ve Dua İle…

 

 
Site içeriğinden alıntı yapacaksanız, lütfen www.darusselam.com şeklinde kaynak belirtiniz.

mod_vvisit_counterBugün533
mod_vvisit_counterDün707
mod_vvisit_counterBu Hafta4545
mod_vvisit_counterBu Ay7800

Kimler Sitede

Şu anda 19 konuk çevrimiçi
Üyeler : 1189
İçerik : 327
Web Bağlantıları : 266
İçerik Tıklama Görünümü : 603461