WebAuthn ტექნოლოგია ავთენტიფიკაციის თანამედროვე სტანდარტია, თუმცა მისი სწორად კონფიგურაცია უსაფრთხოების მთავარი პირობაა. განსაკუთრებით მნიშვნელოვანია ისეთი სერთიფიკატების დაცვა, რომლებიც მოწყობილობაზე ინახება (resident keys).

რატომ არის საჭირო დაცვის პოლიტიკა?

ფიზიკური უსაფრთხოების გასაღებების შემთხვევაში, მხოლოდ მოწყობილობის ფლობა ხშირად საკმარისია რეგისტრირებული სერთიფიკატების გამოსავლენად. ეს ქმნის რისკს, რომ არაავტორიზებულმა პირმა შეძლოს თქვენი ანგარიშების აღმოჩენა.

CTAP 2.1 სპეციფიკაციამ დაამატა credentialProtectionPolicy, რომელიც დეველოპერებს საშუალებას აძლევს, აკონტროლონ, თუ როგორ და როდის შეიძლება სერთიფიკატის აღმოჩენა.

დაცვის სამი ძირითადი დონე

  • userVerificationOptional: სერთიფიკატი ხელმისაწვდომია და გამოიყენება მომხმარებლის ვერიფიკაციის გარეშე.
  • userVerificationOptionalWithCredentialIDList: სერთიფიკატი დაცულია, თუ ID ცნობილი არ არის. ვერიფიკაციის გარეშე მისი გამოყენება მხოლოდ კონკრეტული ID-ის მიწოდებისასაა შესაძლებელი.
  • userVerificationRequired: ყველაზე მკაცრი დონე, რომელიც სრულად კრძალავს სერთიფიკატის აღმოჩენას ან გამოყენებას ვერიფიკაციის გარეშე.

ბრაუზერების მხარდაჭერა და რეალობა

დღეისთვის Chrome და Firefox მხარს უჭერენ ამ გაფართოებებს, ხოლო Safari მათ უბრალოდ უგულებელყოფს. მნიშვნელოვანია აღინიშნოს, რომ ბრაუზერებს შეუძლიათ ავტომატურად მიანიჭონ ნაგულისხმევი მნიშვნელობები, თუ დეველოპერი მათ არ განსაზღვრავს.

მაგალითად, Chrome-ში residentKey-ის მოთხოვნისას, სისტემა ავტომატურად იყენებს userVerificationOptionalWithCredentialIDList-ს. ეს დამატებითი ბარიერია, რომელიც იცავს ანგარიშებს ფიზიკური წვდომის შემთხვევაში.

რას უნდა მიაქციონ ყურადღება დეველოპერებმა?

გახსოვდეთ, რომ enforceCredentialProtectionPolicy პარამეტრის true-ზე დაყენება ოპერაციას ჩაშლის, თუ ავთენტიფიკატორი არ უჭერს მხარს მოთხოვნილ უსაფრთხოების დონეს. ეს პარამეტრი მხოლოდ მაშინ უნდა გამოიყენოთ, თუ დარწმუნებული ხართ, რომ თქვენი მომხმარებლები იყენებენ თანამედროვე, მხარდაჭერილ მოწყობილობებს.

ასევე, ბოლომდე ნუ დაეყრდნობით ბრაუზერის ავტომატიზაციას. საბოლოო პასუხისმგებლობა სერვერის მხარეს ვერიფიკაციის შემოწმებაზე კვლავ დეველოპერებს ეკისრებათ. თუ სერვერი სათანადოდ არ ამოწმებს ვერიფიკაციის ფაქტს, უსაფრთხოების მექანიზმები შეიძლება არაეფექტური აღმოჩნდეს.