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