Google Pay و Mastercard عرضه پرداختهای مبتنی بر بیومتریک را در هند با استفاده از روش تأیید دارنده کارت در دستگاه مصرفکننده (CDCVM) آغاز کردهاند. خریداران خرید خود را با اثر انگشت یا اسکن چهره تأیید میکنند و دادههای بیومتریک درون گوشی باقی میماند.
چرا CDCVM اکنون اهمیت دارد
روش CDCVM فرآیند بررسی «هویت شما» را به خودِ دستگاه منتقل میکند. تنها یک توکن پرداخت یکبارمصرف که به صورت رمزنگاریشده امضا شده است از گوشی خارج میشود، بنابراین دادههای بیومتریک هرگز از اینترنت عبور نمیکنند.
نحوه عملکرد این فرآیند در پشت صحنه
- استخراج ویژگی (Feature extraction) – حسگر (خواننده اثر انگشت یا دوربین) دادههای خام را به یک Secure Enclave یا محیط اجرای مورد اعتماد (TEE) میفرستد. این مناطق ایزوله شده، ورودی را بدون قرار دادن آن در معرض سیستمعامل، پردازش میکنند.
- مقایسه محلی (Local comparison) – دستگاه یک الگوی رمزنگاریشده از بیومتریک کاربر را ذخیره میکند. Secure Enclave تصویر ثبتشده در لحظه را با این الگو مقایسه میکند و هرگز تصویر خام یا بردار ویژگی (feature vector) را به جای دیگری ارسال نمیکند.
- تأییدیه سختافزاری (Hardware attestation) – وقتی مطابقت با موفقیت انجام شد، enclave تراکنش را با یک کلید خصوصی که هرگز از سختافزار خارج نمیشود، امضا میکند. این تأییدیه ثابت میکند که یک بیومتریک تأییدشده استفاده شده است، بدون اینکه خودِ دادههای بیومتریک را فاش کند.
- تولید توکن (Token generation) – تأییدیه امضا شده با یک سرویس توکن ترکیب میشود تا یک توکن یکبارمصرف تولید کند. این توکن (و نه دادههای بیومتریک) به سمت فروشنده و سپس برای تسویه حساب به بانک صادرکننده ارسال میشود.
فروشنده و بانک فقط توکن امضا شده را میبینند. تمام دادههای بیومتریک در حافظه محافظتشده دستگاه باقی میماند.
دامهایی که توسعهدهندگان باید از آنها اجتناب کنند
- ارسال بردارهای بیومتریک – انتقال دادههای خام اثر انگشت یا چهره، یک آسیبپذیری دائمی ایجاد میکند. اگر پایگاه دادهای مورد نفوذ قرار گیرد، اثر انگشت قابل تغییر نیست.
- حملات بازپخش (Replay attacks) – اگر نمایشهای عددی بیومتریک در شبکه جابهجا شوند، میتوان آنها را ضبط و مجدداً برای جعل هویت حسگر ارسال کرد.
- چالشهای نظارتی – بسیاری از حوزههای قضایی با دادههای بیومتریک به عنوان اطلاعات شخصی بسیار حساس برخورد میکنند و قوانین سختگیرانهای را برای ذخیرهسازی، رضایتگیری و اطلاعرسانی در صورت نقض امنیت اعمال میکنند.
با بیومتریک مانند یک کلید محلی رفتار کنید که عملیات رمزنگاری را باز میکند؛ هرگز آن را به عنوان بخشی از محموله (payload) ارسال نکنید.
چکلیست اجرایی مشخص
- از APIهای بیومتریک ارائه شده توسط پلتفرم استفاده کنید که ثبت و پردازش را در داخل TEE دستگاه نگه میدارند.
- الگوی بیومتریک را به صورت رمزنگاریشده ذخیره کنید؛ با کلیدی که توسط Secure Enclave مدیریت میشود. هرگز آن را در سیستم فایل (file system) ننویسید.
- پس از مطابقت موفقیتآمیز، درخواست تأییدیه سختافزاری (hardware attestation) کنید.
- با یک سرویس توکنسازی (tokenization service) ادغام شوید که تأییدیه را دریافت کرده و یک توکن یکبارمصرف صادر میکند. در درخواست توکن، تأییدیه امضا شده را بگنجانید اما هیچ داده بیومتریکی را ارسال نکنید.
- توکن را در سمت سرور با استفاده از کلید عمومی صادرکننده اعتبارسنجی کنید. هر توکنی که فاقد امضای تأییدیه معتبر باشد را رد کنید.
- موارد خاص (edge cases) را آزمایش کنید، مانند خرابی حسگر، رد شدنهای اشتباه و تعویض دستگاه. در صورت بروز مشکل، فرآیند باید بدون فاش کردن دادههای بیومتریک، به استفاده از PIN یا رمز عبور بازگردد.
نتیجهگیری
وقتی تأیید بیومتریک در داخل سختافزار امن گوشی باقی میماند و صرفاً یک توکن یکبارمصرف را امضا میکند، کاربران حریم خصوصی اثر انگشت یا دادههای چهره خود را حفظ میکنند و فروشندگان نیز میزان مواجهه با اطلاعات حساس شخصی را کاهش میدهند. برای توسعهدهندگان، قانون ساده است: اجازه دهید بیومتریک کلید رمزنگاری را باز کند، اما هرگز اجازه ندهید از دستگاه خارج شود.
