რა არის nonce VPN-ში და რატომ ამტვრევს ხელახალი გამოყენება გვირაბს
nonce არის თითოეული შეტყობინების მნიშვნელობა, რომელიც ერთი გასაღების ქვეშ არასოდეს უნდა გამეორდეს, და ის ჩვეულებრივ ღიად მოძრაობს. მისი ხელით რედაქტირება ის შეცდომაა, რომელიც უნდა თავიდან აიცილოთ.
ადამიანების უმეტესობა სიტყვა nonce-ს VPN პროფილში ხვდება და თვლის, რომ ეს კიდევ ერთი საერთო საიდუმლოა, რომელიც პირებს შორის უნდა დაკოპირდეს. ასე არ არის. nonce არის მნიშვნელობა, რომელიც იმავე გასაღების ქვეშ არასოდეს უნდა გამეორდეს, და nonce-ზე დაფუძნებული დაშიფვრის უმეტესობაში ის ღიად მოძრაობს. დაბნეულობა უვნებელი რჩება მანამ, სანამ ვინმე ხელით შეასწორებს მას, და სწორედ იქ იწყება ნამდვილი დაზიანება.
საიდან მოდის nonce სინამდვილეში
ავთენტიფიცირებულ დაშიფვრას სჭირდება განსხვავებული nonce თითოეული შეტყობინებისთვის, რომელიც გასაღების ქვეშ დაშიფვრება. პროტოკოლები ამ მოთხოვნას სხვადასხვა გზით აკმაყოფილებენ: ერთფეროვნად მზარდი მრიცხველი, პაკეტის იდენტიფიკატორთან შერწყმული მარილი, ან საკმარისად გრძელი შემთხვევითი მნიშვნელობა. IKEv2 nonce-ებს პირველადი გაცვლის დროს ცვლის, და ისინი გასაღების გამოყვანის საჯარო შეყვანებია, არა საიდუმლოები.
უნიკალურობა შეიძლება იყოს სტრუქტურული ან ალბათური. მრიცხველი ვერ გამეორდება, სანამ არ შემოტრიალდება, ამიტომ პროტოკოლი გასაღების განახლების წერტილს გაცილებით ადრე განსაზღვრავს. შემთხვევითი მნიშვნელობა საკმარის ბიტებს ეყრდნობა, რომ შეტყობინებების ზღვარში შეჯახება წარმოუდგენელი იყოს, რაც განსხვავებული არგუმენტია განსხვავებული წარუმატებლობის რეჟიმით. პროტოკოლის დოკუმენტაცია ასახელებს, რომელი მეთოდი მოქმედებს, და ორივე უსაფრთხოა მხოლოდ მაშინ, სანამ დაფიქსირებული ზღვარი დაცულია.
| Design | Where uniqueness comes from | Exhaustion is handled by |
|---|---|---|
| AES-GCM records | An IV, typically a counter | Rekey before the counter wraps |
| ChaCha20-Poly1305 | A 96-bit nonce from a counter or generator | A message limit per key |
| WireGuard | A per-key 64-bit counter | Rekey at a message cap |
| OpenVPN AEAD | Packet identifier plus implicit key material | Rekey on the packet-id limit |
| IKEv2 | Fresh nonces per exchange | A new security association |
რა ღირს სინამდვილეში ხელახალი გამოყენება
nonce-ის ხელახალი გამოყენება ერთი გასაღების ქვეშ ეფექტურობის მცირე საკითხი არ არის. GCM-თან, ორი შეტყობინება, რომლებიც IV-ს იზიარებენ, დამკვირვებელს საშუალებას აძლევს აღადგინოს ავთენტიფიკაციის გასაღები და გამოთვალოს ორი ღია ტექსტის გამომრიცხავი-ან. ნაკადზე დაფუძნებული კონსტრუქციები გასაღების ნაკადს ანალოგიურად იყენებენ ხელახლა, რაც დაშიფრულ ტექსტს საიდუმლოს ნაცვლად თავსატეხად აქცევს.
ამიტომ იმპლემენტაციები გასაღებს აახლებენ მრიცხველის შემოტრიალებამდე, და ამიტომ ისინი ჩერდებიან, ვიდრე გააგრძელონ, როცა მათი მდგომარეობა გაურკვეველია. გადატვირთვა, რომელიც მრიცხველს აბრუნებს ნულზე, სანამ პირი ჯერ კიდევ ძველ გასაღებს ინახავს, ან ვირტუალური მანქანა, რომელიც სესიის შუაში გადაღებული სურათიდან აღდგება, სწორედ ის მდგომარეობაა, რომლის თავიდან ასაცილებლადაც ზღვრები არსებობს. თავდამსხმელი არ არის საჭირო; ჩვეულებრივი ოპერაციები საკმარისია.
რატომ არის ხელით რედაქტირება არასწორი გამოსავალი
მრიცხველები, მარილები და პაკეტის იდენტიფიკატორები ორივე ბოლოს მიერ გაზიარებული მდგომარეობის მანქანებია. ერთი მხარის შეცვლა მეორეს დესინქრონიზაციას უკეთებს, და გვირაბი ისე ფუჭდება, რომ მარშრუტიზაციის პრობლემას ჰგავს. მხარდაჭერილი ბერკეტი ახალი გასაღების გაცვლაა, რომელიც ორივე ბოლოს მდგომარეობას ერთდროულად აბრუნებს.
პაროლები და nonce-ები ასევე განსხვავებულ როლებს თამაშობენ. პაროლი გასაღების გამოყვანის საიდუმლო შეყვანაა; nonce თითოეული შეტყობინების საჯარო შეყვანაა. nonce-ის ეტიკეტის მქონე პროფილის ველი, რომელიც გრძელ საიდუმლოს ითხოვს, ჩვეულებრივ სტატიკური გასაღებია ან წინასწარ გაზიარებული საიდუმლო სხვა სახელით, ამიტომ წაიკითხეთ ამ ველის დოკუმენტაცია და ნუ ივარაუდებთ.
როცა გაფრთხილება nonce-ის მართვას ეხება, გამოსწორება მზრუნველის გასწორებული ვერსიაა და არა სხვა შიფრი ან უფრო მოკლე გასაღები. შიფრის შეცვლა nonce სიტყვის თავის ასაცილებლად პრობლემას გადაადგილებს და არ აგვარებს.
გაფრთხილების წაკითხვა გამოცნობის გარეშე
ჟურნალის სტრიქონი მრიცხველებზე ან nonce-ებზე ჩვეულებრივ დაკარგულ მდგომარეობას აღწერს და არა თავდასხმას. შეამოწმეთ, გადაიტვირთა თუ არა ერთი პირი, გამოიყენა თუ არა კლონირებულმა ვირტუალურმა მანქანამ იგივე იდენტობა, და ეთანხმებიან თუ არა ორივე ბოლო გასაღების განახლების პარამეტრებს. შემდეგ დაამყარეთ ახალი სესია და დააკვირდით, ბრუნდება თუ არა შეტყობინება.
დიაგნოზი გამოყავით დაუკავშირებელი ხარვეზებისგან. გვერდი, რომელიც არ იტვირთება, ან სერტიფიკატის მოთხოვნა, რომელიც ციკლში ტრიალებს, nonce-ის ხელახალი გამოყენების მტკიცებულება არ არის, და მასზე ასე მოპყრობა კრიპტოგრაფიულ ფენაში გიშვებთ, მაშინ როცა პრობლემა მის ზემოთაა.
ჩვეულებრივი გამოყენებისთვის უსაფრთხო წესი მოკლეა: მიეცით იმპლემენტაციას nonce-ის მართვის უფლება, ორივე ბოლო შეინახეთ მხარდაჭერილ ვერსიებზე, და მდგომარეობის ნებისმიერი განულება მიიჩნიეთ გასაღების განახლების მიზეზად და არა მნიშვნელობის რედაქტირების. თუ პროფილის ველი გამყიდველის დოკუმენტაციაში არ არის, ნუ გამოიგონებთ მისთვის მნიშვნელობას. გვირაბის შეკეთება იწყება იმის ცოდნით, თუ რომელ ფენას უყურებთ.