2012-10-18 28 views
5

Bir kullanıcının Merkezi Kimlik Doğrulama Hizmetimize giriş yapmasına izin vermesi gereken bir Phonegap uygulaması oluşturuyorum.Phonegap içinde güvenli giriş

Telefonumdaki dosyalar yerel olarak yüklendiğinden (dosya: //), bir HTTPS bağlantısının olması gibi bir güvenlik olmadığından endişe duyuyorum. Kullanıcı adı ve şifreyi sunucumuzdaki bir HTTPS konumuna iletirsem, yanıt olsa bile istek güvenli hale getirilemez.

Oturum açma işlemi için bir ChildBrowser eklentisi kullanmak istemiyorum, çünkü oturum açma işlemi bittiğinde bana söyleyecek herhangi bir olay köpürme olamıyor ve tüm platformlar ChildBrowser eklentisini desteklemiyor. Kullanıcı adı/parola birleşimini ortak anahtarla şifrelemek ve özel anahtar ile sunucuda şifresini çözmek için asimetrik şifreleme kullanmak makul olabilir gibi görünüyordu. Yine de, arka uçta Java ile güzel oynamak için herhangi bir javascript RSA kütüphaneleri elde edemiyorum.

Bir Phonegap uygulamasında kullanıcının parolasını korumak için asimetrik şifreleme düzgün görünüyor mu? Daha iyi bir çözüm var mı?

Bu, Javascript -> Java ile nasıl çalışır? İstemci tarafında ohdave.com/RSA komut dosyalarını kullanıyorum ama Java, ohdave'nin oluşturduğu anahtarları kullanarak bir anahtar oluşturmak istemiyor.

Herhangi bir yardım için teşekkür ederiz.

cevap

4

HTTPS aracılığıyla kimlik doğrulama web servisinin talep edilmesinin, kimlik bilgilerinin SSL sertifikasıyla şifrelenmesine izin verecek bir el sıkışma başlatacağını öğrendim.

Bildiğim kadarıyla telefonda kimlik bilgilerini depolamak gibi burada ben yapıyorum nasıl:

  1. bir Temel Yetkilendirme başlığındaki Base64 kodlama SSL üzerinden webservice giriş kimlik bilgilerini gönder.
  2. Başarılı giriş yanıtı, sunucuda yaşayan bir anahtarla şifrelenmiş AES kimlik bilgilerini içerir.
  3. AES Şifreli kimlik bilgileri telefonda kaydedilir.
  4. Gelecekteki girişler, şifrelenmiş kimlik bilgilerini bir Özet Yetkilendirme başlığında SSL üzerinden oturum açma web servisine göndererek işlenir.