bu sadece üzerinde bulunduğu bilgisayar tarafından deşifre edilebilir, böylece dize verileri şifrelemek için nasıl?

2 Cevap php

i AJAX istemci ve sunucu ileri ve geri gönderilir dizeleri var söylüyorlar.

Ancak ben güvenli istemcisi üzerinden gönderilmeden önce şifrelemek istiyoruz. bu sunucu üzerinde bir zamanlar, deşifre ve işlenmiş olmalıdır.

ayrıca, ne kadar şifre işi şifreleyerek yapar? kullanıcı imzalar ve şifreyi girdikten sonra, kendi sunucu üzerinde şifreli ve veritabanında saklanır. ne hakkında kullanıcı günlükleri? kullanıcı şifresi tekrar şifreli ediliyor ve veritabanındaki bir karşı eşleşen?

2 Cevap

Bir asymmetric algorithm şöyle kullanılabilir:

  1. Sunucu, kamu / özel bir çift anahtar üretir
  2. İstemci (AJAX) halka anahtarını sunucusuna sorar
  3. Müşteri kamu anahtarı ile verileri şifreler
  4. İstemci sunucuya şifreli veri gönderir
  5. Sunucu Verilerin şifresini çözmek için özel bir anahtar kullanır

Bütün bunlar zaten uygulanan ve test edilmiş, neden tekerleği yeniden icat ve doğrudan HTTPS kullanmak olmuştur? Bu istemci ve sunucu arasında herhangi bir değişim şifreli olacağını size garanti edecektir.

On the login question

Şifreleri kullanılabilecek pek çok yolu vardır. Parola kendisi sunucuya, net olarak, nereye gönderildiğini en doğrudan (ama daha az güvenli). Diğer yaklaşımlar hala sunucunun genel anahtarı ile gönderilecek ancak örneğin, şifreli parola gerektirir. Sunucu, istemci (tabii bir anahtar olarak parolayı içeren) bir tür karma işlev thorugh dönüştüren bir rasgele değer / dizesi gönderir sayede Diğer yaklaşımlar, bir authentication challenge içeren, dönüşüm sonucu gönderilir aynı sürecin kendi hesaplama ile karşılaştırır sunucuya. Bir meydan okuma kullanmanın avantajı kimlik doğrulama mesajı her zaman farklı olduğu bir sabit mesaj "ortada erkek" ile ilişkili paketlerin bir dizisini kayıtlı tekrar sağlayacak bu sayede, (man-in-the-middle attacks engellemesidir şifre geçen, ve dolayısıyla yanlış kendini) tespit

On the [kötü ifadeli] main question ("sadece bilgisayarda çözülecek edememek bulunacağı" ...)

Orada mevcut çeşitli physical devices (dongle ve gibi) yanı sıra, sabit diskte mantıksal yapıları / içeriği ile birlikte verilen bir bilgisayar (MAC adresleri), üzerinde asli kimlik göstergeleri (biz "yumuşak alıyoruz rağmen ", verilen bir dizi tanımlamak ve bir mesajı çözmesi için gerekli unsurları (tuşlar ve gibi) oradan sağlamak için kullanılabilir burada yani daha kolay taşınabilir alan ...).

Ancak, bu soru daha genel olduğuna inanıyorum:

Iki bilgisayar, gizlice, diğer bilgisayarlar (kolayca) şifresini olamayacağını bilgi alışverişi için kullanabileceğiniz bir anahtar paylaşmak için mümkündür. Bu tuşlar ya dışarıdan yerine koymak olabilir, ya da kullanarak, her yeni oturum anında alırken olabilir, başlangıçta, örneğin, ortak anahtar şifreleme gibi Diffie-Hellman key exchange