اجرای تایید محافظت شده

ملاحظات

ملاحظات زیر باید برای اطمینان از یکپارچگی تأییدیه محافظت شده Android مورد توجه قرار گیرد. اگر نتوان به این ملاحظات به طور رضایت بخش پرداخت، تأیید محافظت شده را نمی توان در دستگاه اجرا کرد.

ملاحظات هسته لینوکس

Protected Confirmation طوری طراحی شده است که حتی اگر هسته دستگاه به خطر افتاده باشد، به طور ایمن عمل کند. در حالی که گفتگوی Protected Confirmation فعال است، هسته نمی تواند در یکپارچگی محتوای صفحه، یکپارچگی ورودی کاربر و اتمی بودن بین ورودی و خروجی کاربر تداخل ایجاد کند. از نظر معماری، هسته باید در وهله اول از تقویت تصمیم کاربر و جعل رویدادهای کاربر جلوگیری شود. هسته برای این مورد قابل اعتماد در نظر گرفته نمی شود، زیرا می تواند تحت کنترل یک مهاجم باشد یا با چیزی کاملاً متفاوت جایگزین شود.

ملاحظات سیستم عامل

تأیید محافظت شده تنها در صورتی می‌تواند روی دستگاهی اجرا شود که همه مؤلفه‌های درگیر دارای سیستم‌افزار قابل اعتماد باشند. تأیید محافظت شده برای اطمینان از اینکه کاربر فرصتی برای خواندن پیام نمایش داده شده در رابط کاربری معتمد برای تصمیم گیری آگاهانه در مورد ادامه یا عدم ادامه تراکنش طراحی شده است. درایور پنل نمایشگر به ویژه مهم است زیرا این امر می تواند مانع از مشاهده کاربر مورد اعتماد شود.

ملاحظات ورودی

یک روش ورودی امن را انتخاب کنید تا اطمینان حاصل کنید که رویدادهای ورودی ایجاد شده توسط این روش ورودی انتخابی به گفتگوی تأیید محافظت شده منتقل نمی شود، مگر اینکه کاربر رویداد را در حالی که آن گفتگو فعال است ایجاد کند.

سخت افزار فیزیکی

هر مؤلفه ای که می تواند توسط هسته اندروید کنترل شود، مانند سیستم روی تراشه (SoC) یا مدار مجتمع مدیریت توان (PMIC)، نباید بتواند سیم متصل به دکمه تأیید فیزیکی را هدایت کند.

ملاحظات کنترل کننده لمسی

Protected Confirmation می تواند از دکمه های نرم افزار روی صفحه به عنوان ورودی استفاده کند. هر زمان که کنترل کننده لمسی توسط TEE هدایت می شود، باید اقداماتی برای ضدعفونی کردن وضعیت کنترل کننده لمسی انجام شود.

رفتار مورد انتظار

وقفه ها

اگر سیستم جلسه تأیید را به دلیل تماس تلفنی دریافتی یا رویداد برق قطع کند، HAL باید ResponseCode::Aborted گزارش دهد. برنامه ها پاسخ تماس onCanceled() را دریافت می کنند و می دانند که کاربر اقدامی را انتخاب نکرده است. هشدارها نیازی به لغو جلسه ندارند، اما باید به کاربر اطلاع دهند. تا زمانی که گفتگو فعال است، پوشش اعلان از هر نوع مجاز نیست.

دوره مهلت ورودی

پس از اینکه Protected Confirmation شروع شد، ورودی باید حداقل 1 ثانیه غیرفعال بماند تا به تعامل کاربر پاسخ دهد. این مهلت تضمین می کند که کاربر فرصتی برای واکنش به گفتگوی تأیید غیرمنتظره دارد. این دوره مهلت باید توسط برنامه مورد اعتماد اجرا شود.

چرخش صفحه

پرتره تنها حالت اجباری است و چرخش صفحه پشتیبانی نمی‌شود. چرخش صفحه امکان سوء استفاده در یک سیستم در معرض خطر را فراهم می کند، مانند قرار دادن دکمه گمراه کننده یا دستکاری متن بدن.

اشکال در رندر متن متن

یک مرز سخت 6144 (0x1800) بایت برای متن اصلی شامل داده‌های نمایش داده نشده اضافی و اطلاعات هدر CBOR وجود دارد. علاوه بر این، یک مرز نرم وجود دارد که باید اجرا شود. اگر پیام ارائه شده به طور کامل در فضای صفحه نمایش موجود نیست، مطمئن شوید که تأیید محافظت شده لغو شده و تراکنش لغو شده است. اگر MessageSize از حداکثر اندازه مجاز بیشتر شود، پیاده سازی شما باید UIErrorMessageTooLong در promptUserConfirmation برگرداند.

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

نمایشگرهای ثانویه

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