بگو، من یک نقطه پایانی API HTTPS دارم که تنها توسط مدیر من استفاده می شود.
در هر یک از درخواستها یک کلید API مخفی برای احراز هویت ارسال می کنم. و من با این راه حل خوب هستم
curl -x PUT .......
- Header "X-My-Secret-Api-Key $ my_secret_key"
.....
در بدن من شناسه کاربر و ایمیل را به عنوان بارنامه ارسال می کنم.
آیا آن را امن تر خواهد بود اگر من hash $ my_secret_key با ایمیل کاربر؟
curl -x PUT .......
- Header "X-My-Secret-Api-Key SHA-256 ($ {user_email} $ {my_secret_key}}"
.....
این ایده این است که حتی اگر "X-My-Secret-Api-Key" متوقف شود، یک مهاجم تنها تنها کلید را برای آن کاربر خاص دریافت می کند.
و قادر خواهد بود درخواست های مهمی را فقط از طرف این کاربر ارسال کند و هیچ کس دیگری.
و برای اینکه قادر به ارسال درخواست از طرف کاربر دیگری باشد، مهاجم باید سعی کند "X-My-Secret-Api-Key" را برای آن کاربر نیز دستگیر کند. و غیره.
آیا این بهبود امنیتی مناسب است؟ هر کدوم آیا این روش شناخته شده است؟