şifrele

Conscrypt modülü, güvenlik iyileştirmelerini hızlandırır ve OTA güncellemelerine güvenmeden cihaz güvenliğini iyileştirir. Android TLS uygulamasının yanı sıra anahtar oluşturucular, şifreler ve mesaj özetleri gibi Android şifreleme işlevselliğinin büyük bir bölümünü sağlamak için Java kodunu ve yerel bir kitaplığı kullanır. Conscrypt bir şekilde kullanılabilir açık kaynak kütüphanesinde Android platformu dahil olduğunda bazı uzmanlık olmasına rağmen,.

Conscrypt modülü kullanan BoringSSL , OpenSSL Google çatal ve kriptografi ve TLS (özellikle Google Chrome) için birçok Google ürünlerinde kullanılan bir yerli kütüphane. BoringSSL'nin resmi sürümleri yoktur (tüm kullanıcılar baştan oluşturur) ve API veya ABI kararlılığı konusunda hiçbir garanti vermez.

Android 10'daki değişiklikler

Android 9, Conscrypt için Android'e özgü bir genel API içermez, bunun yerine Cipher ve MessageDigest dahil Java Cryptography Architecture (JCA) ve SSLSocket ve SSLEngine dahil Java Secure Socket Extension (JSSE) için standart sınıflar uygulayan bir güvenlik sağlayıcısı kullanır. Bu sınıfların ve bazı umumi olmayan Conscrypt API'leri ile etkileşim kullanıcılar tarafından kullanılan libcore veya çerçeveler kodu.

Android 10'da genel API yöntemlerinin az sayıda ekler android.net.ssl altında sınıflar olarak açıktır erişim Conscrypt işlevselliğine javax.net.ssl . Android 10 de bir inceltilmiş kopyası içerir Bouncy Castle Android Runtime (Conscrypt modülünde dahil değildir) bir parçası olarak alt-popülerlik kriptografik araçları sağlamak.

Biçim ve bağımlılıklar

Conscrypt modülü olarak dağıtılır APEX Conscrypt Java kodunu ve Conscrypt yerli kütüphane içerir dosyanın olduğu (örneğin Android NDK kütüphanelere dinamik bağlantılar liblog ). Yerli kütüphane de doğrulandı olan BoringSSL bir kopyasını (içerir 3753 Belgesi # NIST yoluyla) şifreleme modülü doğrulama program (CMVP) .

Conscrypt modülü aşağıdaki API'leri sunar:

  • Kamu API'ler altında ambalajlarda sınıfların uzantıları ve arayüzleri olan java.* Ve javax.* Artı sınıfları altında android.net.ssl.* . Harici uygulama kodu, Conscrypt'i doğrudan çağırmaz. Platform API standartları, bu API'lerin geriye ve ileriye uyumlu kalmasını sağlar.
  • Çekirdek platformu API'leri erişim halka açık olmayan işlevselliğine çerçevesinde kullandığı API'ler gizlenir. Bunlar nispeten sınırlıdır; büyük kullanıcısıdır NetworkSecurityConfig Conscrypt güven yöneticisi uygulamak için (doğrular sertifikaları o bileşeni) uzanır, ağ güvenliği yapılandırması özelliği .
  • İçi çekirdekli API'leri JCA ve JSEE makine ile yansıtıcı olarak adlandırılan sıfır bağımsız değişken kurucular ile sınırlıdır.