მცირე განლაგება თითის ანაბეჭდებს მიმართავს, რადგან სერტიფიკატის ორგანო ისეთ ინფრასტრუქტურას ჰგავს, რომლის მართვის დროც არავის აქვს. ინსტინქტი გონივრულია, მაგრამ მოკლე გზა, რომელსაც ადამიანები სანაცვლოდ ირჩევენ—მონაცემთა არხის ერთი საიდუმლოს ორივე ბოლოში კოპირება—ასეთი არ არის. peer-fingerprint კონფიგურაცია TLS სტრუქტურას ხელუხლებლად ინახავს: თითოეულ მხარეს კვლავ აქვს საკუთარი კერძო გასაღები და სერტიფიკატი, და თითოეული მხარე კვლავ ამოწმებს მეორეს. იცვლება ის, სად არის დამაგრებული შემოწმება: სანდო გამომცემლიდან დამაგრებული დაიჯესტების მოკლე სიამდე. ვინაიდან დაიჯესტი მთელ სერტიფიკატს მოიცავს და არა სახელს, განახლება იმ ოპერაციად იქცევა, რომელიც ნამდვილად დროს იღებს.

რას იღებს თითის ანაბეჭდი რეალურად ვალდებულებად

სერტიფიკატის თითის ანაბეჭდი DER-ით დაშიფრული მთელი სერტიფიკატის დაიჯესტია, არა მისი საჯარო გასაღებისა და არა მისი სუბიექტის სახელის. ამიტომ ორ სერტიფიკატს, რომელთაც იდენტური სახელები და ერთი და იგივე გასაღები, მაგრამ განსხვავებული მოქმედების თარიღები აქვთ, განსხვავებული თითის ანაბეჭდები აქვთ. ეს ხდის მიმაგრებას ზუსტს, და ესვე ხდის განახლებას ხელისშემშლელს. მიმაგრება ვერ ნიშნავს გასაღებისადმი ზოგადად ნდობას, რადგან ის ერთ არტეფაქტს ასახელებს მისი ცხოვრების ერთ მომენტში. დაიჯესტი ნებისმიერს შეუძლია იცოდეს, და მისი ცოდნა თავისთავად არაფერს ამტკიცებს.

openssl x509 -in server.crt -noout -fingerprint -sha256
openssl x509 -in client-07.crt -noout -fingerprint -sha256

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

რუკა ურთიერთობითია, არა სიმეტრიული

თითოეულ ბოლო წერტილს ორი რამ სჭირდება: საკუთარი კერძო გასაღები სერტიფიკატთან ერთად, და განცხადება იმის შესახებ, თუ რომელ პარტნიორ სერტიფიკატებს მიიღებს. კლიენტზე ეს განცხადება სერვერის სერტიფიკატის დაიჯესტია; სერვერზე — რეგისტრირებული კლიენტების დაიჯესტების სია. Community 2.6-ისთვის მცირე კონფიგურაციის ოფიციალური მაგალითი peer-fingerprint-ით გვიჩვენებს განლაგებას, და ღირს მისი წაკითხვა, სანამ ამ ნდობის მოდელს რეალური განლაგებისთვის აირჩევთ. ორი მიმართულება ერთი შებრუნებული სია არ არის, და ისინი ერთსა და იმავე მომენტში არ ფუჭდება.

Verification directionWhat is pinnedWhat never leaves that endpointHow a wrong pin shows up
Client checks the serverOne digest, for the server certificateThe server private keyThe client aborts during the TLS handshake
Server checks the clientA digest per enrolled clientEach client private keyThe server rejects the peer before a tunnel exists

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

რეგისტრაცია: როგორ ერთვება ახალი მოწყობილობა

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

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

განახლება ძვირი მომენტია

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

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

რას არ წყვეტს ნდობის რუკა

ავთენტიფიკაცია ერთი ფენაა, და დამაგრებული რუკა არაფერს ამბობს მისამართების აუზზე, გაგზავნილ მარშრუტებზე, ბილიკის MTU-ზე ან firewall-ის პოლიტიკაზე. ესენი ცალკე კონფიგურაციად რჩება ცალკე ჩავარდნის რეჟიმებით. გვირაბი, რომელიც ავთენტიფიცირდება და ტრაფიკს არ უშვებს, სხვა გამოძიებაა, ვიდრე ის, რომელიც არასოდეს ადის.

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

დაკავშირებული სტატიები