من در حال ایجاد بانک اطلاعاتی با ارزش رمزگذاری شده هستم.
بگذارید بگوییم من "جان" را ذخیره می کنم که رمزگذاری شده و به عنوان "یوکی" ذخیره می شود.
John | یوکی
اکنون من "جانی" را ذخیره می کنم که رمزگذاری شده و به عنوان "کوادی" ذخیره می شود.
جان | یوکی
جانی | کوادی
اکنون با ذخیره سازی فوق ، من هیچ نوع قابلیت جستجوی regex را نخواهم گرفت. اگر می خواستم "Jo٪" را جستجو کنم ، کار نخواهد کرد.
اما اگر مقادیر را پس از شکستن آنها ذخیره کنم ، چه می شود. به عنوان
جو | یوکی ، کوادی
جوه | یوکی ، کوادی
جان | یوکی ، کوادی
جان | کوادی
جانی | کوادی
در اینجا جستجوهای regex "Jo٪" کار خواهند کرد ، "Joh٪" هر دو به Yoky و Koaddy می دهند ، این همان چیزی است که من می خواهم.
من می توانم یک نقص امنیتی آشکار را در بالا مشاهده کنم که هرکسی بتواند از Jo ، Joh استفاده کند.
بنابراین من تصمیم گرفتم که رمزگذاری اینها را ذخیره کنم.
من می توانم AES خردهای من را رمزگذاری کرده و آنها را ذخیره کنم.
qkjklewr! j == | یوکی ، کوادی
klkadsopos == | یوکی ، کوادی
ensd٪ 21op == | یوکی ، کوادی
kaknvp23b02 == | کوادی
kashdi2094j == | کوادی
هنگام انجام هر نوع جستجو می گویند ، "جان" ، من ابتدا "یوه" را رمزگذاری می کنم و سپس جستجو را انجام می دهم ، بنابراین به مقدار رمزگذاری شده AES از "جوه" ، یعنی klkadsopos ==
توجه می کند. : هر دو ستون برای محافظت از داده ها از کلیدها و الگوریتم های مختلفی استفاده خواهند کرد.
توجه: این ذخیره سازی رمزگذاری شده TDE خواهد بود.
باید درک کنم که آیا من اینجا چیزی اساسی را از دست داده ام.