ჩიპური გაშიფვრა ასევე ცნობილია, როგორც ერთჩიპიანი გაშიფვრა (IC გაშიფვრა). ვინაიდან ოფიციალურ პროდუქტში ერთჩიპიანი მიკროკომპიუტერული ჩიპები დაშიფრულია, პროგრამის პირდაპირ წაკითხვა პროგრამისტის გამოყენებით შეუძლებელია.
მიკროკონტროლერის ჩიპზე დამონტაჟებული პროგრამების არაავტორიზებული წვდომის ან კოპირების თავიდან ასაცილებლად, მიკროკონტროლერების უმეტესობას აქვს დაშიფრული დაბლოკვის ბიტები ან დაშიფრული ბაიტები ჩიპზე დამონტაჟებული პროგრამების დასაცავად. თუ დაშიფვრის დაბლოკვის ბიტი ჩართულია (დაბლოკილია) პროგრამირების დროს, მიკროკონტროლერში არსებული პროგრამის პირდაპირ წაკითხვა ჩვეულებრივი პროგრამისტის მიერ შეუძლებელია, რასაც მიკროკონტროლერის დაშიფვრა ან ჩიპის დაშიფვრა ეწოდება. მიკროკონტროლერის თავდამსხმელები იყენებენ სპეციალურ აღჭურვილობას ან თვითნაკეთ აღჭურვილობას, იყენებენ მიკროკონტროლერის ჩიპის დიზაინში არსებულ ხარვეზებს ან პროგრამულ დეფექტებს და სხვადასხვა ტექნიკური საშუალებით შეუძლიათ ჩიპიდან ძირითადი ინფორმაციის ამოღება და მიკროკონტროლერის შიდა პროგრამის მოპოვება. ამას ჩიპის გატეხვა ეწოდება.
ჩიპის გაშიფვრის მეთოდი
1. პროგრამული შეტევა
ეს ტექნიკა, როგორც წესი, იყენებს პროცესორის საკომუნიკაციო ინტერფეისებს და იყენებს პროტოკოლებს, დაშიფვრის ალგორითმებს ან ამ ალგორითმებში არსებულ უსაფრთხოების ხვრელებს თავდასხმების განსახორციელებლად. წარმატებული პროგრამული შეტევის ტიპური მაგალითია ATMEL AT89C სერიის ადრეულ მიკროკონტროლერებზე თავდასხმა. თავდამსხმელმა ისარგებლა ამ სერიის ერთჩიპიანი მიკროკომპიუტერების წაშლის ოპერაციების თანმიმდევრობის დიზაინში არსებული ხარვეზებით. დაშიფვრის საკეტის ბიტის წაშლის შემდეგ, თავდამსხმელმა შეაჩერა ჩიპზე დამონტაჟებული პროგრამის მეხსიერებაში მონაცემების წაშლის შემდეგი ოპერაცია, ისე, რომ დაშიფრული ერთჩიპიანი მიკროკომპიუტერი გახდა დაუშიფრავი ერთჩიპიანი მიკროკომპიუტერი და შემდეგ გამოიყენა პროგრამისტი ჩიპზე დამონტაჟებული პროგრამის წასაკითხად.
დაშიფვრის სხვა მეთოდების საფუძველზე, შესაძლებელია გარკვეული აღჭურვილობის შემუშავება, რომელიც ითანამშრომლებს გარკვეულ პროგრამულ უზრუნველყოფასთან პროგრამული შეტევების განსახორციელებლად.
2. ელექტრონული დეტექციის შეტევა
ეს ტექნიკა, როგორც წესი, მაღალი დროითი გარჩევადობით აკონტროლებს პროცესორის ყველა კვების და ინტერფეისის კავშირის ანალოგურ მახასიათებლებს ნორმალური მუშაობის დროს და შეტევას ახორციელებს მისი ელექტრომაგნიტური გამოსხივების მახასიათებლების მონიტორინგით. რადგან მიკროკონტროლერი აქტიური ელექტრონული მოწყობილობაა, როდესაც ის ასრულებს სხვადასხვა ინსტრუქციას, შესაბამისი ენერგომოხმარებაც შესაბამისად იცვლება. ამ გზით, სპეციალური ელექტრონული საზომი ინსტრუმენტებისა და მათემატიკური სტატისტიკური მეთოდების გამოყენებით ამ ცვლილებების ანალიზითა და აღმოჩენით, შესაძლებელია მიკროკონტროლერში კონკრეტული ძირითადი ინფორმაციის მიღება.
3. ხარვეზების გენერირების ტექნოლოგია
ტექნიკა იყენებს არანორმალურ სამუშაო პირობებს პროცესორის დასაბლოკად და შემდეგ უზრუნველყოფს დამატებით წვდომას შეტევის განსახორციელებლად. ყველაზე ფართოდ გამოყენებული ხარვეზების გენერირების შეტევებია ძაბვის და საათის ტალღების მატება. დაბალი და მაღალი ძაბვის შეტევები შეიძლება გამოყენებულ იქნას დაცვის წრედების გამოსართავად ან პროცესორის არასწორი ოპერაციების შესრულების იძულებისთვის. საათის გარდამავალმა ცვლილებებმა შეიძლება გადატვირთოს დაცვის წრე დაცული ინფორმაციის განადგურების გარეშე. სიმძლავრისა და საათის გარდამავალმა ცვლილებებმა შეიძლება გავლენა მოახდინოს ცალკეული ინსტრუქციების გაშიფვრასა და შესრულებაზე ზოგიერთ პროცესორში.
4. ზონდის ტექნოლოგია
ტექნოლოგია გულისხმობს ჩიპის შიდა გაყვანილობის პირდაპირ გამოვლენას, შემდეგ კი მიკროკონტროლერის დაკვირვებას, მანიპულირებას და მასში ჩარევას შეტევის მიზნის მისაღწევად.
მოხერხებულობისთვის, ზემოთ ჩამოთვლილი ოთხი შეტევის ტექნიკა ორ კატეგორიად იყოფა. ერთი არის ინტრუზიული შეტევა (ფიზიკური შეტევა). ამ ტიპის შეტევისთვის საჭიროა პაკეტის განადგურება, შემდეგ კი ნახევარგამტარული სატესტო აღჭურვილობის, მიკროსკოპებისა და მიკროპოზიციონერების გამოყენება სპეციალიზებულ ლაბორატორიაში. მის დასრულებას შეიძლება საათები ან კვირებიც კი დასჭირდეს. ყველა მიკროზონდირების ტექნიკა ინვაზიური შეტევაა. დანარჩენი სამი მეთოდი არაინვაზიური შეტევაა და შეტევის ქვეშ მყოფი მიკროკონტროლერი ფიზიკურად არ დაზიანდება. არაინტრუზიული შეტევები განსაკუთრებით საშიშია ზოგიერთ შემთხვევაში, რადგან არაინტრუზიული შეტევებისთვის საჭირო აღჭურვილობა ხშირად შეიძლება დამოუკიდებლად იყოს აწყობილი და განახლებული და, შესაბამისად, ძალიან იაფია.
არაინტრუზიული შეტევების უმეტესობა თავდამსხმელს მოითხოვს პროცესორისა და პროგრამული უზრუნველყოფის კარგი ცოდნა. ამის საპირისპიროდ, ინვაზიური ზონდის შეტევები დიდ საწყის ცოდნას არ საჭიროებს და მსგავსი ტექნიკის ფართო სპექტრი, როგორც წესი, შეიძლება გამოყენებულ იქნას პროდუქტების ფართო სპექტრის წინააღმდეგ. ამიტომ, მიკროკონტროლერებზე შეტევები ხშირად იწყება ინტრუზიული უკუინჟინერიით და დაგროვილი გამოცდილება ხელს უწყობს უფრო იაფი და სწრაფი არაინტრუზიული შეტევის ტექნიკის შემუშავებას.