بیشتر بحثها دربارهٔ حضور و غیاب سر یک سؤال ساده گیر میکند: «از کجا مطمئن شویم کارمند واقعاً سر کار بوده؟» دستگاه اثرانگشت پاسخ قدیمی این سؤال بود و ثبت تردد با GPS پاسخ مدرن آن. اما بین این دو، یک گزینهٔ سوم هست که هم لنگر فیزیکی دارد و هم سختافزار پرهزینه نمیخواهد: ثبت تردد با NFC.
در این مقاله میبینیم NFC چطور کار میکند، چرا از نظر ضد تقلب بودن جایگاه ویژهای دارد و کادیا با چه لایههایی جلوی رایجترین روشهای تقلب را میگیرد.
NFC چیست و چرا برای تردد مناسب است؟
NFC یا «ارتباط میدان نزدیک» یک فناوری بیسیم با برد بسیار کوتاه است — در عمل چند سانتیمتر. همین بردِ کوتاه، که در کاربردهای دیگر یک محدودیت است، برای حضور و غیاب دقیقاً همان چیزی است که لازم داریم: برای خواندن کارت باید فیزیکاً کنارش ایستاده باشید.
کارتی که در کادیا استفاده میشود یک برچسب غیرفعال (NTAG213) است:
- برق نمیخواهد. انرژی لازم را از میدان مغناطیسی گوشی میگیرد.
- شبکه نمیخواهد. به وایفای یا کابل وصل نیست.
- قطعهٔ متحرک ندارد. چیزی نیست که خراب شود، گرد و خاک بگیرد یا سرویس بخواهد.
- شناسهٔ کارخانهای ثابت دارد. همان چیزی که پایهٔ اصلی تشخیص اصل بودن کارت است.
یعنی از دید سازمان، شما یک «دستگاه حضور و غیاب» نصب نمیکنید؛ یک برچسب روی دیوار میچسبانید.
جریان کار: از تپ تا ثبت
مسیر یک تردد با NFC در کادیا اینطور است:
- مالک سازمان کارت شعبه را فعال میکند و روش تردد شعبه را انتخاب میکند.
- کارت روی دیوار ورودی نصب میشود.
- کارمند پشت گوشی را به کارت نزدیک میکند.
- اپ کادیا شناسهٔ کارت را مستقیماً از ریدر NFC گوشی میخواند.
- اپ یک توکن امضاشده میسازد که سه چیز را به هم گره میزند: چه کسی، کجا، چه زمانی.
- سرور همه را بررسی میکند و ورود ثبت میشود.
- زدن دوبارهٔ همان کارت در پایان روز، خروج را ثبت میکند.
کارمند فقط یک حرکت انجام میدهد. تمام پیچیدگی — که در ادامه میبینید کم هم نیست — پشت همان یک تپ پنهان است.
چرا NFC ذاتاً ضد تقلبتر است؟
تفاوت بنیادی NFC با روشهای دیگر در یک جمله خلاصه میشود: کارت روی دیوار یک لنگر فیزیکی است. نمیشود از خانه لمسش کرد.
در ثبت تردد مبتنی بر موقعیت، اثبات حضور از حسگری میآید که روی گوشی کارمند است — و گوشی در اختیار اوست. برای همین سامانههای جدی لایههایی برای تشخیص موقعیت جعلی دارند. در مدل NFC، اثبات حضور از یک شیء میآید که در اختیار سازمان است و روی دیوار محل کار نصب شده. برای تقلب باید کارت را فیزیکاً جابهجا کنید، نه یک اپ نصب کنید.
اما این پایان ماجرا نیست. دقیقاً به همین دلیل، مهمترین سؤال امنیتی NFC این است: آیا میشود خود کارت را جعل کرد؟
چهار روش تقلب و پاسخ کادیا به هرکدام
۱. شبیهسازی کارت با گوشی دوم
رایجترین سناریوی تقلب این است: کارمند شناسهٔ کارت را یک بار میخواند و گوشی دومی را طوری تنظیم میکند که خودش را جای کارت جا بزند — به این کار HCE یا «شبیهسازی کارت میزبان» میگویند. بعد گوشی دوم را دست همکارش میدهد.
اینجا یک واقعیت سختافزاری به کمک میآید: اندروید در حالت شبیهسازی اجازهٔ تعیین شناسه را نمیدهد. کنترلر NFC خودش یک شناسهٔ تصادفی چهاربایتی میسازد که طبق استاندارد با 08 شروع میشود. کارت واقعی برعکس، شناسهٔ ثابت هفتبایتی دارد که با 04 — کد سازنده — شروع میشود.
کادیا شکل این شناسه را بررسی میکند و نکتهٔ کلیدی اینجاست که این بررسی کاملاً سمت سرور انجام میشود. یعنی حتی نسخهٔ دستکاریشدهٔ اپ هم نمیتواند دورش بزند؛ سرور به چیزی که اپ ادعا میکند اعتماد نمیکند و خودش قضاوت میکند.
لایهٔ دوم همین بررسی، فهرست فناوریهای تگ است: کارت NTAG213 اصلاً از پروتکل ISO-DEP پشتیبانی نمیکند. دیدن این پروتکل یعنی طرف مقابل یک کارت هوشمند یا دستگاه شبیهساز است، نه کارت شعبه — و درخواست رد میشود.
۲. ارسال دوبارهٔ یک درخواست موفق
سناریوی دوم ظریفتر است: کارمند یک بار واقعاً کارت را میزند، درخواست موفق را ضبط میکند و فردا همان را دوباره میفرستد — بدون اینکه سر کار باشد.
کادیا دو قفل روی این مسیر دارد:
توکن یکبارمصرف. هر تپ توکن مخصوص خودش را میسازد. بهمحض مصرف، توکن در سرور علامت میخورد و ارسال دوبارهٔ آن با خطای «این درخواست قبلاً ثبت شده است» رد میشود. این علامتگذاری اتمیک است؛ یعنی اگر دو درخواست دقیقاً همزمان با یک توکن برسند، فقط یکی موفق میشود — نه هیچکدام و نه هر دو.
پنجرهٔ زمانی کوتاه. هر توکن فقط دو دقیقه اعتبار دارد. توکن دیروز، حتی اگر هرگز مصرف نشده باشد، امروز پذیرفته نمیشود.
۳. ساختن توکن جعلی
اگر توکن قابل حدس زدن باشد، همهٔ لایههای بالا بیاثر میشوند. برای همین توکن با امضای رمزنگاریشدهٔ HMAC-SHA256 ساخته میشود و پیامی که امضا میشود شامل هر سه مؤلفهٔ زمان، شعبه و شناسهٔ کارت است. بدون کلید، ساختن امضای معتبر عملاً ممکن نیست.
دو جزئیات طراحی اینجا مهم است:
کلید امضا برای هر کاربر جداگانه و تصادفی است، نه یک کلید سراسری. یک کلید مشترک یعنی نشت یک نفر برابر است با کلید همهٔ کاربران و همهٔ شعب. با کلید اختصاصی، بدترین حالتِ نشت محدود به همان یک نفر میماند.
مقایسهٔ امضا در زمان ثابت انجام میشود. مقایسهٔ معمولی رشتهها بهمحض اولین بایت متفاوت برمیگردد و همین اختلاف زمانی میتواند لو بدهد که چند بایت اول درست بوده — راهی برای ساختن تدریجی یک امضای معتبر. مقایسهٔ زمانثابت این کانال را میبندد.
۴. استفاده از کارت شعبهٔ دیگر
در سازمان چندشعبهای، کارمند شعبهٔ الف نباید بتواند با کارت شعبهٔ ب تردد بزند. کادیا دو بررسی مستقل انجام میدهد: شناسهٔ کارت خواندهشده باید دقیقاً همان کارت ثبتشدهٔ آن شعبه باشد، و کارمند باید عضو همان شعبه باشد. شکست هرکدام یعنی رد شدن درخواست با پیام روشن.
ترتیب بررسیها هم بخشی از امنیت است
نکتهای که معمولاً در معرفی محصولات گفته نمیشود اما اهمیت واقعی دارد: ترتیب این بررسیها اتفاقی نیست.
در کادیا امضای توکن قبل از علامتگذاری مصرف آن بررسی میشود. اگر ترتیب برعکس بود، هر کسی میتوانست با فرستادن توکنهای ساختگی حافظهٔ سرور را پر کند و — مهمتر — توکن معتبری را که هنوز استفاده نشده «بسوزاند» و کارمند واقعی را از ثبت تردد محروم کند. این نوع حمله چیزی نمیدزدد؛ فقط سامانه را از کار میاندازد، و دقیقاً به همین دلیل راحت از قلم میافتد.
به همین شکل، اعتبارسنجی شکل ورودی پیش از هر کار رمزنگاری یا کوئری پایگاه داده انجام میشود تا یک ورودی بیربط و حجیم، سرور را وادار به کار بیفایده نکند.
سه حالت تردد در کادیا — کدام را انتخاب کنیم؟
کادیا NFC را بهعنوان یک انتخاب همهیاهیچ ارائه نمیکند. مالک سازمان برای هر شعبه یکی از این سه حالت را انتخاب میکند:
| حالت | کارت لازم است؟ | موقعیت مکانی بررسی میشود؟ | مناسب چه سازمانی |
|---|---|---|---|
| موقعیت مکانی | نه (اما اگر شعبه کارت فعال داشته باشد، مسیر موازی است) | بله | تیم میدانی، سازمان با کاربر آیفون، چند شعبه |
| فقط کارت | بله | نه | ورودی مشخص، محیط سربسته، جایی که GPS ضعیف است |
| کارت و موقعیت | بله | بله | بالاترین سطح احراز — هیچکدام بهتنهایی کافی نیست |
حالت سوم در عمل یک احراز هویت دوعاملی برای حضور است: کارمند باید هم کارت دیوار را لمس کند و هم داخل محدودهٔ جغرافیایی تعریفشده باشد. برای سازمانهایی که تردد پایهٔ محاسبهٔ حقوق و دستمزد است، این ترکیب اختلافات پایان ماه را عملاً حذف میکند.
نکتهٔ مهم در حالت اول: روشن بودن کارت، مسیر موقعیت مکانی را نمیبندد. کارت یک راه افزوده است، نه جایگزین — و همین باعث میشود سازمان مجبور نباشد بین راحتی و پوشش همهٔ کارمندان یکی را انتخاب کند.
NFC در مقایسه با روشهای دیگر
| معیار | کارت NFC | دستگاه اثرانگشت | ثبت با GPS |
|---|---|---|---|
| هزینهٔ سختافزار | یک برچسب برای هر شعبه | دستگاه برای هر نقطه | ندارد |
| برق و شبکه | لازم ندارد | لازم دارد | ندارد |
| نگهداری | عملاً صفر | سنسور، قطعه، سرویس دورهای | ندارد |
| تماس فیزیکی مشترک | ندارد | دارد | ندارد |
| لنگر فیزیکی حضور | دارد (کارت روی دیوار) | دارد (دستگاه) | مبتنی بر حسگر گوشی |
| جعل با کمک همکار | گوشی شخصی کارمند لازم است | با انگشت همکار ممکن است | با گوشی همکار ممکن است |
| پوشش کاربران iOS | ندارد | دارد | دارد |
| کار در محیط بدون سیگنال GPS | بله | بله | محدود |
هیچ ستونی در این جدول همهجا برنده نیست — و این دقیقاً دلیلی است که کادیا هر سه را کنار هم نگه میدارد.
محدودیتها را صادقانه بگوییم
هیچ روش احراز حضوری صددرصد نیست و ادعای خلاف آن بیشتر از آنکه اطمینان بدهد، اعتماد را میسوزاند. سه محدودیت واقعی NFC:
کاربران آیفون پوشش داده نمیشوند. نسخهٔ iOS کادیا تحت وب است و مرورگر به کارت NFC دسترسی ندارد. اگر تیم شما کاربر آیفون دارد، حالت «فقط کارت» عملاً آنها را مسدود میکند. پنل مدیریت پیش از انتخاب همین را هشدار میدهد — و راهحل، انتخاب حالت موقعیت مکانی با کارت فعال است.
گوشی کارمند باید NFC داشته باشد. بیشتر گوشیهای اندروید میانرده و بالاتر دارند، اما گوشیهای خیلی ساده ندارند.
سطح تقلب حرفهای همچنان وجود دارد. لایههای بالا جلوی سناریوهای عملی و در دسترس — گوشی دوم، تکرار درخواست، توکن جعلی — را میگیرند. کسی که سراغ سختافزار تخصصی جعل کارت برود از سطح دیگری وارد شده است؛ و این محدودیت مشترک همهٔ سامانههای کارتی دنیاست، نه ویژگی کادیا.
در برابر این محدودیتها، لایهای هست که هیچکدام از این روشها از آن فرار نمیکنند: امتیازدهی ریسک سمت سرور. کادیا الگوی ثبتهای هر کارمند را تحلیل میکند و ثبتهای مشکوک را برای بازبینی مدیر علامت میزند. ارزش این لایه در این است که مهاجم نمیتواند دربارهٔ آن دروغ بگوید: هر بررسی سمت کلاینت روی دستگاهی اجرا میشود که او مالکش است، اما الگویی که در دادهٔ سرور میسازد را نمیتواند پاک کند.
مزیت کادیا در ثبت تردد با NFC
کارت بهعنوان افزودنی، نه اجبار پلن. کارت مستقل از پلن اشتراک تهیه میشود؛ یعنی سازمان برای استفاده از کارتی که پولش را داده مجبور به ارتقای پلن نیست.
یک کارت، دو عمل. نصب یک کارت در ورودی کافی است؛ تپ اول ورود و تپ دوم خروج را ثبت میکند. نیازی به دو کارت یا دو نقطه نیست.
نشستهای رهاشده پاکسازی میشوند. اگر کارمندی دیروز خروج نزده باشد، نشست باز دیروز پیش از ثبت امروز بسته میشود تا تپ صبح به اشتباه «خروج» ثبت نشود.
پیام خطای قابل فهم. اگر ساعت گوشی کارمند اشتباه باشد، پیام دقیقاً همین را میگوید، نه یک «خطای نامشخص» که کاربر را در حلقهٔ بیپایان تپ زدن بیندازد.
اتصال مستقیم به حقوق. دادهٔ تردد بدون انتقال دستی وارد گزارش کارکرد و محاسبهٔ حقوق میشود.
مسیر جایگزین همیشه باز. اگر کارت خراب شود یا کارمندی گوشی بدون NFC داشته باشد، مسیر ثبت تردد بدون دستگاه در دسترس است و سازمان زمین نمیخورد.
جمعبندی
ثبت تردد با NFC نقطهٔ تعادل خوبی بین دو دنیاست: لنگر فیزیکی دستگاههای سنتی را دارد، بدون هزینه، برق، شبکه و نگهداری آنها. امنیتش هم از یک بررسی ساده نمیآید، بلکه از چند لایهٔ روی هم است — شکل شناسهٔ کارت، امضای رمزنگاریشده با کلید اختصاصی هر کاربر، توکن یکبارمصرف، پنجرهٔ زمانی کوتاه، تطبیق کارت با شعبه و در نهایت امتیازدهی ریسک سمت سرور.
برای شروع:
- جزئیات کامل این روش را در صفحهٔ ثبت تردد با NFC ببینید
- اپلیکیشن اندروید کادیا را دانلود کنید
- یا برای انتخاب حالت مناسب سازمانتان با تیم کادیا در تماس باشید

