لوگوی کادیا — نرم‌افزار حضور و غیاب و ثبت تردد بدون دستگاه

ثبت تردد با NFC — کارت روی دیوار و لایه‌های ضد تقلبی که پشتش است

ثبت تردد با NFC چطور کار می‌کند؟ چرا شبیه‌سازی کارت با گوشی دوم جواب نمی‌دهد و کادیا با چه لایه‌هایی جلوی تقلب در حضور و غیاب را می‌گیرد.

حضور و غیاب10 دقیقه مطالعه
تصویرسازی ثبت تردد با NFC: گوشی موبایل در حال تپ روی کارت NFC دیواری

بیشتر بحث‌ها دربارهٔ حضور و غیاب سر یک سؤال ساده گیر می‌کند: «از کجا مطمئن شویم کارمند واقعاً سر کار بوده؟» دستگاه اثرانگشت پاسخ قدیمی این سؤال بود و ثبت تردد با GPS پاسخ مدرن آن. اما بین این دو، یک گزینهٔ سوم هست که هم لنگر فیزیکی دارد و هم سخت‌افزار پرهزینه نمی‌خواهد: ثبت تردد با NFC.

در این مقاله می‌بینیم NFC چطور کار می‌کند، چرا از نظر ضد تقلب بودن جایگاه ویژه‌ای دارد و کادیا با چه لایه‌هایی جلوی رایج‌ترین روش‌های تقلب را می‌گیرد.

NFC چیست و چرا برای تردد مناسب است؟

NFC یا «ارتباط میدان نزدیک» یک فناوری بی‌سیم با برد بسیار کوتاه است — در عمل چند سانتی‌متر. همین بردِ کوتاه، که در کاربردهای دیگر یک محدودیت است، برای حضور و غیاب دقیقاً همان چیزی است که لازم داریم: برای خواندن کارت باید فیزیکاً کنارش ایستاده باشید.

کارتی که در کادیا استفاده می‌شود یک برچسب غیرفعال (NTAG213) است:

  • برق نمی‌خواهد. انرژی لازم را از میدان مغناطیسی گوشی می‌گیرد.
  • شبکه نمی‌خواهد. به وای‌فای یا کابل وصل نیست.
  • قطعهٔ متحرک ندارد. چیزی نیست که خراب شود، گرد و خاک بگیرد یا سرویس بخواهد.
  • شناسهٔ کارخانه‌ای ثابت دارد. همان چیزی که پایهٔ اصلی تشخیص اصل بودن کارت است.

یعنی از دید سازمان، شما یک «دستگاه حضور و غیاب» نصب نمی‌کنید؛ یک برچسب روی دیوار می‌چسبانید.

جریان کار: از تپ تا ثبت

مسیر یک تردد با NFC در کادیا این‌طور است:

  1. مالک سازمان کارت شعبه را فعال می‌کند و روش تردد شعبه را انتخاب می‌کند.
  2. کارت روی دیوار ورودی نصب می‌شود.
  3. کارمند پشت گوشی را به کارت نزدیک می‌کند.
  4. اپ کادیا شناسهٔ کارت را مستقیماً از ریدر NFC گوشی می‌خواند.
  5. اپ یک توکن امضاشده می‌سازد که سه چیز را به هم گره می‌زند: چه کسی، کجا، چه زمانی.
  6. سرور همه را بررسی می‌کند و ورود ثبت می‌شود.
  7. زدن دوبارهٔ همان کارت در پایان روز، خروج را ثبت می‌کند.

کارمند فقط یک حرکت انجام می‌دهد. تمام پیچیدگی — که در ادامه می‌بینید کم هم نیست — پشت همان یک تپ پنهان است.

چرا 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
  • کارت NFC حضور و غیاب
  • حضور و غیاب ضد تقلب
  • تردد کارتی
  • جایگزین دستگاه اثرانگشت
  • نرم‌افزار حضور و غیاب

پرسش‌های متداول

6 پرسشی که بیشترین تکرار را در جلسات راه‌اندازی دارند

ثبت تردد با NFC دقیقاً چطور کار می‌کند؟

یک کارت NFC روی دیوار ورودی شعبه نصب می‌شود. کارمند پشت گوشی خود را به کارت نزدیک می‌کند، اپ کادیا شناسهٔ کارت را از ریدر NFC گوشی می‌خواند و یک درخواست امضاشده به سرور می‌فرستد. سرور امضا، شناسهٔ کارت، شعبه و زمان را بررسی می‌کند و ورود یا خروج ثبت می‌شود. زدن دوبارهٔ همان کارت یعنی خروج.

آیا کارمند می‌تواند با گوشی دوم کارت را شبیه‌سازی کند؟

خیر. گوشی اندروید در حالت شبیه‌سازی کارت (HCE) اجازهٔ تعیین شناسهٔ کارت را ندارد و کنترلر NFC یک شناسهٔ تصادفی چهاربایتی می‌سازد که با ۰۸ شروع می‌شود، در حالی که کارت واقعی شناسهٔ ثابت هفت‌بایتی با پیشوند ۰۴ دارد. کادیا این تفاوت را سمت سرور بررسی می‌کند، پس دستکاری اپ هم آن را دور نمی‌زند.

اگر کارمند درخواست تردد را ضبط و دوباره ارسال کند چه می‌شود؟

هر تپ یک توکن یک‌بارمصرف می‌سازد. توکن مصرف‌شده به‌صورت اتمیک در سرور علامت می‌خورد و ارسال دوبارهٔ همان توکن با خطای «قبلاً ثبت شده» رد می‌شود. علاوه بر آن، هر توکن فقط دو دقیقه اعتبار دارد.

کارمند می‌تواند کارت شعبهٔ دیگر را بزند؟

خیر. شناسهٔ کارت خوانده‌شده با کارت ثبت‌شدهٔ همان شعبه مقایسه می‌شود و عضویت کارمند در آن شعبه هم جداگانه بررسی می‌شود. کارت شعبهٔ دیگر با خطای «این کارت متعلق به شعبهٔ شما نیست» رد می‌شود.

کاربران آیفون هم می‌توانند با NFC تردد بزنند؟

خیر. کاربران iOS از نسخهٔ تحت وب کادیا استفاده می‌کنند و مرورگر به کارت NFC دسترسی ندارد. برای همین اگر تیم شما کاربر آیفون دارد، حالت «موقعیت مکانی» را انتخاب کنید؛ در این حالت کارت به‌عنوان یک مسیر موازی در دسترس است و هر کارمند از راهی که برایش ممکن است تردد می‌زند.

کارت NFC بهتر است یا دستگاه اثرانگشت؟

کارت NFC یک برچسب غیرفعال و بدون برق، شبکه و قطعهٔ متحرک است؛ دستگاه اثرانگشت سنسور، برق و نگهداری می‌خواهد و در دورهٔ بیماری‌های واگیردار تماس مشترک ایجاد می‌کند. از نظر امنیت، اثرانگشت با انگشت همکار دور زده می‌شود اما در مدل کارت، ثبت به گوشی شخصی کارمند گره خورده است و بدون گوشی او تردد ثبت نمی‌شود.

آماده استفاده از کادیا هستید؟

سازمان خود را ثبت کنید یا برای مشاوره راه‌اندازی با تیم ما در تماس باشید.