مدیریت توکن
رمزنگاری در حالت سکون، محدودسازی به مستأجر، تازهسازی و انقضا، چرخش، لغو دسترسی و قواعد ثبت گزارش که توکنهای دسترسی را از سطوح قابل مشاهده دور نگه میدارند.
ذخیرهسازی و رمزنگاری
توکن دسترسی یک اعتبارنامهٔ حامل است: هرکس آن را در اختیار داشته باشد میتواند در محدودهٔ دامنههای اعطاشده بهجای کاربر مجازکننده عمل کند. هما هر توکن را کلید محرمانهای با بالاترین درجهٔ حساسیت در نظر میگیرد.
- توکنها پیش از نوشته شدن رمزنگاری میشوند، با کلیدی که بیرون از پایگاه دادهٔ اپلیکیشن مدیریت میشود.
- بنابراین یک نسخهٔ پشتیبان پایگاه داده یا یک دامپ افشاشده حاوی متن رمزشده است، نه اعتبارنامهٔ قابل استفاده.
- کلید رمزنگاری از طریق محیط تأمین میشود و هرگز در کنترل نسخه ثبت نمیشود.
- رمزگشایی تنها در فرایند سروری انجام میشود که باید تماسی برقرار کند و متن آشکار هرگز ذخیره نمیشود.
محدودسازی به مستأجر
هر توکن به دقیقاً یک مستأجر تعلق دارد. جداسازی در سطح پرسوجو اعمال میشود تا یک اشکال در منطق اپلیکیشن نتواند از مرزهای مستأجر عبور کند.
- مستأجر را از نشست احراز هویتشده استخراج کنید، هرگز از پارامتری که کلاینت فرستاده است.
- شناسهٔ مستأجر را در بخش WHERE هر خواندن توکن بگنجانید.
- هر درخواستی که دارایی هدف آن به مستأجر استخراجشده تعلق ندارد را رد کنید.
- شناسهٔ مستأجر را در هر ورودی گزارش حسابرسی ثبت کنید.
تازهسازی و انقضا
توکنها محدود به زمان هستند. هما هرجا که پلتفرم پشتیبانی کند پیشدستانه تازهسازی میکند و هرجا که پشتیبانی نکند بهصورت کنترلشده تنزل مییابد.
- توکن کوتاهعمر
- بیدرنگ پس از مبادلهٔ کد صادر میشود. بلافاصله با توکن بلندعمر مبادله میشود؛ هرگز برای کارهای جاری استفاده نمیشود.
- توکن بلندعمر
- برای دسترسی معمول به API استفاده میشود. پیش از انقضا تازهسازی میشود تا مشتری هرگز اختلالی را که فقط ناشی از زمانبندی است تجربه نکند.
- توکن منقضیشده
- یکبار تلاش برای تازهسازی انجام میشود. در صورت خطا، اتصال نیازمند بررسی علامتگذاری میشود و به مشتری در داخل هما CRM اطلاع داده میشود.
چرخش
- توکن ذخیرهشده را در یک تراکنش واحد جایگزین کنید تا یک خطا نتواند مستأجری را بدون اعتبارنامهٔ قابل استفاده رها کند.
- مقدار پیشین را تنها تا زمان تأیید کارکرد جایگزین نگه دارید، سپس حذف کنید.
- کلید محرمانهٔ اپلیکیشن و توکن تأیید وبهوک را طبق برنامهٔ زمانی و بیدرنگ پس از هر افشای مشکوک بچرخانید.
- چرخش کلید محرمانهٔ اپلیکیشن، مبادلههای کد در جریان را بیاعتبار میکند؛ آن را در بازهٔ کمترافیک برنامهریزی کنید.
لغو دسترسی
لغو دسترسی باید بیدرنگ و کامل باشد. توکنی که دیگر لازم نیست حذف میشود، نه آنکه بیاستفاده رها شود.
- رکورد رمزنگاریشدهٔ توکن را حذف کنید.
- اتصال را غیرفعال علامتگذاری کنید تا هیچ کارگری آن را برندارد.
- کارهای خروجی در صف که به آن وابستهاند را لغو کنید.
- یک ورودی حسابرسی شامل عامل، دلیل و مهر زمانی بنویسید.
قواعد ثبت گزارش و رصدپذیری
| مقدار | ثبت آن بیخطر است؟ |
|---|---|
| توکن دسترسی | هرگز، حتی بخش ابتدایی آن |
| کد احراز دسترسی | هرگز |
| کلید محرمانهٔ اپلیکیشن یا توکن تأیید | هرگز |
| پارامتر state | هرگز |
| شناسهٔ مستأجر | بله |
| شناسهٔ دارایی ارائهدهنده | بله |
| شناسهٔ همبستگی | بله |
| نوع رویداد و نتیجه | بله |
- مقادیر شبیه به اعتبارنامه را در خود ثبتکنندهٔ گزارش پنهان کنید تا یک فراخوان بیدقت نتواند چیزی را افشا کند.
- هرگز توکن را به گزارش خطا، ردیابی کارایی یا رویداد تحلیلی پیوست نکنید.
- توکنها را در پیامهای استثنا قرار ندهید، زیرا این پیامها اغلب به ابزارهای پایش بیرونی میرسند.
- بهجای آن یک شناسهٔ همبستگی ثبت کنید و هنگام بررسی، آن را به ذخیرهسازی امن پیوند دهید.