কেস স্টাডিজ

পাসকি ব্যবহার করে কীভাবে হোয়াটসঅ্যাপ ১ বিলিয়ন ব্যবহারকারীর জন্য নিরাপদ ও নির্বিঘ্ন সাইন-ইন ব্যবস্থায় আপগ্রেড করেছে

৮ মিনিটের পাঠ
৩ জন লেখক
Niharika Arora, Tracy Agyemang, Mayank Jain

হোয়াটসঅ্যাপ বিশ্বের বৃহত্তম মেসেজিং প্ল্যাটফর্ম, যা বিশ্বব্যাপী কোটি কোটি ব্যবহারকারীকে পরিষেবা প্রদান করে। এটি বিভিন্ন অঞ্চলের মানুষের জন্য যোগাযোগের প্রধান মাধ্যম, যা ব্যক্তিগত, নির্ভরযোগ্য এবং সুরক্ষিত মেসেজিংয়ের মাধ্যমে ব্যবহারকারীদের সংযুক্ত করে।

"যে বিষয়টি আমাকে সবচেয়ে বেশি উৎসাহিত করে তা হলো হোয়াটসঅ্যাপের প্রভাবের ব্যাপকতা। হোয়াটসঅ্যাপের সামান্য একটি উন্নতিও বিশ্বজুড়ে কোটি কোটি ব্যবহারকারীর কাছে পৌঁছায়," বলেন মায়াঙ্ক মনুজা, যিনি হোয়াটসঅ্যাপ রেজিস্ট্রেশন অ্যান্ড অ্যাক্সেস টিমের একজন অ্যান্ড্রয়েড ইঞ্জিনিয়ার এবং হোয়াটসঅ্যাপের জন্য পাসকি-ভিত্তিক অথেনটিকেশনের ডিজাইন ও বাস্তবায়নের নেতৃত্ব দিয়েছেন।

এত বিশাল সংখ্যক ব্যবহারকারীর জন্য পরিষেবা তৈরি করতে গেলে বিভিন্ন ধরনের নেটওয়ার্ক পরিস্থিতি, ডিভাইসের সক্ষমতা এবং ডিজিটাল সাক্ষরতার স্তর বিবেচনা করতে হয়। এর সম্ভাবনা আগেভাগেই উপলব্ধি করে, হোয়াটসঅ্যাপ ২০২৩ সালে পাসকি গ্রহণ করার সিদ্ধান্ত নেয় এবং এই প্রযুক্তি সংহতকারী প্রথম সারির কনজিউমার অ্যাপগুলোর মধ্যে অন্যতম হয়ে ওঠে। পাসকি প্রয়োগের মাধ্যমে হোয়াটসঅ্যাপের লক্ষ্য ছিল একটি দ্রুত ও ফিশিং-প্রতিরোধী বিকল্প প্রদান করা, যা ব্যবহারকারীর অসুবিধা উল্লেখযোগ্যভাবে কমানোর পাশাপাশি অ্যাকাউন্ট দখল এবং ক্রেডেনশিয়াল চুরির বিরুদ্ধে শক্তিশালী সুরক্ষা নিশ্চিত করে।   

1787852638767.gif
একজন ব্যবহারকারী দ্রুত ও অধিক সুরক্ষিতভাবে সাইন-ইন করার জন্য হোয়াটসঅ্যাপে একটি পাসকি তৈরি করছেন।

পাসকি গ্রহণ করার সিদ্ধান্ত

হোয়াটসঅ্যাপের জন্য, ব্যবহারকারীদের সংযুক্ত থাকা এবং প্রয়োজনে পুনরায় অ্যাক্সেস ফিরে পাওয়া সহজ করতে একাধিক অ্যাক্সেস পদ্ধতি প্রদান করা অত্যন্ত গুরুত্বপূর্ণ।পাসকি ব্যবহারকারীদের একটি সুবিন্যস্ত, এক-ট্যাপ লগইন অভিজ্ঞতা প্রদান করে যা ফিশিং ঝুঁকি দূর করে এবং এমন সব অঞ্চলেও নির্ভরযোগ্যভাবে কাজ করে যেখানে ওটিপি বার্তা সরবরাহ অনিয়মিত হতে পারে।

অভ্যন্তরীণভাবে, পাসকি পাবলিক-প্রাইভেট কী ক্রিপ্টোগ্রাফি ব্যবহার করে ম্যানুয়াল এন্ট্রির পরিবর্তে বায়োমেট্রিক বা স্ক্রিন লক অথেন্টিকেশন চালু করে। এই কার্যপ্রণালী একটি সমন্বিত, বটম-শিট ইন্টারফেসের মাধ্যমে সাইন-ইন প্রক্রিয়াটিকে একটি মাত্র ট্যাপে কমিয়ে এনে এর গতি ব্যাপকভাবে বাড়িয়ে দেয়, যা ব্যবহারকারীদের অ্যাপের মধ্যেই নিযুক্ত রাখে। এর সুবিধা দ্বিগুণ: পাসকি ব্যবহারকারীদের একটি সুবিন্যস্ত লগইন অভিজ্ঞতা প্রদান করে এবং একই সাথে ফিশিং আক্রমণের বিরুদ্ধে শক্তিশালী, নেটিভ সুরক্ষা দেয়। সবচেয়ে গুরুত্বপূর্ণ হলো, এটি এমন সব অঞ্চলেও নির্ভরযোগ্যভাবে কাজ করে যেখানে প্রচলিত এসএমএস ওটিপি ডেলিভারি অনিয়মিত হতে পারে।

নামবিহীন.png
পাবলিক-প্রাইভেট কী ক্রিপ্টোগ্রাফি ব্যবহার করে কীভাবে পাসকীগুলি সংরক্ষণ এবং প্রমাণীকরণের জন্য ব্যবহার করা হয়
AANDDM_KARROT_Quote_02.png

শক্তিশালী এবং বৈচিত্র্যময় অ্যাকাউন্ট অ্যাক্সেস পদ্ধতি নিশ্চিত করে যে ব্যবহারকারীরা তাদের কাছে সবচেয়ে গুরুত্বপূর্ণ বিষয়গুলো থেকে কখনোই বঞ্চিত হবেন না।

ক্লায়েন্ট-সাইড ইন্টিগ্রেশন

WhatsApp ডেভেলপারদের দৃষ্টিকোণ থেকে, ক্রেডেনশিয়াল ম্যানেজার এপিআই একটি পরিচ্ছন্ন ও সমন্বিত ইন্টারফেস প্রদান করেছে, যা অন্তর্নিহিত ক্রেডেনশিয়াল প্রোভাইডারগুলোর জটিলতাকে আড়াল করে। প্রাথমিক ইন্টিগ্রেশন ফ্লোগুলো একবার পরিকল্পনা করা হয়ে গেলে, এপিআই-এর ব্যবহার সহজবোধ্য হয়ে ওঠে এবং সুনির্দিষ্ট রিকোয়েস্ট ও রেসপন্স প্যাটার্ন অনুসরণ করে ক্রেডেনশিয়াল তৈরি ও পুনরুদ্ধার করা যায়। অ্যান্ড্রয়েড ডেভেলপার ডকুমেন্টেশনে এর ইমপ্লিমেন্টেশন গাইডটি খুঁজে নিন।

যদিও শুরু থেকেই প্রচলিত পদ্ধতিটি কাজ করছিল, কিন্তু বিভিন্ন OEM, একাধিক অ্যান্ড্রয়েড সংস্করণ এবং নানান ডিভাইস কনফিগারেশন (যেমন শুধু পিন-ভিত্তিক বনাম বায়োমেট্রিক, বা অ্যান্ড্রয়েড ১৩ বনাম ১৪+) জুড়ে থাকা বৈচিত্র্যময় ব্যবহারকারীদের সামলাতে গিয়ে কিছু অভূতপূর্ব ব্যতিক্রমী পরিস্থিতি সামনে আসে। এর মধ্যে ছিল স্ক্রিন লকবিহীন ব্যবহারকারী, অপ্রত্যাশিত ধরনের ব্যতিক্রম, পুরোনো প্লে সার্ভিস এবং ক্রেডেনশিয়াল প্রোভাইডারের অসঙ্গত আচরণ।

এই বাধাগুলো অতিক্রম করতে, হোয়াটসঅ্যাপ এবং গুগল দলগুলো নিবিড়ভাবে সহযোগিতা করেছে এবং বিভিন্ন চ্যালেঞ্জ মোকাবেলা করেছে:

  • ক্রেডেনশিয়াল লুকআপ ফ্লো অপ্টিমাইজ করা : প্রাথমিক লুকআপ ফ্লো-তে ল্যাটেন্সি খুব কম ছিল, বিশেষ করে সেইসব ব্যবহারকারীদের জন্য যারা তখনও পাসকি তৈরি করেননি। যেহেতু প্রাথমিক পর্যায়ে বেশিরভাগ হোয়াটসঅ্যাপ ব্যবহারকারী এই শ্রেণীর অন্তর্ভুক্ত, তাই এটি প্রায় প্রতিটি সাইন-ইন-এ একটি লক্ষণীয় বিলম্ব তৈরি করত। কল পাথকে নিয়ন্ত্রণ করে এবং বাধাগুলো চিহ্নিত করার মাধ্যমে, হোয়াটসঅ্যাপ এই প্রক্রিয়াটিকে উল্লেখযোগ্যভাবে দ্রুততর করেছে, যার ফলে পারফরম্যান্সে এমন উন্নতি সাধিত হয়েছে যা শেষ পর্যন্ত সমগ্র অ্যান্ড্রয়েড ইকোসিস্টেমের জন্য উপকারী হয়েছে।
  • ক্ষণস্থায়ী অবস্থা পরিচালনা : ডিভাইস-নির্দিষ্ট বাধা, যেমন পাসওয়ার্ড ম্যানেজারের অনুপস্থিতি, স্ক্রিন লক কনফিগার করা না থাকা, মাঝে মাঝে সংযোগ সমস্যা, অসামঞ্জস্যপূর্ণ হার্ডওয়্যার, পুরোনো প্লে সার্ভিস ইত্যাদি মোকাবিলা করার জন্য হোয়াটসঅ্যাপ একটি ব্যাপক ত্রুটি-পরিচালনা স্তর তৈরি করেছে, যা ব্যতিক্রমগুলোকে পুনরুদ্ধারযোগ্য এবং চূড়ান্ত অবস্থায় শ্রেণীবদ্ধ করে। এর ফলে, যদি কোনো পাসকি প্রবাহ সম্পূর্ণ না হয়, তবে সিস্টেমটি ব্যবহারকারীকে কোনো ত্রুটিপূর্ণ অবস্থায় না ফেলে নিরাপদে প্রচলিত প্রমাণীকরণে ফিরে যেতে পারে।
  • ওএস-নির্দিষ্ট ব্যতিক্রমগুলো সামলানো: যখন টেলিমেট্রি থেকে কিছু ডিভাইস-নির্দিষ্ট প্রতিবন্ধকতা ধরা পড়ে, যেমন—কিছু নির্দিষ্ট অ্যান্ড্রয়েড ১৩ ডিভাইসে GetPublicKeyCredentialDomException (ক্রেডেনশিয়াল ডিক্রিপ্ট করতে ব্যর্থ) এবং অ্যান্ড্রয়েড ১৪-এ পাসকি তৈরির সময় CreatePublicKeyCredentialDomException (সিঙ্ক অ্যাকাউন্ট পেতে অক্ষম), তখন গুগল এবং হোয়াটসঅ্যাপ টিম এর মূল কারণগুলো অনুসন্ধান করে এবং আরও মসৃণভাবে পাসকি তৈরির প্রক্রিয়া নিশ্চিত করতে প্ল্যাটফর্ম-স্তরের উন্নতি সাধন করে। আপনি এখানে বিস্তারিত এরর গাইডটি খুঁজে পেতে পারেন, যেখানে ক্রেডেনশিয়াল ম্যানেজার সম্পর্কিত সাধারণ এরর কোড ও তার বিবরণ তালিকাভুক্ত করা আছে এবং সেগুলোর কারণ সম্পর্কে কিছু তথ্যও দেওয়া হয়েছে।
দ্রষ্টব্য: আরও নির্দেশনার জন্য, পাসকি ব্যবহারের সময় ব্যবহারকারীর অভিজ্ঞতা কীভাবে উন্নত করা যায় তা জানতে পাসকি-এর সেরা অনুশীলন বিষয়ক ব্লগটি দেখুন।

ব্যবহারকারীর অভিজ্ঞতা পরিমার্জন করা

যেহেতু ২০২৩ সালের শুরুতে পাসকি একটি সম্পূর্ণ নতুন ধারণা ছিল, তাই এটি তৈরির জন্য কোনো প্রতিষ্ঠিত পদ্ধতি ছিল না। ব্যাপক A/B টেস্টিংয়ের মাধ্যমে, হোয়াটসঅ্যাপ এমন ব্যবহারকারীদের লক্ষ্য করে একটি প্রাসঙ্গিক কাঠামো তৈরি করে, যারা এর থেকে সবচেয়ে বেশি উপকৃত হবেন। এই কৌশলটি ক্রমাগত বিকশিত হয়েছে: অ্যান্ড্রয়েড ওএস-এর কার্যপ্রণালী একটি সুবিন্যস্ত, একক-স্ক্রিনের অভিজ্ঞতায় পরিণত হওয়ার সাথে সাথে, হোয়াটসঅ্যাপ অপ্রয়োজনীয় বা বিভ্রান্তিকর UI এড়াতে তার নিজস্ব নির্দেশাবলীকে সরল করে তোলে।

কেস-স্টাডি-১.png
হোয়াটসঅ্যাপের সুবিন্যস্ত, এক-স্ক্রিনের পাসকি তৈরির প্রক্রিয়া

সার্ভার-সাইড আর্কিটেকচার এবং ক্রস-প্ল্যাটফর্ম বাধা

ব্যাকএন্ডে, হোয়াটসঅ্যাপের সার্ভার স্ট্যান্ডার্ড WebAuthn/FIDO2 সেরিমনিগুলো প্রয়োগ করে। ব্যাকএন্ডটি Erlang-এ লেখা এবং এটি একটি নেটিভ ইন্টারফেসের মাধ্যমে Rust webauthn-rs লাইব্রেরিকে কল করে। এই Rust লাইব্রেরিটি সিগনেচার ভেরিফিকেশন এবং ক্রেডেনশিয়াল পার্সিংয়ের কাজ সামলায়, যার ফলে অভ্যন্তরীণ কোড অর্কেস্ট্রেশন, স্টোরেজ এবং প্রোডাক্টের নিয়ম, যেমন—এলিজিবিলিটি, রেট-লিমিটিং ও ক্রেডেনশিয়াল লাইফসাইকেলের মতো বিষয়গুলিতে মনোনিবেশ করতে পারে।

সার্ভার আর্কিটেকচারটি রেজিস্ট্রেশন এবং অথেনটিকেশন উভয়ের জন্য শুরু এবং শেষ অনুক্রমে বিভক্ত চারটি প্রাথমিক এন্ট্রি পয়েন্টের মাধ্যমে এই মূল অনুষ্ঠানগুলোকে সমন্বয় করে:

১. পাসকি নিবন্ধন

এই ধাপটি ক্লায়েন্টকে তৈরির বিকল্পসমূহ প্রদান করা, ক্লায়েন্ট সফলভাবে তৈরি হওয়ার বিষয়টি স্বীকার করলে সত্যায়ন যাচাই করা এবং ক্রেডেনশিয়ালটি নিরাপদে সংরক্ষণ করার কাজ করে।

নামহীন (1).png
পাসকি নিবন্ধনের সময় সার্ভার ও ক্লায়েন্টের মিথস্ক্রিয়া স্থাপত্য

এরলাং: নিবন্ধন শুরু করুন

begin_registration(UserId) ->
    Existing = list_credentials(UserId),
    %% reuse the existing user handle, or mint a new one
    {UserHandle, IsNew} = user_handle(Existing),
    %% returns the client creation options and the server-side challenge state
    #{client_safe := CreationOptions, server_only := ChallengeState} =
        webauthn:start_registration(UserId, UserHandle, rp_config()),
    %% excludeCredentials: the user's existing credential IDs, so the device won't re-enroll one
    Options = with_exclude_credentials(CreationOptions, credential_ids(Existing)),
    store_challenge(UserId, ChallengeState),          %% short TTL
    IsNew andalso reserve_user_handle(UserId, UserHandle),
    Options.
  • ব্যবহারকারীকে শনাক্ত করুন: সার্ভার প্রথমে বিদ্যমান কোনো ক্রেডেনশিয়াল আছে কিনা তা পরীক্ষা করে, যাতে হয় কোনো পুরোনো ইউজার হ্যান্ডেল পুনরায় ব্যবহার করা যায় অথবা একটি নতুন হ্যান্ডেল তৈরি করা যায়।
  • বিকল্প এবং চ্যালেঞ্জ তৈরি করুন: এটি ক্লায়েন্টের জন্য তৈরির বিকল্প এবং সার্ভারের জন্য একটি সুরক্ষিত চ্যালেঞ্জ অবস্থা তৈরি করতে WebAuthn লাইব্রেরিকে কল করে।
  • ডুপ্লিকেট প্রতিরোধ করুন: এটি ব্যবহারকারীর বিদ্যমান ক্রেডেনশিয়াল আইডিগুলোকে স্পষ্টভাবে বাদ দেয়, যাতে ডিভাইসটি ভুলবশত ইতিমধ্যে নিবন্ধিত কোনো পাসকি পুনরায় নথিভুক্ত না করে।
  • চ্যালেঞ্জ সংরক্ষণ: সার্ভারটি একটি স্বল্পস্থায়ী মেয়াদ (TTL) সহ চ্যালেঞ্জটি সাময়িকভাবে সংরক্ষণ করে এবং বিকল্পগুলো ক্লায়েন্ট ডিভাইসে ফেরত পাঠায়।

এরলাং: নিবন্ধন শেষ করুন

finish_registration(UserId, Attestation) ->
    ChallengeState = get_challenge(UserId),          %% must exist and be unexpired
    #{credential_id := CredId, public_key := PubKey} =
        webauthn:finish_registration(Attestation, ChallengeState, rp_config()),
    ok = index_credential(CredId, UserId),            %% map credential_id -> account
    case multi_passkey_enabled(UserId) of
        true  -> add_credential(UserId, CredId, PubKey);      %% append (oldest evicted past the cap)
        false -> replace_credential(UserId, CredId, PubKey)   %% single-passkey mode
    end,
    notify_client(UserId, {passkey_created, CredId}),
    ok.
  • চ্যালেঞ্জ পুনরুদ্ধার: সার্ভার সংরক্ষিত চ্যালেঞ্জটি পুনরুদ্ধার করে এবং নিশ্চিত করে যে এটি এখনও বিদ্যমান আছে ও এর মেয়াদ শেষ হয়ে যায়নি।
  • অ্যাটেস্টেশন যাচাইকরণ: এটি অনুরোধটি যাচাই করতে এবং নতুন ক্রেডেনশিয়াল আইডি ও পাবলিক কী বের করার জন্য ক্লায়েন্টের প্রতিক্রিয়া (অ্যাটেস্টেশন) এবং চ্যালেঞ্জটি WebAuthn লাইব্রেরিতে পাঠায়।
  • ক্রেডেনশিয়াল সূচীবদ্ধ করুন: পরবর্তীতে দ্রুত খুঁজে বের করার জন্য নতুন ক্রেডেনশিয়াল আইডিটি সরাসরি ব্যবহারকারীর অ্যাকাউন্টের সাথে যুক্ত করা হয়।
  • সীমা সংরক্ষণ ও পরিচালনা করুন: মাল্টি-পাসকি ফিচারটি চালু আছে কিনা তার উপর নির্ভর করে, সার্ভার হয় ব্যবহারকারীর তালিকায় নতুন ক্রেডেনশিয়ালটি যুক্ত করবে (সীমা পূর্ণ হলে সবচেয়ে পুরানোটি সরিয়ে দিয়ে) অথবা সিঙ্গেল-পাসকি মোডে বিদ্যমান ক্রেডেনশিয়ালটি প্রতিস্থাপন করবে।

২. পরিচয়পত্রের প্রমাণীকরণ

অ্যাপ তৈরির মতোই, অ্যাপ সার্ভার লগইন ক্রমটি পরিচালনা করার মাধ্যমে প্রমাণীকরণ প্রবাহটি সামলায়। এর মধ্যে রয়েছে সফল ক্লায়েন্ট প্রমাণীকরণের পর অ্যাসারশন যাচাই করা, এবং যখনই WebAuthn রিফ্রেশ করার প্রয়োজন সংকেত দেয়, তখন সংরক্ষিত ক্রেডেনশিয়ালগুলো গতিশীলভাবে আপডেট করা।

এরল্যাং: প্রমাণীকরণ শুরু

begin_authentication(UserId) ->
    Credentials = list_valid_credentials(UserId),
    #{client_safe := RequestOptions, server_only := ChallengeState} =
        webauthn:start_authentication(Credentials, rp_config()),
    store_challenge(UserId, ChallengeState),          %% short TTL
    RequestOptions.
  • বৈধ পরিচয়পত্র সংগ্রহ করা: সার্ভার ব্যবহারকারীর সাথে যুক্ত বর্তমানে বৈধ সমস্ত পরিচয়পত্র খুঁজে বের করে।
  • চ্যালেঞ্জ তৈরি করুন: এটি ক্লায়েন্টের জন্য অনুরোধের বিকল্প তৈরি করতে সেই প্রমাণপত্রগুলি ব্যবহার করে এবং একটি নতুন সার্ভার-সাইড চ্যালেঞ্জ তৈরি করে।
  • সংরক্ষণ ও ফেরত: রেজিস্ট্রেশনের মতোই, চ্যালেঞ্জটি সাময়িকভাবে সংরক্ষিত হয় এবং অনুরোধের বিকল্পগুলো ক্লায়েন্ট অ্যাপে পাঠানো হয়।

এরল্যাং: প্রমাণীকরণ শেষ করুন

finish_authentication(UserId, Assertion) ->
    ChallengeState = get_challenge(UserId),
    Credentials = list_valid_credentials(UserId),
    case webauthn:finish_authentication(Credentials, Assertion, ChallengeState) of
        #{user_verified := true, credential_id := CredId, needs_update := NeedsUpdate} = Result ->
            %% webauthn tells us when the stored credential should be refreshed
            NeedsUpdate andalso refresh_credential(UserId, CredId, Result),
            mark_credential_used(UserId, CredId),
            {ok, CredId};
        _ ->
            {error, not_allowed}
    end.
  • অ্যাসারশন যাচাই: সার্ভার সংরক্ষিত চ্যালেঞ্জ এবং বৈধ ক্রেডেনশিয়াল সংগ্রহ করে, তারপর ক্লায়েন্টের অ্যাসারশন যাচাই করার জন্য WebAuthn লাইব্রেরিকে অনুরোধ করে।
  • প্রয়োজনে রিফ্রেশ করুন: ব্যবহারকারী সফলভাবে যাচাইকৃত হলে, সার্ভার একটি needs_update ফ্ল্যাগ পরীক্ষা করে। WebAuthn লাইব্রেরি এই ফ্ল্যাগটি ব্যবহার করে সংকেত দেয় যে সার্ভারে সংরক্ষিত ক্রেডেনশিয়াল স্টেট রিফ্রেশ করার প্রয়োজন আছে কিনা।
  • চূড়ান্তকরণ: সার্ভার ক্রেডেনশিয়ালটিকে ব্যবহৃত হিসেবে চিহ্নিত করে এবং লগইন প্রক্রিয়াটি সফলভাবে সম্পন্ন করে।
কেস-স্টাডি-২.png
হোয়াটসঅ্যাপ অ্যাপে ধাপে ধাপে পাসকি দিয়ে লগইন করার পদ্ধতি।

সার্ভার নিবন্ধন সম্পর্কে আরও জানতে, এখানে দেওয়া ইন্টিগ্রেশন গাইডটি অনুসরণ করুন।

উন্নত স্থাপত্য বিবেচনা

বৃহৎ পরিসরে সার্ভারে পাসকি প্রয়োগ করার ক্ষেত্রে কিছু স্বতন্ত্র চ্যালেঞ্জের সম্মুখীন হতে হয়েছে, বিশেষ করে অ্যাকাউন্ট আর্কিটেকচার এবং ডিভাইস সিনক্রোনাইজেশনের ক্ষেত্রে। হোয়াটসঅ্যাপ ব্যাকএন্ড টিমের আশীষ চৌধুরী তাদের সম্মুখীন হওয়া প্রধান বাধাগুলো তুলে ধরেছেন:

  1. প্রতি অ্যাকাউন্টে একাধিক পাসকিতে স্থানান্তর: হোয়াটসঅ্যাপের পুরোনো সার্ভার লজিকটি প্রতি ব্যবহারকারীর জন্য একটিমাত্র ক্রেডেনশিয়াল ব্যবহারের ধারণার সাথে গভীরভাবে জড়িত ছিল। আধুনিক মাল্টি-ডিভাইস বাস্তবতাকে সমর্থন করার জন্য, তারা একটি বাউন্ডেড লিস্ট সিস্টেম তৈরি করেছে যা একটি নির্দিষ্ট সীমায় পৌঁছালে বুদ্ধিমত্তার সাথে সবচেয়ে পুরোনো ক্রেডেনশিয়ালটি সরিয়ে দেয়। সম্পূর্ণ স্থিতিশীলতা নিশ্চিত করতে, এই বড় কাঠামোগত পরিবর্তনটি কঠোর পরীক্ষা-নিরীক্ষার মাধ্যমে পর্যায়ক্রমে চালু করা হয়েছিল।
  2. ক্রেডেনশিয়াল লাইফসাইকেলের ভারসাম্য রক্ষা: ক্রেডেনশিয়ালের বৈধতা ব্যবস্থাপনার জন্য একটি সূক্ষ্ম কৌশলের প্রয়োজন ছিল। খুব কঠোরভাবে ক্রেডেনশিয়াল বাতিল করলে অপ্রয়োজনীয়ভাবে পুনরায় তালিকাভুক্তির প্রয়োজন হয়, আবার খুব বেশি শিথিলতা দেখালে মেয়াদোত্তীর্ণ ক্রেডেনশিয়াল জমতে থাকে। WhatsApp এই সমস্যার সমাধান করেছে ভারসাম্যপূর্ণ লাইফসাইকেল স্টেট প্রয়োগ করে, যা ব্যবহারকারীদের বিরক্ত না করেই কঠোর নিরাপত্তা বজায় রাখে এবং এর পাশাপাশি নিষ্ক্রিয় পাসকিগুলোর জন্য স্বয়ংক্রিয় ব্যাকগ্রাউন্ড ক্লিনআপের ব্যবস্থা রেখেছে।

ক্রস-ডিভাইস সিঙ্ক্রোনাইজেশন নিয়ে পুনর্বিবেচনা

এই শক্তিশালী মাল্টি-পাসকি আর্কিটেকচারটি হোয়াটসঅ্যাপকে ক্রস-প্ল্যাটফর্ম ব্যবহারযোগ্যতা নিয়ে সম্পূর্ণ নতুন করে ভাবার সুযোগ করে দিয়েছে। প্রচলিত WebAuthn ক্রস-ডিভাইস পদ্ধতিতে একটি ডিভাইসে কিউআর কোড স্ক্যান করে অন্য ডিভাইসে ব্লুটুথের মাধ্যমে প্রমাণীকরণ করতে হয়। তবে, হোয়াটসঅ্যাপ ব্লুটুথের এই নির্ভরতাকে নির্ভরযোগ্য মনে করেনি এবং ব্যবহারকারীরা প্রায়শই নতুন কিউআর কোডগুলোকে হোয়াটসঅ্যাপের বিদ্যমান ওয়েব লিঙ্কিং প্রক্রিয়ার সাথে গুলিয়ে ফেলতেন।

একটি ভঙ্গুর ক্রস-ডিভাইস ট্রান্সপোর্ট মেকানিজম জোর করে চাপিয়ে দেওয়ার পরিবর্তে, হোয়াটসঅ্যাপ ব্যবহারকারীদের অ্যান্ড্রয়েডের গুগল পাসওয়ার্ড ম্যানেজার এবং আইওএস-এর আইক্লাউড কিচেইনের মতো একাধিক ইকোসিস্টেমে নিজস্বভাবে পাসকি রাখার সুযোগ দেয়। ব্যবহারকারীরা যখন কোনো নতুন প্ল্যাটফর্মে যান, তখন তারা পরবর্তী সাইন-ইনের সময় কেবল একটি নতুন পাসকি তৈরি করে নেন। এই পদ্ধতিটি ব্যবহারকারীর জন্য সম্পূর্ণ ঝামেলামুক্ত এবং নতুন মাল্টি-পাসকি সার্ভার পরিকাঠামোর উপর নির্বিঘ্নে কাজ করে।

ভবিষ্যতের দিকে তাকিয়ে

পাসকি চালু করার পর থেকে, হোয়াটসঅ্যাপ তার বিশাল ব্যবহারকারী গোষ্ঠীর মধ্যে স্বতঃস্ফূর্তভাবে ব্যাপক জনপ্রিয়তা লাভ করেছে। প্রচলিত বহু-ধাপের সাইন-ইন প্রক্রিয়াকে একটি একক, বাধাহীন বায়োমেট্রিক অঙ্গভঙ্গিতে রূপান্তরিত করার মাধ্যমে, অ্যাপটি ব্যবহারকারীর অভিজ্ঞতাকে নাটকীয়ভাবে উন্নত করেছে। এই গতিকে কাজে লাগিয়ে, হোয়াটসঅ্যাপ এখন প্রাথমিক সাইন-ইনের বাইরেও পাসকির উপযোগিতা প্রসারিত করছে এবং পাসকি-এনক্রিপ্টেড ব্যাকআপের মতো সংবেদনশীল অ্যাকাউন্ট কার্যকলাপের জন্য অ্যাপের মধ্যেই নির্বিঘ্ন পুনঃ-প্রমাণীকরণের বিষয়টি খতিয়ে দেখছে।

ভবিষ্যতের দিকে তাকিয়ে, হোয়াটসঅ্যাপ প্ল্যাটফর্ম অংশীদারদের সাথে সক্রিয়ভাবে কাজ করছে যাতে আরও সহজ উপায়ে পরিচয়পত্র তৈরির পথ উদ্ভাবন করা যায়, এই প্রত্যাশায় যে ডিভাইসের বায়োমেট্রিক সক্ষমতা বাড়ার সাথে সাথে এই ক্ষেত্রে প্রবেশের বাধা স্বাভাবিকভাবেই কমে আসবে।

বৃহৎ পরিসরে নির্মাণকারী ডেভেলপারদের জন্য সুপারিশ

যেসব ডেভেলপার বড় পরিসরে পাসকি ইন্টিগ্রেট করার প্রস্তুতি নিচ্ছেন, তাদের জন্য হোয়াটসঅ্যাপ টিম এই গুরুত্বপূর্ণ সুপারিশগুলো শেয়ার করছে:

  • শুরুতেই একটি ত্রুটি শ্রেণিবিন্যাসে বিনিয়োগ করুন: ক্রেডেনশিয়াল ম্যানেজারের বিভিন্ন ধরনের ব্যতিক্রমকে পুনরুদ্ধারযোগ্য বনাম চূড়ান্ত অবস্থায় শ্রেণিবদ্ধ করুন এবং প্রতিটি পরিস্থিতির জন্য স্পষ্ট ও ত্রুটিমুক্ত বিকল্প পথ নির্ধারণ করুন।
  • আপনার যোগ্যতা যাচাই প্রক্রিয়াটি বুঝুন: স্ক্রিন লক উপস্থিতি, বায়োমেট্রিক হার্ডওয়্যার এবং প্লে সার্ভিসেস ভার্সনের মতো ডিভাইসের সক্ষমতা যাচাই ব্যবস্থা গ্রহণ করুন এবং কার্যপ্রবাহ এমনভাবে ডিজাইন করুন, যাতে মাঝপথে ব্যর্থ হওয়ার পরিবর্তে আগে থেকেই অযোগ্য ব্যবহারকারীদের বাদ দেওয়া যায়।
  • আপনার অ্যাপকে ফলব্যাকের জন্য প্রস্তুত করুন: সক্ষম ডিভাইসগুলোর জন্য সর্বোত্তম প্রাথমিক প্রমাণীকরণ পদ্ধতি হিসেবে পাসকি ব্যবহার করুন, কিন্তু একটি নির্ভরযোগ্য ও সার্বজনীন ফলব্যাক হিসেবে প্রচলিত পদ্ধতিগুলোও সর্বদা বজায় রাখুন।
  • ওএস ভার্সনের ভিন্নতার জন্য পরিকল্পনা করুন: বিভিন্ন অপারেটিং সিস্টেমে পাসকির আচরণ ভিন্ন হতে পারে। অ্যান্ড্রয়েড ১৩, ১৪, এবং ১৫+ এ পুঙ্খানুপুঙ্খভাবে পরীক্ষা করুন এবং ক্রেডেনশিয়াল সিলেকশন UI-তে OEM-নির্দিষ্ট ভিন্নতাগুলো বিবেচনায় রাখুন।
  • প্রাসঙ্গিকভাবে আপসেল করুন এবং শিক্ষিত করুন: নিরাপত্তা-সম্পর্কিত কার্যকলাপের সময় স্বাভাবিকভাবে পাসকি তৈরির বিষয়টি উপস্থাপন করুন। ব্যবহারকারীদের আকৃষ্ট করতে সহজবোধ্য ভাষা ব্যবহার করে এর মূল সুবিধা (গতি এবং নিরাপত্তা) স্পষ্টভাবে তুলে ধরুন।
  • সক্রিয়ভাবে পর্যবেক্ষণ করুন: প্রতিটি ওএস আপডেটের সাথে ইকোসিস্টেম পরিবর্তিত হয়। পরিবর্তনশীল ডিভাইসের জগতে এগিয়ে থাকতে ল্যাটেন্সি এবং ত্রুটির ধরণ ক্রমাগত ট্র্যাক করুন।
AANDDM_Passkeys_Quote_01.png

পাসকি এবং ক্রেডেনশিয়াল ম্যানেজার দিয়ে শুরু করুন

আমাদের ইন্টিগ্রেশন গাইড এবং পাবলিক স্যাম্পল কোড ব্যবহার করে অ্যান্ড্রয়েডে পাসকি ও ক্রেডেনশিয়াল ম্যানেজার হাতে-কলমে ব্যবহার করুন।

আপনার কোনো প্রশ্ন বা সমস্যা থাকলে, আপনি অ্যান্ড্রয়েড ক্রেডেনশিয়ালস ইস্যু ট্র্যাকারের মাধ্যমে আমাদের জানাতে পারেন।

লিখেছেন:
পড়তে থাকুন