امنیت، به زبان ساده

کارت فقط وقتی به کار می‌آید که هیچ کس نتواند آن را جعل کند، تغییر دهد یا به نام شما از آن استفاده کند. در اینجا می‌بینید بیستون چطور این را تضمین می‌کند، اگر مشکلی پیش بیاید چه می‌شود و محدودیت‌ها کجاست.

حریم خصوصی و ارائهٔ انتخابیگزارش یک مشکل امنیتی

کارت‌هایی که نه جعل می‌شوند نه تغییر می‌کنند

هر کارت را صادرکننده‌اش به‌صورت دیجیتال امضا می‌کند: مُهری ریاضی که با کلیدی مخفی ساخته می‌شود و فقط سامانهٔ صادرکننده آن را در اختیار دارد. هر کسی می‌تواند این مُهر را با کلید عمومی صادرکننده بررسی کند، اما هیچ کس بدون کلید مخفی نمی‌تواند آن را دوباره بسازد.

  • یک نویسه از کارت را تغییر دهید، و مُهر دیگر جور درنمی‌آید. بررسی رد می‌شود.
  • کارتی از خودتان بسازید، و هیچ مُهر معتبری ندارد. بررسی رد می‌شود.
  • از کلیدی ناشناخته استفاده کنید، و باز هم بررسی رد می‌شود: کلیدهای عمومی همهٔ صادرکننده‌ها در فهرست امضاشدهٔ بیستون از صادرکننده‌ها و انواع کارت‌ها منتشر شده‌اند. کیف پول و سرورها فقط فهرستی را می‌پذیرند که امضای بیستون را داشته باشد و نسخهٔ دست‌کاری‌شده را رد می‌کنند.

کلیدی در دو نیمه

کلید مخفی کیف پول شما، که هر کارت را به شما گره می‌زند، به دو بخش تقسیم شده است:

یک بخش روی گوشی شما

در پایگاه دادهٔ رمزگذاری‌شدهٔ برنامه ذخیره می‌شود. کلید رمزگذاری در Android Keystore نگهداری می‌شود و هر جا گوشی‌تان پشتیبانی کند، به سخت‌افزار متکی است.

یک بخش روی سرور کلید مشترک ما

سرور کلید مشترک بیستون بخش دیگر را نگه می‌دارد و فقط پس از بررسی پین شما در ساختن اثبات شرکت می‌کند.

هیچ‌کدام از این دو بخش به‌تنهایی کافی نیست. به همین دلیل فایل کپی‌شدهٔ یک کارت به هیچ کاری نمی‌آید و گوشیِ دزدیده‌شده، کارت‌های شما را به دست دزد نمی‌دهد.

پین شما هرگز به شکل خوانا از گوشی بیرون نمی‌رود. گوشی یک اثر انگشت نمک‌زده (هش) از آن را می‌فرستد؛ سرور این مقدار بررسی را درون یک رکورد رمزگذاری‌شده نگه می‌دارد و هرگز خود پین را نمی‌فهمد.

سرور حدس زدن پین را محدود می‌کند

پس از ۳ پین نادرست، کیف پولتان ۱ دقیقه قفل می‌شود، سپس ۲ دقیقه، ۴ دقیقه و به همین ترتیب، هر بار دو برابر. چون این محدودیت را سرور اعمال می‌کند، پاک کردن برنامه، کپی کردن آن به گوشی دیگر یا بازگرداندن یک نسخهٔ قدیمی هیچ فرصت اضافه‌ای به مهاجم نمی‌دهد.

روی گوشی شما هم:

  • برنامه هنگام باز شدن و پس از ۵ دقیقه بی‌فعالیتی قفل می‌شود.
  • قفل‌گشایی بیومتریک اختیاری است و فقط صفحهٔ برنامه را باز می‌کند؛ برای ارائه و دریافت کارت همچنان پین لازم است.
  • صفحه‌های برنامه به‌طور پیش‌فرض در عکس صفحه (اسکرین‌شات) و فهرست برنامه‌های باز پنهان می‌مانند.
  • اگر گوشی‌تان روت‌شده به نظر برسد، برنامه به شما هشدار می‌دهد، چون این کار محافظت‌های آن را ضعیف می‌کند.

درخواست‌هایی که می‌توانید به آن‌ها اعتماد کنید

  • فقط سرویس‌های ثبت‌شده می‌توانند درخواست آغاز کنند، و هر درخواست با کلید خودِ آن سرویس امضا شده است. بیستون به هر سرویس فقط برای موارد مشخصی مجوز می‌دهد؛ هر چیز دیگری رد می‌شود.
  • درخواست‌های قدیمی رد می‌شوند. درخواستی که بیش از ۵ دقیقه پیش امضا شده باشد، قابل تکرار نیست.
  • کد جفت‌سازی نمی‌گذارد کس دیگری از کد QRای که برای شما در نظر گرفته شده استفاده کند. در صورت نیاز، کیف پولتان یک کد کوتاه نشان می‌دهد که آن را در وب‌سایت وارد می‌کنید و کیف پول شما فقط به همان نشست مرورگر پیوند می‌خورد.
  • نتیجه‌ها امضا می‌شوند. سرور نشست نتیجه‌ای را که برای سرویس می‌فرستد امضا می‌کند، تا سرویس بتواند اصالت آن را بررسی کند.

مهاجم چه می‌تواند و چه نمی‌تواند

اگر کسی… چه اتفاقی می‌افتد
گوشی شما را بدزدد اما پینتان را نداند نمی‌تواند کارتی ارائه یا دریافت کند. سرور ما سرعت حدس زدن پین را محدود می‌کند.
فایل‌های کیف پول شما را کپی کند بدون بخش سرور از کلید، که به پین شما نیاز دارد، بی‌فایده است.
کارتی را برای تغییر یک مقدار ویرایش کند امضای صادرکننده دیگر جور درنمی‌آید؛ همهٔ سرویس‌ها آن را رد می‌کنند.
یک کارت جعلی بسازد امضای معتبری از صادرکننده ندارد؛ رد می‌شود.
فهرست صادرکننده‌ها را جایگزین کند فهرست باید امضای بیستون را داشته باشد؛ فهرست دست‌کاری‌شده رد می‌شود.
یک درخواست قدیمی را دوباره به کار ببرد درخواست‌های قدیمی‌تر از ۵ دقیقه رد می‌شوند.
وب‌سایتی مشابه راه بیندازد که اطلاعات شما را بخواهد کیف پولتان نشانی وب آن را نشان می‌دهد و آن را «برای بیستون شناخته‌شده نیست» علامت می‌زند. تصمیم با شماست؛ همیشه نشانی را بررسی کنید.

اگر گوشی‌تان گم شد

پین و محدودیت‌های سمت سرور که در بالا گفتیم از کارت‌های شما محافظت می‌کنند. هیچ نسخه‌ای از کارت‌های شما جای دیگری وجود ندارد: روی گوشی جدید، کیف پول را از نو راه‌اندازی می‌کنید و کارت‌هایتان را دوباره از صادرکننده‌هایشان می‌گیرید.

محدودیت‌ها، صادقانه

ترجیح می‌دهیم خودمان بگوییم، نه اینکه خودتان کشف کنید:

  • سرورهای ما باید در دسترس باشند. هر کارتی که اضافه یا ارائه می‌کنید به سرور کلید مشترک و سرور نشست نیاز دارد. اگر این سرورها از کار بیفتند، کیف پول قابل استفاده نیست.
  • سرور کلید مشترک می‌داند چه زمانی از کیف پولتان استفاده می‌کنید و بررسی‌های پین را ثبت می‌کند، اما نمی‌داند چه چیزی را به چه کسی ارائه می‌کنید.
  • مقادیر ارائه‌شده برای چند دقیقه از سرور نشست عبور می‌کنند تا برای سرویس تأیید شوند. این سرور آن‌ها را فقط در حافظه نگه می‌دارد و هیچ سابقه‌ای ثبت نمی‌کند.
  • بیستون می‌تواند یک حساب کیف پول را مسدود کند؛ مثلاً پس از مدتی طولانی بی‌فعالیتی یا به درخواست خودتان.
  • نام سازمان‌ها هنوز تأیید نمی‌شود، پس یک سایت مشابه می‌تواند اطلاعات بخواهد. برنامه به شما هشدار می‌دهد، اما تصمیم با شماست.
  • صادرکننده نمی‌تواند کارت‌ها را پیش از موعد باطل کند؛ کارت‌ها تا زمان انقضا معتبر می‌مانند.
  • نسخهٔ پشتیبان وجود ندارد. گم کردن گوشی یا فراموش کردن پین یعنی باید کارت‌هایتان را دوباره بگیرید.
  • ادعای گواهی‌نامه نداریم. ادعای ممیزی یا گواهی‌نامه‌ای را که نداریم مطرح نمی‌کنیم.

گزارش یک مشکل

مشکلی امنیتی پیدا کرده‌اید؟ لطفاً از طریق security@bisotun.app به ما خبر دهید. برای هر موضوع دیگری به support@bisotun.app بنویسید.

محافظت‌ها را در عمل ببینید.

دانلود برای اندرویدروش کار