اندروید از شبیه سازی کارت خارج از میزبان پشتیبانی می کند که به معنای شبیه سازی کارت NFC با یک عنصر امن است. برای اطلاعات بیشتر، نمای کلی شبیهسازی کارت مبتنی بر میزبان را ببینید.
در موارد استفاده خاص مانند استفاده از FeliCa برای حمل و نقل، شبیهسازی کارت خارج از میزبان زمانی که صفحه دستگاه قفل یا خاموش است، یا زمانی که دستگاهی خاموش است مجاز است.
Secure NFC ویژگی معرفی شده در اندروید 10 است که به شبیه سازی کارت NFC خارج از میزبان اجازه می دهد تنها زمانی که صفحه نمایش دستگاه باز است فعال شود. اجرای این ویژگی به کاربران امکان فعال کردن Secure NFC را برای بهبود امنیت می دهد.
پیاده سازی
برای پیاده سازی ویژگی Secure NFC، دستگاه باید دارای یک کنترلر NFC باشد که از استاندارد NCI 2.0 پشتیبانی می کند و باید از چارچوب NFC پروژه منبع باز Android (AOSP) استفاده کند. سخت افزار ( ro.boot.hardware.sku
) را که از ویژگی Secure NFC پشتیبانی می کند در فایل XML منبع NFC با ویژگی config_skuSupportsSecureNfc
اضافه کنید.
APIهای چارچوب
برای پیادهسازی Secure NFC، APIهای چارچوب زیر را که در پروژه منبع باز Android یافت میشوند، پیادهسازی کنید:
-
isSecureNfcSupported()
: بررسی می کند که آیا دستگاه از ویژگی Secure NFC پشتیبانی می کند یا خیر. -
isSecureNfcEnabled()
: بررسی می کند که آیا ویژگی Secure NFC فعال است یا خیر. -
enableSecureNfc(boolean enable)
: ویژگی Secure NFC را فعال می کند.
تنظیمات UI
در برنامه تنظیمات، یک سوئیچ جابجایی اضافه کنید تا به کاربران اجازه دهید قابلیت Secure NFC را فعال و غیرفعال کنند. می توانید تنظیمات پیش فرض را در برنامه تنظیمات سفارشی کنید تا فعال یا غیرفعال شود.
شکل 1 نمونه ای از سوئیچ جابجایی را برای فعال و غیرفعال کردن Secure NFC در برنامه تنظیمات در تنظیمات > دستگاه های متصل > تنظیمات برگزیده اتصال > NFC > نیاز به باز کردن قفل دستگاه برای NFC نشان می دهد.
شکل 1. نمونه سوئیچ برای فعال و غیرفعال کردن Secure NFC
هنگامی که Secure NFC فعال است و کاربر دستگاه را روی یک خواننده NFC قرار می دهد، Android همانگونه که در شکل 2 نشان داده شده است ، باز کردن قفل را برای استفاده از اعلان NFC در صفحه قفل نمایش می دهد.
شکل 2. برای استفاده از اعلان NFC در صفحه قفل، قفل را باز کنید
اعتبار سنجی
برای تأیید اعتبار پیاده سازی خود، ویژگی Secure NFC را فعال کنید و بررسی کنید که شبیه سازی کارت NFC زمانی که صفحه دستگاه خاموش یا قفل است و هنگامی که دستگاه خاموش است غیرفعال باشد.