نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • سیستم عامل
  • کیف پول Yandex محافظت دو عاملی را فعال می کند. "Yandex.Key" در قلب شما

کیف پول Yandex محافظت دو عاملی را فعال می کند. "Yandex.Key" در قلب شما

تصادفی نیست که نکات زیادی در اینترنت در مورد نحوه محافظت از حساب خود در برابر هک وجود دارد و شاید محبوب ترین آنها استفاده از رمزهای عبور پیچیده و تغییر مرتب آنها باشد. البته این بد نیست، اما به خاطر سپردن مداوم رمزهای عبور پیچیده جدید می تواند بسیار خسته کننده باشد. به خصوص برای کسانی که نگران امنیت حساب خود هستند، Yandex نسخه بتا احراز هویت دو مرحله ای را راه اندازی کرده است. با آن، کلید حساب شما فقط در دستان شما خواهد بود. به طور دقیق تر، در گوشی هوشمند شما. هنگام ورود به Yandex - یا هر سایت دیگری - نام کاربری و رمز عبور خود را وارد می کنید. سیستم بررسی می کند که آیا گذرواژه با ورود به سیستم مطابقت دارد یا خیر و در صورتی که همه چیز درست است به شما اجازه ورود می دهد. اما رمز عبور تنها یک عامل تأیید است. سیستم هایی هستند که یک عامل برای آنها کافی نیست. علاوه بر رمز عبور، آنها به عنوان مثال نیاز دارند: کد ویژه، از طریق پیامک ارسال می شود یا یک کلید USB که باید در رایانه وارد شود. این سیستم ها از احراز هویت دو مرحله ای یا چند عاملی استفاده می کنند. برای طرح احراز هویت دو مرحله‌ای خود، Yandex.Key را ایجاد کردیم - یک برنامه تلفن همراه برای iOS و Android. کافی است کد QR روی اپلیکیشن را در نظر بگیرید صفحه نخست Yandex، در پاسپورت یا در قسمت مجوز نامه - و خود را در حساب خود خواهید یافت. برای استفاده از کلید، باید احراز هویت دو مرحله ای را فعال کنید، برنامه را نصب کرده و به حساب خود پیوند دهید. سپس یک کد پین چهار رقمی را در برنامه تنظیم می کنید. این کد به یکی از عوامل، بخشی از "راز" تبدیل می شود که بر اساس آن الگوریتم رمزهای عبور یک بار مصرف را ایجاد می کند. عامل دوم در گوشی هوشمند ذخیره می شود. هنگامی که متعاقباً کد QR را در فرم مجوز مطالعه می‌کنید، برنامه ورود به سیستم شما را ارسال می‌کند رمز یکبار مصرف. سرور آنها را بررسی می کند و به صفحه دستوری می دهد که اجازه ورود یا عدم ورود شما را بدهد. هنگامی که نمی توانید کد QR را بخوانید، به عنوان مثال، دوربین گوشی هوشمند شما کار نمی کند یا به اینترنت دسترسی ندارید، می توانید رمز عبور یک بار مصرف را به صورت دستی وارد کنید. وارد کردن رمز عبور در این مورد جایگزین خواندن یک کد QR می شود - تنها تفاوت این است که رمز عبور به طور خودکار به سرورها ارسال نمی شود، در عوض، شما آن را در فرم مجوز به همراه ورود خود وارد می کنید. یک رمز عبور یک بار مصرف فقط 30 ثانیه معتبر است. این کار به گونه ای انجام می شود که نتوان آن را از رایانه شما به سرقت برد (به عنوان مثال، با استفاده از برنامه ای که رمزهای عبور وارد شده در مرورگر را به خاطر می آورد). هیچ کس جز شما نمی‌تواند از کلید برای ورود به حسابتان استفاده کند، زیرا هنگام ایجاد رمز عبور، کلید از پین کدی که شما پیدا کرده‌اید استفاده می‌کند. بدون کد پین صحیح، برنامه رمزهای عبور نادرست ایجاد می کند که با حساب شما کار نمی کند. اگر گوشی هوشمند یا تبلت اپل با تاچ آیدی دارید، می توانید به جای پین کد از اثر انگشت استفاده کنید. مکانیزم احراز هویت دو مرحله ای ابزار دیگری است که به امن تر کردن کار کاربران Yandex در اینترنت کمک می کند. اگر به محافظت بیشتری برای حساب خود نیاز دارید، وقت آن است که آن را در Yandex.Key ببندید.

  • وبلاگ شرکت Yandex،
  • توسعه اپلیکیشن موبایل
  • این یک پست نادر در وبلاگ Yandex بود، به خصوص مربوط به امنیت، بدون احراز هویت. ما برای مدت طولانی در مورد چگونگی تقویت صحیح محافظ فکر کردیم حساب های کاربری، و به گونه ای که می توان از آن بدون تمام ناراحتی هایی که رایج ترین پیاده سازی های امروزی را شامل می شود استفاده کرد. و آنها، افسوس، ناخوشایند هستند. بر اساس برخی داده ها، در بسیاری از سایت های بزرگ نسبت کاربرانی که روشن شده اند وجوه اضافیاحراز هویت، از 0.1٪ تجاوز نمی کند.

    به نظر می رسد این به این دلیل است که طرح احراز هویت دو عاملی رایج بسیار پیچیده و ناخوشایند است. ما سعی کردیم روشی را ارائه کنیم که بدون از دست دادن سطح حفاظت راحت تر باشد و امروز نسخه بتای آن را ارائه می دهیم.

    امیدواریم فراگیرتر شود. ما به نوبه خود آماده هستیم تا روی بهبود و استانداردسازی بعدی آن کار کنیم.

    پس از فعال کردن احراز هویت دو مرحله ای در پاسپورت، باید برنامه Yandex.Key را در فروشگاه App یا Google Play نصب کنید. کدهای QR در فرم مجوز در صفحه اصلی Yandex در Mail و Passport ظاهر شده اند. برای ورود به سیستم حسابشما باید کد QR را از طریق برنامه بخوانید - و تمام. اگر کد QR قابل خواندن نباشد، به عنوان مثال، دوربین گوشی هوشمند کار نمی کند یا دسترسی به اینترنت وجود ندارد، برنامه یک رمز عبور یک بار مصرف ایجاد می کند که تنها 30 ثانیه معتبر خواهد بود.

    من به شما می گویم که چرا تصمیم گرفتیم از مکانیسم های "استاندارد" مانند RFC 6238 یا RFC 4226 استفاده نکنیم. طرح های رایج احراز هویت دو مرحله ای چگونه کار می کنند؟ آنها دو مرحله ای هستند. مرحله اول احراز هویت عادی با ورود و رمز عبور است. در صورت موفقیت آمیز بودن، سایت بررسی می کند که آیا این جلسه کاربر را "پسندیده است" یا خیر. و اگر آن را دوست ندارید، از کاربر می‌خواهد «احراز هویت مجدد» را تأیید کند. دو روش رایج برای احراز هویت وجود دارد: ارسال پیامک به شماره تلفن مرتبط با حساب و ایجاد رمز عبور دوم در تلفن هوشمند. اساساً از TOTP مطابق RFC 6238 برای تولید رمز دوم استفاده می شود، اگر کاربر رمز دوم را به درستی وارد کرده باشد، جلسه کاملاً تأیید شده در نظر گرفته می شود و در غیر این صورت جلسه «احراز هویت پیش» را نیز از دست می دهد.

    هر دو راه ─ ارسال اس ام اسو تولید رمز عبور ─ شواهدی مبنی بر مالکیت تلفن و بنابراین عامل در دسترس بودن هستند. رمز وارد شده در مرحله اول عامل دانش است. بنابراین، این طرح احراز هویت نه تنها دو مرحله ای، بلکه دو مرحله ای است.

    چه چیزی در این طرح برای ما مشکل ساز به نظر می رسید؟

    بیایید با این واقعیت شروع کنیم که رایانه یک کاربر معمولی را نمی توان همیشه یک مدل امنیت نامید: اینجاست که خاموش کردن به روز رسانی ویندوزو یک کپی دزدی از آنتی ویروس بدون امضاهای مدرن و نرم افزاری با منشأ مشکوک - همه اینها سطح محافظت را افزایش نمی دهد. طبق ارزیابی ما، به خطر انداختن رایانه کاربر بیشترین است روش انبوه"ربایش" حساب ها (و این اخیرا اتفاق افتاده است) همان چیزی است که در وهله اول می خواهید از خود محافظت کنید. چه زمانی احراز هویت دو مرحله ای، اگر فرض کنیم رایانه کاربر در معرض خطر است، وارد کردن رمز عبور روی آن، خود رمز عبور را به خطر می اندازد که اولین عامل است. این بدان معناست که مهاجم فقط باید عامل دوم را انتخاب کند. در مورد پیاده سازی های رایج RFC 6238، فاکتور دوم 6 رقم اعشاری است (و حداکثر مجاز توسط مشخصات 8 رقم است). طبق محاسبه‌گر bruteforce برای OTP، مهاجم در سه روز می‌تواند عامل دوم را پیدا کند اگر به نحوی از عامل اول آگاه شود. مشخص نیست این سرویس چه چیزی می تواند بدون شکستن با این حمله مقابله کند کار معمولیکاربر. تنها اثبات کار ممکن کپچا است که به نظر ما آخرین راه حل است.

    مشکل دوم عدم شفافیت قضاوت سرویس در مورد کیفیت جلسه کاربر و تصمیم گیری در مورد نیاز به "تأیید هویت پیش" است. بدتر هنوز، این سرویس علاقه ای به شفاف سازی این فرآیند ندارد، زیرا امنیت از طریق مبهم در واقع در اینجا کار می کند. اگر یک مهاجم بداند که سرویس بر چه اساسی در مورد مشروعیت یک جلسه تصمیم می گیرد، می تواند سعی کند این داده ها را جعل کند. از ملاحظات کلی، می‌توان نتیجه گرفت که قضاوت بر اساس تاریخچه احراز هویت کاربر، با در نظر گرفتن آدرس IP (و اعداد مشتق آن) انجام می‌شود. سیستم خودمختار، شناسایی ارائه دهنده و مکان بر اساس geobase) و داده های مرورگر مانند هدر عامل کاربرو مجموعه ای از کوکی ها، فلش lso و حافظه محلی html. این بدان معنی است که اگر یک مهاجم رایانه کاربر را کنترل کند، نه تنها می تواند تمام داده های لازم را بدزدد، بلکه از آدرس IP قربانی نیز استفاده کند. علاوه بر این، اگر تصمیم بر اساس ASN گرفته شود، هر گونه احراز هویت از وای فای عمومیدر یک کافی شاپ می تواند منجر به "مسمومیت" از نظر امنیتی (و سفیدکاری از نظر خدماتی) ارائه دهنده این کافی شاپ و به عنوان مثال سفید کردن تمام کافی شاپ های سطح شهر شود. ما در مورد کار صحبت کردیم و می‌توان آن را اعمال کرد، اما زمان بین مرحله اول و دوم احراز هویت ممکن است برای قضاوت با اطمینان درباره ناهنجاری کافی نباشد. علاوه بر این، همان استدلال ایده رایانه های "معتمد" را از بین می برد: یک مهاجم می تواند هر اطلاعاتی را که بر قضاوت اعتماد تأثیر می گذارد سرقت کند.

    در نهایت، احراز هویت دو مرحله‌ای به سادگی ناخوشایند است: تحقیقات قابلیت استفاده ما نشان می‌دهد که هیچ چیز بیشتر از یک صفحه میانی، کلیک‌های دکمه‌های اضافی و سایر اقدامات «بی‌اهمیت» کاربران را از دیدگاه آن‌ها آزار نمی‌دهد.
    بر این اساس، ما تصمیم گرفتیم که احراز هویت باید یک مرحله ای باشد و فضای رمز عبور باید بسیار بزرگتر از آنچه در چارچوب RFC 6238 "خالص" ممکن است باشد.
    در عین حال، ما می خواستیم تا حد امکان احراز هویت دو مرحله ای را حفظ کنیم.

    احراز هویت چند عاملی با تخصیص عناصر احراز هویت (در واقع، آنها فاکتور نامیده می شوند) به یکی از سه دسته تعریف می شود:

    1. عوامل دانش (اینها رمزهای عبور سنتی، کدهای پین و هر چیزی که شبیه آنهاست)؛
    2. عوامل مالکیت (در طرح‌های OTP مورد استفاده، این معمولاً یک تلفن هوشمند است، اما می‌تواند یک نشانه سخت‌افزاری نیز باشد).
    3. عوامل بیومتریک (اثر انگشت در حال حاضر رایج ترین است، اگرچه کسی اپیزود شخصیت وسلی اسنایپس در فیلم Man Demolition Man را به خاطر می آورد).

    توسعه سیستم ما

    زمانی که ما شروع به کار بر روی مشکل احراز هویت دو عاملی کردیم (اولین صفحات ویکی شرکتی در مورد این موضوع به سال 2012 برمی گردد، اما قبلاً در پشت صحنه بحث شده بود)، اولین ایده این بود که روش های استاندارداحراز هویت و آنها را با ما اعمال کنید. ما فهمیدیم که نمی‌توانیم روی میلیون‌ها کاربر خود برای خرید یک توکن سخت‌افزاری حساب کنیم، بنابراین این گزینه را برای برخی موارد عجیب و غریب به تعویق انداختیم (اگرچه به طور کامل آن را رها نمی‌کنیم، شاید بتوانیم چیز جالبی ارائه دهیم). روش پیامک نیز نمی تواند گسترده باشد: این یک روش تحویل بسیار غیرقابل اعتماد است (در حساس ترین لحظه ممکن است پیامک تاخیر داشته باشد یا اصلاً نرسد) و ارسال اس ام اسهزینه دارد (و اپراتورها شروع به افزایش قیمت خود کرده اند). ما تصمیم گرفتیم که با استفاده از اس ام اس─ تعداد زیادی از بانک ها و سایر شرکت های با فناوری پایین است، اما کاربران ما می خواهند چیزی راحت تر ارائه دهند. به طور کلی، انتخاب کوچک بود: از گوشی هوشمند و برنامه موجود در آن به عنوان عامل دوم استفاده کنید.

    این شکل از احراز هویت یک مرحله‌ای گسترده است: کاربر کد پین (عامل اول) را به خاطر می‌آورد و یک توکن سخت‌افزار یا نرم‌افزار (در گوشی هوشمند) دارد که یک OTP (فاکتور دوم) تولید می‌کند. در قسمت ورود رمز عبور، پین کد و مقدار OTP فعلی را وارد می کند.

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

    ما تصمیم گرفتیم مسیر دیگری را طی کنیم: کل رمز عبور از راز تولید می شود، اما تنها بخشی از رمز در گوشی هوشمند ذخیره می شود و هر بار که رمز عبور ایجاد می شود، بخشی توسط کاربر وارد می شود. بنابراین، گوشی هوشمند خود عامل مالکیت است و رمز عبور در ذهن کاربر باقی می‌ماند و عامل دانش است.

    Nonce می تواند یک شمارنده یا زمان فعلی. ما تصمیم گرفتیم زمان فعلی را انتخاب کنیم، این به ما امکان می دهد در صورت ایجاد رمز عبور بیش از حد و افزایش شمارنده از همگام سازی ترسی نداشته باشیم.

    بنابراین، ما یک برنامه برای یک گوشی هوشمند داریم که در آن کاربر قسمت راز خود را وارد می کند، آن را با قسمت ذخیره شده مخلوط می کند، نتیجه به عنوان یک کلید HMAC استفاده می شود که برای امضای زمان فعلی استفاده می شود، به 30 ثانیه گرد می شود. خروجی HMAC به کاهش می یابد فرم قابل خواندنو voila ─ اینجا رمز یکبار مصرف است!

    همانطور که قبلا گفته شد، RFC 4226 مشخص می کند که نتیجه HMAC به حداکثر 8 رقم اعشاری کوتاه شود. ما تصمیم گرفتیم که رمز عبور با این اندازه برای احراز هویت یک مرحله ای مناسب نیست و باید افزایش یابد. در عین حال، ما می‌خواستیم سهولت استفاده را حفظ کنیم (پس از همه، به شما یادآوری می‌کنیم، ما می‌خواهیم سیستمی بسازیم که توسط مردم عادی و نه فقط گیک‌های امنیتی استفاده شود)، بنابراین به عنوان یک مصالحه در نسخه فعلیسیستمی را انتخاب کردیم که به 8 کاراکتر کوتاه شود الفبای لاتین. به نظر می رسد 26^8 رمز عبور معتبر برای 30 ثانیه کاملاً قابل قبول است، اما اگر حاشیه امنیتی برای ما مناسب نباشد (یا نکات ارزشمندی در مورد چگونگی بهبود این طرح در Habré ظاهر می شود)، به عنوان مثال به 10 کاراکتر گسترش می دهیم.

    در مورد قدرت چنین پسوردهایی بیشتر بدانید

    در واقع برای حروف لاتینبدون حروف بزرگ، تعداد گزینه ها در هر کاراکتر 26 است، برای حروف بزرگ و کوچک لاتین به اضافه اعداد، تعداد گزینه ها 26+26+10=62 است. سپس log 62 (26 10) ≈ 7.9، یعنی یک رمز عبور از 10 حرف کوچک تصادفی لاتین تقریباً به اندازه رمز عبور 8 حرف یا عدد لاتین تصادفی بزرگ و کوچک است. این قطعا برای 30 ثانیه کافی خواهد بود. اگر در مورد یک رمز عبور 8 کاراکتری ساخته شده از حروف لاتین صحبت کنیم، قدرت آن log 62 (26 8) ≈ 6.3 است، یعنی کمی بیشتر از یک رمز عبور 6 کاراکتری ساخته شده از حروف بزرگ، کوچک و اعداد. ما فکر می کنیم این هنوز برای یک پنجره 30 ثانیه ای قابل قبول است.

    جادو، بدون رمز عبور، برنامه ها و مراحل بعدی

    به طور کلی، ما می توانستیم در آنجا متوقف شویم، اما می خواستیم سیستم را حتی راحت تر کنیم. وقتی شخصی یک گوشی هوشمند در دست دارد، نمی خواهد رمز عبور را از صفحه کلید وارد کند!

    به همین دلیل ما شروع به کار روی "ورود جادویی" کردیم. با این روش احراز هویت، کاربر اپلیکیشن را روی گوشی هوشمند خود راه اندازی کرده، پین کد خود را در آن وارد کرده و کد QR را روی صفحه کامپیوتر خود اسکن می کند. اگر کد پین به درستی وارد شود، صفحه در مرورگر مجددا بارگذاری می شود و کاربر احراز هویت می شود. شعبده بازي!

    چگونه کار می کند؟

    کد QR حاوی یک شماره جلسه است و هنگامی که برنامه آن را اسکن می کند، این شماره به همراه کد تولید شده به سرور منتقل می شود. به روش معمولرمز عبور و نام کاربری این کار دشواری نیست، زیرا تلفن هوشمند تقریباً همیشه آنلاین است. در طرح صفحه ای که کد QR را نشان می دهد، جاوا اسکریپت در حال اجرا است و منتظر پاسخ از سرور برای بررسی رمز عبور این جلسه است. اگر سرور پاسخ دهد که رمز عبور صحیح است، کوکی های جلسه همراه با پاسخ تنظیم می شوند و کاربر احراز هویت در نظر گرفته می شود.

    بهتر شد، اما تصمیم گرفتیم در اینجا متوقف نشویم. از iPhone 5S در گوشی ها و تبلت های اپلیک اسکنر اثر انگشت TouchID ظاهر شد و در نسخه های iOS 8 کار با آن موجود است و برنامه های شخص ثالث. در واقعیت، برنامه به اثر انگشت دسترسی پیدا نمی‌کند، اما اگر اثر انگشت درست باشد، بخش Keychain اضافی در دسترس برنامه قرار می‌گیرد. ما از این موضوع استفاده کردیم. قسمت دوم راز در رکورد TouchID-Protected Keychain قرار می گیرد، قسمتی که کاربر در سناریوی قبلی از صفحه کلید وارد کرده بود. هنگام باز کردن قفل Keychain، دو قسمت از راز با هم مخلوط می شوند و سپس این فرآیند همانطور که در بالا توضیح داده شد عمل می کند.

    اما برای کاربر بسیار راحت شده است: او برنامه را باز می کند، انگشت خود را قرار می دهد، کد QR را روی صفحه اسکن می کند و خود را در مرورگر رایانه خود احراز هویت می یابد! بنابراین ما فاکتور دانش را با یک بیومتریک جایگزین کردیم و از نظر کاربر رمزهای عبور کاملاً رها شدیم. ما مطمئن هستیم که مردم عادیچنین طرحی بسیار راحت تر از آن به نظر می رسد ورودی دستیدو رمز عبور

    این که چقدر از لحاظ فنی احراز هویت دو عاملی است، قابل بحث است، اما در واقع شما هنوز باید یک گوشی داشته باشید و اثرانگشت صحیح برای تکمیل موفقیت آمیز آن داشته باشید، بنابراین ما معتقدیم که ما در حذف فاکتور دانش و جایگزینی آن با بیومتریک بسیار موفق بوده ایم. . ما درک می کنیم که به امنیت ARM TrustZone که سیستم عامل iOS Secure Enclave را تقویت می کند، متکی هستیم و معتقدیم که در حال حاضراین زیرسیستم را می توان در مدل تهدید ما قابل اعتماد در نظر گرفت. البته ما مشکلات را می دانیم احراز هویت بیومتریک: اثر انگشت رمز عبور نیست و در صورت به خطر افتادن قابل تعویض نیست. اما از سوی دیگر، همه می دانند که امنیت با راحتی نسبت معکوس دارد و خود کاربر این حق را دارد که نسبت یکی و دیگری را که برای او قابل قبول است انتخاب کند.

    اجازه دهید به شما یادآوری کنم که این هنوز بتا است. اکنون، وقتی احراز هویت دو مرحله‌ای فعال است، همگام‌سازی رمز عبور را در مرورگر Yandex به طور موقت غیرفعال می‌کنیم. این به دلیل نحوه رمزگذاری پایگاه داده رمز عبور است. ما در حال اختراع هستیم راه راحتاحراز هویت مرورگر در صورت 2FA. تمام قابلیت های دیگر Yandex مانند قبل کار می کند.

    این چیزی است که ما به دست آوردیم. به نظر می رسد خوب بوده است، اما شما قضاوت کنید. ما خوشحال خواهیم شد که بازخورد و توصیه های شما را بشنویم و به کار بر روی بهبود امنیت خدمات خود ادامه خواهیم داد: اکنون، همراه با هر چیز دیگری، اکنون احراز هویت دو مرحله ای نیز داریم. فراموش نکنید که سرویس‌های احراز هویت و برنامه‌های تولید OTP حیاتی هستند و بنابراین برای خطاهای یافت شده در آنها به عنوان بخشی از برنامه Bug Bounty پاداش مضاعفی پرداخت می‌شود.

    برچسب ها:

    • ایمنی
    • احراز هویت
    • 2FA
    افزودن برچسب

    بسیاری از کاربرانی که فعالیت هایشان مربوط به کسب درآمد از اینترنت یا ذخیره اطلاعات مهم به صورت آنلاین است، سعی می کنند از حساب های خود در برابر هک و سرقت اطلاعات محرمانه محافظت کنند.

    قطعا، رمز عبور پیچیده، که شامل اعداد و حروف و همچنین نمادهای خاص، کافی حفاظت قابل اعتماد، ولی حداکثر اثراحراز هویت دو مرحله ای را فراهم می کند.

    با این حال، همه افراد در مورد این گزینه برای محافظت از حساب های خود نمی دانند، و این با وجود این واقعیت است که امروزه خدمات بیشتر و بیشتری (پست گیرها، شبکه های اجتماعیو غیره) پیشنهاد استفاده از این فرصت را بدهید.

    احراز هویت دو مرحله ای چیست؟

    بنابراین، روش حفاظت چیست؟ ما در مورد? در واقع، شما قبلاً تأیید دو مرحله ای را مشاهده کرده اید. به عنوان مثال، زمانی که قصد دارید عملیاتی را با پول در وب سایت وب مانی انجام دهید، علاوه بر ورود به سیستم و رمز عبور، باید یک کد تأیید را نیز مشخص کنید که به تلفن همراه شما ارسال می شود.

    به عبارت دیگر، احراز هویت دو مرحله ای کلید دوم حساب شما است. اگر فعال کنید این گزینهبه عنوان مثال، در Evernote (چنین امکانی وجود دارد)، سپس مهاجمی که توانسته رمز عبور این سرویس یادداشت ها را حدس بزند با مشکل دیگری روبرو خواهد شد - الزام به تعیین کد یکبار مصرف، که به شماره تلفن شما می آید. شایان ذکر است که در صورت تلاش برای هک کردن حساب کاربری، پیامکی برای شما ارسال می شود و می توانید بلافاصله رمز عبور خود را تغییر دهید.

    موافق باشید که این گزینه بسیار مناسبی است که با استفاده از آن کمتر نگران از دست دادن اطلاعات شخصی خود خواهید بود.

    بهترین مکان برای استفاده از آن کجاست؟

    البته ممکن است برخی از کاربران با این استدلال که احراز هویت دو مرحله ای بیش از حد "مراحل غیر ضروری" است مخالفت کنند و به طور کلی برای افراد پارانوئیدی در نظر گرفته شده است که همیشه فکر می کنند شخصی آنها را تماشا می کند.

    شاید از جهاتی حق با آنهاست. به عنوان مثال، برای شبکه های اجتماعی استفاده از آن اصلا ضروری نیست این روشحفاظت. اگرچه در اینجا می توان بحث کرد. به عنوان یک قاعده، مهاجمان سعی می کنند حساب های مدیران "عمومی" محبوب را هک کنند. و شما، به احتمال زیاد، نمی خواهید یک روز متوجه شوید که حساب شما در یکی از "شبکه های اجتماعی" هک شده و عکس های کاملاً ناشایست روی "دیوار" ارسال شده است.

    در مورد سایر خدمات، به عنوان مثال، احراز هویت دو مرحله ای Yandex به شما این امکان را می دهد که با خیال راحت داده های ثبت نام خود را از WebMoney و دیگران) یا نامه های حاوی اطلاعات مخفی ذخیره کنید.

    محافظت از حساب Google

    یکی از مهمترین خدمات محبوبامروز گوگل است اینجاست که می توانید ایمیل خود را ثبت کنید صندوق پستی، اسناد را در Google Drive ذخیره کنید، یک وبلاگ یا کانال رایگان در YouTube ایجاد کنید که بعداً می تواند برای شما سود به همراه داشته باشد.

    برای اینکه کاربران از ایمنی اسناد ذخیره شده در پست یا دیسک اطمینان داشته باشند، دو عامل به آنها پیشنهاد می شود. احراز هویت گوگل. برای فعال کردن آن باید وارد حساب کاربری خود شوید.

    اکنون، برای مثال، پس از باز کردن صندوق پستی خود، به آواتار سمت راست توجه کنید گوشه بالا. روی آن کلیک کنید و به "حساب من" بروید. در اینجا به بخش «امنیت و ورود»، یعنی پیوند «ورود به حساب Google» نیاز دارید.

    در سمت راست گزینه “Two-Step Verification” را مشاهده خواهید کرد که برای فعال کردن آن باید روی فلش کلیک کنید. پنجره ای باز می شود که در آن به دکمه "ادامه تنظیمات" علاقه مند هستید. رمز عبور خود را وارد کنید و دستورالعمل های بعدی را دنبال کنید.

    احراز هویت دو مرحله ای "Yandex"

    Yandex نیز به کاربران خود بسیار ارائه می دهد خدمات مفید. بجز فضای ذخیره ابریاطلاعات مربوط به Yandex.Disk را می توانید ایجاد کنید کیف پول آنلاین، جایی که پول کسب شده در اینترنت را برداشت خواهید کرد.

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

    برای فعال کردن آن، باید چند کار را انجام دهید: اقدامات ساده. وارد حساب کاربری خود شوید و روی LMB روی عکس نمایه خود (گوشه سمت راست بالا) کلیک کنید. از منوی کشویی "گذرنامه" را انتخاب کنید. پنجره ای باز می شود که در آن باید روی پیوند "کنترل دسترسی" کلیک کنید. "لغزنده" را در موقعیت "روشن" قرار دهید. به صفحه ای هدایت می شوید که باید روی دکمه "شروع تنظیم" کلیک کنید. اکنون 4 مرحله را طی کنید تا حفاظت دو عاملی را فعال کنید.

    شبکه اجتماعی VKontakte"

    همانطور که در بالا ذکر شد، مهاجمان معمولا سعی می کنند به حساب های "مدیر" دسترسی پیدا کنند گروه های محبوب. اما همیشه اینطور نیست، زیرا صرفاً مکاتبات شخصی شخصی که در اینترنت شناخته شده است ممکن است مورد توجه باشد.

    شایان ذکر است که برای برخی از کاربران این روش محافظت از حساب به مرور زمان شروع به تحریک می کند، زیرا به ورودی ثابت نیاز دارد. کد مخفیبه جز لاگین و رمز عبور در چنین مواردی، باید بدانید که چگونه احراز هویت دو مرحله ای را غیرفعال کنید. با این حال ابتدا به فعال سازی این گزینه می پردازیم.

    در واقع، فعال کردن تایید دو مرحله ای بسیار ساده است. "تنظیمات من" را انتخاب کنید و سپس به تب "امنیت" بروید. در بخش "تایید ورود"، روی دکمه "اتصال" کلیک کنید. حالا تمام الزامات را یکی یکی دنبال کنید.

    غیرفعال کردن احراز هویت دو مرحله ای

    برای غیرفعال کردن محافظت دو مرحله ای در Yandex، باید با کلیک کردن روی آواتار خود به "گذرنامه" خود بازگردید. پس از آن، بخش «کنترل دسترسی» را باز کنید و نوار لغزنده را در موقعیت «خاموش» قرار دهید.

    نتیجه

    اکنون می دانید احراز هویت دو حلقه ای چیست و چرا به آن نیاز است. با استفاده از این یا آن سرویس، می توانید این را فعال کنید حفاظت اضافییا این فرصت را رد کنید.

    البته در برخی موارد به شدت توصیه می شود که تایید دو مرحله ای را فعال کنید. به عنوان مثال، هنگام ثبت نام در WebMoney، ایمیل خود را از Yandex نشان دادید. در حین کار بر روی اینترنت، ممکن است قربانی هکرهایی شوید که صندوق پستی شما را هک کرده و به آن دسترسی پیدا می کنند کیف پول الکترونیکی. برای جلوگیری از این اتفاق بهتر است ایمیل خود را نصب کرده و به گوشی خود لینک کنید. به این ترتیب اگر بخواهند شما را هک کنند، می توانید سریع واکنش نشان دهید.

    سلام مجدد به همه موافقم، مهمترین چیز هنگام کار بر روی اینترنت ایمنی است. او باید داده شود توجه ویژه. هنگام ثبت نام در یک سایت مهم، باید ایجاد کنید رمز عبور قوییا استفاده کنید. زیرا هر چه ترکیب حروف و اعداد پیچیده تر باشد، هک کردن آن برای مهاجمان دشوارتر خواهد بود. با این حال، مواقعی وجود دارد که هکرها موفق می شوند به حساب شما دسترسی پیدا کنند، به عنوان مثال. پست شخصی. این خیلی غمگین است: اطلاعات مهمممکن است در نهایت در دستان اشتباه قرار گیرد و ممکن است علیه شما مورد استفاده قرار گیرد، مکاتبات با شرکای شما ممکن است به طور کامل حذف شود و غیره. در یک کلام، حساب شما باید مانند چشمان شما محافظت شود.

    برای افزایش امنیت، بسیاری از سرویس ها احراز هویت دو مرحله ای را ارائه می دهند. امروز ما با استفاده از مثال ایمیل Yandex به این خواهیم پرداخت.

    وقتی این ویژگی را فعال می کنید، مهاجم، حتی اگر رمز اصلی شما را به درستی حدس بزند، نمی تواند وارد صندوق پستی شما شود. از آنجایی که برای این کار باید یک رمز عبور تصادفی یک بار مصرف مشخص کنید که ایجاد می کند برنامه ویژهدر گوشی هوشمند یا تبلت شما اکنون سعی خواهیم کرد نحوه فعال کردن احراز هویت دو مرحله ای در Yandex را با جزئیات به شما بگوییم. در آینده، بررسی مشابهی انجام خواهد شد گوگل میلو Mail.ru.

    بنابراین، برای اتصال این عملکرد به یک گوشی هوشمند یا تبلت نیاز داریم. به صندوق پستی Yandex خود بروید. اگر هنوز یکی را ندارید، یکی ایجاد کنید. چگونه؟ را بخوانید.

    بعد از اینکه وارد حساب کاربری خود شدیم، روی حساب خود کلیک کنید و " را انتخاب کنید مدیریت حساب»

    گذرنامه Yandex با انواع تنظیمات باز می شود. در بلوک " کنترل دسترسی"لینک را دنبال کنید" احراز هویت دو مرحله ای را تنظیم کنید»

    حال باید 4 مرحله را طی کنیم.

    1 مرحله در حال تایید شماره تلفن شما.

    حساب شما پس از فعال سازی خصوصیت جدیدبه شماره تلفن شما پیوند داده می شود. بنابراین شماره ای که به آن دسترسی دارید را مشخص کنید دسترسی رایگان. پس از آن بر روی دکمه “کلیک کنید برای دریافت کد»

    در عرض چند ثانیه پیامکی حاوی کدی که در فیلد وارد می کنیم دریافت خواهید کرد.

    ... و کلیک کنید " تایید»

    مرحله 2. پین کد.

    برای اینکه برنامه یک رمز عبور یکبار مصرف ایجاد کند، باید یک کد پین را وارد کنید، کدی که اکنون نشان خواهیم داد. توجه!!!این کد را به خاطر بسپارید و آن را با کسی به اشتراک نگذارید. حتی اگر تلفن شما دزدیده شود، بدون دانستن کد پین شما، مهاجمان نمی توانند از این برنامه استفاده کنند.

    کد پین خود را وارد کنید، سپس تکرار کنید. برای باز کردن نمادها، روی چشم کلیک کنید. به این ترتیب می توانید مطمئن شوید که همه چیز را درست تایپ کرده اید. و کلیک کنید " ايجاد كردن».

    مرحله 3. برنامه تلفن همراه Yandex Key.

    در این مرحله باید همان اپلیکیشنی را نصب کنیم که پسوردهای یکبار مصرف ایجاد می کند. روی دکمه " کلیک کنید " لینک گوشی خود را دریافت کنید».

    بیایید در امتداد آن حرکت کنیم. تلفن روشن است مبتنی بر اندرویدبه طور خودکار سرویس را باز می کند گوگل پلیبا پیشنهاد نصب برنامه Yandex Key. بیایید آن را نصب کنیم.

    کلید Yandex را باز کنید. پس از چند صفحه مقدماتی، از شما خواسته می شود یک کد QR را اسکن کنید. برنامه برای دسترسی به دوربین شما اجازه می خواهد. ما موافقیم. سپس دوربین را به سمت صفحه نمایشگر می گیریم تا مربع با کد QR در لنز دوربین بیفتد. برنامه به طور خودکار حساب شما را اسکن و اضافه می کند. اگر اسکن انجام نشد، می توانید یک کلید مخفی نگه دارید. برای مشاهده بر روی لینک " کلیک کنید " نمایش کلید مخفیتحت کد QR. در اپلیکیشن روش وارد کردن کلید مخفی را نیز انتخاب کنید.

    حالا بیایید به مرحله بعدی برویم.

    مرحله 4. وارد کردن رمز عبور یک بار مصرف از کلید Yandex.

    ما برنامه خود را در ابزار خود راه اندازی می کنیم. اکنون باید کد پین خود را وارد کنید. و پس از آن شما همان رمز عبور تصادفی یک بار مصرف را خواهید دید.

    رمز عبور هر 30 ثانیه به روز می شود. بنابراین، وقت داشته باشید که آن را قبل از به‌روزرسانی در فیلد وارد کنید و روی « روشن کن».

    تمام است، ما احراز هویت دو مرحله ای را برای حساب Yandex خود فعال کرده ایم.

    بیایید بررسی کنیم که چگونه کار می کند. از حساب جاری خود خارج شوید.

    اکنون می توانید به 2 روش وارد حساب کاربری خود شوید. 1) ورود به سیستم (یا آدرس) خود را وارد کنید پست الکترونیک Yandex) و سپس نه رمز عبوری را که قبلا استفاده می کردیم، دائمی، بلکه رمزی را که در آن دریافت می کنیم وارد کنید اپلیکیشن موبایلکلید Yandex پس از وارد کردن کد پین. و روی دکمه ورود کلیک کنید. راه دومبه معنی ورود به سیستم با استفاده از کد QR. روی نماد کد QR (در سمت راست دکمه ورود) کلیک کنید.

    سپس به این صفحه می رسیم

    ما دستورالعمل ها را دنبال می کنیم: Yandex Key را راه اندازی کنید، کد پین خود را وارد کنید و سپس " را انتخاب کنید با استفاده از کد QR وارد شوید»

    سپس دوربین تبلت یا گوشی را روی کد QR قرار می دهیم. برنامه کد را اسکن می کند و ما به ایمیل خود دسترسی پیدا می کنیم.

    نحوه غیرفعال کردن احراز هویت دو مرحله ای در Yandex

    اگر به دلایلی تصمیم به غیرفعال کردن احراز هویت دو مرحله ای دارید، این کار را می توان به سرعت و به راحتی انجام داد. وارد صندوق پستی خود شوید، به مدیریت حساب بروید (در ابتدای این مقاله کجا و چگونه این کار را انجام دهید) و این عملکرد را خاموش کنید.

    بر گام بعدیما باید یک رمز عبور یک بار مصرف را از برنامه Yandex Key وارد کنیم

    آن را وارد کرده و تایید کنید.

    ما ایجاد می کنیم رمز عبور جدید(این بار دائمی)، آن را تکرار کنید و ذخیره کنید.

    تمام شد، اکنون احراز هویت دو مرحله ای ما غیرفعال است. رمز عبور دائمی ایجاد شده در مرحله قبل برای ورود استفاده خواهد شد.

    بنابراین، امروز به نحوه ایمن سازی حساب ایمیل Yandex خود با اتصال احراز هویت دو مرحله ای به آن پرداختیم. آیا از این ویژگی استفاده می کنید؟ در نظرات به اشتراک بگذارید.

    و این همه برای امروز است. دوباره می بینمت!

    هر فردی باید رویایی داشته باشد. رویا چیزی است که انسان را به حرکت در می آورد. وقتی کوچک هستید، رویای بزرگ شدن را دارید. یک رویا ابتدا باید به یک هدف تبدیل شود. سپس باید به هدف خود برسید. و باید رویای جدیدی داشته باشی!

    این یک پست نادر در وبلاگ Yandex بود، مخصوصاً مربوط به امنیت، بدون ذکر احراز هویت دو مرحله ای. مدت‌هاست که به این فکر کرده‌ایم که چگونه حفاظت از حساب‌های کاربری را به درستی تقویت کنیم، و به گونه‌ای که بتوان از آن بدون تمام ناراحتی‌هایی که شامل رایج‌ترین پیاده‌سازی‌های امروزی است، استفاده کرد. و آنها، افسوس، ناخوشایند هستند. بر اساس برخی داده ها، در بسیاری از سایت های بزرگ، درصد کاربرانی که ابزار احراز هویت اضافی را فعال کرده اند از 0.1٪ تجاوز نمی کند.

    به نظر می رسد این به این دلیل است که طرح احراز هویت دو عاملی رایج بسیار پیچیده و ناخوشایند است. ما سعی کردیم روشی را ارائه کنیم که بدون از دست دادن سطح حفاظت راحت تر باشد و امروز نسخه بتای آن را ارائه می دهیم.

    امیدواریم فراگیرتر شود. ما به نوبه خود آماده هستیم تا روی بهبود و استانداردسازی بعدی آن کار کنیم.

    پس از فعال کردن احراز هویت دو مرحله ای در پاسپورت، باید برنامه Yandex.Key را در فروشگاه App یا Google Play نصب کنید. کدهای QR در فرم مجوز در صفحه اصلی Yandex در Mail و Passport ظاهر شده اند. برای ورود به حساب خود، باید کد QR را از طریق برنامه بخوانید - و تمام. اگر کد QR قابل خواندن نباشد، به عنوان مثال، دوربین گوشی هوشمند کار نمی کند یا دسترسی به اینترنت وجود ندارد، برنامه یک رمز عبور یک بار مصرف ایجاد می کند که تنها 30 ثانیه معتبر خواهد بود.

    من به شما می گویم که چرا تصمیم گرفتیم از مکانیسم های "استاندارد" مانند RFC 6238 یا RFC 4226 استفاده نکنیم. طرح های رایج احراز هویت دو مرحله ای چگونه کار می کنند؟ آنها دو مرحله ای هستند. مرحله اول احراز هویت عادی با ورود و رمز عبور است. در صورت موفقیت آمیز بودن، سایت بررسی می کند که آیا این جلسه کاربر را "پسندیده است" یا خیر. و اگر آن را دوست ندارید، از کاربر می‌خواهد «احراز هویت مجدد» را تأیید کند. دو روش رایج برای احراز هویت وجود دارد: ارسال پیامک به شماره تلفن مرتبط با حساب و ایجاد رمز عبور دوم در تلفن هوشمند. اساساً از TOTP مطابق RFC 6238 برای تولید رمز دوم استفاده می شود، اگر کاربر رمز دوم را به درستی وارد کرده باشد، جلسه کاملاً تأیید شده در نظر گرفته می شود و در غیر این صورت جلسه «احراز هویت پیش» را نیز از دست می دهد.

    هر دو روش - ارسال پیامک و ایجاد رمز عبور - اثبات مالکیت تلفن هستند و بنابراین عاملی برای در دسترس بودن هستند. رمز وارد شده در مرحله اول عامل دانش است. بنابراین، این طرح احراز هویت نه تنها دو مرحله ای، بلکه دو مرحله ای است.

    چه چیزی در این طرح برای ما مشکل ساز به نظر می رسید؟

    بیایید با این واقعیت شروع کنیم که رایانه کاربر معمولی را همیشه نمی توان یک مدل امنیتی نامید: خاموش کردن به روز رسانی ویندوز، کپی غیرقانونی یک آنتی ویروس بدون امضای مدرن و نرم افزاری با منشأ مشکوک - همه اینها سطح محافظت را افزایش نمی دهد. طبق ارزیابی ما، به خطر انداختن رایانه کاربر رایج ترین روش "ربایش" حساب ها است (و اخیراً تأیید دیگری نیز در این مورد وجود داشت) و این همان چیزی است که ما می خواهیم اول از همه از خود محافظت کنیم. در مورد احراز هویت دو مرحله ای، اگر فرض کنید رایانه کاربر در معرض خطر است، وارد کردن رمز عبور روی آن، خود رمز عبور را به خطر می اندازد که اولین عامل است. این بدان معناست که مهاجم فقط باید عامل دوم را انتخاب کند. در مورد پیاده سازی های رایج RFC 6238، فاکتور دوم 6 رقم اعشاری است (و حداکثر مجاز توسط مشخصات 8 رقم است). طبق محاسبه‌گر bruteforce برای OTP، مهاجم در سه روز می‌تواند عامل دوم را پیدا کند اگر به نحوی از عامل اول آگاه شود. مشخص نیست که چه سرویسی می تواند با این حمله بدون ایجاد اختلال در تجربه عادی کاربر مقابله کند. تنها اثبات کار ممکن کپچا است که به نظر ما آخرین راه حل است.

    مشکل دوم عدم شفافیت قضاوت سرویس در مورد کیفیت جلسه کاربر و تصمیم گیری در مورد نیاز به "تأیید هویت پیش" است. حتی بدتر از آن، این سرویس علاقه ای به شفاف سازی این فرآیند ندارد، زیرا امنیت از طریق مبهم در واقع در اینجا کار می کند. اگر یک مهاجم بداند که سرویس بر چه اساسی در مورد مشروعیت یک جلسه تصمیم می گیرد، می تواند سعی کند این داده ها را جعل کند. به عنوان یک قاعده کلی، می‌توان نتیجه گرفت که قضاوت براساس تاریخچه احراز هویت کاربر، با در نظر گرفتن آدرس IP (و مشتقات آن از شماره سیستم مستقل که ارائه‌دهنده و مکان را بر اساس geobase شناسایی می‌کند) و داده‌های مرورگر انجام می‌شود. به عنوان مثال، هدر User Agent و مجموعه ای از کوکی ها، فلش lso و حافظه محلی html. این بدان معنی است که اگر یک مهاجم رایانه کاربر را کنترل کند، نه تنها می تواند تمام داده های لازم را بدزدد، بلکه از آدرس IP قربانی نیز استفاده کند. علاوه بر این، اگر تصمیم بر اساس ASN گرفته شود، هر گونه احراز هویت از Wi-Fi عمومی در یک کافی شاپ می تواند منجر به "مسمومیت" از نقطه نظر امنیتی (و سفید کردن از نقطه نظر خدمات) ارائه دهنده این شود. کافی شاپ و مثلا سفید کاری تمام کافی شاپ های سطح شهر. ما در مورد نحوه عملکرد یک سیستم تشخیص ناهنجاری صحبت کردیم و می توان از آن استفاده کرد، اما زمان بین مرحله اول و دوم احراز هویت ممکن است برای قضاوت با اطمینان یک ناهنجاری کافی نباشد. علاوه بر این، همان استدلال ایده رایانه های "معتمد" را از بین می برد: یک مهاجم می تواند هر اطلاعاتی را که بر قضاوت اعتماد تأثیر می گذارد سرقت کند.

    در نهایت، احراز هویت دو مرحله‌ای به سادگی ناخوشایند است: تحقیقات قابلیت استفاده ما نشان می‌دهد که هیچ چیز بیشتر از یک صفحه میانی، کلیک‌های دکمه‌های اضافی و سایر اقدامات «بی‌اهمیت» کاربران را از دیدگاه آن‌ها آزار نمی‌دهد.
    بر این اساس، ما تصمیم گرفتیم که احراز هویت باید یک مرحله ای باشد و فضای رمز عبور باید بسیار بزرگتر از آنچه در چارچوب RFC 6238 "خالص" ممکن است باشد.
    در عین حال، ما می خواستیم تا حد امکان احراز هویت دو مرحله ای را حفظ کنیم.

    احراز هویت چند عاملی با تخصیص عناصر احراز هویت (در واقع، آنها فاکتور نامیده می شوند) به یکی از سه دسته تعریف می شود:

    1. عوامل دانش (اینها رمزهای عبور سنتی، کدهای پین و هر چیزی که شبیه آنهاست)؛
    2. عوامل مالکیت (در طرح‌های OTP مورد استفاده، این معمولاً یک تلفن هوشمند است، اما می‌تواند یک نشانه سخت‌افزاری نیز باشد).
    3. عوامل بیومتریک (اثر انگشت در حال حاضر رایج ترین است، اگرچه کسی اپیزود شخصیت وسلی اسنایپس در فیلم Man Demolition Man را به خاطر می آورد).

    توسعه سیستم ما

    زمانی که ما شروع به کار بر روی مشکل احراز هویت دو عاملی کردیم (صفحات اول ویکی شرکتی در مورد این موضوع به سال 2012 برمی گردد، اما قبلاً در پشت صحنه بحث شده بود)، اولین ایده این بود که روش های احراز هویت استاندارد را در نظر بگیریم و آنها را اعمال کنیم. به ما. ما فهمیدیم که نمی‌توانیم روی میلیون‌ها کاربر خود برای خرید یک توکن سخت‌افزاری حساب کنیم، بنابراین این گزینه را برای برخی موارد عجیب و غریب به تعویق انداختیم (اگرچه به طور کامل آن را رها نمی‌کنیم، شاید بتوانیم چیز جالبی ارائه دهیم). روش پیامک نیز نمی تواند گسترده باشد: این یک روش تحویل بسیار غیرقابل اعتماد است (در حساس ترین لحظه ممکن است پیامک تاخیر داشته باشد یا اصلاً نرسد) و ارسال پیامک هزینه دارد (و اپراتورها شروع به افزایش قیمت خود کرده اند) . ما تصمیم گرفتیم که استفاده از پیامک برای بانک ها و سایر شرکت های با فناوری پایین باشد و می خواهیم چیز راحت تری را به کاربران خود ارائه دهیم. به طور کلی، انتخاب کوچک بود: از گوشی هوشمند و برنامه موجود در آن به عنوان عامل دوم استفاده کنید.

    این شکل از احراز هویت یک مرحله‌ای گسترده است: کاربر کد پین (عامل اول) را به خاطر می‌آورد و یک توکن سخت‌افزار یا نرم‌افزار (در گوشی هوشمند) دارد که یک OTP (فاکتور دوم) تولید می‌کند. در قسمت ورود رمز عبور، پین کد و مقدار OTP فعلی را وارد می کند.

    به نظر ما، نقطه ضعف اصلی این طرح همانند احراز هویت دو مرحله ای است: اگر فرض کنیم دسکتاپ کاربر به خطر افتاده است، یک بار وارد کردن کد پین منجر به افشای آن می شود و مهاجم فقط می تواند مورد دوم را پیدا کند. عامل.

    ما تصمیم گرفتیم مسیر دیگری را طی کنیم: کل رمز عبور از راز تولید می شود، اما تنها بخشی از رمز در گوشی هوشمند ذخیره می شود و هر بار که رمز عبور ایجاد می شود، بخشی توسط کاربر وارد می شود. بنابراین، گوشی هوشمند خود عامل مالکیت است و رمز عبور در ذهن کاربر باقی می‌ماند و عامل دانش است.

    Nonce می تواند یک شمارنده یا زمان فعلی باشد. ما تصمیم گرفتیم زمان فعلی را انتخاب کنیم، این به ما امکان می دهد در صورت ایجاد رمز عبور بیش از حد و افزایش شمارنده از همگام سازی ترسی نداشته باشیم.

    بنابراین، ما یک برنامه برای یک گوشی هوشمند داریم که در آن کاربر قسمت راز خود را وارد می کند، آن را با قسمت ذخیره شده مخلوط می کند، نتیجه به عنوان یک کلید HMAC استفاده می شود که برای امضای زمان فعلی استفاده می شود، به 30 ثانیه گرد می شود. خروجی HMAC به فرم قابل خواندن تبدیل می شود و voila ─ اینجا رمز یک بار مصرف است!

    همانطور که قبلا گفته شد، RFC 4226 مشخص می کند که نتیجه HMAC به حداکثر 8 رقم اعشاری کوتاه شود. ما تصمیم گرفتیم که رمز عبور با این اندازه برای احراز هویت یک مرحله ای مناسب نیست و باید افزایش یابد. در عین حال، ما می‌خواستیم سهولت استفاده را حفظ کنیم (به خاطر داشته باشید، ما می‌خواهیم سیستمی بسازیم که توسط افراد عادی و نه فقط متخصصان امنیتی استفاده شود)، بنابراین به عنوان یک مصالحه در نسخه فعلی سیستم ، ما انتخاب کردیم که الفبای لاتین را به 8 کاراکتر کوتاه کنیم. به نظر می رسد 26^8 رمز عبور معتبر برای 30 ثانیه کاملاً قابل قبول است، اما اگر حاشیه امنیتی برای ما مناسب نباشد (یا نکات ارزشمندی در مورد چگونگی بهبود این طرح در Habré ظاهر می شود)، به عنوان مثال به 10 کاراکتر گسترش می دهیم.

    در مورد قدرت چنین پسوردهایی بیشتر بدانید

    در واقع برای حروف لاتین بدون حروف کوچک، تعداد گزینه ها در هر کاراکتر 26 و برای حروف بزرگ و کوچک لاتین به اضافه اعداد، تعداد گزینه ها 26+26+10=62 است. سپس log 62 (26 10) ≈ 7.9، یعنی یک رمز عبور از 10 حرف کوچک تصادفی لاتین تقریباً به اندازه رمز عبور 8 حرف یا عدد لاتین تصادفی بزرگ و کوچک است. این قطعا برای 30 ثانیه کافی خواهد بود. اگر در مورد یک رمز عبور 8 کاراکتری ساخته شده از حروف لاتین صحبت کنیم، قدرت آن log 62 (26 8) ≈ 6.3 است، یعنی کمی بیشتر از یک رمز عبور 6 کاراکتری ساخته شده از حروف بزرگ، کوچک و اعداد. ما فکر می کنیم این هنوز برای یک پنجره 30 ثانیه ای قابل قبول است.

    جادو، بدون رمز عبور، برنامه ها و مراحل بعدی

    به طور کلی، ما می توانستیم در آنجا متوقف شویم، اما می خواستیم سیستم را حتی راحت تر کنیم. وقتی شخصی یک گوشی هوشمند در دست دارد، نمی خواهد رمز عبور را از صفحه کلید وارد کند!

    به همین دلیل ما شروع به کار روی "ورود جادویی" کردیم. با این روش احراز هویت، کاربر اپلیکیشن را روی گوشی هوشمند خود راه اندازی کرده، پین کد خود را در آن وارد کرده و کد QR را روی صفحه کامپیوتر خود اسکن می کند. اگر کد پین به درستی وارد شود، صفحه در مرورگر مجددا بارگذاری می شود و کاربر احراز هویت می شود. شعبده بازي!

    چگونه کار می کند؟

    شماره جلسه در کد QR تعبیه شده است و هنگامی که برنامه آن را اسکن می کند، این شماره به همراه رمز عبور و نام کاربری تولید شده به روش معمول به سرور منتقل می شود. این کار دشواری نیست، زیرا تلفن هوشمند تقریباً همیشه آنلاین است. در طرح صفحه ای که کد QR را نشان می دهد، جاوا اسکریپت در حال اجرا است و منتظر پاسخ از سرور برای بررسی رمز عبور این جلسه است. اگر سرور پاسخ دهد که رمز عبور صحیح است، کوکی های جلسه همراه با پاسخ تنظیم می شوند و کاربر احراز هویت در نظر گرفته می شود.

    بهتر شد، اما تصمیم گرفتیم در اینجا متوقف نشویم. با شروع آیفون 5 اس، گوشی ها و تبلت های اپل اسکنر اثر انگشت TouchID را معرفی کردند و در iOS نسخه 8، اپلیکیشن های شخص ثالث نیز می توانند از آن استفاده کنند. در واقعیت، برنامه به اثر انگشت دسترسی پیدا نمی‌کند، اما اگر اثر انگشت درست باشد، بخش Keychain اضافی در دسترس برنامه قرار می‌گیرد. ما از این موضوع استفاده کردیم. قسمت دوم راز در رکورد TouchID-Protected Keychain قرار می گیرد، قسمتی که کاربر در سناریوی قبلی از صفحه کلید وارد کرده بود. هنگام باز کردن قفل Keychain، دو قسمت از راز با هم مخلوط می شوند و سپس این فرآیند همانطور که در بالا توضیح داده شد عمل می کند.

    اما برای کاربر بسیار راحت شده است: او برنامه را باز می کند، انگشت خود را قرار می دهد، کد QR را روی صفحه اسکن می کند و خود را در مرورگر رایانه خود احراز هویت می یابد! بنابراین ما فاکتور دانش را با یک بیومتریک جایگزین کردیم و از نظر کاربر رمزهای عبور کاملاً رها شدیم. ما مطمئن هستیم که مردم عادی این طرح را بسیار راحت تر از وارد کردن دستی دو رمز عبور خواهند یافت.

    این که چقدر از لحاظ فنی احراز هویت دو عاملی است، قابل بحث است، اما در واقع شما هنوز باید یک گوشی داشته باشید و اثرانگشت صحیح برای تکمیل موفقیت آمیز آن داشته باشید، بنابراین ما معتقدیم که ما در حذف فاکتور دانش و جایگزینی آن با بیومتریک بسیار موفق بوده ایم. . ما می‌دانیم که به امنیت ARM TrustZone که زیربنای iOS Secure Enclave است تکیه می‌کنیم و معتقدیم که در حال حاضر می‌توان این زیرسیستم را در مدل تهدید ما قابل اعتماد دانست. البته ما از مشکلات احراز هویت بیومتریک آگاه هستیم: اثر انگشت رمز عبور نیست و در صورت به خطر افتادن قابل تعویض نیست. اما از سوی دیگر، همه می دانند که امنیت با راحتی نسبت معکوس دارد و خود کاربر این حق را دارد که نسبت یکی و دیگری را که برای او قابل قبول است انتخاب کند.

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

    این چیزی است که ما به دست آوردیم. به نظر می رسد خوب بوده است، اما شما قضاوت کنید. ما خوشحال خواهیم شد که بازخورد و توصیه های شما را بشنویم و به کار بر روی بهبود امنیت خدمات خود ادامه خواهیم داد: اکنون، همراه با CSP، رمزگذاری حمل و نقل نامه و هر چیز دیگری، اکنون احراز هویت دو مرحله ای داریم. فراموش نکنید که سرویس‌های احراز هویت و برنامه‌های تولید OTP حیاتی هستند و بنابراین برای خطاهای یافت شده در آنها به عنوان بخشی از برنامه Bug Bounty پاداش مضاعفی پرداخت می‌شود.

    برچسب ها: اضافه کردن برچسب

    بهترین مقالات در این زمینه