15. ციფრული უსაფრთხოება
რესურსებზე წვდომა
შენი აზრით, რა წვდომა აქვთ შენს ინფორმაციაზე: - საიტებს - გადმოწერილ აპლიკაციებს - wifi-ს სხვა მომხმარებლებს - ქლაუდ აპლიკაციის მფლობელ კომპანიას - ორგანიზაციის ექაუნთებს - ელექტრონული მოწყობილობის გამომშვებ კომპანიას - ოპერატიული სისტემის გამომშვებ კომპანიას
მოწყობილობა
ვის შეუძლია წაიკითხოს/დააკოპიროს შენი ფაილები? - ოპერატიული სისტემის კომპანიას (Android/Microsoft) - ლეპტოპ ოპერატიული სისტემის (Windows/MacOS/Linux) შემთხვევაში, ყველა პროგრამას, რომელსაც გადმოწერ - მობილური ოპერატიული სისტემის შემთხვევაში (android/iOS/lineageOS) აპლიკაციებს გრანულარულად
გრანულარული წვდომა ნიშნავს, რომ ყველა აპლიკაციამ სათითაოდ უნდა მოითხოვოს სხვადასხვა რესურსების წაკითხვაზე (სურათები, ფაილები, კალენდარი, და ა.შ.) უფლება, თუმცა მასზე ნებართვის მოპოვების შემდეგ, შეუძლია სურვილისამებრ გამოიყენოს. წვდომის მოთხოვნის ვალიდურობასა და მონაცემთა დათქმული მიზნით გამოყენებას Apple და Google უზრუნველყოფენ - ამიტომაა საჭირო App/Play Store-ზე აპლიკაციის გამოქვეყნებისას მკაცრი და ზოგჯერ გრძელვადიანი Review.
cloud პროდუქტებზე
ვის აქვს წვდომა ინფორმაციაზე, რომელსაც ინახავს გუგლი? ეფლი?
აპლიკაციების დაცული პაროლი მხოლოდ სხვა ადამიანებისგან იცავს, მაგრამ შენი ფაილები ისევე ინახება გუგლის კომპიუტერზე (სერვერზე), როგორც შენსაზე. გუგლის თითქმის ყველა პროგრამას შეუძლია თავისუფლად წაიკითხოს და გამოიყენოს (კლავიატურის გამოყენებაც კი) ეფლის შემთხვევაში ეს მონაცემები ასევე სერვერზე ინახება, თუმცა გაგზავნამდე შენი პაროლით იშიფრება, რომელზე წვდომაც ეფლს არ აქვს. ამ საკითხის უფრო სიღრმისეულად განხილვა სამწუხაროდ ვერ მოვასწარით, თუმცა მეტი ინფორმაციისთვის, შეგიძლია წაიკითხო Client Side Encryption-ის შესახებ
ქსელი
wifi
ყველას, ვინც ქსელშია (ვინც პაროლი იცის)
wifi ეფექტურად არის შიდა ქსელი და ნებისმიერს ამ ქსელში შეუძლია ნახოს ყველა შენი კომუნიკაცია. ოთახში ხმამაღლა ლაპარაკს გავს.
ინტერნეტში გზავნილზე
- გამგზავნის ISP-ს
- მიმღების ISP-ს
- შუალედურ ISP-ს
- inteceptor-ს (სრულიად შესაძლებელია მესამე პირის მიერ მოსასმენი მოწყობილობის დაყენება შნურზე)
როგორ მოვახერხოთ უსაფრთხოების და პირადი ინფორმაციის შენახვა ამ პირობებში? როგორ აკეთებდით ამას სკოლაში?
დაშიფვრა
ყველამ იცის, რომ მთელი პლანეტის ფუნქციონირება, ინფორმაციის კონფიდენციალურობა და ფინანსური ტრანზაქციების უსაფრთხოება დაშიფვრის ალგორითმების წყალობითაა შესაძლებელი. დაშიფვრის მუშაობის პრინციპისა და ყველასთვის მნიშვნელოვანი დეტალების გასაგებად კომპიუტერული მეცნიერების სწავლა არაა აუცილებელი, შეგვიძლია ყოფითი მაგალითით განვიხილოთ.
წარმოვიდგინოთ, რომ გვყავს ორი ადამიანი, რომელსაც წერილის (ინტერნეტ პაკეტი) გაგზავნა უნდა ფოსტის (ინტერნეტი) საშუალებით. წერილის შინაარსი კრიტიკულად პირადულია, და გვინდა ყველაფერი მოვიმოქმედოთ იმისთვის, რომ გზაში სხვა პირებმა იგი გახსნის შემთხვევაშიც ვერ წაიკითხოს.
მარტივი
წარმოიდგინე კოდი, რომელზეც წინასწარ შეთანხმდები ადრესატთან. მაგალითად, ყოველი ასო წაიწევს სამით. მესამე პირი სიტყვებს ვერ აღიქვამს, მაგრამ თუ ხშირად გამოყენებული ტაქტიკები იცის, შეუძლია სხვადასხვა ვერსია სცადოს და შიფრი "გატეხოს".
სიმეტრიული - პაროლი
- რითიც შიფრავ/იმით ხსნი
- მესიჯს თუ გააგზავნი, სხვამ პაროლი უნდა იცოდეს - vulnerability
ამ მიზეზით, მარტივი დაშიფვრა უსაფრთხოებისთვის არ გამოდგება. ალგორითმის გარდა, აუცილებელია იყოს რაღაც დამატებითი, ინდივიდუალური. ისე, რომ თუნდაც სხვამ გაიგოს რომელ ალგორითმს იყენებ დასაშიფრად, ვერ შეძლოს გატეხვა.
ამის პარალელისთვის შეგვიძლია წარმოვიდგინოთ, რომ ჩვენ და წერილის ადრესატს გვაქვს გასაღები კონკრეტული ყუთისთვის. ჩვენ გზავნილს ვდებთ ყუთში, ვკეტავთ გასაღებით, ხოლო ადრესატი ასეთივე გასაღებით ხსნის.
რა პრობლემას ხედავ ასეთ პრინციპში?
გასაღების უსაფრთხოდ მიწოდება ადრესატისთვის რთული, ზოგ შემთხვევაში კი შეუძლებელია. თუ პაროლზე პირადად არ შეთანხმდებით, მაშინ დაშიფვრის გარეშე მოგიწევს მისი გაგზავნა, და თუ მესამე პირმა პაროლი გზაში ხელში ჩაიგდო, მომავალი კომუნიკაცია დაუცველია. ანალოგი იქნებოდა დაულუქავი კონვერტით გასაღების გაგზავნა - გზაში მისი ასლის გაკეთება მარტივია.
ასიმეტრიული
- public/private pair
- ანალოგი: უგზავნი ბოქლომს, მაგრამ გასაღები მხოლოდ შენ გაქვს
ამ პრობლემასთან გასამკლავებლად
Privacy
თავდაცვა
https (secure http)
https პროტოკოლის დროს, სერვერსა და ბრაუზერს ერთმანეთთან კომუნიკაცია ასიმეტრიული დაშიფვრით აქვთ. როდესაც საიტზე შესვლა (ანუ საიტის html-ის გადმოწერა) გინდა, ბრაუზერი ჯერ იგებს სერვერის საჯარო გასაღებს, და მისი მეშვეობით შიფრავს მოთხოვნას. სერვერი პირადი გასაღების მეშვეობით ხსნის შიფრს მოთხოვნას. შედეგად, მესიჯის ან სურათის გაგზავნისას, wifi ქსელი და isp მხოლოდ გაურკვეველ რიცხვებს ხედავენ. ამავენაირად, სერვერსაც აეგზავნება ბრაუზერის საჯარო გასაღები, და მისგან მოსული პასუხი ისეა დაშიფრული, რომ მხოლოდ შენს ბრაუზერს შეუძლია გაიგოს, რა არის გამოგზავნილი.
თუ საიტი http-ს არ იყენებს, შენს isp-ს და wifi ქსელის სხვა წევრებს ასევე წვდომა აქვთ შენსყველა გაგზავნილ/მიღებულ ინფორმაციაზე (პირადი მესიჯების ჩათვლით). თანამედროვე ბრაუზერები გაფრთხილებენ ასეთ საიტზე შესვლისას - ჩნდება "your connection is not secure" მესიჯი, რომლისთვის გვერდის ასავლელი ღილაკი რამდენიმე მენიუს იქითაა დამალული.
Unique Passwords
Password Managers
- google and third party android developers
- apple keychain
- bitwarden
- Firefox users
მარტივი გასაგებია, რამხელა საფრთხეს შეიცავს ერთი პაროლის ბევრგან გამოყენება. თუმცა, ამ პრინციპის შესრულება დახმარების გარეშე შეუძლებელია - აბსურდია ადამიანს უამრავ საიტზე სხვადასხვა პაროლების დაყენება მოთხოვო. ამიტომ ეს პაროლები სადღაც უნდა შევინახოთ - თუმცა ისინიც დაცული (დაშიფრული) უნდა იყოს. პროგრამები იყენებენ ე.წ. master key-ს - მთავარ, მნიშვნელოვან პაროლს. პაროლის მენეჯერები ამ მიზნისთვის გამოიყენება, და თუ მათით არ სარგებლობ, ე.ი. ყველგან ერთი პაროლი გაქვს და შენი სენსიტიური მონაცემების მოპოვებას ნებისმიერი მსურველი შეძლებს - სუსტად დაცული ან დაუცველ საიტებზე შეღწევით, პაროლის გაგების და სენსიტიურ საიტზე გამოყენებით.
Multi Factor Authentication
- სანდო მოწყობილობები
- ახალ მოწყობილობაზე დამატებითი ვერიფიკაცია
- ვერიფიკაციის კოდი არის დროებითი
ამ პრინციპის იდეა ისაა, რომ სენსიტიური სისტემები (სოციალური მედიის პროფილი, მეილი, პირადი ფაილები) მომხმარებლის პაროლის გაგების შემთხვევაშიც კი უსაფრთხოდ დარჩეს. დამატებითი იდენთიფიკაცია, როგორ წესი, ერთჯერადი sms კოდის საშუალებით ხდება.
მაგალითები
- google/facebook 2FA
- 3D Secure Payments
- banking mobile/web app login
ხშირად, ვერიფიკაციის კოდს დამატებითი ინფორმაცია მოყვება - მაგალითად, ინტერნეტ გადახდისას 3D secure კოდი როდესაც მოგდის, მითითებულია საიტი და თანხის რაოდენობა, რომ ბრაუზერის კომპრომისის შემთხვევაშიც კი უზრუნველყოფილი იყოს უსაფრთხოება. მაგალითად, დააყენე რაღაც extension, რომელიც გადახდის გვერდზე ჯავასკრიპტით ცვლის თანხის რაოდენობას, უფრო ნაკლებს გიჩვენებს, სინამდვილეში კი მეტი თანხის ჩამოჭრას თანხმდები.
Data - ბრმა ნდობა ან Open Source
მნიშვნელოვანია ყოველთვის, გვახსოვდეს, რომ დახურული აპლიკაციების უმეტესობის "უსაფრთხოება" მხოლოდ ცარიელი, გარანტიის გარეშე მოცემული პირობაა - ჩვენს მოწყობილობაზე მოდის მხოლოდ ორობითი კოდი პროცესორისთვის, და მისგან აზრის გამოტანა შეუძლებელია. მათი სერვერები კი დახურულია და წარმოდგენა არ გვაქვს სინამდვილეში რისთვის გამოიყენება ჩვენი მონაცემები.
პერსონალური კომპიუტერების გაჩენიდან არსებობს მოძრაობა ასეთი პროგრამების წინააღმდეგ - Open Source/Free Software Movement. ამ ფილოსოფიის მიმდევრებისთვის მნიშვნელოვანია კოდის საჯაროობა და თავისუფლება - მათი შეხედულებით, მომხმარებელს აქვს ფუნდამენტური უფლება, იცოდეს რას აკეთებს პროგრამის კოდი.