- Ws-security, allekirjoitus ja kryptaus
- Webserviceiden tekninen tunnistaminen ja suojaaminen
- Teknisen tunnistamisen hallinta sekä siihen liittyvät prosessit
- Loppuasiakkaan tunnistuksen lisääminen tekniseen tunnistusketjuun
1. -"Ai että kuka minä olen?"
-"Kyllähän te minut
tunnette..."
Palveluiden ja tietoturvan valtuushallinta
9.6.2011
Thomas Malmberg
2. Päivän puheenaiheet
• Ws-security, allekirjoitus ja kryptaus
• Webserviceiden tekninen
tunnistaminen ja suojaaminen
• Teknisen tunnistamisen hallinta sekä
siihen liittyvät prosessit
• Loppuasiakkaan tunnistuksen
lisääminen tekniseen
tunnistusketjuun
11.9.2014 (C) Thomas 2 Malmberg [FOR INTENDED AUDIENCES ONLY]
”Kysymyksiä voi
esittää koska
tahansa”
Palveluiden ja tietoturvan
valtuushallinta
3. ...mutta alkuun: mikä tietoturva?
• On hyvä muistaa ettei tietoturvaa
saavuteta vain teknisillä vimpaimilla ja
kallilla härveleillä – eikä varsinkaan Isolla
Voimalla
• Tietoturva kostuu tässä kontekstissa
ainakin seuraavista asioista
– Sovellus- ja palvelukehityksestä
– Sovelluskehittäjistä
– Pääsystä tietoon
– Palvelimien fysisestä suojaamisesta
– Käyttäjätunnuksista
– Valtuushallinnasta
– Sertifikaattien hallinnasta
– Konfiguraatioiden hallinnasta
11.9.2014 (C) Thomas 3 Malmberg [FOR INTENDED AUDIENCES ONLY]
4. ...ja sitten: miksi tarvitaan tietoturvaa
palveluissa *)
• Tiedätkö mitä kaikkea yhdellä palvelulla voi
tehdä
• Tiedätkö kuka palvelun on toteuttanut
• Tiedätkö onko palvelulle suoritettu tekninen
auditointi
• Tiedätkö kuka palvelua käyttää
• Tiedätkö mihin palvelua käytetään
• Tiedätkö milloin palvelua käytetään
• Tiedätkö mihin tietoihin palvelulla pääsee
käsiksi
• Pystytkö rajaamaan palvelun käyttöä
tarvittaessa
• Etkö? Miksi et?
*) Palveluilla tarkoitetaan palveluarkkitehtuurin mukaisia SOA-palveluita
11.9.2014 (C) Thomas 4 Malmberg [FOR INTENDED AUDIENCES ONLY]
6. Ws-security, allekirjoitus ja kryptaus
• Perusasiat kuntoon
– Turha suojata jotain joka on sisältä mätä
• Huolehdi siitä että palvelun toteutus vastaa
asetettuja vaatimuksia
• Katselmoi ja toteuta tekninen auditointi
– Jos et liiku turvallisessa verkossa, käytä
aina SSL-suojausta
• Selvitä faktat ja määrittele
– Mikä on haluttu tietoturvataso
– Joudutko terminoimaan SSL-suojauksen
aikaisemmin kuin haluaisit
– Luotatko pyynnön lähettäjään
– Onko joitakin erityisehtoja
arkkitehtuurissa jotka vaativat tietynlaisia
ratkaisuja
– Onko joitain muita erityisehtoja (esim. PCI-DSS)
11.9.2014 (C) Thomas 6 Malmberg [FOR INTENDED AUDIENCES ONLY]
7. Ws-security, allekirjoitus ja kryptaus
• Mihin tarvitan allekirjoitusta
– Allekirjoituksella taataan että sanoman
sisältö ei ole matkalla muuttunut
– Allekirjoittamalla voit myös huolehtia
tunnistuksesta ja sen myötä
auktorisoinnista
• ...mutta:
– Allekirjoitus ei suojaa sisältöä
ulkopuolisen silmiltä
– Allekirjoitus ei korvaa kryptaamista
– Allekirjoitus vaatii tokenin
• SAML
• Kerberos
• Sertifikaatti
– Allekirjoitus puretaan kummassakin
päässä – kallista
• Vaihtoehtoja?
– Asioita voi (ehkä) yksinkertaistaa (ehkä)
käyttämällä sertifikaattipohjaista
tunnistusta kuljetuskerroksessa (SSL)
11.9.2014 (C) Thomas 7 Malmberg [FOR INTENDED AUDIENCES ONLY]
8. Ws-security, allekirjoitus ja kryptaus
• Mihin tarvitaan kryptausta
– Jos on oletettavaa että
ulkopuolinen voi päästä
katsomaan sanomia
– Jos halutaan taata ettei
kukaan ulkopuolinen voi
päästä katsomaan sanomia
– Jos SSL:ää ei voida käyttää
– Jos SSL terminoidaan verkon
reunalle, ja sanoman matka
siitä perille asti on pitkä ja
turvaton
• ...mutta:
– Kryptaus vasta kallista onkin
– SSL voi mahdollisesti korvata
kryptauksen
11.9.2014 (C) Thomas 8 Malmberg [FOR INTENDED AUDIENCES ONLY]
9. Ws-security, allekirjoitus ja kryptaus
• Lisämausteet
– Kaikki asiakkaat eivät tue kaikkia
mahdollisia protokollia ja variantteja
– Haasteita voi edelleen olla dotnet ja
Java-ympäristöiden yhdistämisessä,
puhumattakaan eksoottisimmista
ratkaisuista
– Valmisohjelmistojen tuki ws-securitylle
edelleen hyvin vaihtelevaa
– On olemassa XML-kiihdyttimiä, XML-yhdyskäytäviä
sekä XML-palomuureja
jotka tekevät
• Vähän samoja asioita
• Osittain niitä asioita mitä palveluväylä tekee
• Osittain jotain aivan muuta
• Joskus jotain aivan käsittämätöntä
• Ja lopuksi
– Tukeudu standardeihin, älä keksi pyörää
uudestaan
11.9.2014 (C) Thomas 9 Malmberg [FOR INTENDED AUDIENCES ONLY]
10. Suorituskykyimpakti
- "As you can see SSL
encryption provides close to
the same performance as the
unsecured case"
- "Using WS-Security, on the
other hand, causes some
huge drops in performance"
- "In the case of combined
signing and encryption, the
test time is more than 2,100
percent longer than the
unsecured case"
Dennis Sosnoski, IBM developerWorks, 07 Jul 2009
http://www.ibm.com/developerworks/java/library/j-jws6/index.html
11.9.2014 (C) Thomas 11 Malmberg [FOR INTENDED AUDIENCES ONLY]
11. Suorituskykyimpakti - referenssit
• Performance of Web Services Security
– http://grids.ucs.indiana.edu/ptliupages/publications/WSSPerf.pdf
• Performance Analysis of WS-Security Mechanisms in SOAP-Based
Web Services
– http://www.sei.cmu.edu/reports/10tr023.pdf
• Implementation and Performance of WS-Security
– http://domino.watson.ibm.com/library/cyberdig.nsf/1e4115aea78b6e7c85256b360066f0d4/337510
17b1eac46b852573a3000c455e!OpenDocument&Highlight=0,XML
• Java Web services: The high cost of (WS-)Security
– http://www.ibm.com/developerworks/java/library/j-jws6/index.html
11.9.2014 (C) Thomas 12 Malmberg [FOR INTENDED AUDIENCES ONLY]
13. Webserviceiden tekninen tunnistaminen
ja suojaaminen
• Perusasiat kuntoon
– Huolehdi siitä että tunnet
toimintaympäristön, tavoitteet ja
vaatimukset
– Tarkista että suoja on oikea suoja
• Älä rakenna itsellesi suojalabyrinttia jonka
toimivuudesta ja suojaustasosta et itsekään
tiedä
• Suunnittele palvelut siten, että suojaus on
käytännöllistä toteuttaa
– Jos et liiku turvallisessa verkossa, käytä
aina SSL-suojausta
• Määrittele ensin
– Mikä on haluttu tietoturvataso
– Joudutko terminoimaan SSL-suojauksen
aikaisemmin kuin haluat
– Luotatko lähettäjään
– Tietoturvapolitiikka
– Nimeämispolitiikat
11.9.2014 (C) Thomas 14 Malmberg [FOR INTENDED AUDIENCES ONLY]
14. Webserviceiden tekninen tunnistaminen
ja suojaaminen
• Suojaaminen on ehdoton edellytys
palveluiden tarjoamiselle
– Tietoturvan näkökulmasta ei ole
tärkeitä ja vähemmän tärkeitä
palveluita – tee yksi
tietoturvapolitiikka ja noudata sitä
• Toteuta palvelut siten, että
noudattavat oman alasi
lainsäädäntöä ja hyviä käytäntöjä
nyt - ja helposti tulevaisuudessa
• Muista tiedottaa!
– Jos kukaan ei tiedä hienosta
tietoturvapolitiikasta tai
vaatimuksista, ei sitä myös noudateta
– Kannusta ja palkitse hyviä ja "oikein
tehtyjä" ratkaisuja
11.9.2014 (C) Thomas 15 Malmberg [FOR INTENDED AUDIENCES ONLY]
15. Webserviceiden tekninen tunnistaminen
ja suojaaminen
• Mitä tarkoitetaan teknisellä
tunnistamisella
– Esimerkiksi perinteinen machine2machine
tekninen käyttäjätunnus, joka nyt on
korvattu sertifikaatilla
– Tunnistetaan kutsuja (kutsuva sovellus)
joka haluaa käyttää jotain palvelua
• Kutsuja on esimerkiksi websovellus joka
puolestaan huolehtii loppukäyttäjän
tunnistuksesta ja auktorisoinnista
• Miten suojataan
– Suojaaminen on tunnustenhallintaa ja
luvitusta
• Prosessi
– Tekninen toteutus palveluväylässä joka
toteuttaa suojaamiselle määritellyt ja
asetetut vaatimukset
11.9.2014 (C) Thomas 16 Malmberg [FOR INTENDED AUDIENCES ONLY]
16. Teknisen
tunnistamisen
hallinta sekä
siihen liittyvät
prosessit
11.9.2014 (C) Thomas 17 Malmberg [FOR INTENDED AUDIENCES ONLY]
17. Teknisen tunnistamisen hallinta
sekä siihen liittyvät prosessit
• Hallintaan liittyvät haasteet
– Sertifikaattien hallinta
• Kuka voi hakea sertifikaatteja
• Kuka voi myöntää sertifikaatteja
• Missä sertifikaatit pidetään
– Keystoreiden käsittely
– LDAPin hallinta
• Sertifikaattien voimassaoloaika
– Palveluiden hallinta
• Kuka määrittelee palvelun sisällön
• Kuka päättää mikä tai kuka saa kutsua
palvelua jonka tuottama sisältö on X (ja
mahdollisesti huomenna X+1)
• Voiko tunnistukseen luottaa jos sen
taustalla oleva palvelu muuttuu siten
että alunperin annetut valtuudet ja
oikeudet eivät enää voi päteä?
– Prosessihaaste!
11.9.2014 (C) Thomas 18 Malmberg [FOR INTENDED AUDIENCES ONLY]
18. Teknisen tunnistamisen hallinta
sekä siihen liittyvät prosessit
• Prosesseihin liittyvät haasteet
– Miten palveluiden tekninen tunnistus
ja siihen liittyvät asiat saadaan osaksi
käyttöönottoprosessia
– Kuuluuko palveluiden tekninen
valtuushallinta yrityksen valtuus- tai
identiteetinhallinnan piiriin
• Pitääkö palvelut listata AD:hen?
• Onko AD:ssa tämän tasoisia
hallintaprosesseja?
• Entä LDAP?
– Tekninen lähestymistapa samankaltainen
kuin AD:ssa, mutta usein hallinnollisesti
helpompi ratkaisu
• Entä IAM?
– Voiko palveluita hallita IAM-järjestelmän
avulla, ja mitä se edellyttää?
11.9.2014 (C) Thomas 19 Malmberg [FOR INTENDED AUDIENCES ONLY]
20. Loppuasiakkaan tunnistuksen lisääminen
tekniseen tunnistusketjuun
• Asiakastunnistus voidaan ottaa
mukaan tekniseen tunnistukseen,
mutta
– Infrastruktuuri ja arkkitehtuuri on
hankala
– Edellyttää yleensä erittäin vahvaa ja
hyvää business-casea
– Testaaminen voi olla hyvin raskasta
– Edellyttää että yhteistyökumppanit myös
tukevat tätä
– Paketoidaan asiakkaan identiteetti
mukaan webservicekutsuun
• Tarvitaan silti tekninen autentikointi
• Ei päästetä "vääriä" sovelluksia edes
yrittämään
– Käytännössä: federoidaan asiakkaan
identiteetti koko kutsuketjun läpi esim.
SAMLilla
• Löydätkö hyödyt? Miten myyt ne?
Entäs jokin hybridimalli?
11.9.2014 (C) Thomas 21 Malmberg [FOR INTENDED AUDIENCES ONLY]
21. Loppuasiakkaan tunnistuksen lisääminen
tekniseen tunnistusketjuun
• Kuten aikaisemmin todettiin:
Asiakkaan identiteetti voidaan viedä
osana palvelukutsun sisältöä
• Edellyttää tietenkin että asiakas on
luotettavasti (ja mielellään vahvasti)
tunnistettu varsinaisessa sovelluksessa
• Asiakkaan identiteetti voi olla
pelkästään ID varsinaiseen
asiakasdataan
• Asiakastiedot voidaan pitää kauempana
ja siten suojatuimpina
• Palveluväylä voi hyödyntää
asiakasidentiteettiä
taustajärjestelmäkutsuihin
– Taustajärjestelmät eivät välttämättä
kuitenkaan tue webservicejä –
puhumattakaan ws-securitystä
11.9.2014 (C) Thomas 22 Malmberg [FOR INTENDED AUDIENCES ONLY]
22. Questions?
Kysymyksiä?
Frågor?
Thank You!
Kiitos!
Tack!
Contact:
thomas.malmberg@aktia.fi
http://fi.linkedin.com/in/thomasmalmberg
twitter @tsmalmbe
Esityksen kuvat:
Aktia sekä stock.xchng