من بر روی یک برنامه کار می کنم که هدف آن آپلود کردن داده های کاربر است، آن را ذخیره، انجام برخی از پردازش در آن داده ها و ارائه آن به کاربر در هنگام خواسته.
ما می خواهیم از پایان دادن به پایان دادن به مدل رمزگذاری که در آن سیستم هیچ راهی برای رمزگشایی داده ها کاربر آپلود نیست. من قبل از این با امنیت برخورد نکرده بودم و در معماری ارائه شده چند سوال / نگرانی داشتم که می خواهم با همه شما به اشتراک بگذارم.
- هنگامی که یک کاربر ثبت نام می کند ما یک کلید خصوصی برای او ایجاد می کنیم، کلید خصوصی کلید master key اینجا است.
- هنگامی که یک کاربر اطلاعاتی را اضافه می کند، ما آن را با استفاده از کلید جلسه رمزگذاری می کنیم. تنها واحد پردازش داده (DPU) سیستم ما باید قادر به رمزگشایی این داده ها باشد. از آنجا که اندازه داده ها ممکن است بزرگتر از RSA-3072 باشد، داده ها ابتدا با استفاده از AES-256 رمزگذاری می شوند و سپس با کلید session session RSA رمزگذاری می شوند.
- داده های بارگذاری شده به DPU می رسد، آن را رمزگشایی می کند، پردازش می کند و رمزگذاری می کند. [19659003] هنگامی که کاربر میخواهد دسترسی به این اطلاعات داشته باشد، کلید اصلی را با کلید جلسه رمزگذاری می کنیم و برای رمزگشایی داده ها آن را به DPU ارسال می کنیم. رمزگشایی ارسالی DPU تمام داده های درخواست شده را جمع آوری می کند، یک کلید داده جدید تولید می کند، پاسخ را با استفاده از این کلید داده رمزگذاری می کند، رمزنگاری کلید داده با کلید عمومی عمومی جلسه مشتری و جمع آوری هر دو رمزگذاری شده کلید و پاسخ و بازگرداندن آن
- برنامه مشتری با کلید مشتری رمزگشایی می کند جلسه خصوصی کلید و پاسخ با کلید داده رمزگشایی شده است.
نگرانی های من این است:
- این مدل نظری است که در حال حاضر، آیا این امکان دارد؟
- چه کسی این کلید ها (کلید های جلسه، کلید های داده) را ایجاد می کند، آیا توسعه دهندگان (جاوا و پایتون) این کلید ها را تولید می کنند و در کجا ما آنها را ذخیره می کنیم؟ آیا یک کتابخانه ای وجود دارد که ما بتوانیم زندگی را برای ما آسان کنیم؟ باز هم، ما نمی خواهیم که سیستم ما قادر به دسترسی به داده های کاربر بدون کلید اصلی کاربر است که در دستگاه خود است.
ما در استفاده از AWS Cognito برای احراز هویت و مجوز برنامه ریزی می کنیم و تا آنجا که من می دانم که هیچ کلید جلسه ای را ارائه نمی دهد، بنابراین چگونه می توانیم به آنچه که ذکر شد، دست یابیم؟ - ارسال رمز خصوصی از طریق سیم برای رمزگشایی داده ها، آیا این ایده خوب است؟ 19659007] من می دانم این اطلاعات زیادی است لطفا به من اطلاع دهید اگر سوالی دارید، به دنبال پیشنهادات / نظرات