rest security
DESCRIPTION
REST Security. HTTP vs HTTPS Erkki Muuga. Sisukord. Mis on https? Mis on SSL? Mis on krüpteerimine ? Milliseid krüpteeringu liike on? Kuidas toimub turvaline andmevahetus veebilehe ja serveri vahel ? Millised on head ja halvad URL’id? Mis on GET ja POST käskluste vahe?. Mis on https?. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/1.jpg)
REST SecurityHTTP vs HTTPSErkki Muuga
![Page 2: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/2.jpg)
Sisukord
• Mis on https?• Mis on SSL?• Mis on krüpteerimine?• Milliseid krüpteeringu liike on?• Kuidas toimub turvaline andmevahetus
veebilehe ja serveri vahel?• Millised on head ja halvad URL’id?• Mis on GET ja POST käskluste vahe?
![Page 3: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/3.jpg)
Mis on https?
• RESTful aplikatsioonid – http päringud (CRUD)• REST – kasutab http või https• http Secure
![Page 4: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/4.jpg)
Mis on SSL?
• Secure Socket Layer• SSL sertifikaat• https kasutab SSL• SSL: • Identifitseerimine• Krüpteerimine
• SSL ära tundmine + võõras osapool?• Millal usaldada lehte?
![Page 5: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/5.jpg)
Krüpteerimine
• „Tundlikud andmed“• Kodeerimine ja lahti kodeerimine
![Page 6: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/6.jpg)
Krüpteeritud andmed
![Page 7: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/7.jpg)
Krüpteeringu võti
• Dekrüpteerimiseks• Algoritm• 240 = 1 099 511 627 776 võimalust!• 128-bitised võtmed.• Turvaline, aga
![Page 8: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/8.jpg)
Sümmeetriline krüpteering
• 1 võti, sama võti• +) Kiire ja lihte• -) Võtme turvalisus
![Page 9: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/9.jpg)
Public key (asümmeetriline)
• 2 võtit• Public key• Private key
![Page 10: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/10.jpg)
Brauseri ja veebiserveri vaheline krüpteeritud suhtlus
1. Brauser pärib ligipääsu2. Brauser saadab välja public key ja sertifikaadi3. Brauser genereerib „sümmeetrilise
krüpteeringu võtme“
![Page 11: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/11.jpg)
…
4. Brauser saadab võtme ja URL’i serverisse5. Server kasutab private key’d, et dekrüpteerida
„sümmeetrilise krüpteeringu võti“6. Server kasutab „sümmeetrilise krüpteeringu
võtit“
![Page 12: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/12.jpg)
…
7. Server saadab päritud HTMLi tagasi + krüpteeritud andmed
8. Brauser dekrüpteerib andmed9. Kuvab info
![Page 13: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/13.jpg)
Head vs halvad URL’idhttps://example.com/account/325365436/transfer?amount=$100.00&toAccount=473846376https://example.com/invoice/2362365
https://example.com/users/2313/edit?isAdmin=false&debug=false&allowCSRPanel=falsehttp://logd.tw.rpi.edu/id/us/state/Vermont
https://example.com/index.html?user=admin&password=whoopshttp://BASE/id/usps-com/zip/09510Use URLs to specify your objects, not your actions
/questions/show/<whatever>/questions/<question>
![Page 14: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/14.jpg)
Hea URI
• Lühike• Loogiline (http://example.com/cars/alfa-romeos/gt)• Ettearvatav• Nimisõnad. Mitte tegusõnad.• Järjepidev
![Page 15: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/15.jpg)
GET vs POSTGET plussid POST plussidPaigutatakse brauseri vahemällu (cache)
Väga palju turvalisem. Andmed ei leki välja.
Jäävad brauseri ajalukku Ei ole piiranguid andmete saatmise mahus
Saab paigutata järjehoidjatesse (sest sisaldavad URLi)
Andmetüüp ei ole piiratud. Võimalik ka saata kahendkoodi. (GETis ainult ASCII)
Kui vajutada „back“ nuppu, siis lihtsalt minnakse tagasi. (vs andmed saadetakse uuesti)
Andme maht ei ole limiteeritud (GETi limiit on 2048 karakterit URL’is)
![Page 16: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/16.jpg)
Veel GET’ist ja POST’ist
• https ja GET.• GET - Salvestatakse serveri logisse ja ajalukku• Brauseri pluginad ja muud programmid
• https ja POST.• Andmed taustal
![Page 17: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/17.jpg)
Aitäh!
![Page 18: REST Security](https://reader036.vdocuments.site/reader036/viewer/2022062316/56814c2b550346895db931f0/html5/thumbnails/18.jpg)
Kirjandus• http://www.webopedia.com/TERM/S/symmetric_key_cryptography.html• http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO/x64.html• http://computer.howstuffworks.com/encryption4.htm• https://www.owasp.org/index.php/REST_Security_Cheat_Sheet• http://www.ckwop.me.uk/What-does-128-bit-cryptography-really-
mean.html• http://www.restapitutorial.com/lessons/restfulresourcenaming.html• http://blog.2partsmagic.com/restful-uri-design/