اندروید 14
20 نوامبر 2023
2. انواع دستگاه
بازبینی را ببینید
اگر پیادهسازیهای دستگاه دستی از هر ABI 64 بیتی (با یا بدون هیچ ABI 32 بیتی) پشتیبانی میکنند:
بازبینی را ببینید
- [ 7.5 /H-1-13] اگر بیش از 1 دوربین RGB در پشت وجود دارد، باید از قابلیت
LOGICAL_MULTI_CAMERA
برای دوربین اصلی پشتی پشتیبانی کند.
- [ 7.5 /H-1-13] اگر بیش از 1 دوربین RGB در پشت وجود دارد، باید از قابلیت
بازبینی را ببینید
[ 5.8 /T-0-1] باید حالت خروجی HDMI را روی بالاترین وضوح برای فرمت انتخابی SDR یا HDR تنظیم کنید که با نرخ تازه سازی 50 هرتز یا 60 هرتز برای نمایشگر خارجی کار می کند.
باید حالت خروجی HDMI را برای انتخاب حداکثر وضوحی که میتواند با نرخ تازهسازی 50 هرتز یا 60 هرتز پشتیبانی کند، تنظیم کنید.
بازبینی را ببینید
- [9/W-0-1] باید
android.hardware.security.model.compatible feature
اعلام کند.
- [9/W-0-1] باید
6. سازگاری با ابزارها و گزینه های توسعه دهنده
بازبینی را ببینید
- [C-0-12] باید یک اتم
LMK_KILL_OCCURRED_FIELD_NUMBER
در
بازبینی را ببینید
- [C-0-13] برای نمایش باید فرمان پوسته
dumpsys gpu --gpuwork
را اجرا کند
- [C-0-12] باید یک اتم
9. سازگاری مدل امنیتی
بازبینی را ببینید
اگر پیادهسازیهای دستگاه از یک هسته لینوکس استفاده میکنند که قادر به پشتیبانی از SELinux است، آنها:
بازبینی را ببینید
اگر پیاده سازی های دستگاه از هسته ای غیر از لینوکس یا لینوکس بدون SELinux استفاده کنند، آنها:
4 اکتبر 2023
2. انواع دستگاه
بازبینی را ببینید
پیادهسازیهای دستگاه اندروید در صورتی که تمام معیارهای زیر را داشته باشند به عنوان دستی طبقهبندی میشوند:
- اندازه صفحه نمایش مورب فیزیکی در محدوده 4 اینچ
3.3 اینچ (یا 2.5 اینچ برای پیاده سازی دستگاهی که در سطح API 29 یا قبل از آن عرضه شده است)تا 8 اینچ داشته باشید.
الزامات جدید را شروع کنید
- یک رابط ورودی صفحه لمسی داشته باشید.
- اندازه صفحه نمایش مورب فیزیکی در محدوده 4 اینچ
بازبینی را ببینید
پیاده سازی دستگاه های دستی:
- [ 7.1 .1.1/H-0-1] باید حداقل یک
نمایشگر سازگار با Android داشته باشد که تمام الزامات توضیح داده شده در این سند را برآورده کند.صفحه نمایشی که حداقل 2.2 اینچ در لبه کوتاه و 3.4 اینچ در لبه بلند اندازه دارد.
اگر پیاده سازی های دستگاه دستی از چرخش صفحه نرم افزار پشتیبانی می کنند، آنها:
- [ 7.1 .1.1/H-1-1]* باید صفحه منطقی را که برای برنامه های شخص ثالث در دسترس است، حداقل 2 اینچ در لبه(های) کوتاه و 2.7 اینچ در لبه(های) بلند قرار دهد. دستگاههایی که در Android API سطح 29 یا قبل از آن ارسال شدهاند، ممکن است از این شرط مستثنی باشند.
اگر پیاده سازی های دستگاه دستی از چرخش صفحه نرم افزار پشتیبانی نمی کنند، آنها:
- [ 7.1 .1.1/H-2-1]* باید صفحه منطقی را که برای برنامه های شخص ثالث در دسترس است، حداقل 2.7 اینچ روی لبه(های) کوتاه قرار دهد. دستگاههایی که در Android API سطح 29 یا قبل از آن ارسال شدهاند، ممکن است از این شرط مستثنی باشند.
الزامات جدید را شروع کنید
[ 7.1 .1.1/H-0-3]* باید هر صفحه نمایش
UI_MODE_NORMAL
را که برای برنامه های شخص ثالث در دسترس است، در یک ناحیه نمایش فیزیکی بدون مانع که حداقل 2.2 اینچ در لبه کوتاه و 3.4 اینچ در لبه بلند است، نقشه برداری کند.[ 7.1 .1.3/H-0-1]* باید مقدار
DENSITY_DEVICE_STABLE
را 92% یا بیشتر از چگالی فیزیکی واقعی نمایشگر مربوطه تنظیم کند.
اگر پیادهسازیهای دستگاه دستی
android.hardware.audio.output
وandroid.hardware.microphone
را اعلام کنند، آنها:[ 5.6 /H-1-1] باید میانگین تأخیر رفت و برگشت پیوسته 300 میلی ثانیه یا کمتر در 5 اندازه گیری، با میانگین انحراف مطلق کمتر از 30 میلی ثانیه ، در مسیرهای داده زیر داشته باشد: "بلندگو به میکروفون"، 3.5 میلی متر آداپتور Loopback (در صورت پشتیبانی)، USB Loopback (در صورت پشتیبانی).
[ 5.6 /H-1-2] باید میانگین تأخیر ضربه به تن 300 میلی ثانیه یا کمتر در حداقل 5 اندازه گیری در مسیر داده بلندگو به میکروفون داشته باشد.
اگر پیادهسازیهای دستگاه دستی شامل حداقل یک محرک لمسی باشد، آنها:
- [ 7.10 /H]* نباید از محرک لمسی (ویبراتور) جرم دوار غیرعادی (ERM) استفاده کرد.
- [ 7.10 /H]* باید همه ثابتهای عمومی را برای لمسی واضح در android.view پیادهسازی کند.HapticFeedbackConstants، یعنی (CLOCK_TICK، CONTEXT_CLICK، KEYBOARD_PRESS، KEYBOARD_RELEASE، KEYBOARD_TAP، LONG_PRESS، TEXTTUALRE_KEY, V. تأیید، رد، GESTURE_START و GESTURE_END).
- [ 7.10 /H]* باید همه ثابتهای عمومی را برای لمسی واضح در android.os.VibrationEffect پیادهسازی کند، یعنی ( EFFECT_TICK ، EFFECT_CLICK، EFFECT_HEAVY_CLICK و EFFECT_DOUBLE_CLICK) و همه ثابتهای عمومی امکانپذیر (اسم
PRIMITIVE_*
CLICK، TICK، LOW_TICK، QUICK_FALL، QUICK_RISE، SLOW_RISE، SPIN، THUD). برخی از این موارد اولیه، مانند LOW_TICK و SPIN ممکن است تنها در صورتی امکان پذیر باشند که ویبراتور بتواند فرکانس های نسبتا پایین را پشتیبانی کند. - [7.10/H]* باید دستورالعمل نگاشت ثابت های عمومی در android.view.HapticFeedbackConstants به ثابت های توصیه شده android.os.VibrationEffect ، با روابط دامنه مربوطه را دنبال کنید.
- [ 7.10 /H]* باید ارزیابی کیفیت برای APIهای createOneShot() و createWaveform() را دنبال کند.
- [ 7.10 /H]* باید بررسی کند که نتیجه API عمومی android.os.Vibrator.hasAmplitudeControl() به درستی قابلیت های ویبراتور آنها را منعکس می کند.
- [ 7.10 /H]* باید محل قرارگیری محرک را در نزدیکی محلی قرار دهد که معمولاً دستگاه را با دست نگه داشته یا لمس میکند.
اگر پیادهسازیهای دستگاه دستی شامل حداقل یک محرک رزونانس خطی 7.10 باشد، آنها:
- [ 7.10 /H] باید محل قرارگیری محرک را در نزدیکی محلی قرار دهید که معمولاً دستگاه را با دست نگه داشته یا لمس میکنید.
- [ 7.10 /H] باید محرک لمسی را در محور X (چپ-راست) جهت
عمودیطبیعی دستگاه حرکت دهد.
اگر پیادهسازیهای دستگاه دستی دارای یک محرک لمسی با هدف عمومی باشند که محرک تشدید خطی محور X (LRA) است، آنها:
- [ 7.10 /H] باید فرکانس تشدید LRA محور X کمتر از 200 هرتز باشد.
- [ 7.1 .1.1/H-0-1] باید حداقل یک
بازبینی را ببینید
پیاده سازی دستگاه های دستی باید از فرمت های رمزگذاری ویدیوی زیر پشتیبانی کرده و آنها را برای برنامه های شخص ثالث در دسترس قرار دهند:
- [ 5.2 /H-0-3] AV1
پیاده سازی دستگاه های دستی باید از فرمت های رمزگشایی ویدیوی زیر پشتیبانی کرده و آنها را برای برنامه های شخص ثالث در دسترس قرار دهند:
- [ 5.3 /H-0-6] AV1
بازبینی را ببینید
اگر پیادهسازیهای دستگاه از جمله کلید ناوبری عملکرد اخیر که در بخش 7.2.3 توضیح داده شده است، رابط را تغییر دهد، آنها:
- [ 3.8 .3/H-1-1] باید رفتار پین کردن صفحه را اجرا کند و منوی تنظیمات را برای تغییر دادن ویژگی در اختیار کاربر قرار دهد.
اگر پیادهسازیهای دستگاه دستی شامل پشتیبانی از
ControlsProviderService
وControl
API باشد و به برنامههای شخص ثالث اجازه انتشار کنترلهای دستگاه را بدهد، آنها:- [ 3.8 .16/H-1-6] پیادهسازی دستگاه باید بهطور دقیق توانایی کاربر را به شرح زیر ارائه کند:
- اگر دستگاه
config_supportsMultiWindow=true
تنظیم کرده باشد و برنامه فوق دادهMETA_DATA_PANEL_ACTIVITY
را در اعلانControlsProviderService
، از جمله ComponentName یک فعالیت معتبر (همانطور که توسط API تعریف شده است) اعلام کند، برنامه باید فعالیت مذکور را در این کاربر تعبیه کند. - اگر برنامه فوق داده
META_DATA_PANEL_ACTIVITY
اعلام نکند، باید فیلدهای مشخص شده را همانطور که توسطControlsProviderService
API ارائه شده است و همچنین فیلدهای مشخص شده توسط Control API ارائه شود.
- اگر دستگاه
- [ 3.8 .16/H-1-7] اگر برنامه فوق داده را
META_DATA_PANEL_ACTIVITY
اعلام کند، باید مقدار تنظیم تعریف شده در [3.8.16/H-1-5] را با استفاده ازEXTRA_LOCKSCREEN_ALLOW_TRIVIAL_CONTROLS
هنگام راهاندازی فعالیت ارسال کند.
اگر پیادهسازیهای دستگاه به کاربران اجازه دهند هر نوع تماسی را برقرار کنند، آنها
- [ 7.4.1.2 /H-0-1] باید پرچم ویژگی را اعلام کند
android.software.telecom
. - [ 7.4.1.2 /H-0-2] باید چارچوب مخابراتی را پیاده سازی کند.
بازبینی را ببینید
پیاده سازی دستگاه های دستی:
- [ 8.5 /H-0-1] باید
در منوی تنظیمات، امکاناتی را برای کاربر فراهم کند تا همه برنامهها را با سرویسهای پیشزمینه فعال یا کارهای آغاز شده توسط کاربر، از جمله مدت زمان هر یک از این سرویسها از زمانی که شروع شده است، همانطور که در سند SDK توضیح داده شده است، مشاهده کند. .و توانایی متوقف کردن برنامهای که یک سرویس پیشزمینه یا یک کار آغاز شده توسط کاربر را اجرا میکند.با قابلیت توقف برنامهای که سرویس پیشزمینه را اجرا میکند و نمایش همه برنامههایی که سرویسهای پیشزمینه فعال دارند و مدت زمان هر یک از این سرویسها از زمانی که شروع به کار کرده است، همانطور که در سند SDK توضیح داده شده است.- ممکن است برخی از برنامهها از توقف یا فهرست شدن در چنین شرایطی که در سند SDK توضیح داده شده است معاف شوند.
- [ 8.5 /H-0-1] باید
- [ 8.5 /H-0-2]باید برای متوقف کردن برنامهای که یک سرویس پیشزمینه یا یک کار آغاز شده توسط کاربر را اجرا میکند، توانایی کاربر را فراهم کند.
بازبینی را ببینید
اگر پیادهسازیهای دستگاه از android.hardware.telephony
پشتیبانی میکنند، آنها:
- [ 9.5 /H-1-1] نباید
UserManager.isHeadlessSystemUserMode
را رویtrue
تنظیم کند.
اگر پیادهسازیهای دستگاه دارای صفحه قفل ایمن باشند و شامل یک یا چند نماینده اعتماد باشد که TrustAgentService
System API را پیادهسازی میکند، آنها:
- [ 9.11.1 /H-1-1] باید کاربر را برای یکی از روش های احراز هویت اولیه توصیه شده (مانند: پین، الگو، رمز عبور) بیشتر از یک بار در هر 72 ساعت به چالش بکشد.
اگر پیاده سازی های دستگاه دستی UserManager.isHeadlessSystemUserMode
را روی true
تنظیم کنند، آنها
اگر پیادهسازیهای دستگاه دستی از System API HotwordDetectionService
یا مکانیزم دیگری برای تشخیص کلمه کلیدی بدون علامت دسترسی میکروفون پشتیبانی میکنند، آنها:
- [9.8/H-1-1] باید مطمئن شود که سرویس تشخیص کلمه کلیدی فقط میتواند دادهها را به System،
ContentCaptureService
یا سرویس تشخیص گفتار روی دستگاه ایجاد شده توسطSpeechRecognizer#createOnDeviceSpeechRecognizer()
ارسال کند. - [9.8/H-1-6] نباید اجازه دهد بیش از 100 بایت داده (به استثنای جریان های صوتی) به خارج از سرویس تشخیص کلمه کلیدی در هر نتیجه موفق کلمه کلیدی منتقل شود.
- [9.8/H-1-15] باید اطمینان حاصل کند که جریان های صوتی ارائه شده در نتایج موفقیت آمیز کلمه کلیدی یک طرفه از سرویس تشخیص کلمه کلیدی به سرویس تعامل صوتی منتقل می شوند.
اگر پیادهسازیهای دستگاه شامل برنامهای باشد که از System API HotwordDetectionService
یا مکانیسمی مشابه برای تشخیص کلیدواژه بدون علامت استفاده از میکروفون استفاده میکند، برنامه:
- [9.8/H-2-3] نباید از سرویس تشخیص کلمه کلیدی، دادههای صوتی، دادههایی که میتوانند برای بازسازی (به طور کامل یا جزئی) صدا یا محتوای صوتی غیرمرتبط با خود کلمه کلیدی استفاده شوند، به جز
ContentCaptureService
یا سرویس تشخیص گفتار روی دستگاه
اگر پیادهسازیهای دستگاه دستی از System API VisualQueryDetectionService
یا مکانیزم دیگری برای تشخیص پرس و جو بدون علامت دسترسی میکروفون و/یا دوربین پشتیبانی میکنند، آنها:
- [9.8/H-3-1] باید مطمئن شود که سرویس تشخیص پرس و جو فقط می تواند داده ها را به سیستم یا
ContentCaptureService
یا سرویس تشخیص گفتار روی دستگاه (ایجاد شده توسطSpeechRecognizer#createOnDeviceSpeechRecognizer()
ارسال کند. - [9.8/H-3-2] نباید اجازه دهد هیچ گونه اطلاعات صوتی یا تصویری به خارج از
VisualQueryDetectionService
منتقل شود، مگر بهContentCaptureService
یا سرویس تشخیص گفتار روی دستگاه. - [9.8/H-3-3] هنگامی که دستگاه قصد کاربر را برای تعامل با برنامه دستیار دیجیتال (مثلاً با تشخیص حضور کاربر از طریق دوربین) تشخیص میدهد، باید یک اخطار کاربر را در رابط کاربری سیستم نمایش دهد.
- [9.8/H-3-4] باید یک نشانگر میکروفون نمایش داده شود و درخواست کاربر شناسایی شده را بلافاصله پس از شناسایی درخواست کاربر در UI نمایش دهد.
- [9.8/H-3-5] نباید به یک برنامه کاربردی قابل نصب توسط کاربر اجازه دهد تا سرویس تشخیص درخواست بصری را ارائه دهد.
بازبینی را ببینید
اگر پیادهسازیهای دستگاه دستی android.os.Build.VERSION_CODES.T
برای android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
برگردانند، آنگاه آنها:
- باید الزامات رسانه ذکر شده در بخش CDD 2.2.7.1 Android 13 را برآورده کند.
الزامات جدید را شروع کنید
اگر پیادهسازیهای دستگاه دستیandroid.os.Build.VERSION_CODES.U
برای android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
برگردانند، آنگاه آنها:- [5.1/H-1-1] باید حداکثر تعداد جلسات رمزگشای سخت افزاری سخت افزاری را که می تواند همزمان در هر ترکیب کدک اجرا شود، از طریق روش های
CodecCapabilities.getMaxSupportedInstances()
وVideoCapabilities.getSupportedPerformancePoints()
تبلیغ کند. - [5.1/H-1-2] باید از 6 نمونه از جلسات رمزگشای ویدیوی سخت افزاری 8 بیتی (SDR) (AVC، HEVC، VP9، AV1 یا جدیدتر) در هر ترکیب کدک که همزمان با 3 جلسه با وضوح 1080p@30 فریم بر ثانیه اجرا می شود، پشتیبانی کند. و 3 جلسه با وضوح 4k@30fps، مگر اینکه AV1. کدک های AV1 فقط برای پشتیبانی از وضوح 1080p مورد نیاز هستند، اما همچنان برای پشتیبانی از 6 نمونه با سرعت 1080p30fps مورد نیاز هستند.
- [5.1/H-1-3] باید حداکثر تعداد جلسات رمزگذاری سخت افزاری سخت افزاری را که می تواند به طور همزمان در هر ترکیب کدک اجرا شود، از طریق روش های
CodecCapabilities.getMaxSupportedInstances()
وVideoCapabilities.getSupportedPerformancePoints()
تبلیغ کند. - [5.1/H-1-4] باید از 6 نمونه از جلسات رمزگذار ویدیوی سخت افزاری 8 بیتی (SDR) (AVC، HEVC، VP9، AV1 یا جدیدتر) در هر ترکیب کدک که همزمان با 4 جلسه با وضوح 1080p@30 فریم بر ثانیه اجرا می شود، پشتیبانی کند. و 2 جلسه با وضوح 4k@30fps، مگر اینکه AV1. کدک های AV1 فقط برای پشتیبانی از وضوح 1080p مورد نیاز هستند، اما همچنان برای پشتیبانی از 6 نمونه با سرعت 1080p30fps مورد نیاز هستند.
- [5.1/H-1-5] باید حداکثر تعداد جلسات رمزگذار و رمزگشای سخت افزاری سخت افزاری را که می تواند همزمان در هر ترکیب کدک اجرا شود، از طریق روش های
CodecCapabilities.getMaxSupportedInstances()
وVideoCapabilities.getSupportedPerformancePoints()
تبلیغ کند. - [5.1/H-1-6] باید از 6 نمونه رمزگشای ویدیوی سخت افزاری 8 بیتی (SDR) و جلسات رمزگذار ویدیوی سخت افزاری (AVC، HEVC، VP9، AV1 یا جدیدتر) در هر ترکیب کدک که همزمان با 3 جلسه در 4K اجرا می شود، پشتیبانی کند. رزولوشن @30fps (مگر AV1)، که حداکثر 2 جلسه رمزگذار و 3 جلسه با وضوح 1080p است. کدک های AV1 فقط برای پشتیبانی از وضوح 1080p مورد نیاز هستند، اما همچنان برای پشتیبانی از 6 نمونه با سرعت 1080p30fps مورد نیاز هستند.
- [5.1/H-1-19] باید از 3 نمونه رسیور ویدیوی سخت افزاری 10 بیتی (HDR) و جلسات رمزگذار ویدیوی سخت افزاری (AVC، HEVC، VP9، AV1 یا جدیدتر) در هر ترکیب کدک که همزمان با وضوح 4K@30fps اجرا می شود، پشتیبانی کند. (مگر AV1) که حداکثر 1 جلسه رمزگذار است که می تواند در قالب ورودی RGBA_1010102 از طریق یک سطح GL پیکربندی شود. در صورت کدگذاری از سطح GL، تولید فراداده HDR توسط رمزگذار مورد نیاز نیست. جلسات کدک AV1 فقط برای پشتیبانی از وضوح 1080p مورد نیاز است، حتی زمانی که این نیاز به 4K نیاز دارد.
- [5.1/H-1-7] باید تأخیر اولیه کدک 40 میلی ثانیه یا کمتر برای یک جلسه کدگذاری ویدیویی 1080p یا کوچکتر برای همه رمزگذارهای ویدیوی سخت افزاری در هنگام بارگذاری داشته باشد. Load در اینجا به عنوان یک جلسه رمزگذاری همزمان ویدیویی 1080p تا 720p با استفاده از کدکهای ویدیویی سختافزاری همراه با مقداردهی اولیه ضبط صوتی-تصویری 1080p تعریف میشود. برای کدک Dolby Vision، تأخیر اولیه کدک باید 50 میلی ثانیه یا کمتر باشد.
- [5.1/H-1-8] باید تأخیر اولیه کدک 30 میلی ثانیه یا کمتر برای یک جلسه رمزگذاری صوتی 128 کیلوبیت بر ثانیه یا نرخ بیت پایین تر برای همه رمزگذارهای صوتی در هنگام بارگذاری داشته باشد. Load در اینجا به عنوان یک جلسه رمزگذاری همزمان ویدیویی 1080p تا 720p با استفاده از کدکهای ویدیویی سختافزاری همراه با مقداردهی اولیه ضبط صوتی-تصویری 1080p تعریف میشود.
- [5.1/H-1-9] باید از 2 نمونه از جلسات رمزگشای ویدیویی سخت افزاری ایمن (AVC، HEVC، VP9، AV1 یا جدیدتر) در هر ترکیب کدک که همزمان با وضوح 4k@30 فریم در ثانیه (مگر AV1) اجرا می شود، برای هر دو 8- پشتیبانی کند. محتوای بیت (SDR) و 10 بیت HDR. جلسات کدک AV1 فقط برای پشتیبانی از وضوح 1080p مورد نیاز است، حتی زمانی که این نیاز به 4K نیاز دارد.
- [5.1/H-1-10] باید از 3 نمونه از جلسات رمزگشای ویدیویی غیرایمن همراه با 1 نمونه از جلسه رمزگشای ویدیوی سخت افزاری ایمن (در مجموع 4 نمونه) (AVC، HEVC، VP9، AV1 یا جدیدتر) در هر کدک پشتیبانی کند. ترکیبی که همزمان با 3 جلسه با وضوح 4K@30 فریم در ثانیه (مگر اینکه AV1) اجرا می شود که شامل یک جلسه رمزگشای ایمن و 1 جلسه nn امن با وضوح 1080p@30fps است که حداکثر 2 جلسه می تواند در 10 بیت HDR باشد. جلسات کدک AV1 فقط برای پشتیبانی از وضوح 1080p مورد نیاز است، حتی زمانی که این نیاز به 4K نیاز دارد.
- [5.1/H-1-11] باید از رمزگشای ایمن برای هر رسیور سخت افزاری AVC، HEVC، VP9 یا AV1 روی دستگاه پشتیبانی کند.
- [5.1/H-1-12] باید تأخیر اولیه کدک 40 میلی ثانیه یا کمتر برای یک جلسه رمزگشایی ویدیوی 1080p یا کوچکتر برای همه رمزگشاهای ویدیوی سخت افزاری در هنگام بارگذاری داشته باشد. Load در اینجا به عنوان یک جلسه رمزگذاری همزمان ویدئویی 1080p تا 720p با استفاده از کدکهای ویدئویی سختافزاری همراه با مقداردهی اولیه پخش صوتی-تصویری 1080p تعریف میشود. برای کدک Dolby Vision، تأخیر اولیه کدک باید 50 میلی ثانیه یا کمتر باشد.
- [5.1/H-1-13] باید تأخیر اولیه کدک 30 میلی ثانیه یا کمتر برای جلسه رمزگشایی صوتی 128 کیلوبیت بر ثانیه یا نرخ بیت پایین تر برای همه رمزگشاهای صوتی در هنگام بارگذاری داشته باشد. Load در اینجا به عنوان یک جلسه رمزگذاری همزمان ویدئویی 1080p تا 720p با استفاده از کدکهای ویدئویی سختافزاری همراه با مقداردهی اولیه پخش صوتی-تصویری 1080p تعریف میشود.
- [5.1/H-1-14] باید از رمزگشای سخت افزاری AV1 اصلی 10، سطح 4.1 و دانه فیلم پشتیبانی کند.
- [5.1/H-1-15] باید حداقل 1 رمزگشای ویدیویی سخت افزاری داشته باشد که از 4K60 پشتیبانی می کند.
- [5.1/H-1-16] باید حداقل 1 رمزگذار ویدیوی سخت افزاری داشته باشد که از 4K60 پشتیبانی می کند.
- [5.3/H-1-1] نباید بیش از 1 فریم در 10 ثانیه رها کند (یعنی کمتر از 0.167 درصد افت فریم) برای یک جلسه ویدیویی 4K 60 فریم در ثانیه تحت بارگذاری.
- [5.3/H-1-2] نباید بیش از 1 فریم در 10 ثانیه در طول تغییر وضوح ویدیو در یک جلسه ویدیویی 60 فریم بر ثانیه تحت بارگیری برای یک جلسه 4K کاهش یابد.
- [5.6/H-1-1] باید با استفاده از تست ضربه به تن CTS Verifier تأخیر ضربه به تن 80 میلی ثانیه یا کمتر داشته باشد.
- [5.6/H-1-2] باید تأخیر صوتی رفت و برگشت 80 میلی ثانیه یا کمتر در حداقل یک مسیر داده پشتیبانی شده داشته باشد.
- [5.6/H-1-3] باید صدای >=24 بیتی را برای خروجی استریو بیش از جک های صوتی 3.5 میلی متری در صورت وجود و در صورت پشتیبانی از صدای USB از طریق کل مسیر داده برای تأخیر کم و پیکربندی های جریان پشتیبانی کند. برای پیکربندی تاخیر کم، AAaudio باید توسط برنامه در حالت پاسخ به تماس با تاخیر کم استفاده شود. برای پیکربندی استریم، برنامه باید از Java AudioTrack استفاده کند. در هر دو پیکربندی تاخیر کم و جریان، سینک خروجی HAL باید
AUDIO_FORMAT_PCM_24_BIT
،AUDIO_FORMAT_PCM_24_BIT_PACKED
،AUDIO_FORMAT_PCM_32_BIT
یاAUDIO_FORMAT_PCM_FLOAT
را بپذیرد. - [5.6/H-1-4] باید از دستگاه های صوتی USB 4 کانال پشتیبانی کند (این دستگاه توسط کنترلرهای DJ برای پیش نمایش آهنگ ها استفاده می شود.)
- [5.6/H-1-5] باید از دستگاه های MIDI سازگار با کلاس پشتیبانی کند و پرچم ویژگی MIDI را اعلام کند.
- [5.6/H-1-9] باید از اختلاط حداقل 12 کانال پشتیبانی کند. این به معنای قابلیت باز کردن یک AudioTrack با ماسک کانال 7.1.4 و فضایی سازی مناسب یا پایین میکس کردن همه کانال ها به استریو است.
- [5.6/H-SR] برای پشتیبانی از اختلاط 24 کانال با حداقل پشتیبانی از ماسک های 9.1.6 و 22.2 کانال اکیداً توصیه می شود.
- [5.7/H-1-2] باید
MediaDrm.SECURITY_LEVEL_HW_SECURE_ALL
با قابلیتهای رمزگشایی محتوای زیر پشتیبانی کند.
حداقل حجم نمونه | 4 مگابایت |
حداقل تعداد نمونه های فرعی - H264 یا HEVC | 32 |
حداقل تعداد نمونه های فرعی - VP9 | 9 |
حداقل تعداد نمونه فرعی - AV1 | 288 |
حداقل اندازه بافر نمونه فرعی | 1 مگابایت |
حداقل اندازه بافر رمزنگاری عمومی | 500 کیلو بایت |
حداقل تعداد جلسات همزمان | 30 |
حداقل تعداد کلید در هر جلسه | 20 |
حداقل تعداد کل کلیدها (همه جلسات) | 80 |
حداقل تعداد کل کلیدهای DRM (همه جلسات) | 6 |
اندازه پیام | 16 کیلو بایت |
فریم های رمزگشایی شده در ثانیه | 60 فریم بر ثانیه |
- [5.1/H-1-17] باید حداقل 1 رمزگشای تصویر سخت افزاری داشته باشد که از نمایه خط پایه AVIF پشتیبانی می کند.
- [5.1/H-1-18] باید از رمزگذار AV1 پشتیبانی کند که می تواند تا رزولوشن 480p با سرعت 30 فریم در ثانیه و 1 مگابیت بر ثانیه را رمزگذاری کند.
-
[5.12/H-1-1] MUST[5.12/H-SR] قویاً برای پشتیبانی از ویژگیFeature_HdrEditing
برای همه رمزگذارهای سخت افزاری AV1 و HEVC موجود در دستگاه توصیه می شود. - [5.12/H-1-2] باید از فرمت رنگی RGBA_1010102 برای همه رمزگذارهای سخت افزاری AV1 و HEVC موجود در دستگاه پشتیبانی کند.
- [5.12/H-1-3] برای نمونه برداری از بافت های YUV در 8 و 10 بیت، باید پشتیبانی از افزونه EXT_YUV_target را تبلیغ کند.
- [7.1.4/H-1-1] باید حداقل 6 پوشش سخت افزاری در واحد پردازش داده (DPU) Hardware Composer (HWC) داشته باشد، که حداقل 2 مورد از آنها قادر به نمایش محتوای ویدئویی 10 بیتی باشد.
اگر پیادهسازیهای دستگاه دستی android.os.Build.VERSION_CODES.U
برای android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
برگردانند و شامل پشتیبانی از رمزگذار AVC یا HEVC سختافزاری میشوند، آنگاه آنها:
- [5.2/H-2-1] باید حداقل هدف کیفیتی را که توسط منحنیهای نرخ-اعوجاج رمزگذار ویدیویی برای کدکهای AVC و HEVC سختافزاری تعریف شده است، مطابق با مستندات آتی برآورده کند.
بازبینی را ببینید
android.os.Build.VERSION_CODES.U
برای android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
برگردانند، آنگاه آنها:- [ 7.5 /H-1-1] باید دارای یک دوربین اصلی در پشت با وضوح حداقل 12 مگاپیکسل باشد که از فیلمبرداری با سرعت 4k@30fps پشتیبانی کند. دوربین اصلی جلو، دوربین پشتی است که کمترین شناسه دوربین را دارد.
- [ 7.5 /H-1-2] باید یک دوربین جلوی اصلی با وضوح حداقل 6 مگاپیکسل داشته باشد و از فیلمبرداری با سرعت 1080p@30fps پشتیبانی کند. دوربین جلوی اصلی، دوربین جلویی است که کمترین شناسه دوربین را دارد.
- [ 7.5 /H-1-3] باید از ویژگی
android.info.supportedHardwareLevel
به عنوان FULL یا بهتر برای هر دو دوربین اصلی پشتیبانی کند. - [ 7.5 /H-1-4] باید از
CameraMetadata.SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
برای هر دو دوربین اصلی پشتیبانی کند. - [ 7.5 /H-1-5] باید دارای تأخیر عکسبرداری JPEG camera2 کمتر از 1000
900میلی ثانیه برای وضوح 1080p باشد که توسط دوربین CTS PerformanceTest در شرایط نوری ITS (3000K) برای هر دو دوربین اصلی اندازه گیری شده است. - [ 7.5 /H-1-6] باید تاخیر راه اندازی camera2 (دوربین باز تا اولین فریم پیش نمایش) کمتر از 500 میلی ثانیه باشد که توسط دوربین CTS PerformanceTest در شرایط نور ITS (3000K) برای هر دو دوربین اصلی اندازه گیری شده است.
- [ 7.5 /H-1-8] باید
CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_RAW
وandroid.graphics.ImageFormat.RAW_SENSOR
را برای دوربین اصلی پشتی پشتیبانی کند. - [ 7.5 /H-1-9] باید یک دوربین اصلی در پشت داشته باشد که از 720p یا 1080p @ 240fps پشتیبانی کند.
- [ 7.5 /H-1-10] اگر یک دوربین RGB فوق عریض رو به یک جهت باشد، باید حداقل ZOOM_RATIO کمتر از 1.0 برای دوربین های اصلی داشته باشد.
- [ 7.5 /H-1-11] باید پخش همزمان از جلو در دوربین های اصلی را اجرا کند.
- [ 7.5 /H-1-12] باید
CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION
برای دوربین اصلی جلو و پشتی اصلی پشتیبانی کند. - [ 7.5 /H-1-13] در صورتی که بیش از 1 دوربین RGB در یک جهت باشد، باید از قابلیت
LOGICAL_MULTI_CAMERA
برای دوربین های اصلی پشتیبانی کند. - [ 7.5 /H-1-14] باید از قابلیت
STREAM_USE_CASE
هم برای دوربین اصلی جلو و هم برای دوربین اصلی پشتی پشتیبانی کند. - [ 7.5 /H-1-15] باید از برنامه های افزودنی حالت
بوکه وشب از طریق هر دو برنامه افزودنی CameraX و Camera2 برای دوربین های اصلی پشتیبانی کند. - [ 7.5 /H-1-16] باید از قابلیت DYNAMIC_RANGE_TEN_BIT برای دوربین های اصلی پشتیبانی کند.
- [ 7.5 /H-1-17] باید از CONTROL_SCENE_MODE_FACE_PRIORITY و تشخیص چهره ( STATISTICS_FACE_DETECT_MODE_SIMPLE یا STATISTICS_FACE_DETECT_MODE_FULL ) برای دوربین های اصلی پشتیبانی کند.
بازبینی را ببینید
android.os.Build.VERSION_CODES.U
برای android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
برگردانند، آنگاه آنها:- [7.1.1.1/H-2-1] باید وضوح صفحه حداقل 1080p داشته باشد.
- [7.1.1.3/H-2-1] باید چگالی صفحه حداقل 400 dpi داشته باشد.
- [7.1.1.3/H-3-1] باید دارای نمایشگر HDR باشد که حداقل 1000 نیت متوسط را پشتیبانی کند.
- [7.6.1/H-2-1] باید حداقل 8 گیگابایت حافظه فیزیکی داشته باشد.
بازبینی را ببینید
android.os.Build.VERSION_CODES.U
برای android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS
برگردانند، آنگاه آنها:- [8.2/H-1-1] باید از عملکرد نوشتن متوالی حداقل 150 مگابایت بر ثانیه اطمینان حاصل کند.
- [8.2/H-1-2] باید از عملکرد نوشتن تصادفی حداقل 10 مگابایت بر ثانیه اطمینان حاصل کند.
- [8.2/H-1-3] باید عملکرد خواندن متوالی حداقل 250 مگابایت بر ثانیه را تضمین کند.
- [8.2/H-1-4] باید عملکرد خواندن تصادفی حداقل 100 مگابایت بر ثانیه را تضمین کند.
- [8.2/H-1-5] باید از عملکرد خواندن و نوشتن متوالی موازی با عملکرد خواندن 2x و نوشتن 1x حداقل 50 مگابایت بر ثانیه اطمینان حاصل کند.
بازبینی را ببینید
پیاده سازی دستگاه های تلویزیونی باید از فرمت های رمزگذاری ویدیوی زیر پشتیبانی کند و آنها را برای برنامه های شخص ثالث در دسترس قرار دهد:
- [ 5.2 /T-0-3] AV1
پیاده سازی دستگاه های تلویزیونی باید از فرمت های رمزگشایی ویدیوی زیر پشتیبانی کند و آنها را برای برنامه های شخص ثالث در دسترس قرار دهد:
- [ 5.3.2 /T-0-7] AV1
بازبینی را ببینید
اگر پیادهسازیهای دستگاه دارای صفحه قفل ایمن باشند و شامل یک یا چند نماینده اعتماد باشد که TrustAgentService
System API را پیادهسازی میکند، آنها:
- [ 9.11.1 /W-1-1] باید کاربر را برای یکی از روشهای احراز هویت اولیه توصیه شده (به عنوان مثال: پین، الگو، رمز عبور) بیشتر از یک بار در هر 72 ساعت به چالش بکشد.
بازبینی را ببینید
اگر پیاده سازی دستگاه شامل پشتیبانی از رادیو پخش AM/FM باشد و عملکرد را در معرض هر برنامه ای قرار دهد، آنها:
- [ 7.4
.10/A-0-1] باید پشتیبانی ازFEATURE_BROADCAST_RADIO
را اعلام کند.
دوربین نمای خارجی دوربینی است که صحنه های خارج از اجرای دستگاه مانند دوربین دید عقب را تصویر می کند.
پیاده سازی دستگاه خودرو:
- باید شامل یک یا چند دوربین نمای خارجی باشد.
اگر پیاده سازی های دستگاه خودرو شامل یک دوربین نمای خارجی باشد، برای چنین دوربینی، آنها:
- [ 7.5 /A-1-1] نباید دوربینهای نمای خارجی قابل دسترسی از طریق APIهای دوربین Android داشته باشند، مگر اینکه با الزامات اصلی دوربین مطابقت داشته باشند.
- [ 7.5 /A-SR-1] اکیداً توصیه می شود پیش نمایش دوربین را نچرخانید یا به صورت افقی بازتاب نکنید.
- [ 7.5 /A-SR-2] اکیداً داشتن وضوح حداقل 1.3 مگاپیکسل توصیه می شود.
- باید دارای سخت افزار با فوکوس ثابت یا EDOF (عمق میدان گسترده) باشد.
- ممکن است فوکوس خودکار سخت افزاری یا فوکوس خودکار نرم افزاری در درایور دوربین پیاده سازی شده باشد.
اگر پیادهسازیهای دستگاه خودرو شامل یک یا چند دوربین نمای خارجی باشد و سرویس سیستم نمای خارجی (EVS) را بارگیری کند، برای چنین دوربینی، آنها:
- [ 7.5 /A-2-1] نباید پیش نمایش دوربین را بچرخاند یا به صورت افقی منعکس کند.
پیاده سازی دستگاه خودرو:
- ممکن است شامل یک یا چند دوربین باشد که برای برنامه های شخص ثالث در دسترس است.
اگر پیاده سازی دستگاه های خودرو شامل حداقل یک دوربین باشد و آن را برای برنامه های شخص ثالث در دسترس قرار دهد، آنها:
- [ 7.5 /A-3-1] باید پرچم ویژگی
android.hardware.camera.any
را گزارش کند. - [ 7.5 /A-3-2] نباید دوربین را به عنوان دوربین سیستمی اعلام کند.
- ممکن است از دوربین های خارجی توضیح داده شده در بخش 7.5.3 پشتیبانی کند.
- ممکن است شامل ویژگیهایی (مانند فوکوس خودکار و غیره) باشد که برای دوربینهای عقب موجود است که در بخش 7.5.1 توضیح داده شده است.
دوربین رو به عقب به معنای دوربین رو به جهان است که می تواند در هر مکانی از وسیله نقلیه و رو به خارج از کابین خودرو قرار گیرد. یعنی صحنه هایی را در سمت دور بدنه خودرو تصویر می کند، مانند دوربین دید عقب.
دوربین جلو به معنای دوربین رو به روی کاربر است که می تواند در هر مکانی از وسیله نقلیه و رو به داخل کابین خودرو قرار گیرد. یعنی از کاربر تصویر میگیرد، مانند ویدئو کنفرانس و برنامههای مشابه.
پیاده سازی دستگاه خودرو:
- [7.5/A-SR-1] اکیداً توصیه میشود که شامل یک یا چند دوربین جهانی باشد.
- ممکن است شامل یک یا چند دوربین رو به روی کاربر باشد.
- [7.5/A-SR-2] برای پشتیبانی از جریان همزمان چند دوربین به شدت توصیه می شود.
اگر پیادهسازیهای دستگاه خودرو شامل حداقل یک دوربین باشد که رو به جهان است، برای چنین دوربینی، آنها:
- [7.5/A-1-1] باید به گونه ای جهت گیری شود که بعد طولانی دوربین با صفحه XY محورهای حسگر خودروی اندرویدی همسو شود.
- [7.5/A-SR-3] به شدت توصیه می شود که دارای سخت افزار با فوکوس ثابت یا EDOF (عمق میدان گسترده) باشند.
- [7.5/A-1-2] باید دوربین اصلی جهان را به عنوان دوربین جهانی با کمترین شناسه دوربین داشته باشد.
اگر پیادهسازیهای دستگاه خودرو شامل حداقل یک دوربین باشد که رو به روی کاربر باشد، برای چنین دوربینی:
- [7.5/A-2-1] دوربین اصلی رو به روی کاربر باید دوربین رو به روی کاربر با کمترین شناسه دوربین باشد.
- ممکن است به گونهای جهتگیری شود که بعد طولانی دوربین با صفحه XY محورهای حسگر خودرو اندرویدی همسو شود.
اگر پیادهسازیهای دستگاه Automotive شامل دوربینی باشد که از طریق android.hardware.Camera
یا android.hardware.camera2
API قابل دسترسی است، آنها:
- [7.5/A-3-1] باید با الزامات اصلی دوربین در بخش 7.5 مطابقت داشته باشد.
اگر پیادهسازیهای دستگاه Automotive شامل دوربینی باشد که از طریق android.hardware.Camera
یا android.hardware.camera2
API قابل دسترسی نیست، آنها:
- [7.5/A-4-1] باید از طریق سرویس Extended View System قابل دسترسی باشد.
اگر پیادهسازیهای دستگاه خودرو شامل یک یا چند دوربین قابل دسترسی از طریق سرویس سیستم نمایش گسترده باشد، برای چنین دوربینی، آنها:
- [7.5/A-5-1] نباید پیشنمایش دوربین را بچرخاند یا به صورت افقی منعکس کند.
- [7.5/A-SR-4] به شدت توصیه می شود که دارای وضوح حداقل 1.3 مگاپیکسل باشند.
اگر پیادهسازیهای دستگاه خودرو شامل یک یا چند دوربین باشد که از طریق سرویس سیستم نمای توسعه یافته و android.hardware.Camera
یا android.hardware.Camera2
API قابل دسترسی هستند، برای چنین دوربینی، آنها:
- [7.5/A-6-1] باید همان شناسه دوربین را گزارش کند.
اگر پیادهسازیهای دستگاه Automotive یک API دوربین اختصاصی ارائه کنند، آنها:
- [7.5/A-7-1] باید چنین API دوربینی را با استفاده از
android.hardware.camera2
API یا Extended View System API پیاده سازی کند.
بازبینی را ببینید
پیاده سازی دستگاه خودرو:
- [ 3.8 /A-0-1] نباید به کاربران ثانویه کامل که کاربر پیش زمینه کنونی نیستند اجازه دهد فعالیت ها را راه اندازی کنند و به UI در هر نمایشگر دسترسی داشته باشند.
بازبینی را ببینید
اگر پیادهسازیهای دستگاه Automotive android.hardware.microphone
را اعلام کنند، آنها:
- [ 9.8.2 /A-1-1] باید نشانگر میکروفن را هنگامی که یک برنامه از میکروفون به داده های صوتی دسترسی دارد نشان دهد، اما نه زمانی که میکروفون فقط توسط
HotwordDetectionService
،SOURCE_HOTWORD
،ContentCaptureService
یا برنامه هایی که نقش های فراخوانده شده در بخش را نگه می دارند، قابل دسترسی است. 9.1 با شناسه CDD [C-4-X]. - [ 9.8.2 /A-1-2] نباید نشانگر میکروفون را برای برنامه های سیستمی که دارای رابط کاربری قابل مشاهده یا تعامل مستقیم با کاربر هستند، پنهان کند.
- [ 9.8.2 /A-1-3] باید امکان تغییر میکروفون را در برنامه تنظیمات برای کاربر فراهم کند.
اگر پیادهسازیهای دستگاه Automotive android.hardware.camera.any
را اعلام کنند، آنها:
- [ 9.8.2 /A-2-1] باید نشانگر دوربین را هنگامی که یک برنامه به داده های دوربین زنده دسترسی دارد نشان دهد، اما نه زمانی که دوربین فقط توسط برنامه(هایی) که نقش های تعریف شده در بخش 9.1 مجوزها را نگه می دارند، به دوربین دسترسی
پیدا می کند. با شناسه CDD [C-4-X][C-3-X].
اگر پیادهسازیهای دستگاه دارای صفحه قفل ایمن باشند و شامل یک یا چند نماینده اعتماد باشد که TrustAgentService
System API را پیادهسازی میکند، آنها:
- [ 9.11.1 /A-1-1] باید کاربر را برای یکی از روشهای احراز هویت اولیه توصیه شده (مانند پین، الگو، رمز عبور) بیشتر از یک بار در هر 336 ساعت به چالش بکشد.
3. نرم افزار
بازبینی را ببینید
پیاده سازی دستگاه:
- [C-0-8] نباید از نصب برنامه هایی که سطح API کمتر از 23 را هدف قرار می دهند، پشتیبانی کند.
بازبینی را ببینید
اگر پیادهسازیهای دستگاه
android.hardware.nfc.uicc
یاandroid.hardware.nfc.ese
را گزارش کنند، آنها:- [C-19-1] باید NfcAdapter.ACTION_TRANSACTION_DETECTED Intent API (به عنوان "EVT_TRANSACTION" تعریف شده توسط مشخصات فنی انجمن GSM TS.26 - NFC Handset Requirements) را اجرا کند.
3.3.1. رابط های باینری برنامه :
بازبینی را ببینید
پیاده سازی دستگاه:
- [C-0-12] باید نمادهای تابع را برای نمادهای تابع اصلی
Vulkan 1.0Vulkan 1.1 ، و همچنینVK_KHR_surface
،VK_KHR_android_surface
،VK_KHR_swapchain
، VK_KHR_maintenance1، وVK_KHR_maintenance1
، وVK_KHR_get_physical_device_properties2
، وlibvulkan.so
. توجه داشته باشید که در حالی که همه نمادها باید وجود داشته باشند، بخش 7.1.4.2 با جزئیات بیشتری شرایط مورد نیاز برای اجرای کامل هر یک از عملکردهای مربوطه را توضیح می دهد.
- [C-0-12] باید نمادهای تابع را برای نمادهای تابع اصلی
بازبینی را ببینید
اگر پیاده سازی های دستگاه شامل یک صفحه نمایش یا خروجی ویدیو باشد، آنها:
- [C-1-5] باید پالتهای رنگی پویا را با استفاده از سبکهای تم رنگی که در
Settings.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
برشمرده شدهاند تولید کند. اسناد THEME_CUSTOMIZATION_OVERLAY_PACKAGES (بهandroid.theme.customization.theme_styles
مراجعهEXPRESSIVE
)، یعنیTONAL_SPOT
،VIBRANT
،SPRITZ
،RAINBOW
،MONOCHROMATIC
FRUIT_SALAD
. تک رنگ .
- [C-1-5] باید پالتهای رنگی پویا را با استفاده از سبکهای تم رنگی که در
بازبینی را ببینید
اگر پیادهسازیهای دستگاه از جمله کلید ناوبری عملکرد اخیر که در بخش 7.2.3 توضیح داده شده است، رابط را تغییر دهد، آنها:
- [C-1-2] باید رفتار پین کردن صفحه را اجرا کند و منوی تنظیمات را برای تغییر دادن ویژگی در اختیار کاربر قرار دهد.
3.9.2 پشتیبانی از نمایه مدیریت شده :
بازبینی را ببینید
اگر پیاده سازی های دستگاه
android.software.managed_users
را اعلام کنند، آنها:- [C-1-10] باید اطمینان حاصل کند که وقتی یک اسکرین شات با یک پنجره
topActivity
گرفته میشود که فوکوس دارد (پنجرهای که کاربر در بین تمام فعالیتها با آن تعامل داشته است) و متعلق به یک نمایه کاری است، باید اطمینان حاصل کند که دادههای اسکرینشات در فضای ذخیرهسازی نمایه کاری ذخیره میشوند. برنامه - [C-1-11] نباید هیچ محتوای دیگری از صفحه نمایش (نوار سیستم، اعلانها یا هر محتوای نمایه شخصی) به جز پنجره/پنجره برنامه نمایه کاری هنگام ذخیره اسکرین شات در نمایه کاری (برای اطمینان از اینکه دادههای نمایه شخصی ذخیره میشوند) گرفته شود. در نمایه کاری ذخیره نشده است).
- [C-1-10] باید اطمینان حاصل کند که وقتی یک اسکرین شات با یک پنجره
3.9.5 Device Policy Resolution Framework : بخش جدید
بازبینی را ببینید
اگر پیادهسازیهای دستگاه
android.software.device_admin
یاandroid.software.managed_users
را گزارش کنند، آنها:- [C-1-1] باید تضادهای خط مشی دستگاه را همانطور که در اسناد AOSP مستند شده است حل کند.
5. سازگاری چند رسانه ای
بازبینی را ببینید
پیاده سازی های دستگاه باید از رمزگذاری رمزگذاری تصویر زیر پشتیبانی کنند:
- [C-0-4] AVIF
- دستگاهها باید از
BITRATE_MODE_CQ
و نمایه خط پایه پشتیبانی کنند.
- دستگاهها باید از
- [C-0-4] AVIF
بازبینی را ببینید
پیاده سازی دستگاه باید از رمزگشایی رمزگذاری تصویر زیر پشتیبانی کند:
[C-0-7] AVIF (نمایه پایه)
بازبینی را ببینید
قالب / کدک جزئیات پشتیبانی از انواع فایل/فرمت های کانتینر JPEG پایه + پیشرو JPEG (jpg.) GIF GIF (.gif) PNG PNG (png.) BMP BMP (.bmp) وب پی WebP (webp.) خام ARW (.arw)، CR2 (.cr2)، DNG (.dng)، NEF (.nef)، NRW (.nrw)، ORF (.orf)، PEF (.pef)، RAF (.raf)، RW2 ( .rw2)، SRW (srw.) HEIF تصویر، مجموعه تصویر، توالی تصویر HEIF (.heif)، HEIC (.heic) AVIF (نمایه پایه) تصویر، مجموعه تصویر، توالی تصویر نمایه خط پایه ظرف HEIF (avif.) بازبینی را ببینید
قالب / کدک جزئیات انواع فایل/فرمت های کانتینر که باید پشتیبانی شوند H.263 - 3GPP (.3gp)
- MPEG-4 (mp4.)
- Matroska (mkv.، فقط رمزگشایی)
H.264 AVC برای جزئیات بیشتر به بخش 5.2 و 5.3 مراجعه کنید - 3GPP (.3gp)
- MPEG-4 (mp4.)
- MPEG-2 TS (.ts، قابل جستجو نیست)
- Matroska (mkv.، فقط رمزگشایی)
H.265 HEVC برای جزئیات بیشتر به بخش 5.3 مراجعه کنید - MPEG-4 (mp4.)
- Matroska (mkv.، فقط رمزگشایی)
MPEG-2 نمایه اصلی - MPEG2-TS (.ts، قابل جستجو نیست)
- MPEG-4 (mp4، فقط رمزگشایی)
- Matroska (mkv.، فقط رمزگشایی)
MPEG-4 SP - 3GPP (.3gp)
- MPEG-4 (mp4.)
- Matroska (mkv.، فقط رمزگشایی)
VP8 برای جزئیات بیشتر به بخش 5.2 و 5.3 مراجعه کنید - WebM (.webm)
- Matroska (.mkv)
VP9 برای جزئیات بیشتر به بخش 5.3 مراجعه کنید - WebM (.webm)
- Matroska (.mkv)
AV1 برای جزئیات بیشتر به بخش 5.2 و بخش 5.3 مراجعه کنید - MPEG-4 (mp4.)
- Matroska (mkv.، فقط رمزگشایی)
بازبینی را ببینید
اگر پیاده سازی های دستگاه از کدک های ویدیویی پشتیبانی می کنند:
- [C-2-1] همه کدکهای ویدیویی باید در صورت پشتیبانی کدک، دادههای نرخ فریم قابل دستیابی را برای اندازههای زیر منتشر کنند:
SD (کیفیت پایین) SD (کیفیت بالا) HD 720p HD 1080p UHD کیفیت ویدیو - 176 x 144 پیکسل (H263، MPEG2، MPEG4)
- 352 x 288 پیکسل (رمزگذار MPEG4، H263، MPEG2)
- 320 × 180 پیکسل (VP8، VP8)
- 320 x 240 پیکسل (سایر)
- 704 x 576 پیکسل (H263)
- 640 x 360 پیکسل (VP8، VP9)
- 640 x 480 پیکسل (رمزگذار MPEG4)
- 720 x 480 پیکسل (سایر، AV1 )
- 1408 x 1152 پیکسل (H263)
- 1280 x 720 پیکسل (سایر، AV1 )
1920 x 1080 پیکسل (به غیر از MPEG4، AV1 ) 3840 x 2160 پیکسل (HEVC، VP9، AV1 ) بازبینی را ببینید
اگر پیادهسازیهای دستگاه از هر رمزگذار ویدیویی پشتیبانی میکنند و آن را برای برنامههای شخص ثالث در دسترس قرار میدهند، آنها:- بیش از دو پنجره کشویی نباید بیش از 15 درصد از نرخ بیت بین فواصل درون فریم (I-frame) باشد.
- نباید بیش از 100٪ بیش از نرخ بیت در یک پنجره کشویی 1 ثانیه باشد.
اگر پیادهسازیهای دستگاه از هر رمزگذار ویدیویی پشتیبانی میکنند و آن را برای برنامههای شخص ثالث در دسترس قرار میدهند، و تنظیم کنید
MediaFormat.KEY_BITRATE_MODE
بهBITRATE_MODE_VBR
به طوری که رمزگذار در حالت نرخ بیت متغیر کار می کند، سپس، تا زمانی که روی حداقل کف کیفیت تاثیری نداشته باشد، نرخ بیت کدگذاری شده:-
[C-5-1] نباید، بیش از یک پنجره کشویی، بیش از 15٪ بیش از نرخ بیت بین فواصل درون فریم (I-frame) باشد. -
[C-5-2] نبایدبیش از 100٪ بیش از نرخ بیت در یک پنجره کشویی 1 ثانیه باشد.
اگر پیادهسازیهای دستگاه از هر رمزگذار ویدیویی پشتیبانی میکنند و آن را برای برنامههای شخص ثالث در دسترس قرار میدهند و
MediaFormat.KEY_BITRATE_MODE
را رویBITRATE_MODE_CBR
تنظیم میکنند تا رمزگذار در حالت بیتتریت ثابت کار کند، نرخ بیت کدگذاریشده:-
[C-6-1] MUST[C-SR-2] اکیداً توصیه می شود که بیش از 15٪ بیش از نرخ بیت هدف در یک پنجره کشویی 1 ثانیه ای نباشد.
بازبینی را ببینید
اگر پیادهسازیهای دستگاه از رمزگذارهای H.263 پشتیبانی میکنند و آن را برای برنامههای شخص ثالث در دسترس قرار میدهند، آنها:
- [C-1-1] باید وضوح QCIF (176 x 144) را با استفاده از سطح نمایه پایه 45 پشتیبانی کند . وضوح SQCIF اختیاری است.
-
باید از نرخ بیت قابل تنظیم پویا برای رمزگذار پشتیبانی شده پشتیبانی کند.
بازبینی را ببینید
اگر پیاده سازی های دستگاه از کدک H.265 پشتیبانی می کنند، آنها:
- [C-1-1] باید از نمایه اصلی سطح 3 تا رزولوشن 512×512 پشتیبانی کند.
-
همانطور که در جدول زیر نشان داده شده است، باید از پروفایل های کدگذاری HD پشتیبانی کند. - [C-SR-1] برای پشتیبانی از نمایه 720 x 480 SD و نمایه های کدگذاری HD همانطور که در جدول زیر نشان داده شده است، در صورت وجود رمزگذار سخت افزاری، قویاً توصیه می شود.
5.2.6. AV1 : بخش جدید
بازبینی را ببینید
اگر پیاده سازی های دستگاه از کدک AV1 پشتیبانی می کنند، آنها:
- [C-1-1] باید از نمایه اصلی شامل محتوای 8 بیتی و 10 بیتی پشتیبانی کند.
[C-1-2] باید دادههای عملکرد را منتشر کند، یعنی دادههای عملکرد را از طریق
getSupportedFrameRatesFor()
یاgetSupportedPerformancePoints()
API برای وضوحهای پشتیبانی شده در جدول زیر گزارش کند.[C-1-3] باید ابرداده HDR را بپذیرد و آن را به جریان بیت ارسال کند
اگر رمزگذار AV1 شتاب سختافزاری دارد، آنگاه:
- [C-2-1] باید تا و شامل پروفایل رمزگذاری HD1080p از جدول زیر پشتیبانی کند:
SD HD 720p HD 1080p UHD کیفیت ویدیو 720 x 480 پیکسل 1280 x 720 پیکسل 1920 x 1080 پیکسل 3840 x 2160 پیکسل نرخ فریم ویدیو 30 فریم بر ثانیه 30 فریم بر ثانیه 30 فریم بر ثانیه 30 فریم بر ثانیه میزان بیت ویدیو 5 مگابیت بر ثانیه 8 مگابیت بر ثانیه 16 مگابیت بر ثانیه 50 مگابیت بر ثانیه بازبینی را ببینید
اگر پیاده سازی های دستگاه از رمزگشاهای H.263 پشتیبانی می کنند، آنها:
- [C-1-1] باید از نمایه پایه سطح 30 (رزولوشن های CIF، QCIF و SQCIF @ 30fps 384kbps) و سطح 45 (قطعات QCIF و SQCIF @ 30fps 128kbps) پشتیبانی کند.
بازبینی را ببینید
اگر پیاده سازی های دستگاه از کدک AV1 پشتیبانی می کنند، آنها:- [C-1-1] باید نمایه 0 شامل محتوای 10 بیتی را پشتیبانی کند.
اگر پیادهسازیهای دستگاه از کدک AV1 پشتیبانی میکنند و آن را برای برنامههای شخص ثالث در دسترس قرار میدهند، آنها:
- [C-1-1] باید از نمایه اصلی شامل محتوای 8 بیتی و 10 بیتی پشتیبانی کند.
اگر پیادهسازیهای دستگاه از کدک AV1 با رمزگشای شتابدهنده سختافزاری پشتیبانی میکنند، آنها:
- [C-2-1] زمانی که ارتفاع گزارش شده توسط متد
Display.getSupportedModes()
برابر یا بیشتر از 720p باشد، باید بتواند حداقل پروفایل های رمزگشایی ویدیوی HD 720p را از جدول زیر رمزگشایی کند. - [C-2-2] زمانی که ارتفاع گزارش شده توسط متد
Display.getSupportedModes()
برابر یا بیشتر از 1080p باشد، باید بتواند حداقل پروفایل های رمزگشایی ویدیوی HD 1080p را از جدول زیر رمزگشایی کند.
SD HD 720p HD 1080p UHD کیفیت ویدیو 720 x 480 پیکسل 1280 x 720 پیکسل 1920 x 1080 پیکسل 3840 x 2160 پیکسل نرخ فریم ویدیو 30 فریم بر ثانیه 30 فریم بر ثانیه 30 فریم بر ثانیه 30 فریم بر ثانیه میزان بیت ویدیو 5 مگابیت بر ثانیه 8 مگابیت بر ثانیه 16 مگابیت بر ثانیه 50 مگابیت بر ثانیه اگر پیادهسازیهای دستگاه از نمایه HDR از طریق APIهای رسانه پشتیبانی میکنند، آنها:
- [C-3-1] باید از استخراج و خروجی ابرداده HDR از جریان بیت و/یا ظرف پشتیبانی کند.
- [C-3-2] باید به درستی محتوای HDR را روی صفحه دستگاه یا در یک درگاه خروجی ویدیوی استاندارد (مثلاً HDMI) نمایش دهد.
بازبینی را ببینید
اگر پیاده سازی های دستگاه
android.hardware.microphone
را اعلام کنند، آنها:- باید حساسیت ورودی صدا را به گونهای تنظیم کرد که منبع صدای سینوسی 1000 هرتز در سطح فشار صدا 90 دسیبل (SPL) (اندازهگیری شده
در فاصله 30 سانتیمتری ازکنار میکروفون) پخش میشود، پاسخ ایدهآل RMS 2500 را در محدوده 1770 و 3530 برای نمونه های 16 بیتی (یا -22.35-db ±3dB مقیاس کامل برای نمونه های ممیز شناور/نمونه های دقیق دو برابر) برای هر میکروفونی که برای ضبط منبع صوتی تشخیص صدا استفاده می شود.
- باید حساسیت ورودی صدا را به گونهای تنظیم کرد که منبع صدای سینوسی 1000 هرتز در سطح فشار صدا 90 دسیبل (SPL) (اندازهگیری شده
بازبینی را ببینید
اگر پیاده سازی های دستگاه ویژگی
android.hardware.audio.output
را اعلام کنند، آنها:- [C-1-4] باید جلوه های صوتی را با ورودی و خروجی ممیز شناور پشتیبانی کند.
- [C-1-5] باید مطمئن شوید که جلوههای صوتی از چندین کانال تا تعداد کانال میکسر که FCC_LIMIT نیز نامیده میشود، پشتیبانی میکند.
بازبینی را ببینید
اگر پیادهسازیهای دستگاه
android.hardware.audio.output
را اعلام کنند، اکیداً توصیه میشود شرایط زیر را برآورده کنند یا از آن فراتر روند:- [C-SR-4] مهر زمانی خروجی که توسط AudioTrack.getTimestamp و
AAudioStream_getTimestamp
برگردانده می شود، دقت +/- 1 میلی ثانیه دارد.
- [C-SR-4] تأخیرهای رفت و برگشت محاسبه شده بر اساس مُهرهای زمانی ورودی و خروجی برگردانده شده توسط
AAudioStream_getTimestamp
اکیداً توصیه میشود در 30 میلیثانیه از تأخیر رفت و برگشت اندازهگیریشده برایAAUDIO_PERFORMANCE_MODE_NONE
وAAUDIO_PERFORMANCE_MODE_LOW_LATENCY
، و بلندگوهای بیسیم، AAUDIOMELODEY، AAUDIOTE_DEY، و AAUDIOTE_PERSET در 30 میلیثانیه باشد.
- [C-SR-4] مهر زمانی خروجی که توسط AudioTrack.getTimestamp و
7. سازگاری سخت افزار
بازبینی را ببینید
Android شامل امکاناتی است که بهطور خودکار داراییهای برنامه و طرحبندیهای رابط کاربری را بهطور مناسب برای دستگاه تنظیم میکند تا اطمینان حاصل شود که برنامههای شخص ثالث به خوبی روی
انواع پیکربندیهای سختافزاری اجرا میشوند.انواع نمایشگرها و تنظیمات سخت افزاری نمایشگر سازگار با Android، صفحه نمایشی است که تمام رفتارها و APIهای شرح داده شده در Android Developers - Screen Compatibility Overview , این بخش (7.1) و زیربخش های آن و همچنین هر نوع رفتار خاص دستگاه اضافی مستند شده در بخش 2 را اجرا می کند. این CDDدر نمایشگر(های) سازگار با Android که در آن همه برنامه های سازگار با Android شخص ثالث می توانند اجرا شوند، پیاده سازی های دستگاه باید به درستی این API ها و رفتارها را که در این بخش توضیح داده شده است، اجرا کنند.الزامات جدید را شروع کنید
پیاده سازی دستگاه:
- [C-0-1] به طور پیشفرض باید برنامههای شخص ثالث را فقط بر روی نمایشگرهای سازگار با Android ارائه کند.
واحدهای مورد نیاز در این بخش به شرح زیر تعریف می شوند:
- اندازه مورب فیزیکی فاصله بین دو گوشه متضاد بخش نورانی نمایشگر بر حسب اینچ.
- چگالی
نقاط در اینچ (dpi). تعداد پیکسل های احاطه شده توسط یک بازه خطی افقی یا عمودی 1 اینچی ، که به صورت پیکسل در هر اینچ (ppi یا dpi) بیان می شود . در جایی که مقادیرdpippi و dpi فهرست شده اند، هر دو dpi افقی و عمودی باید در محدوده فهرست شده قرار گیرند. - نسبت تصویر . نسبت پیکسل های بعد طولانی تر به بعد کوتاه تر صفحه نمایش. به عنوان مثال، نمایشگر 480x854 پیکسل 854/480 = 1.779 یا تقریباً "16:9" خواهد بود.
- پیکسل مستقل از چگالی (dp) .
واحدپیکسل مجازی A به تراکم صفحهنمایش 160 dpiنرمال شده است . برای برخی از تراکم d، و تعدادی پیکسل p، تعداد پیکسل های مستقل از چگالی dp، به صورت:پیکسل = dps * (تراکم/160)محاسبه می شود. dp = (160 / d) * p .
7.1.1.1. اندازه و شکل صفحه نمایش :
بازبینی را ببینید
اگر پیادهسازیهای دستگاه از صفحههایی با قابلیت پیکربندی اندازه
UI_MODE_TYPE_NORMAL
پشتیبانی میکنند و شامل نمایشگر(های) فیزیکیسازگار با Androidبا گوشههای گرد برای ارائه این صفحهها میشوند ، آنها:- [C-1-1] باید اطمینان حاصل کند که حداقل یکی از الزامات زیر برای هر یک از این نمایشگرها برآورده شده است:
- شعاع گوشه های گرد کمتر یا مساوی 38 dp است.
هنگامی که یک جعبه 15 dp در 15 dp در هر گوشه از صفحه نمایش منطقی لنگر انداخته می شود، حداقل یک پیکسل از هر جعبه روی صفحه نمایش قابل مشاهده است.
باید شامل توانایی کاربر برای تغییر حالت نمایش با گوشه های مستطیلی باشد.
الزامات جدید را شروع کنید
اگر پیادهسازیهای دستگاه فقط قادر به پیکربندی صفحهکلید
NO_KEYS
باشند و قصد گزارش پشتیبانی از پیکربندی حالت رابط کاربریUI_MODE_TYPE_NORMAL
را داشته باشند، آنها:- [C-4-1] باید اندازه طرحبندی، به استثنای هر گونه بریدگی نمایشگر، حداقل 596 dp x 384 dp یا بیشتر داشته باشد.
اگر پیادهسازیهای دستگاه شامل نمایشگر(های) سازگار با Android باشد که تاشو باشد، یا شامل یک لولای تاشو بین چند پانل نمایشگر باشد و چنین نمایشگر(هایی) را برای ارائه برنامههای شخص ثالث در دسترس قرار دهد، آنها:
- [C-2-1] باید آخرین نسخه پایدار موجود از افزونههای API یا نسخه پایدار Sidecar API را برای استفاده توسط کتابخانه Window Manager Jetpack اجرا کند.
اگر پیادهسازیهای دستگاه شامل نمایشگر(های) سازگار با Android باشد که تاشو باشد، یا شامل یک لولای تاشو بین چند پانل نمایشگر باشد و اگر لولا یا تا از یک پنجره برنامه تمام صفحه عبور کند، آنها:
- [C-3-1] باید موقعیت، مرزها و وضعیت لولا یا تا کردن را از طریق افزونهها یا APIهای سایدکار به برنامه گزارش دهد.
اگر پیادهسازیهای دستگاه شامل یک یا چند ناحیه نمایشگر سازگار با Android باشد که تاشو هستند، یا شامل یک لولای تاشو بین چندین ناحیه صفحه نمایش سازگار با Android باشد و چنین مناطق نمایشی را در دسترس برنامهها قرار دهد، آنها:
- [C-4-1] باید نسخه صحیح سطح API برنامه های افزودنی Window Manager را همانطور که در مستندات آتی توضیح داده شده است، پیاده سازی کند.
7.1.1.2. نسبت ابعاد صفحه نمایش : حذف شده است
بازبینی را ببینید
پیاده سازی دستگاه:
- [C-0-1]
به طور پیشفرض، پیادهسازیهای دستگاهبایدتنهایکی از چگالیهای چارچوب Android را گزارش کنند که درDisplayMetrics
از طریقDENSITY_DEVICE_STABLE
API فهرست شدهاند و این مقدار باید یک مقدار ثابت برای هر نمایش فیزیکی باشد.با این حال،دستگاه ممکن است با توجه به تغییرات پیکربندی نمایشگر ایجاد شده توسط کاربر (به عنوان مثال، اندازه نمایشگر) که پس از راه اندازی اولیه تنظیم شده است، یکDisplayMetrics.density
با چگالی دلخواهمتفاوت گزارش کند.
- پیادهسازی دستگاه باید چگالی چارچوب استاندارد Android را که از نظر عددی به چگالی فیزیکی صفحه نزدیکترین باشد، تعریف کند، مگر اینکه این چگالی منطقی اندازه صفحه نمایش گزارششده را به کمتر از حداقل پشتیبانیشده فشار دهد. اگر چگالی استاندارد چارچوب Android که از نظر عددی نزدیکترین به چگالی فیزیکی است منجر به اندازه صفحه نمایشی شود که از کوچکترین اندازه صفحه سازگار پشتیبانیشده (عرض ۳۲۰ dp) کوچکتر است، پیادهسازی دستگاه باید کمترین چگالی استاندارد چارچوب Android را گزارش کند.
الزامات جدید را شروع کنید
- باید چگالی چارچوب استاندارد Android را تعریف کند که از نظر عددی به چگالی فیزیکی صفحه نزدیکترین باشد، یا مقداری که به اندازههای میدان دید زاویهای مشابه یک دستگاه دستی نگاشت شود.
اگر پیاده سازی دستگاه امکان تغییر اندازه نمایشگر دستگاه را فراهم کند
،آنها :- [
C-1-1]اندازه نمایشگر نباید در مقیاسباشدDENSITY_DEVICE_STABLE
- [C-1-2]
اندازه نمایشگر نبایدکوچکتر از 0.85 برابرتراکم اصلیDENSITY_DEVICE_STABLE
باشد.
- [C-0-1]
بازبینی را ببینید
اگر پیاده سازی دستگاه شامل پشتیبانی از Vulkan
1.0 یا بالاترباشد، آنها:[C-1-3] باید به طور کامل API های
Vulkan 1.0Vulkan 1.1 را برای هرVkPhysicalDevice
شمارش شده پیاده سازی کند.[C-1-5] نباید لایه های ارائه شده توسط کتابخانه های خارج از بسته برنامه را شمارش کند، یا راه های دیگری برای ردیابی یا رهگیری Vulkan API ارائه کند، مگر اینکه برنامه دارای ویژگی
android:debuggable
به عنوانtrue
یا فرادادهcom.android.graphics.injectLayers.enable
باشد.com.android.graphics.injectLayers.enable
رویtrue
تنظیم شده است .
- باید از
VkPhysicalDeviceProtectedMemoryFeatures
وVK_EXT_global_priority
پشتیبانی کند.
- [C-1-13] باید الزامات مشخص شده توسط نمایه Android Baseline 2021 را برآورده کند.
[C-SR-5] برای پشتیبانی از
VkPhysicalDeviceProtectedMemoryFeatures.protectedMemory
وVK_EXT_global_priority
اکیداً توصیه می شود.[C-SR-6] برای استفاده از
SkiaVk
با HWUI اکیداً توصیه می شود.
اگر پیاده سازی های دستگاه شامل پشتیبانی از Vulkan 1.1 باشد و هر یک از پرچم های ویژگی Vulkan را که در اینجا توضیح داده شده است را اعلام کنند، آنها:
- [C-SR-7] اکیداً توصیه میشود افزونه
VK_KHR_external_fence_fd
را در دسترس برنامههای شخص ثالث قرار دهید و برنامه را فعال کنید تا محموله حصار را صادر کند و محموله حصار را از توصیفگرهای فایل POSIX وارد کند، همانطور که در اینجا توضیح داده شده است.
بازبینی را ببینید
اگر پیاده سازی دستگاه دارای چندین حسگر بیومتریک باشد، آنها:
[C-7-1] MUST، هنگامی که یک بیومتریک در حالت قفل است (یعنی بیومتریک غیرفعال است تا زمانی که کاربر با احراز هویت اولیه قفل را باز کند) یا قفل زمانی محدود (یعنی بیومتریک به طور موقت غیرفعال می شود تا زمانی که کاربر برای یک بازه زمانی منتظر بماند) به دلیل تلاش های ناموفق زیاد، تمام بیومتریک های دیگر کلاس بیومتریک پایین تر را نیز قفل کنید. در مورد قفل زمانی محدود، زمان عقبنشینی برای تأیید بیومتریک باید حداکثر زمان عقبنشینی همه بیومتریکها در قفل زمانی محدود باشد.
[C-SR-12] به شدت توصیه می شود، زمانی که یک بیومتریک در حالت قفل است (یعنی بیومتریک غیرفعال است تا زمانی که کاربر با احراز هویت اولیه قفل را باز کند) یا قفل با محدودیت زمانی (یعنی بیومتریک به طور موقت غیرفعال می شود تا زمانی که کاربر برای مدتی منتظر بماند. فاصله) به دلیل تلاش های ناموفق زیاد، برای قفل کردن تمام بیومتریک های دیگر از همان کلاس بیومتریک. در مورد قفل زمانی محدود، زمان عقب نشینی برای راستیآزمایی بیومتریک اکیداً توصیه میشود که حداکثر زمان عقبنشینی همه بیومتریکها در قفل زمانی محدود باشد.
[C-7-2] باید کاربر را برای احراز هویت اولیه توصیه شده (به عنوان مثال: پین، الگو، رمز عبور) به چالش بکشد تا شمارنده قفل را برای قفل شدن یک بیومتریک بازنشانی کند. بیومتریک کلاس 3 ممکن است مجاز به تنظیم مجدد شمارنده قفل برای یک بیومتریک قفل شده از همان کلاس یا پایین تر باشد. بیومتریک کلاس 2 یا کلاس 1 نباید اجازه داشته باشد که عملیات قفل مجدد را برای هر بیومتریک کامل کند.
اگر پیادهسازیهای دستگاه بخواهند حسگر بیومتریک را به عنوان کلاس 1 (که قبلاً راحت بود ) در نظر بگیرند، آنها:
[C-1-12] باید دارای نرخ پذیرش جعل و تقلب نه بیشتر از 40٪ برای هر گونه ابزار حمله ارائه (PAI) باشد، همانطور که توسط پروتکلهای تست بیومتریک Android اندازهگیری میشود.
[C-SR-13] اکیداً توصیه میشود که نرخ پذیرش جعل و تقلب از هر گونه ابزار حمله ارائه (PAI) بالاتر از 30٪ نباشد، همانطور که توسط پروتکلهای تست بیومتریک Android اندازهگیری میشود.
[C-SR-14] اکیداً توصیه می شود کلاس بیومتریک حسگر بیومتریک و خطرات مربوط به فعال کردن آن را افشا کنند.
[C-SR-17] به شدت برای پیاده سازی رابط های جدید AIDL (مانند
IFace.aidl
وIFingerprint.aidl
) توصیه می شود.
اگر پیادهسازیهای دستگاه بخواهند حسگر بیومتریک را به عنوان کلاس 2 (قبلا ضعیف ) در نظر بگیرند، آنها:
- [C-SR-15] اکیداً توصیه میشود که نرخ پذیرش جعل و تقلب از هر گونه ابزار حمله ارائه (PAI) بالاتر از 20٪ نباشد، همانطور که توسط پروتکلهای تست بیومتریک Android اندازهگیری میشود.
- [C-2-3] باید تطبیق بیومتریک را در یک محیط اجرای ایزوله در خارج از فضای کاربر یا هسته Android، مانند محیط اجرای معتمد (TEE)،
یاروی یک تراشه با یک کانال امن به محیط اجرای ایزوله یا در Protected انجام دهد. ماشین مجازی که الزامات بخش 9.17 را برآورده می کند . - [C-2-4] باید همه دادههای قابل شناسایی را رمزگذاری شده و از نظر رمزنگاری احراز هویت داشته باشند، به گونهای که نتوان آنها را در خارج از محیط اجرای ایزوله به دست آورد، خواند یا تغییر داد یا یک تراشه با کانال امن به محیط اجرای ایزوله همانطور که در دستورالعملهای پیادهسازی مستند شده است. در سایت پروژه متن باز Android یا یک ماشین مجازی محافظت شده که توسط Hypervisor کنترل می شود و الزامات بخش 9.17 را برآورده می کند .
- [C-2-5] برای بیومتریک مبتنی بر دوربین، در حالی که احراز هویت یا ثبت نام مبتنی بر بیومتریک در حال انجام است:
- باید دوربین را در حالتی کار کند که از خواندن یا تغییر فریم های دوربین در خارج از محیط اجرای ایزوله یا تراشه ای با کانال ایمن به محیط اجرای ایزوله یا یک ماشین مجازی محافظت شده کنترل شده توسط Hypervisor که الزامات بخش 9.17 را برآورده می کند، جلوگیری کند .
- برای راهحلهای تک دوربینی RGB، فریمهای دوربین میتوانند در خارج از محیط اجرای ایزوله قابل خواندن باشند تا از عملیاتهایی مانند پیشنمایش برای ثبتنام پشتیبانی کنند، اما همچنان نباید قابل تغییر باشند.
- [C-2-7] نباید اجازه دسترسی رمزگذاری نشده به دادههای بیومتریک قابل شناسایی یا هر داده مشتق شده از آن (مانند جاسازیها) را به پردازشگر برنامه خارج از زمینه TEE یا ماشین مجازی محافظتشده کنترلشده توسط هایپروایزر که الزامات بخش را برآورده میکند، بدهد. 9.17 . دستگاه های به روز رسانی راه اندازی شده در اندروید نسخه 9 یا قبل از C-2-7 مستثنی نیستند.
اگر پیادهسازیهای دستگاه بخواهند حسگر بیومتریک را به عنوان کلاس 3 ( قوی سابق) در نظر بگیرند، آنها:
- [C-SR-16] اکیداً توصیه میشود که نرخ پذیرش جعل و تقلب بالاتر از 7٪ برای هر گونه ابزار حمله ارائه (PAI) نباشد، همانطور که توسط پروتکلهای تست بیومتریک Android اندازهگیری میشود.
7.3.13. IEEE 802.1.15.4 (UWB) :
بازبینی را ببینید
اگر پیاده سازی های دستگاه شامل پشتیبانی از 802.1.15.4 باشد و عملکرد را در معرض یک برنامه شخص ثالث قرار دهد، آنها:
- [C-1-2] باید پرچم ویژگی سخت افزار را گزارش کند
android.hardware.uwb
. - [C-1-3] باید از تمام مجموعه های پیکربندی زیر (ترکیبات از پیش تعریف شده پارامترهای FIRA UCI ) تعریف شده در اجرای AOSP پشتیبانی کند.
-
CONFIG_ID_1
: محدوده unicastSTATIC STS DS-TWR
با تعریف FiRa، حالت معوق، فاصله بازه 240 میلی ثانیه. -
CONFIG_ID_2
: محدوده یک به چندSTATIC STS DS-TWR
با تعریف FiRa، حالت معوق، فاصله 200 میلی ثانیه. مورد استفاده معمولی: تلفن هوشمند با بسیاری از دستگاه های هوشمند تعامل دارد. -
CONFIG_ID_3
: مانندCONFIG_ID_1
، به جز داده های زاویه ورود (AoA) گزارش نمی شود. -
CONFIG_ID_4
: مانندCONFIG_ID_1
، به جز اینکه حالت امنیتی P-STS فعال است. -
CONFIG_ID_5
: مانندCONFIG_ID_2
، به جز اینکه حالت امنیتی P-STS فعال است. -
CONFIG_ID_6
: مانندCONFIG_ID_3
، به جز اینکه حالت امنیتی P-STS فعال است. -
CONFIG_ID_7
: مانندCONFIG_ID_2
، به جز اینکه حالت کلید کنترلی فردی P-STS فعال است.
-
- [C-1-4] باید امکانی برای کاربر فراهم کند تا به کاربر اجازه دهد وضعیت روشن/خاموش رادیو UWB را تغییر دهد.
- [C-1-5] باید اعمال کند که برنامههایی که از رادیو UWB استفاده میکنند، مجوز
UWB_RANGING
را داشته باشند (تحت گروه مجوزNEARBY_DEVICES
).
گذراندن تستهای انطباق و گواهینامههای مربوطه تعریف شده توسط سازمانهای استاندارد، از جمله FIRA ، CCC و CSA به اطمینان از عملکرد صحیح 802.1.15.4 کمک میکند.
- [C-1-2] باید پرچم ویژگی سخت افزار را گزارش کند
بازبینی را ببینید
"تلفن" همانطور که توسط API های Android استفاده می شود و این سند به طور خاص به سخت افزار مربوط به برقراری تماس های صوتی و ارسال پیام های SMS یا ایجاد داده های تلفن همراه از طریق تلفن همراه (به عنوان مثال GSM، CDMA، LTE، NR) GSM یا شبکه CDMA اشاره دارد. دستگاهی که از "Telephony" پشتیبانی می کند، ممکن است برخی یا همه خدمات تماس، پیام و داده را به تناسب محصول ارائه دهد.
از طریق یک شبکه GSM یا CDMA. اگرچه ممکن است این تماسهای صوتی به صورت بسته سوئیچ شوند یا نباشند، اما برای اهداف Android مستقل از هرگونه اتصال دادهای که ممکن است با استفاده از همان شبکه اجرا شود در نظر گرفته میشوند. به عبارت دیگر، عملکرد و API های «تلفنی» اندروید به طور خاص به تماس های صوتی و پیامک اشاره دارد. برای مثال، پیادهسازیهای دستگاهی که نمیتوانند تماس برقرار کنند یا پیامهای SMS ارسال/دریافت کنند، صرف نظر از اینکه از شبکه سلولی برای اتصال داده استفاده میکنند، یک دستگاه تلفن در نظر گرفته نمیشوند.بازبینی را ببینید
اگر پیاده سازی های دستگاه شامل پشتیبانی از 802.11 باشد و عملکرد را در معرض یک برنامه شخص ثالث قرار دهد، آنها:
- [C-1-4] باید از DNS چندپخشی (mDNS) پشتیبانی کند و بستههای mDNS (224.0.0.251 یا ff02::fb ) را در هر زمانی از فیلتر کردن، از جمله زمانی که صفحه در حالت فعال نیست، نباید فیلتر کند، مگر اینکه رها شود یا فیلتر کردن این بسته ها برای ماندن در محدوده مصرف برق مورد نیاز توسط الزامات نظارتی قابل اعمال در بازار هدف ضروری است.
برای پیاده سازی دستگاه Android TV، حتی در حالت آماده به کار.
- [C-1-4] باید از DNS چندپخشی (mDNS) پشتیبانی کند و بستههای mDNS (224.0.0.251 یا ff02::fb ) را در هر زمانی از فیلتر کردن، از جمله زمانی که صفحه در حالت فعال نیست، نباید فیلتر کند، مگر اینکه رها شود یا فیلتر کردن این بسته ها برای ماندن در محدوده مصرف برق مورد نیاز توسط الزامات نظارتی قابل اعمال در بازار هدف ضروری است.
بازبینی را ببینید
اگر پیاده سازی های دستگاه FEATURE_BLUETOOTH_LE را اعلام کنند، آنها:
- [C-SR-2] به شدت توصیه می شود برای اندازه گیری و جبران افست Rx برای اطمینان از اینکه میانه BLE RSSI 60-dBm +/-10 دسی بل در فاصله 1 متری از دستگاه مرجعی است که در
ADVERTISE_TX_POWER_HIGH
ارسال می کند، جایی که دستگاه ها به گونه ای جهت گیری شده اند، توصیه می شود. در "صفحه های موازی" با صفحه های رو به یک جهت. - [C-SR-3] برای اندازهگیری و جبران Tx Offset برای اطمینان از اینکه میانه BLE RSSI هنگام اسکن از دستگاه مرجع واقع در فاصله 1 متری و ارسال در
ADVERTISE_TX_POWER_HIGH
، جایی که دستگاهها جهتگیری دارند -60dBm +/-10 dB است، به شدت توصیه میشود. به طوری که آنها در "صفحه های موازی" با صفحه نمایش رو به یک جهت هستند.
- [C-10-3] برای اطمینان از اینکه میانه BLE RSSI در فاصله 1 متری از دستگاه مرجعی که در
ADVERTISE_TX_POWER_HIGH
ارسال می کند، -55dBm +/-10 dB است، باید برای Rx offset اندازه گیری و جبران شود. - [C-10-4] برای اطمینان از اینکه میانه BLE RSSI هنگام اسکن از دستگاه مرجع در فاصله 1 متری و ارسال در
ADVERTISE_TX_POWER_HIGH
-55dBm +/-10 dB است، باید برای Tx offset اندازه گیری و جبران شود.
اگر پیاده سازی های دستگاه از بلوتوث نسخه 5.0 پشتیبانی می کنند، آنها:
- [C-SR-4] به شدت برای ارائه پشتیبانی برای موارد زیر توصیه می شود:
- LE 2M PHY
- کدک LE PHY
- پسوند تبلیغاتی LE
- تبلیغات دوره ای
- حداقل 10 مجموعه تبلیغاتی
- حداقل 8 اتصال LE همزمان. هر اتصال می تواند در هر یک از نقش های توپولوژی اتصال باشد.
- حریم خصوصی لایه پیوند LE
- اندازه "فهرست حل و فصل" حداقل 8 ورودی
- [C-SR-2] به شدت توصیه می شود برای اندازه گیری و جبران افست Rx برای اطمینان از اینکه میانه BLE RSSI 60-dBm +/-10 دسی بل در فاصله 1 متری از دستگاه مرجعی است که در
بازبینی را ببینید
- [C-1-7] باید اطمینان حاصل کند که میانه اندازهگیری فاصله در 1 متر از دستگاه مرجع در [0.75 متر، 1.25 متر] باشد، جایی که فاصله حقیقت زمین از لبه بالایی DUT اندازهگیری میشود.
رو به بالا نگه داشته و 45 درجه کج شده است.
- [C-1-7] باید اطمینان حاصل کند که میانه اندازهگیری فاصله در 1 متر از دستگاه مرجع در [0.75 متر، 1.25 متر] باشد، جایی که فاصله حقیقت زمین از لبه بالایی DUT اندازهگیری میشود.
بازبینی را ببینید
دوربین پشتی دوربینی است که در کنار دستگاه روبروی نمایشگر قرار دارد. یعنی صحنه هایی را در قسمت های دور دستگاه مانند یک دوربین سنتی تصویر می کند.
دوربین پشتی یک دوربین جهان است که صحنههایی را در قسمتهای دور دستگاه مانند دوربینهای سنتی تصویر میکند. در دستگاههای دستی، دوربینی است که در کنار دستگاه مقابل نمایشگر قرار دارد.
بازبینی را ببینید
دوربین جلو دوربینی است که در همان سمت دستگاه قرار دارد که نمایشگر آن قرار دارد. یعنی دوربینی که معمولاً برای تصویربرداری از کاربر استفاده میشود، مانند کنفرانس ویدیویی و برنامههای مشابه.
دوربین جلو یک دوربین رو به روی کاربر است که معمولاً برای تصویربرداری از کاربر، مانند کنفرانس ویدیویی و برنامههای مشابه استفاده میشود. در دستگاههای دستی، این دوربینی است که در همان سمت دستگاه با نمایشگر قرار دارد.
بازبینی را ببینید
دوربین خارجی دوربینی است که می تواند در هر زمان به صورت فیزیکی متصل یا از اجرای دستگاه جدا شود و می تواند به هر جهتی رو به رو شود. مانند دوربین های USB.
بازبینی را ببینید
پیاده سازی های دستگاه باید رفتارهای زیر را برای API های مرتبط با دوربین، برای همه دوربین های موجود، اجرا کنند. پیاده سازی دستگاه:
- [C-SR-1] برای دستگاههایی با چندین دوربین RGB در مجاورت نزدیک و رو به یک جهت، اکیداً توصیه میشود از یک دوربین منطقی پشتیبانی شود که قابلیتهای
CameraMetadata.REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
را فهرست میکند.REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA که شامل تمام دوربینهای RGB است به عنوان دستگاه های فرعی فیزیکی
- [C-SR-1] برای دستگاههایی با چندین دوربین RGB در مجاورت نزدیک و رو به یک جهت، اکیداً توصیه میشود از یک دوربین منطقی پشتیبانی شود که قابلیتهای
بازبینی را ببینید
دستگاههایی که تمام معیارهای زیر را برآورده میکنند از شرایط فوق مستثنی هستند:
- پیاده سازی های دستگاهی که قابلیت چرخش توسط کاربر را ندارند مانند دستگاه های خودرو.
بازبینی را ببینید
دستگاههایی که برای دستی یا پوشیدنی در نظر گرفته شدهاند ممکن است شامل یک محرک لمسی عمومی باشند که برای اهدافی از جمله جلب توجه از طریق آهنگهای زنگ، آلارمها، اعلانها و همچنین بازخورد لمسی عمومی در دسترس برنامهها قرار میگیرد.
اگر پیاده سازی های دستگاه شامل چنین محرک لمسی با هدف عمومی نباشد، آنها:
- [7.10/C] MUST برای
Vibrator.hasVibrator()
false را برگرداند.
اگر پیاده سازی دستگاه DO شامل حداقل یک محرک لمسی با هدف عمومی باشد، آنها:
- [C-1-1] باید برای
Vibrator.hasVibrator()
true برگرداند. - نباید از محرک لمسی (ویبراتور) جرم دوار غیرعادی (ERM) استفاده کنید.
- باید همه
LONG_PRESS
TEXT_HANDLE_MOVE
راVIRTUAL_KEY_RELEASE
لمسی واضحREJECT
android.view.HapticFeedbackConstants
KEYBOARD_PRESS
VIRTUAL_KEY
CLOCK_TICK
CONTEXT_CLICK
CONFIRM
KEYBOARD_RELEASE
،GESTURE_START
وGESTURE_END
)KEYBOARD_TAP
- باید همه ثابتهای عمومی را برای لمسی واضح در
android.os.VibrationEffect
پیادهسازی کرد، یعنی (EFFECT_TICK
،EFFECT_CLICK
،EFFECT_HEAVY_CLICK
وEFFECT_DOUBLE_CLICK
) و همه ثابتهای عمومی امکان پذیرPRIMITIVE_*
(CLICK
rich.Vibractosandroid.os.VibrationEffect.Composition
LOW_TICK
TICK
QUICK_FALL
،QUICK_RISE
،SLOW_RISE
،SPIN
،THUD
). برخی از این موارد اولیه، مانندLOW_TICK
وSPIN
ممکن است تنها در صورتی امکان پذیر باشند که ویبراتور بتواند فرکانس های نسبتا پایین را پشتیبانی کند. - باید دستورالعمل نگاشت ثابت های عمومی در
android.view.HapticFeedbackConstants
را به ثابت های توصیه شدهandroid.os.VibrationEffect
با روابط دامنه مربوطه دنبال کنید. - باید از این نگاشتهای ثابت لمسی مرتبط استفاده کرد.
- باید ارزیابی کیفیت برای APIهای
createOneShot()
وcreateWaveform()
را دنبال کرد. - باید بررسی کنید که نتیجه API عمومی
android.os.Vibrator.hasAmplitudeControl()
به درستی قابلیت های ویبراتور آنها را منعکس می کند. - باید قابلیتهای مقیاسپذیری دامنه را با اجرای
android.os.Vibrator.hasAmplitudeControl()
تأیید کنید.
اگر پیاده سازی های دستگاه از نگاشت ثابت های لمسی پیروی کنند، آنها:
- باید وضعیت پیادهسازی را با اجرای APIهای
android.os.Vibrator.areAllEffectsSupported()
وandroid.os.Vibrator.arePrimitivesSupported()
تأیید کنید. - باید یک ارزیابی کیفیت برای ثابت های لمسی انجام داد.
- در صورت نیاز، باید پیکربندی بازگشتی را برای موارد اولیه پشتیبانی نشده همانطور که در راهنمای پیاده سازی برای ثابت ها توضیح داده شده است تأیید و به روز کنید.
- باید پشتیبانی بازگشتی برای کاهش خطر شکست همانطور که در اینجا توضیح داده شده است ارائه دهد.
برای الزامات خاص دستگاه به بخش 2.2.1 مراجعه کنید.
- [7.10/C] MUST برای
9. سازگاری مدل امنیتی
بازبینی را ببینید
پیاده سازی دستگاه:
- [C-0-4] باید یک و تنها یک پیاده سازی از هر دو رابط کاربری داشته باشد.
اگر پیادهسازی دستگاه، بستههایی را از قبل نصب میکند که دارای هر یک از نقشهای System UI Intelligence ، System Ambient Audio Intelligence ، System Audio Intelligence ، System Notification Intelligence ، System Text Intelligence یا System Visual Intelligence هستند، بستهها:
- [C-4-1] باید تمام الزامات ذکر شده برای پیاده سازی دستگاه در بخش های
"9.8.6 Content Capture""9.8.6 OS-level and ambient data and 9.8.15 Sandboxed API پیاده سازی ها" را برآورده کند.
- [C-4-2] نباید مجوز android.permission.INTERNET داشته باشد. این سختگیرانه تر از STRONGLY RECOMMENDED فهرست شده در بخش 9.8.6 است.
- [C-4-3] نباید به برنامههای دیگر متصل شود، بهجز برنامههای سیستم زیر: بلوتوث، مخاطبین، رسانه، تلفن، SystemUI، و اجزای ارائهدهنده API اینترنت. این سختگیرانه تر از STRONGLY RECOMMENDED فهرست شده در بخش 9.8.6 است.
اگر پیاده سازی های دستگاه شامل یک برنامه پیش فرض برای پشتیبانی از
VoiceInteractionService
باشد، آنها:- [C-5-1] نباید
ACCESS_FINE_LOCATION
به عنوان پیشفرض برای آن برنامه اعطا کند.
بازبینی را ببینید
اگر پیادهسازیهای دستگاه نمایه کاربر اضافی مورد بحث در بالا را ایجاد کنند، آنها:
- [C-4-5] هنگام ارائه نمادها به کاربران، باید نمادهای برنامه دوگانه را به صورت بصری متمایز کند.
- [C-4-6] باید برای حذف کل دادههای نمایه کلون، هزینهای برای کاربر فراهم کند.
- [C-4-7] باید تمام برنامه های کلون را حذف کنید ، دایرکتوری های داده های برنامه خصوصی و محتوای آنها را حذف کنید و داده های پروفایل کلون را حذف کنید ، هنگامی که کاربر تصمیم به حذف کل داده های مشخصات کلون می کند.
- اگر کاربر هنگام حذف آخرین برنامه کلون ، کاربر را به حذف کل داده های مشخصات کلون منتقل کند.
- [C-4-8] باید به کاربر اطلاع دهد که هنگام حذف برنامه کلون ، داده های برنامه حذف می شود ، یا گزینه ای را برای کاربران فراهم می کند تا هنگام حذف برنامه از دستگاه ، داده های برنامه را نگه دارند.
- [C-4-9] وقتی کاربر تصمیم می گیرد داده ها را در هنگام حذف حذف کند ، باید دایرکتوری های داده های برنامه خصوصی و محتوای آنها را حذف کند.
[C-4-1] باید به اهداف زیر که از نمایه اضافی استفاده می شود توسط برنامه های کاربر اصلی در دستگاه استفاده شود:
-
Intent.ACTION_VIEW
-
Intent.ACTION_SENDTO
-
Intent.ACTION_SEND
-
Intent.ACTION_EDIT
-
Intent.ACTION_INSERT
-
Intent.ACTION_INSERT_OR_EDIT
-
Intent.ACTION_SEND_MULTIPLE
-
Intent.ACTION_PICK
-
Intent.ACTION_GET_CONTENT
-
MediaStore.ACTION_IMAGE_CAPTURE
-
MediaStore.ACTION_VIDEO_CAPTURE
-
[C-4-2] باید تمام محدودیت های کاربر خط مشی دستگاه و محدودیت های غیر کاربر انتخاب شده (لیست زیر) را که در کاربر اصلی دستگاه برای این نمایه کاربر اضافی اعمال شده است ، به ارث ببرد.
[C-4-3] فقط باید از طریق اهداف زیر به نوشتن مخاطبین از این نمایه اضافی اجازه دهید:
[C-4-4] نباید همگام سازی های تماسی را برای برنامه های کاربردی در این نمایه کاربر اضافی اجرا کند.
- [C-4-14] برای برنامه های کاربردی در این نمایه اضافی باید مجوز و مدیریت ذخیره جداگانه داشته باشد
- [C-4-5] فقط باید به برنامه های موجود در نمایه اضافی که فعالیت پرتاب دارند برای دسترسی به مخاطبی که از قبل در دسترس مشخصات کاربر هستند ، اجازه دهد.
بازبینی را ببینید
یک فناوری ایمنی حافظه ، فناوری است که حداقل کلاسهای زیر از اشکالات را با احتمال زیاد (> 90 ٪) در برنامه هایی که
android:memtagMode
:- سرریز بافر پشته
- بعد از رایگان استفاده کنید
- دو برابر
- وحشی رایگان (عاری از یک اشاره گر غیر ماولا)
پیاده سازی دستگاه:
- [C-SR-15] به شدت توصیه می شود
ro.arm64.memtag.bootctl_supported
را تنظیم کنید.
اگر پیاده سازی های دستگاه ویژگی سیستم
ro.arm64.memtag.bootctl_supported
را به True تنظیم کنید ، آنها:[C-3-1] باید به ویژگی سیستم
arm64.memtag.bootctl
اجازه دهد یک لیست جدا از کاما از مقادیر زیر را بپذیرد ، با اثر مورد نظر در راه اندازی مجدد بعدی بعدی:-
memtag
: یک فناوری ایمنی حافظه همانطور که در بالا تعریف شد فعال است -
memtag-once
: یک فناوری ایمنی حافظه همانطور که در بالا تعریف شد به طور موقت فعال است و به طور خودکار از آن غیرفعال می شود ، راه اندازی مجدد بعدی -
memtag-off
: یک فناوری ایمنی حافظه همانطور که در بالا تعریف شد غیرفعال است
-
[C-3-2] باید به کاربر پوسته اجازه دهد
arm64.memtag.bootctl
را تنظیم کند.[C-3-3] باید به هر فرآیند اجازه دهد
arm64.memtag.bootctl
را بخواند.[C-3-4] باید
arm64.memtag.bootctl
به حالت درخواست شده در صورت بوت تنظیم کند ، همچنین باید این ویژگی را به روز کند ، در صورتی که اجرای دستگاه اجازه می دهد بدون تغییر خاصیت سیستم ، حالت را اصلاح کند.[C-SR-16] به شدت توصیه می شود تا یک تنظیم کننده را نشان دهید که Memtag-once را تنظیم کرده و دستگاه را دوباره راه اندازی می کند. با استفاده از یک بوت لودر سازگار ، پروژه منبع باز اندروید از طریق پروتکل Bootloader MTE ، نیازهای فوق را برآورده می کند.
- [C-SR-17] به شدت توصیه می شود تنظیماتی را در منوی تنظیمات امنیتی نشان دهید که به کاربر امکان می دهد
memtag
را فعال کند.
بازبینی را ببینید
پیاده سازی دستگاه:
- [c-0-2] باید یک هشدار کاربر را نشان دهد و رضایت صریح کاربر را بدست آورد و اجازه می دهد تا هرگونه اطلاعات حساس که در صفحه کاربر نمایش داده می شود ، ضبط شود
که دقیقاً همان پیام AOSP را شامل می شودهر زمان کههر بار و هر بار یک جلسه برای ضبطریخته گری صفحه نمایش یا ضبط صفحهاز طریقMediaProjection.createVirtualDisplay()
،VirtualDeviceManager.createVirtualDisplay()
یا API های اختصاصی فعالشدهاست.برای غیرفعال کردن نمایش آینده رضایت کاربر ، نباید هزینه ای را برای کاربران فراهم کند.
[C-SR-1] به شدت توصیه می شود هشدار کاربر را نمایش دهید که دقیقاً همان پیام اجرا شده در AOSP است اما می تواند تغییر کند تا زمانی که پیام به وضوح به کاربر هشدار دهد که هرگونه اطلاعات حساس در صفحه کاربر ضبط شده است.
[C-0-4] برای کاربران برای غیرفعال کردن مطالب آینده رضایت کاربر برای ضبط صفحه ، نباید به کاربران فراهم شود ، مگر اینکه جلسه توسط یک برنامه سیستم شروع شود که کاربر اجازه داده است
associate()
باandroid.app.role.COMPANION_DEVICE_APP_STREAMING
یاandroid.app.role.COMPANION_DEVICE_NEARBY_DEVICE_STREAMING
مشخصات دستگاه.
- [c-0-2] باید یک هشدار کاربر را نشان دهد و رضایت صریح کاربر را بدست آورد و اجازه می دهد تا هرگونه اطلاعات حساس که در صفحه کاربر نمایش داده می شود ، ضبط شود
9.8.6. داده های سطح سیستم عامل و محیط : این بخش از ضبط محتوا و جستجوی برنامه به داده های سطح سیستم عامل و محیط تغییر نام داده شد.
بازبینی را ببینید
Android ، از طریق سیستم APIS
، از مکانیسم اجرای دستگاه پشتیبانی می کند تاContentCaptureService
،AugmentedAutofillService
،AppSearchGlobalManager.query
یا با سایر وسایل اختصاصیتعامل داده های برنامه زیر را بین برنامه ها وداده های حساس کاربر ضبط کند.- هر صفحه نمایش یا داده های دیگر که از طریق
AugmentedAutofillService
به سیستم ارسال می شود. - هر صفحه نمایش یا داده های دیگر از طریق API
Content Capture
قابل دسترسی است. - هر صفحه نمایش یا داده های دیگر که از طریق
FieldClassificationService
API قابل دسترسی است - هرگونه داده برنامه ای که از طریق
AppSearchManager
API به سیستم منتقل می شود و از طریقAppSearchGlobalManager.query
در دسترس است.
- هر رویدادی دیگر که یک برنامه از طریق API
Content Capture
یاAppSearchManager
API به سیستم API یک API و اختصاصی مشابه API در سیستم ارائه می دهد.
- داده های صوتی به دست آمده در نتیجه استفاده از
SpeechRecognizer#onDeviceSpeechRecognizer()
توسط اجرای گفتار گفتار. - داده های صوتی به دست آمده در پس زمینه (به طور مداوم) از طریق
AudioRecord
،SoundTrigger
یا سایر API های صوتی ، و منجر به نشانگر قابل مشاهده کاربر نمی شود - داده های دوربین به دست آمده در پس زمینه (به طور مداوم) از طریق فیلمبردار یا API های دوربین دیگر ، و منجر به نشانگر قابل مشاهده کاربر نمی شود
اگر پیاده سازی های دستگاه هر یک از داده های فوق را ضبط کنید ، آنها:
[C-1-3] فقط باید تمام داده ها را با استفاده از مکانیسم حفظ حریم خصوصی ، به جز با رضایت صریح کاربر هر بار که داده ها به اشتراک گذاشته می شود ، از
این دستو سیستم خارج کنید. مکانیسم حفظ حریم خصوصی به عنوان "مواردی که فقط تجزیه و تحلیل را در کل امکان پذیر می کند و از تطبیق رویدادهای ورود به سیستم یا نتایج حاصل از کاربران برای کاربران جدا می شود" تعریف می شود تا از هرگونه داده های هر کاربر در معرض دید قرار گیرد (به عنوان مثال ، با استفاده از یک فناوری حریم خصوصی دیفرانسیل مانند مانندRAPPOR
).[C-1-5] نباید چنین داده هایی را با سایر مؤلفه های سیستم عامل که از الزامات ذکر شده در بخش فعلی استفاده نمی کنند ، به اشتراک بگذارند (9.8.6
محتواداده های سطح سیستم عامل و محیط ) ، به جز با رضایت صریح کاربر هر بار که هست به اشتراک گذاشته شده است. مگر اینکه چنین عملکردی به عنوان یک API Android SDK (AmbientContext
،HotwordDetectionService
) ساخته شود.[C-1-6] برای پاک کردن چنین داده هایی که اجرای
یا وسایل اختصاصیContentCaptureService
درصورت ذخیره داده ها به هر شکلی روی دستگاه جمع می شود ، باید هزینه کاربر را فراهم کند. اگر کاربر تصمیم به پاک کردن داده ها گرفت ، باید تمام داده های تاریخی جمع آوری شده را حذف کند.
- [C-SR-3] به شدت توصیه می شود که با Android SDK API یا یک مخزن منبع باز OEM مشابه اجرا شود. و / یا در اجرای ماسهبازی انجام شود (به اجرای API 9.8.15 Sandboxed مراجعه کنید).
Android ، از طریق
SpeechRecognizer#onDeviceSpeechRecognizer()
امکان انجام تشخیص گفتار را بر روی دستگاه فراهم می کند ، بدون اینکه شبکه را درگیر کند. هرگونه اجرای سخنران در دستگاه در دستگاه باید از سیاست های ذکر شده در این بخش پیروی کند.- هر صفحه نمایش یا داده های دیگر که از طریق
بازبینی را ببینید
اگر پیاده سازی دستگاه ها پرچم ویژگی
android.hardware.telephony
را اعلام کنید ، آنها:- [C-1-4] گزارش های تولید شده با استفاده از
BUGREPORT_MODE_TELEPHONY
باید حداقل حاوی اطلاعات زیر باشد:-
SubscriptionManagerService
بندی
-
- [C-1-4] گزارش های تولید شده با استفاده از
9.8.14. مدیر اعتبار : حذف شد
9.8.15. پیاده سازی API با جعبه ماسه ای : بخش جدید
بازبینی را ببینید
Android ، از طریق مجموعه ای از API های نماینده ، مکانیسمی را برای پردازش امنیت داده های سطح سیستم عامل و محیط فراهم می کند. چنین پردازش ها را می توان با دسترسی ممتاز و کاهش قابلیت های ارتباطی ، به عنوان اجرای API ماسهبازی ، به یک APK از پیش نصب شده واگذار کرد.
هر اجرای API با جعبه ماسه ای:
- [C-0-1] نباید درخواست اینترنت را درخواست کند.
- [C-0-2] فقط باید از طریق API های ساختاری که توسط پیاده سازی های منبع باز در دسترس عموم با استفاده از مکانیسم های حفظ حریم خصوصی یا به طور غیر مستقیم از طریق API های SDK Android ، به اینترنت دسترسی پیدا می کند ، دسترسی پیدا کنید. مکانیسم حفظ حریم خصوصی به عنوان "مواردی که فقط تجزیه و تحلیل را در کل امکان پذیر می کند و از تطبیق رویدادهای ورود به سیستم یا نتایج حاصل از کاربران برای کاربران جدا می شود" تعریف می شود ، تا از هرگونه اطلاعات مربوط به هر کاربر در معرض خطر باشد (به عنوان مثال ، با استفاده از یک فناوری حریم خصوصی دیفرانسیل مانند مانند راپور ).
- [C-0-3] باید خدمات را از سایر مؤلفه های سیستم جدا نگه دارید (به عنوان مثال ، خدمات یا شناسه های فرآیند به اشتراک گذاری را به اشتراک نمی گذارند) به جز موارد زیر:
- تلفن ، مخاطبین ، UI سیستم و رسانه
- [C-0-4] نباید به کاربران اجازه دهد خدمات را با یک برنامه یا سرویس قابل نصب کاربر جایگزین کنند
- [C-0-5] فقط باید به خدمات از پیش نصب شده اجازه دهد چنین داده هایی را ضبط کنند. مگر اینکه قابلیت جایگزینی در AOSP ساخته شود (به عنوان مثال برای برنامه های دستیار دیجیتال).
- [C-0-6] نباید اجازه دهد هیچ برنامه ای غیر از مکانیسم خدمات از پیش نصب شده قادر به ضبط چنین داده هایی باشد. مگر در مواردی که چنین توانایی ضبط با یک API Android SDK اجرا شود.
- [C-0-7] برای غیرفعال کردن خدمات باید هزینه کاربر را فراهم کند.
- [C-0-8] برای مدیریت مجوزهای اندرویدی که توسط این سرویس ها نگهداری می شوند ، نباید از هزینه کاربر حذف شود و از مدل مجوزهای Android پیروی کند ، همانطور که در بخش 9.1 توضیح داده شده است. اجازه .
9.8.16. داده های صوتی و دوربین مداوم : بخش جدید
بازبینی را ببینید
علاوه بر الزامات ذکر شده در ضبط 9.8.2 ، 9.8.6 داده های سطح سیستم عامل و محیط ، و اجرای API 9.8.15 Sandboxed ، پیاده سازی هایی که از داده های صوتی به دست آمده در پس زمینه (به طور مداوم) از طریق AudiORecord ، موسیقی Soundtrigger یا سایر برنامه های صوتی استفاده می کنند. یا داده های دوربین به دست آمده در پس زمینه (به طور مداوم) از طریق فیلمبرداری یا سایر API های دوربین:
- [C-0-1] باید یک شاخص مربوطه (دوربین و/یا میکروفون را طبق بخش 9.8.2 ضبط) اجرا کند ، مگر اینکه:
- این دسترسی در یک اجرای Sandboxed انجام می شود (به اجرای API 9.8.15 Sandboxed API) ، از طریق بسته ای که یک یا چند نقش زیر را در اختیار دارد: اطلاعات UI سیستم ، سیستم هوش صوتی سیستم ، هوش صوتی سیستم ، اطلاعات اطلاع رسانی سیستم ، اطلاعات سیستم اطلاعاتی سیستم ، یا هوش بصری سیستم .
- دسترسی از طریق ماسهبازی انجام می شود ، از طریق مکانیسم های AOSP (
HotwordDetectionService
،WearableSensingService
،VisualQueryDetector
) اجرا و اجرا می شود. - دسترسی صوتی برای اهداف کمکی توسط برنامه دستیار دیجیتال انجام می شود ، و
SOURCE_HOTWORD
به عنوان منبع صوتی تهیه می کند. - دسترسی توسط سیستم انجام می شود و با کد منبع باز پیاده سازی می شود.
- [C-SR-1] به شدت توصیه می شود که با استفاده از چنین داده هایی ، رضایت کاربر را برای هر عملکردی نیاز داشته باشید و به طور پیش فرض غیرفعال شوید.
- [C-SR-2] به شدت توصیه می شود همان روش درمانی را اعمال کنید (یعنی محدودیت های ذکر شده در ضبط 9.8.2 ، 9.8.6 داده های سطح سیستم عامل و محیط ، 9.8.15 پیاده سازی API ماسهبازی و 9.8.16 صوتی مداوم و 9.8.16 را دنبال کنید. داده های دوربین) به داده های دوربین از یک دستگاه پوشیدنی از راه دور.
اگر داده های دوربین از یک دستگاه پوشیدنی از راه دور تهیه شده و به صورت بدون رمزگذاری در خارج از سیستم عامل Android ، اجرای Sandboxed یا یک قابلیت ماسهبازی ساخته شده توسط
WearableSensingManager
دسترسی پیدا کنید ، پس از آن:- [C-1-1] باید برای نمایش یک شاخص اضافی در آنجا به دستگاه پوشیدنی از راه دور نشان دهد.
اگر دستگاه ها امکان تعامل با یک برنامه دستیار دیجیتال را بدون کلمه کلیدی اختصاص داده شده (یا با استفاده از پرس و جوهای کاربر عمومی ، یا تجزیه و تحلیل حضور کاربر از طریق دوربین) فراهم کنند:
- [C-2-1] باید اطمینان حاصل کند که چنین اجرای با یک بسته دارای نقش
android.app.role.ASSISTANT
ارائه شده است. - [C-2-2] باید اطمینان حاصل شود که چنین اجرای با استفاده از
HotwordDetectionService
و/یاVisualQueryDetectionService
Android API.
- [C-0-1] باید یک شاخص مربوطه (دوربین و/یا میکروفون را طبق بخش 9.8.2 ضبط) اجرا کند ، مگر اینکه:
9.8.17. تله متری : بخش جدید
بازبینی را ببینید
سیستم و برنامه های Android با استفاده از API های Statslog سیستم ها و برنامه ها را ذخیره می کند. این سیاهههای مربوط از طریق API های Stationsanger مدیریت می شوند که می توانند توسط برنامه های ممتاز سیستم استفاده شوند.
Statsmanager همچنین راهی برای جمع آوری داده های طبقه بندی شده به عنوان حساسیت به حریم خصوصی از دستگاه هایی با مکانیسم حفظ حریم خصوصی فراهم می کند. به طور خاص ،
StatsManager::query
API امکان پرس و جو از دسته های متریک محدود تعریف شده در Statslog را فراهم می کند.هرگونه پرس و جو اجرای و جمع آوری معیارهای محدود از Statsmanager:
- [c-0-1] باید تنها برنامه/اجرای دستگاه باشد و اجازه
READ_RESTRICTED_STATS
را در اختیار داشته باشد. - [C-0-2] فقط باید با استفاده از مکانیسم حفظ حریم خصوصی ، داده های تله متری و ورود به سیستم را ارسال کند. مکانیسم حفظ حریم خصوصی به عنوان "مواردی که فقط تجزیه و تحلیل را در کل امکان پذیر می کند و از تطبیق رویدادهای ورود به سیستم یا نتایج حاصل از کاربران برای کاربران جدا می شود" تعریف می شود ، تا از هرگونه اطلاعات مربوط به هر کاربر در معرض خطر باشد (به عنوان مثال ، با استفاده از یک فناوری حریم خصوصی دیفرانسیل مانند مانند راپور ).
- [C-0-3] نباید چنین داده هایی را با هیچ هویت کاربر (مانند حساب ) در دستگاه مرتبط کند.
- [C-0-4] نباید چنین داده هایی را با سایر مؤلفه های سیستم عامل که از الزامات ذکر شده در بخش فعلی استفاده نمی کنند ، به اشتراک بگذارند (9.8.17 از راه دور حریم خصوصی حفظ حریم خصوصی).
- [C-0-5] برای فعال کردن/غیرفعال کردن مجموعه ، استفاده و اشتراک گذاری از راه دور حریم خصوصی ، باید هزینه کاربر را فراهم کند.
- [C-0-6] برای پاک کردن چنین داده هایی که در صورت ذخیره داده ها به هر شکلی در دستگاه ذخیره می شود ، باید هزینه کاربر را فراهم کند. اگر کاربر تصمیم به پاک کردن داده ها گرفت ، باید تمام داده های موجود در دستگاه را حذف کند.
- [C-0-7] باید اجرای پروتکل حفظ حریم خصوصی را در یک مخزن منبع باز فاش کند.
- [C-0-8] باید سیاستهای خروج از داده ها را در این بخش اجرا کند تا جمع آوری داده ها در دسته های متریک محدود تعریف شده در Statslog باشد.
- [c-0-1] باید تنها برنامه/اجرای دستگاه باشد و اجازه
بازبینی را ببینید
پیاده سازی دستگاهاگر پیاده سازی دستگاه توانایی تأیید محتوای پرونده را بر اساس هر صفحه داشته باشد ، پس آنها :
[
C-0-3C-2-1 ] پشتیبانی از رمزنگاری محتوای پروندهدر برابر یک کلید قابل اعتمادبدون خواندن کل پرونده پشتیبانی می کند.[
C-0-4C-2-2 ] نباید اجازه دهد درخواست های خوانده شده در یک فایل محافظت شده موفق شود وقتی محتوای خوانده شدهدر برابر یک کلید قابل اعتماد تأیید نشود، در هر [C-2-1] در بالا تأیید نمی شود .
- [C-2-4] برای پرونده های فعال شده باید چک پرونده را در O (1) برگردانید.
9.11. کلیدها و اعتبارنامه ها :
بازبینی را ببینید
سیستم Android Keystore به توسعه دهندگان برنامه اجازه می دهد تا کلیدهای رمزنگاری را در یک ظرف ذخیره کنند و از آنها در عملیات رمزنگاری از طریق API Keychain یا API Keystore استفاده کنند. پیاده سازی دستگاه:
- [C-0-3] باید تعداد تلاشهای تأیید هویت اولیه را محدود کند.
- [C-SR-2] به شدت توصیه می شود تا حد بالایی از 20 تلاش برای تأیید هویت اولیه را اجرا کنید و اگر کاربران رضایت و انتخاب این ویژگی را انتخاب کنید ، پس از بیش از حد تلاش برای تأیید اعتبار اولیه ، "تنظیم مجدد داده های کارخانه" را انجام دهید.
اگر اجرای دستگاه روشهای احراز هویت را برای باز کردن قفل صفحه قفل اضافه یا اصلاح کنید اگر بر اساس یک راز شناخته شده و از یک روش احراز هویت جدید استفاده کنید تا به عنوان یک روش امن برای قفل کردن صفحه نمایش داده شود ، سپس:
- [C-SR-3] پین به شدت توصیه می شود حداقل 6 رقم یا آنتروپی 20 بیتی داشته باشید.
- [C-2-1] یک پین به طول کمتر از 6 رقم نباید اجازه ورود خودکار بدون تعامل کاربر را برای جلوگیری از آشکار کردن طول پین.
9.11.1. صفحه قفل ایمن ، احراز هویت و دستگاه های مجازی :
بازبینی را ببینید
پیاده سازی دستگاه:
- [C-0-1] باید تعداد تلاشهای تأیید هویت اولیه را محدود کند.
- [C-SR-5] به شدت توصیه می شود تا حد بالایی از 20 تلاش برای احراز هویت اولیه را اجرا کنید و اگر کاربران رضایت و انتخاب این ویژگی را انتخاب کنید ، پس از بیش از حد تلاش برای تأیید اعتبار اولیه ، "تنظیم مجدد داده های کارخانه" را انجام دهید.
اگر پیاده سازی دستگاه یک پین عددی را به عنوان روش تأیید اعتبار اولیه تعیین کرده است ، پس:
- [C-SR-6] پین به شدت توصیه می شود حداقل 6 رقم یا آنتروپی 20 بیتی داشته باشید.
- [C-SR-7] پین با طول کمتر از 6 رقم به شدت توصیه می شود که اجازه ورود خودکار بدون تعامل کاربر را نداشته باشید تا از آشکار کردن طول پین جلوگیری شود.
اگر پیادهسازیهای دستگاه دارای صفحه قفل ایمن باشند و شامل یک یا چند نماینده اعتماد باشد که
TrustAgentService
System API را پیادهسازی میکند، آنها:[C-7-8] کاربر باید برای یکی از احراز هویت اولیه توصیه شده (به عنوان مثال: پین ، الگوی ، رمز عبور) حداقل یک بار در هر 72 ساعت یا کمتر به چالش بکشد مگر اینکه ایمنی کاربر (به عنوان مثال حواس پرتی درایور) باشد نگرانی.اگر پیاده سازی دستگاه به برنامه ها اجازه می دهد نمایشگرهای مجازی ثانویه ایجاد کنند و از رویدادهای ورودی مرتبط مانند از طریق VirtualDeviceManager و نمایشگرها با virtual_display_flag_secure پشتیبانی کنند ، آنها:
[C-13-10] باید نصب برنامه های آغاز شده از دستگاه های مجازی را غیرفعال کند.9.17. چارچوب مجازی سازی اندرویدی :
بازبینی را ببینید
اگر دستگاه پشتیبانی از API های چارچوب مجازی سازی Android (
android.system.virtualmachine.*
) را پشتیبانی کند ، میزبان Android:- [C-1-1] باید از تمام API های تعریف شده توسط بسته
android.system.virtualmachine
پشتیبانی کند. - [C-1-2] نباید مدل Android Selinux و اجازه را برای مدیریت ماشینهای مجازی محافظت شده (PVM) تغییر دهد.
- [C-1-3] نباید قوانین Neverallow موجود در سیستم/Sepolicy ارائه شده در پروژه منبع باز اندرویدی بالادست (AOSP) را اصلاح ، حذف یا جایگزین کند و این سیاست باید با تمام قوانین Navorallow موجود کامپایل شود.
- [C-1-4] فقط باید به کد امضا شده پلتفرم اجازه دهد و برنامه های ممتاز
نباید به کد غیرقابل اعتماد (به عنوان مثال برنامه های 3P) اجازه دهندتا یک PVMماشین مجازی محافظت شده راایجاد و اجرا کنند. توجه: این ممکن است در نسخه های اندرویدی آینده تغییر کند.
- [C-1-5] نباید اجازه دهد
ماشین مجازی محافظت شدهPVM برای اجرای کدی که بخشی از تصویر کارخانه یا به روزرسانی آنها نیست.هر چیزی که تحت پوشش Boot Android تأیید نشده باشد (به عنوان مثال پرونده های بارگیری شده از اینترنت یا در کنار گذاشته شده) نباید در یک ماشین مجازی محافظت شده اجرا شود.
- [C-1-5] فقط باید به PVM غیر قابل قبول اجازه دهد تا کد را از تصویر کارخانه یا به روزرسانی های پلت فرم آنها اجرا کند که شامل هرگونه به روزرسانی در برنامه های ممتاز نیز می شود.
اگر دستگاه پشتیبانی از API های چارچوب مجازی سازی Android (
android.system.virtualmachine.*
) را پشتیبانی کند ، پس از آن هر نمونه PVMماشین مجازی محافظت شده:- [C-2-1] باید بتواند تمام سیستم عامل های موجود در Apex مجازی را در PVM
ماشین مجازی محافظت شدهاجرا کند. - [C-2-2] نباید اجازه دهد یک
ماشین مجازی محافظت شدهPVM یک سیستم عامل را اجرا کند که توسط مجری دستگاه یا فروشنده سیستم عامل امضا نشده باشد. - [C-2-3] نباید اجازه دهد یک
دستگاه مجازی محافظت شدهPVM برای اجرای داده ها به عنوان کد (به عنوان مثال selinux neverallow execmem).
- [C-2-4] نباید قوانین Neverallow موجود در سیستم/Sepolicy/MicroDroid ارائه شده در پروژه منبع باز اندرویدی بالادست (AOSP) را اصلاح ، حذف یا جایگزین کند.
- [C-2-5] باید مکانیسم های
دفاعیدفاعی PVM را محافظت کند (به عنوان مثال Selinux برای PVM) حتی برای سیستم عامل های غیر میکروودید. - [C-2-6] باید اطمینان حاصل کند که PVM
از سیستم عامل شکست میخورد اگرنتواند تصاویر اولیه راکه VM اجرا می کند تأیید کند ، تأیید نمی شود. تأیید باید در داخل VM انجام شود. - [C-2-7] باید اطمینان حاصل کند که PVM در صورت عدم وجود یکپارچگی نمونه ،
سیستم عامل از بوت شدن امتناع می ورزد.
اگر دستگاه پشتیبانی از API های چارچوب مجازی سازی Android (
android.system.virtualmachine.*
) را پشتیبانی کند ، پس Hypervisor:- [C-3-1] باید اطمینان حاصل کند که صفحات حافظه به طور انحصاری متعلق به یک VM (یا PVM یا میزبان VM) فقط در دسترس دستگاه مجازی یا Hypervisor ، نه توسط سایر ماشین های مجازی-یا محافظت شده یا غیر محافظت شده است.
نباید به PVM اجازه دسترسی به صفحه ای متعلق به یک نهاد دیگر (یعنی سایر PVM یا Hypervisor) را بدهد ، مگر اینکه صریحاً توسط صاحب صفحه به اشتراک گذاشته شود. این شامل میزبان VM است. این امر در مورد دسترسی CPU و DMA نیز صدق می کند. - [C-3-2] باید پس از استفاده توسط PVM و قبل از بازگشت به میزبان ، صفحه ای را پاک کنید (به عنوان مثال PVM از بین می رود).
- [C-
3-3SR-1 ] به شدت توصیه می شود تااطمینان حاصل شودکه سیستم عامل PVM قبل از هر کد در PVM بارگیری و اجرا می شود. - [C-3-4] باید اطمینان حاصل کند که هر VM یک راز PER-VM را به دست می آورد که
زنجیره گواهی بوت بوت (BCC) و شناسه دستگاه مرکب (CDI) که به یک نمونه PVM ارائه شده است ،فقط با آن نمونه خاص VM قابل تغییر است و تغییر می دهد تنظیم مجدد کارخانه و OTA.
اگر دستگاه پشتیبانی از API های چارچوب مجازی سازی Android را پیاده سازی کند ، در همه زمینه ها:
- [C-4-1] نباید عملکرد PVM را فراهم کند که امکان دور زدن مدل امنیت اندرویدی را فراهم کند.
اگر دستگاه پشتیبانی از API های چارچوب مجازی سازی Android را پیاده سازی کند ، پس:
- [C-5-1] باید قادر به پشتیبانی از تدوین جدا شده باشد اما ممکن است ویژگی تدوین جدا شده را در حمل دستگاه
از بروزرسانی Art Runtimeغیرفعال کند.
اگر دستگاه پشتیبانی از API های چارچوب مجازی سازی Android را پیاده سازی کند ، پس برای مدیریت کلید:
- [C-6-1] باید زنجیره تاس را در نقطه ای که کاربر نمی تواند اصلاح کند ، حتی در دستگاه های قفل نشده باشد. (برای اطمینان از اینکه نمی توان از آن استفاده کرد).
- [C- SR-2
6-2] به شدت توصیه می شود از DICE به عنوان مکانیسم مشتق مخفی PER-VM استفاده کنید.باید تاس ها را به درستی انجام دهید ، یعنی مقادیر صحیح را ارائه می دهد.
- [C-1-1] باید از تمام API های تعریف شده توسط بسته