14.4.1. Kavramlar: güven, anahtarlar ve dosya biçimi

Herhangi bir komuttan önce, bu bölümdeki diğer her sayfa için geçerli olan üç arka plan bilgisi.

14.4.1.1. Güven modelleri

Bir TLS bağlantısı, artan üç düzeyde güvence sağlayabilir:

  • Yalnızca şifreleme – trafik şifrelenir ancak hiçbir taraf kim olduğunu kanıtlamaz. Kurulumu kolaydır (sertifika doğrulaması yoktur) ancak ortadaki adam saldırısına karşı savunmasızdır. Yalnızca yerel test için kullanın.

  • Sunucu kimlik doğrulaması – istemci, sunucunun sertifikasını güvenilir bir sertifikaya karşı doğrular (tanıdık HTTPS modeli). OpenMV Cam, ya istemci (uzak bir sunucuyu doğrulayan) ya da sunucu (kendi sertifikasını sunan) olarak hareket edebilir.

  • Karşılıklı kimlik doğrulaması (mTLS) – her iki uç da sertifika sunar ve doğrular. Sunucunun da istemcinin kimliğinden emin olması gereken durumlarda kullanılır.

14.4.1.2. Bir anahtar türü seçme

Kameranın mbedTLS yapısı, NIST/SEC asal eğrileri üzerinde ECDSA’yı ve RSA’yı destekler. Bir anahtar oluşturmanın üç pratik yolu vardır; ECDSA P-256 (prime256v1) önerilir:

  • ECDSA P-256 (prime256v1) – 256 bitlik bir anahtarla yaklaşık 128 bitlik güvenlik. Minik anahtarlar ve imzalar ve bir Cortex-M üzerinde desteklenen seçenekler arasında açık ara en hızlı el sıkışma (eliptik eğri işlemleri, RSA özel anahtar işlemlerinden çok daha ucuzdur). TLS eşleri tarafından evrensel olarak desteklenir. Bu, gömülü bir cihazda güvenlik, hız, RAM/flash bellek kullanımı ve uyumluluk arasındaki en iyi dengedir, bu yüzden burada varsayılan seçimdir.

  • ECDSA P-384 (secp384r1) – yaklaşık 192 bitlik güvenlik. Hâlâ eliptik eğri olduğundan oldukça verimlidir, ancak tipik IoT dağıtımlarının ihtiyaç duymadığı bir güvenlik payı için P-256’dan daha büyük ve daha yavaştır. Yalnızca uzun ömürlü bir sertifika veya bir uyumluluk gereksinimi bunu gerektiriyorsa kullanın.

  • RSA-2048 – yaklaşık 112 bitlik güvenlik. Çok eski eşler dahil olmak üzere evrensel olarak uyumludur, ancak RSA anahtarları ve sertifikaları çok daha büyüktür ve RSA özel anahtar işlemleri (sertifikayı sunan taraf tarafından yapılır) bir mikrodenetleyicide en yavaş ve en fazla bellek tüketen seçenektir. Yalnızca bir eş ECDSA yapamadığında kullanın.

Not

Ed25519 / Curve25519 anahtarları desteklenmez. OpenMV Cam’in mbedTLS yapısı EdDSA veya Curve25519’u etkinleştirmez, bu yüzden bir Ed25519 sertifikası veya anahtarı yüklenemez veya el sıkışamaz. Yukarıdaki üç seçenekten birini kullanın.

14.4.1.3. Dosya biçimi: DER kullanın

OpenMV Cam tarafından kullanılan mbedTLS yapısı PEM ayrıştırmayı içermez, bu yüzden kamera sertifikaları ve anahtarları yalnızca DER biçiminde (ikili kodlama) okur. Çoğu araç varsayılan olarak PEM biçimini (base64 metin) üretir, bu yüzden kameraya gidecek her dosya önce DER’e dönüştürülür – bu bölümdeki her tarif o dönüştürme adımıyla biter. Şunlara ihtiyacınız olacak:

  • Bir özel anahtar – gizli tutulur, bir sertifika sunan taraf tarafından kullanılır.

  • Bir sertifika – el sıkışma sırasında diğer tarafa sunulan genel kısım.

  • Bir CA / güven sertifikasıdoğrulayan tarafın, eşin güvenilir olup olmadığına karar vermek için yüklediği sertifika. Kendinden imzalı bir kurulum için bu, yalnızca eşin kendi sertifikasıdır.