MongoDB sorgulanabilir şifreleme ve Node.js ile uygulamalı


MongoDB 6 şu yeteneği tanıttı: şifrelenmiş verileri sorgula veritabanında. Veriler, tüm gidiş dönüş için şifrelenir: ekleme, depolama ve sorgulama sırasında. Bu, veri tabanında kullanıldığında bile güvenli kalan veriler için yeni bir güvenlik düzeyi anlamına gelir. Yalnızca istemci uygulaması verilerin şifresini çözebilir. Veritabanı, şifrelenmiş verilerin anahtarlarını hiç tutmaz, ancak yine de bu verilerin sorgulanmasını destekler.

Böylece MongoDB sorgulanabilir şifreleme, veri deposunu ve altyapısını saldırı hedefi olarak kaldırır. Bu yarı sihirli yetenek, uygulamalar için bazı ekstra yapılandırmalar gerektirir. Bu makale, bir Node.js uygulamasında MongoDB sorgulanabilir şifreleme ile çalışmak için bir geliştirme ortamının nasıl kurulacağını gösterecektir.

Ana ve veri şifreleme anahtarları

MongoDB’nin sorgulanabilir şifrelemesinde kullanılan iki tür anahtar vardır: müşteri ana anahtarı (CMK) ve veri şifreleme anahtarları (DEK’ler). Bunlar, verilerinizin güvenliğini sağlamak için birlikte çalışır. DEK, veritabanındaki verileri şifrelemek için kullanılırken, CMK, bir koruma katmanı ekleyerek DEK’i şifrelemek ve şifresini çözmek için kullanılır. CMK daha hassas anahtardır. CMK’nın güvenliği ihlal edilirse, verileriniz tehlikeye açık hale gelir. CMK veya DEK kaybolur veya erişilemezse, istemci uygulaması verilerin şifresini çözemez.

Sorgulanabilir şifreleme kullanacak bir uygulama geliştirirken, uzak anahtar deposu yerine CMK’nizi uygulama ile aynı sunucuda tutan yerel bir dosya kullanabilirsiniz. Üretimde, uzak bir anahtar deposu kullanmanız gerektiğini, aksi takdirde sistemin güvenliğini baltalayacağınızı önceden not etmek önemlidir.

CMK oluştur

İlk adım, CMK’nizi oluşturmaktır. Bunu, Liste 1’de gösterildiği gibi openssl komut satırı aracıyla yapabilirsiniz.

Liste 1. Yerel bir anahtar oluşturun

openssl rand 96 > cmk.txt

DEK oluştur

CMK’mızı işlemek için basit bir Node.js programı oluşturacağız, bir DEK oluşturacağız ve DEK’i MongoDB’de adı verilen özel bir şifreli koleksiyona ekleyeceğiz. anahtar kasası. Sorgulanabilir şifreleme, bu koleksiyonda CMK ile şifrelenmiş DEK’i tutar. Şifrelenmiş uygulama verilerine karşı çağrı yaparken, istemci uygulamanız anahtar kasasından DEK’i alır, CMK ile DEK’in şifresini çözer ve ardından veritabanı örneğiyle etkileşim kurmak için şifresi çözülen DEK’i kullanır.

Telif Hakkı © 2022 IDG Communications, Inc.


Kaynak : https://www.infoworld.com/article/3675390/hands-on-with-mongodb-queryable-encryption-and-node-js.html#tk.rss_all

Yorum yapın