کدگذاری مخصوص یک کاربر

با درود خدمت شما . شاید سوال من در این زمینه کلی باشه ولی چون ایده ای ندارم خواستم این رو بپرسم .

در یک پروژه شخصی رایگان که دارم برای استفاده عموم می نویسم نیازمند به کدگذاری رو برخی از اطلاعات شدم به این شرح :

۱. شما فکر کنید کاربری برای شما اطلاعات پسورد نام دامنه و آدرس ادمین سایت را ارسال می کند
۲. این متن ارسالی در تیکت قبل از ذخیره در دیتابیس باید کدگذاری شود
۳. فقط پشتیبان بتواند آن قسمت متن کدگذاری شده را باز کرده و ببنید .
۳. حتی مدیریت وب سایت هم نتواند این متن را باز کند

حالا این مثال کوچیک بود . بعدا نیاز دارم اطلاعاتی که کاربر روی اپلیکیشن ذخیره می کند . در سرور کدگذاری شده ذخیره شود و فقط خودش بتواند در موقع فراخوانی آن را باز کند . در اپلیکیشن به نظرم رسید پرویت و پابلیک کی استفاده کنم ولی در وب سایت و بخش مدیریت تیکت ها یا پشتیبانی چیزی نظرم نرسید .

اگر کلید عمومی و خصوصی کاربر پشتیبان را در دیتابیس ذخیره کنم بازم مدیریت سایت می تواند آن را باز کند در صورت نیاز اگر نه که نمی توانم به کاربر کلید بدم او جایی خیره کند . الان با این مورد مشکل پیدا کرده ام که چطور باید این مورد انجام شود

کریپتو گرافی در لایه های مختلفی میتونه انجام بشه و میتونه ent to end باشه، وقتی میگیم چیزی در اپلیکیشن ذخیره بشه یعنی در دیتابیس؟ اگر اینطوره دیتابیس میتونه در یک کانتینر انکریپت شده قرار بگیره.‌

1 پسندیده

درود . اول بیشتر نظرم روی یک سیستم تیکت دهی هست

کاربر اطلاعات رو می فرسته برای پشتیبانش و پشتیبان می بینه ولی مدیر سایت نباید اطلاعاتی که رمز شده رو ببینه فقط پشتیبان فقط یک یوزر مخصوص.

اون ایده ای که دادید هم جالبه . به نظرتون کارم اینجوری پیش می ره یا باز برام مشکلی پیش می یاد . مثلا چیزی تو فکرتون هست من محاسبش نکرده باشم و باعث شکستم بشه ؟

سوال کمی پیچیدگیشو کمتر کنم :

یک سوال تکمیلی :
مثلا اومد یک نفری هک کرد سرور رو و کلا یک بکاپ گرفت رفت . چطور می شه با کدگذاری جلوگیری کرد از دسترسی به اکانت ها یا فیل های کد شده . در صورتی که کلید خصوصی در دست خود کاربر نیست . چون با مروگر می یاد تو سایت

1 پسندیده

میتونید اطلاعات رو به صورت رمزنگاری شده ذخیره کنید و سرویسی که میخواد ازشون استفاده کنه بتونه با استفاده از encryption key بازشون کنه،
در این صورت سریس دیتابیس اصلا نمیدون اطلاعات رو چطور رمزگشایی کنه و فقط وظیه ذخیره سازی داره.

میتونید برای حل بعضی موارد هم از امکانات دیتابیس استفاده کنید، مثلا برای پستگرس لینک زیر رو ببینید
https://www.postgresql.org/docs/9.6/static/encryption-options.html

1 پسندیده