XML messaging and security

Koko: px
Aloita esitys sivulta:

Download "XML messaging and security"

Transkriptio

1 XML messaging and security 168

2 IT systems and security B2B data exchange Internet is an open network, data flowing through can be monitored or altered XML and Java are not enough to ensure security (reliably enough) Security can be thought as a chain that canbebrokenbythe weakestlink 169 Avointa verkkoa kuten Internetiä hyödyntävä viestinvälitys saattaa olla riskialtista tiedon monistus- ja muuntamisriskin vuoksi. On syytä muistaa, että 100% turvallisuutta ei voida koskaan taata. Turvallisuus voidaankin ajatella ketjuna, jonka kestävyys on sama kuin sen heikoimman lenkin kestävyys. Käytännössä kyse on siitä, että tiedonsiirto on turvallista riittävän suurella todennäköisyydellä. Niinpä yritysten tulee päättää turvallisuuspolitiikasta, jota määriteltäessä tulee huomioida (ainakin) seuraavat asiat: arvioida/määrittää mahdolliset vahingot siinä tapauksessa, että tietoturvariski realisoituu, arvioida/määrittää itse tietoturvateknologian aiheuttamat haitat (esim. käyttömukavuus) ja määritellä proseduurit mahdollisia tietoturvahyökkäyksiä ja niihin reagoimista varten.

3 Security of communication Confidentiality message content cannot be read or copied by any unauthorized party Integrity message contents cannot be changed by any unauthorized party Authentication no party can disguise itself as a legitimate (authorized) party Nonrepudiation the message sender cannot deny the content of the message or that it has sent the message 170 Confidentiality: luottamuksellisuus Integrity: koskemattomuus Authentication: autentikointi Nonrepudiation: kiistämättömyys Luottamuksellisuudella tässä yhteydessä tarkoitetaan sitä, että mikään ulkopuolinen osapuoli ei pysty lukemaan tai kopioimaan viestin sisältöä. Luottamuksellisuus voidaan toteuttaa esimerkiksi käyttämällä kryptausmenetelmiä. Koskemattomuus puolestaan tarkoittaa sitä, että mikään ulkopuolinen osapuoli ei pysty muuttamaan tai manipuloimaan viestin sisältöä. Autentikointi takaa sen, että mikään ulkopuolinen osapuoli ei pysty näyttäytymään virallisena osapuolena. Ja lopuksi kiistämättömyys takaa sen, että viestin lähettäjä ei pysty kieltämään lähettäneensä viestiä. Seuraavaksi tarkastelemme näitä viestinvälityksen turvallisuusvaatimuksia hieman tarkemmin, erityisesti Web-palveluiden näkökulmasta.

4 Access control For determining which operations the client is allowed to apply to process the data An example access control policy: all properly authenticated companies can access the database all companies in the trusted category can submit a request a company can review its prior actions 171 Käyttöoikeus (access control) sekoitetaan silloin tällöin autentikointiin (authentication). Tämä on toisaalta ymmärrettävää, sillä näitä kahta tukevat mekanismit on usein integroitu yhdeksi mekanismiksi. Esimerkiksi joissain tilanteissa palvelimen salasanasuojattuja Web-sivuja pääsevät käyttämään/selaamaan vain asianmukaisilla oikeuksilla autentikoidut asiakkaat. Kyseessä eivät kuitenkaan ole synonyymit: autentikointia käytetään todistamaan kommunikointikumppanin identiteetti, kun taas käyttöoikeudet määräävät tietoturvapolitiikan (ts. asiakkaalle sallittavat operaatiot määräytyvät asiakkaan identiteetin perusteella). Web-palveluiden tapauksessa eri käyttäjille eri käyttöoikeuksin voi näkyä erilaiset rajapinnat palveluun.

5 Encryption Symmetric cryptosystems if the encryption key K is known, the decryption key D=K -1 can be (relatively) easily determined Asymmetric cryptosystems (K,D) D cannot be concluded in a reasonable time -> K can be published without a danger or any third party to be able to decrypt the encrypted information T = K(T), where T is the original data and T is the encrypted data 172 Kryptosysteemit voivat olla symmetrisiä tai ei-symmetrisiä. Mikäli kryptausavaimen K perusteella voidaan helposti määrittää sen käänteisoperaatio D, on kyseessä symmetrinen kryptosysteemi. Käänteisoperaatiolla tarkoitetaan tässä sellaista operaatiota, jonka avulla kryptatun tiedon T (ts. K(T)) kryptaus voidaan purkaa ja näin ollen saada selville alkuperäinen tieto T. Ts., D(K(T)) = T. Mikäli taas käänteisoperaatiota ei voida helposti selvittää kryptausavaimen perusteella, on kyseessä eisymmetrinen kryptosysteemi. Ei-symmetrisen kryptosysteemin etuna on se, että kryptausavain voidaan huoletta julkaista.

6 Needham-Schroeder Public Key Protocol määrittelee ei-symmetrisen kryptosysteemin käyttöön perustuvan kommunikaation A:nja B:n välillä seuraavasti: 1. A ->B: {NA, A} KB 2. B ->A: {NA, NB} KA 3. A->B: {NB}KB missä NA on A:n salainen sanoma, NB on B:n salainen sanoma, KA on A:n julkinen avain ja KB on B:n julkinen avain Onko edellä oleva julkisiin avaimiin perustuvat identiteetin varmistus aukoton? Ts., voivatko A ja B olla varmoja toistensa henkilöllisyydestä ja voivatko he välittää turvallisesti viestejä toisilleen?

7 Asymmetric cryptosystems Example: A wants to store information T, ment for B only, in a public place 1) A stores T in a form K B (T) 2) Only B knows D B and can thus decrypt K B (T): T=D B (K B (T)) Example (digital signatures): A wants to store information T, equipped with its signature and ment for B only, in a public place 1) A stores T in a form S =K B (D A (T)) (this is possible, since K B is publically known) 2) B first applies D B and then K A to S (note again that K A is either public or, at least, known by B) 173 Kalvolla on esitetty kaksi esimerkkiä ei-symmetrisen kryptosysteemin käytöstä. Ensimmäisessä esimerkissä A:n tarkoitus on välittää informaatiota B:lle tallentaen sen julkiseen paikkaan B:n haettavaksi. Tällöin A kryptaa ko. informaation T käyttäen B:n julkista avainta. Koska vain B tietää miten kryptattu tieto puretaan, on kryptatun tiedon K B (T) tallettaminen julkiseen paikkaan mahdollista. Jälkimmäinen esimerkki koskee digitaalista allekirjoittamista. Digitaalisissa allekirjoituksissa käytetään vain allekirjoittajan tiedossa olevaa avainta (private key) allekirjoittamiseen. Sen lisäksi on olemassa joko vain tietyn luotettavan osapuolen (tai mahdollisesti useampien) tiedossa oleva avain (public key), jota käytetään digitaalisen allekirjoituksen varmistamiseen. Tässäkin tapauksessa on kyseessä eisymmetrinen kryptosysteemi. Esimerkissä A haluaa tallettaa B:lle tarkoitetun digitaalisesti allekirjoittamansa tiedon T julkiseen paikkaan. Tällöin A kryptaa B:n julkista avainta käyttäen allekirjoittamansa tiedon ja tallettaa lopputuloksen julkiseen paikkaan. B pystyy tällöin käyttämään digitaalisen allekirjoituksen varmistamiseen käytettävää avainta käyttämällä ensin omaa avaintaan kryptauksen purkamiseen.

8 Edellä esitetty Needham-Schroeder Public Key Protocol kommunikaatio ei ole turvallinen, sillä se ei toteuta autentikointivaatimusta. Esimerkki tästä on ns. Lowen hyökkäys (Lowe s attack), jossa oletetaan A:ksi naamioitu tunkeilija Z. Lowe osoitti, että B ei voi olla varma siitä, että viesti tulee A:lta. Huomaa myös, että protokollassa A ei eksplisiittisesti julista haluavansa kommunikoida nimenomaan B:n kanssa. Hyökkäyksessä ilkeä agentti Z huijaa rehellistä A:ta antamaan B:n salaisen sanoman NB. Tämän jälkeen ilkeä Z voikin huijata B:tä. Lowen hyökkäyksessä käytetään kaksi samanaikaista protokollaa, toinen A:n ja Z:n välillä (1) ja toinen Z:n ja B:n välillä (2). 1.1 A ->Z: {NA, A} KZ 2.1 Z(A) ->B: {NA, A} KB 2.2 B ->Z(A): {NA, NB} KA 1.2 Z ->A: {NA, NB} KA 1.3 A->Z: {NB}KZ 2.3 Z(A)->B: {NB}KB

9 Security in Web services 174

10 Secure Sockets Layer (SSL) SSL was defined by Netscape Communications Corporation for securing HTTP connections Confidentiality achieved by using a symmetric cryptosystem Integrity achieved by using a message authentication code based on a secure hash function Client authentication is optional and server authentication mandatory in a SSL connection i.e., client always knows the server s identity, but not necessarily the other way round 175 Web-palveluissa turvallisuusnäkökulmat voidaan huomioida eri tasoilla (kts. kalvo 111, Layers of Web Services ). Kuljetusprotokollatasolla voidaan käyttää esimerkiksi Netscapen määrittelemää SSL:ää HTTP-yhteyden turvaamiseksi. Toisaalta SOAP-viestien turvallisuus voidaan varmentaa käyttämällä kryptausmenetelmiä ja digitaalisia allekirjoituksia. Käytännössä kaikki selaimet ja HTTP-palvelimet tukevat nykyisin SSL:ää. Transport Layer Security 1.0 (TLS), joka on IETF:n (Internet Engineering Task Force) määrittelemä, on lähes identtinen SSL versio 3 :lle. SSL:ssä luottamuksellisuus toteutetaan käyttämällä symmetristä kryptausta (esim. Data Encryption Standard (DES)). Koskemattomuus varmistetaan puolestaan käyttämällä turvallisiin hashfunktioihin perustuvaa viestin autentikointia (esim. Message Digest 5 (MD5) ja Secure Hash Algorithm 1 (SHA-1)). SSL-yhteydessä asiakaspään autentikointi on optionaalista, kun taas palvelimen autentikointi on pakollista. Tämä perustuu siihen, että asiakas tietää aina palvelimen identiteetin, mutta päinvastainen ei välttämättä päde.

11 SSL server authentication 1) The Web server first needs to acquire server s digital certificate from a certification authority (CA) (a third party organization) the certificate contains e.g. a public encryption key K S 2) The server and the client agrees on the encryption mechanism and on the SSL version, and the server sends the client a session id 3) The server sends its certificate to a client 4) The client generates a premaster secret (ps) (a random number), encrypts the number using K S, and sends the encrypted ps to the server 5) The server decrypts the encrypted ps using its private key 6) The server and client now sharing ps generate symmetric keys for message encryption from ps and start communicating using the generated keys 176 SSL:ssä palvelimen autentikointi koostuu seuraavista askeleista: 1) Ennen kommunikoinnin aloittamista Web-palvelin hankkii kolmannelta osapuolelta (ns. certification authority) ns. digitaalisen sertifikaatin, joka sisältää mm. julkisen salausavaimen, tiedon palvelimesta jolle sertifikaatti on myönnetty sekä allekirjoituksen, joka varmistaa palvelimen pitäjän olevan se mikä se väittää olevansa. Sertifikaatti voidaan tallettaa julkiseen paikkaan. 2) Asiakassovellus ja Web-palvelin sopivat salausmenetelmän sekä SSL-version käytöstä, palvelin lähettää asiakkaalle istunnon tunnuksen (id). 3) Palvelin lähettää sertifikaatin asiakkaalle. 4) Asiakas generoi ns. premaster-avaimen (satunnaisluku), kryptaa sen käyttämällä julkista avainta K S ja lähettää sen palvelimelle. 5) Palvelin purkaa kryptauksen (yksityisellä) avaimella D S (jolloin D S (K S (premaster))=premaster). Tässä vaiheessa palvelimella ja asiakkaalla on tieto yhteisestä premaster-luvusta, josta muodostetaan symmetriset kryptausavaimet ko. istuntoa varten. Tämän jälkeen molemmat (asiakas ja palvelin) lähettävät vielä viestin vahvistaakseen, että ovat valmiita suojatun liikenteen aloittamiseen käyttäen sovittua symmetristä salausmenetelmää ja istuntoavainta.

12 SSL client authentication When communicating with a Web browser, the anonymity can (typically) be allowed In B2B communication the client authentication is often critical and needed Two approaches for client authentication are often used: HTTP basic authentication combined with SSL without client authentication HTTP basic authentication is based on user ids and passwords, both are sent without encryption SSL provides confidentiality SSL certificate-based client authentication cf. server authentication the client first needs to acquire a digital certificate 177 SSL:ää käytettäessä asiakaspään autentikointi toisin kuin palvelimen autentikointi - ei siis ole pakollista. Esimerkiksi selaimen anonyymisyys tyypillisesti sallitaan. Toisaalta liiketoiminnan kannalta tärkeässä kommunikoinnissa sitä usein edellytetään. Asiakaspään autentikointi on yleisesti käytössä kaksi tapaa: (1) HTTP perusautentikointi yhdistettynä palvelimen SSL-autentikointiin ja (2) SSL:n sertifikaatti-perustainen autentikointi (samaan tapaan kuin edellä esitettiin palvelimelle). HTTP perusautentikointi (HTTP basic authentication, RFC 2617) on osa HTTP protokollan spesifikaatioita ja se perustuu käyttäjätunnuksen ja salasanan käyttöön. Huomaa, että ne molemmat lähetetään kryptaamattomana. Tässä vaihtoehdossa SSL tarjoaa luottamuksellisuuden. Jälkimmäinen tapa on puolestaan vastaava kuin edellä esitettiin palvelimen tapauksessa. Tässäkin tapauksessa asiakkaan tulee siis ensin pyytää digitaalinen sertifikaatti kolmannelta osapuolelta.

13 WS-Security A joint proposal by IBM, Microsoft, and Verisign in 2002 WS-Security 1.0 standard was released by OASIS in April 2004 WS-Security Core Specification 1.1. was released by OASIS in February 2006 describes enhancements to SOAP messaging to provide quality of protection through message integrity, message confidentiality, and single message authentication WS-Security is extensible Provides mechanisms to construct security protocols, instead of providing certain explicit fixed security protocol 178 Web-palveluteknologioiden kehittäjinä Microsoft ja IBM ovat olleet tärkeissä rooleissa. Turvallinen viestinvälitys on myös viime aikoina ollut näiden sekä monien muiden osapuolien tärkeänä kehityskohteena. Microsoft, IBM ja Verisign tekivätkin ehdotuksen, jonka nimeksi tuli WS-Security, SOAP-pohjaisen viestinvälityksen turvallisuuteen liittyvien ongelmien ratkaisemiseksi. WS-Security pyrkii erityisesti turvaamaan luottamuksellisuuden ja koskemattomuuden viestinvälityksessä. Vuonna 2004 OASIS teki WS-Security ehdotuksesta version 1.0 ja samalla siitä tuli OASIS-organisaation ylläpitämä standardi. Helmikuussa 2006 OASIS julkaisi siitä version 1.1. WS-Security on laajennettava standardi. Se tarjoaa mekanismit turvallisuusprotokollien määrittämiseksi sen sijaan että se tarjoaisi tietyt eksplisiittiset turvallisuusprotokollat. Tämä tarkoittaa sitä, että on käyttäjien vastuulla suunnitella omat haavoittumattomat protokollat.

14 WS-Security Use of security tokens a security token represents a set of claims made by a client that might include a name, password, identity, key, certificate, group, privilege, and so on WS-Security provides a mechanism to associate security tokens with message content An authority can use its key to sign or encrypt security tokens, thus enabling the authentication of the claims in the token Builds on XML Encryption and XML Signature message integrity uses XML Signature in conjunction with security tokens to ensure that messages are transmitted without modifications Message confidentiality uses XML Encryption in conjunction with security tokens to keep portions of a SOAP message confidential 179 WS-Security käyttää hyväkseen W3C:n XML Encryption ja XML Signature spesifikaatioita, joihin tutustutaan seuraavaksi. Koska voisi ehkä sanoa, että SW-Security-spesifikaation takana on Webpalvelutekniikoiden pääkehittäjät, voi sen käyttöönoton olettaa lisääntyvän yleisemminkin. Työkalutukea SW-Security-spesifikaatioille on jo nyt olemassa. WS-Security käyttää XML Signature -spesifikaatioita sekä ns. turvallisuusavaimia (security tokens) viestin koskemattomuuden varmistamiseksi. Nämä turvallisuusavaimet ovat viestin lähettäjän määräämiä väitteitä, joita käytetään varmistamaan viestin koskemattomuus. Tällainen väite voi sisältää esimerkiksi nimen, salasanan, avaimen, sertifikaatin jne. Viestin luotettavuuden varmistamiseen puolestaan käytetään XML Encryption kieltä yhdessä turvallisuusavaimien kanssa.

15 WS-Security WS-Security markup is placed inside element <Security> in a SOAP header WS-Security specification introduces different kinds of security tokens, e.g. <UsernameToken> for providing a user name <BinarySecurityToken> for security tokens in binary format 180 SW-Security merkkaus laajentaa SOAP-viestiä lisäämällä sopivia elementtejä SOAP-viestin headerosaan. Tämä merkkaus sijoitetaan elementtiin <Security>. SW-Security-spesifikaatio määrittelee joukon eri elementtejä erityyppisten turvallisuusavaimien merkkaamiselle. Esimerkiksi elementtiä <UsernameToken> voidaan käyttää käyttäjänimen antamiseen ja elementtiä <BinarySecurityToken> binääri-formaatissa olevan turvallisuusavaimen antamiseen. Alla on SW-Security spesifikaatiossa esitetty esimerkki elementin <UsernameToken> käytöstä: <S11:Envelope xmlns:s11="..." xmlns:wsse="..."> <S11:Header>... <wsse:security> <wsse:usernametoken> <wsse:username>zoe</wsse:username> </wsse:usernametoken> </wsse:security>... </S11:Header>... </S11:Envelope>

16 Hash functions A hash function is an algorithm that creates a digital representation (also called a fingerprint ) of the original data in the form of a hash value that is of standard length the standard length is typically much smaller than the length of the original data Hash value is unique representation of the original data -> any changes to the original data lead to producing a different hash value, if the same hash function is used For a secure hash function, it is computationally impossible or very difficult to derive the original message from its hash value. Hash functions are used e.g. in digital signatures 181 Ns. hash-funktioita käytetään esimerkiksi digitaalisissa allekirjoituksissa helpottamaan ja tehostamaan digitaalisten allekirjoitusten tekemistä sekä niiden verifiointia. hash-funktio on algoritmi, joka muodostaa alkuperäisestä tiedosta yksikäsitteisen esityksen, ns., sormenjäljen, joka on huomattavasti lyhyempi kuin alkuperäinen data. Tässä yksikäsitteisyys on oleellista sormenjäljen aitouden varmentamiseksi ja mahdollisten muutosten havaitsemiseksi: mikäli alkuperäistä tietoa on muutettu, samaa hash-funktioita sovellettaessa saadaan erilainen sormenjälki. Puhuttaessa turvallisista hash-funktioista, tarkoitetaan tilannetta, jossa hash-funktion käänteisfunktio on mahdotonta tai hyvin vaikea muodostaa alkuperäisen datan muodostamiseksi sormenjäljestä. Tilanne on siis vastaava kuin ei-symmetrisissä kryptosysteemeissä.

17 Using hash functions with digital signatures Instead of encrypting the whole data, a much smaller fingerprint is generated using a hash function The fingerprint is then encrypted (using an asymmetric cryptosystem) and attached to the original data, when sent to the receiver The receiver decrypts the encrypted fingerprint and generates a new fingerprint from the original data: if the fingerprints are identical, the signature is valid 182 hash-funktioita käytetään esimerkiksi digitaalisissa allekirjoituksissa, erityisesti tapauksissa, joissa sähköisessä muodossa olevaa asiakirjaa ei haluta kryptata vaan ainoastaan allekirjoittaa se. Ts., tarkoitus ei ole välttämättä salata tietoa vaan ainoastaan todistaa, että lähettäjä on oikea tai tarkemmin sanottuna että lähettäjä ja viesti liittyvät yhteen. Tällöin hash-funktiolla muodostetaan ensin lyhyt sormenjälki alkuperäisestä asiakirjasta. Sen jälkeen tämä sormenjälki kryptataan (alkuperäisen asiakirjan sijaan). Vastaanottajalle lähetetään asiakirja alkuperäisessä muodossaan sekä kryptattu sormenjälki. Allekirjoituksen varmentamiseksi vastaanottaja purkaa ensin kryptauksen käyttäen lähettäjän julkista avainta. Tässä julkisuus voi myös rajoittua rajoitettuun joukkoon vastaanottajia. Sen jälkeen vastaanottaja generoi samalla hash-funktiolla alkuperäisestä dokumentista toisen sormenjäljen. Mikäli uusi sormenjälki ja viestin mukana lähetetty sormenjälki ovat identtiset, on allekirjoitus validi. Tällöin siis vastaanottaja tietää, että kryptaus on suoritettu avaimella, jota ko. julkinen avain vastaa.

18 XML Encryption 183

19 XML Encryption XML Encryption specification specifies a process for encrypting data and representing the result in XML the encrypted data may be, e.g. an XML document, an XML element, or XML element content (namely, sequence of characters), or binary image data The result is presented with element EncryptedData, which replaces the original data XML namespace URI that MUST be used by implementations of the specification (Dec 2002) is: xmlns:xenc='http://www.w3.org/2001/04/xmlenc#' 184 XML Encryption on W3C suositus tiedon kryptaamiseksi ja kryptatun tiedon esittämiseksi XMLmuodossa. Kryptattava tieto voi olla mitä vain, esimerkiksi XML-dokumentti, yksi tai useampi XMLdokumentin elementeistä tai vaikkapa XML-elementin sisältö (merkkijono). Kryptattava tieto voi olla myös binääridataa, esimerkiksi png-formaatissa oleva kuva. XML Encryption kieli on periaatteessa melko yksinkertainen. Kryptauksen tulos esitetään elementin EncryptedData sisältönä. Ko. elementti korvaa alkuperäisen kryptattavan tiedon ja sisältää alielementeissään tai viittaa kryptattuun tietoon. Lisäksi EncryptedData-elementti voi sisältää tietoa kryptauksessa käytetyistä avaimista. Sovelluksien tulee käyttää URIa xmlns:xenc='http://www.w3.org/2001/04/xmlenc#' identifioimaan, että ne toteuttavat voimassa olevan XML Encryption suosituksen (joulukuulta 2002). XML-dokumenttien kryptaus saattaa aiheuttaa myös ongelmia. Esimerkiksi eri tyyppiset haut kryptatusta XML-dokumentista saattavat olla vähintäänkin ongelmallisia. Lisäksi saattaa olla vaikea valita mitkä osat XML-dokumentista on tarkoituksenmukaista kryptata ja mitkä ei. Myös XML Scheman/DTD määrittelyjen käyttö saattaa aiheuttaa ongelmia. Kryptatun lohkon sisältämät elementit voidaan kuitenkin päätellä kielioppimäärityksestä (mikäli sellainen on käytettävissä).

20 EncryptedData element Four optional attributes Id : a string value to assign id to the element within the document context in a standard way Type: an URI valueto identify type information about the plaintext form of the encrypted content Note! If the data included in EncryptedData element is replacing the data in an XML document context and is of type element or content, then it is highly recommended that Type attribute value is given, otherwise the decryptor will not be able to automatically restore the XML document to its original cleartext form (c.f. decryption requirements in XML Encryption spec.) 185 EncryptedData-elementillä on neljä attribuuttia, joista kaikki ovat optionaalisia. Id-attribuuttia voidaan käyttää identifioimaan EncryptedData-elementti string-tyyppisellä arvolla. Type-attribuutti määrittelee kryptatun tiedon tyypin. Se voi olla Element (elementti) tai Content (elementin sisältö): 1) Tyyppi Element a) kryptataan tietty elementti b) super-encryption : kryptattu tieto (elementti) sisältää EncryptedData tai EncryptedKey elementtejä. Huom! Elementti EncryptedData ei kuitenkaan voi olla isä- tai lapsielementti toiselle EncryptedData-elementille. Itse kryptattu tieto sen sijaan voi olla mitä vain...ja siis sisältää esim. EncryptedData tai EncryptedElement elementtejä. Esim.: <EncryptedData Id='ED1' xmlns='http://www.w3.org/2001/04/xmlenc#' Type= > 2. Tyyppi Content a) kryptataan joukko elementtejä (elements) b) kryptataan elementin sisältö (character data) Esim. <EncryptedData xmlns='http://www.w3.org/2001/04/xmlenc#' Type='http://www.w3.org/2001/04/xmlenc#Content'>

21 Vaikka Type-attribuutin käyttö onkin optionaalista, sen käyttöä suositellaan vahvasti tapauksessa, jossa kryptattu data (EncryptedData-elementin sisältö) korvaa osan alkuperäisen XML-dokumentin sisällöstä ja on tyypiltään element (eli korvaa tietyn elementin) tai content (korvaa tietyn elementin sisällön, esim. luottokortin numero: <creditcardnumber>123 </creditcardnumber>). Jos tällöin Typeattribuutille ei anneta arvoa, saattaa dekryptauksessa tulla ongelmia, ts. dekryptaaaja ei pysty automaattisesti purkamaan kryptausta alkuperäiseen XML-dokumentin muotoon. Tämä johtuu dekryptaukselle määritellyistä vaatimuksista XML Encryption spesifikaatioissa ja siitä, että tyyppiinformaatio saattaa muussa tapauksessa sisältää tulkinnan tai prosessoinnin kannalta oleellista tietoa.

22 EncryptedData element Four optional attributes (cont d) MimeType : a string value defining the media type of the encrypted data, e.g. an XML document: MimeType="text/xml" a sequence of characters: MimeType="text/plain" binary image data: MimeType="image/png" Encoding : an URI value defining the encoding style Subelements EncryptionMethod (optional) describes the encryption algorithm applied to the cipher data if the element is absent, the encryption algorithm must be known by the recipient or the decryption will fail 186 MimeType-attribuutti määrittelee kryptatun datan mediatyypin string-muodossa ja Encoding-attribuutti määrittelee käytetyn koodaustavan URI-arvon avulla. Jos esimerkiksi kryptattu data on base64- koodattua PNG-muotoa, voidaan koodaus määritellä Encoding= ja mediatyyppi MimeType= image/png. Attribuuttien lisäksi EncryptedData-elementillä on joukko alielementtejä, joista osa on optionaalisia. Sen ensimmäinen optionaalinen alielementti on EncryptionMethod. Se kuvaa käytetyn kryptausalgoritmin. Mikäli tämä alielementti puuttuu, täytyy vastaanottajan (dekryptaajan) tietää entuudestaan käytetty kryptausalgoritmi. Muuten dekryptaus ei luonnollisestikaan onnistu.

23 EncryptedData element Subelements (cont d) ds:keyinfo (optional) carries information about the key used to encrypt the data may be used to transport public keys subelements: EncryptedKey, AgreementMethod, KeyName, and RetrievalMethod CipherData (mandatory) envelopes or references to the raw encrypted data If enveloping, the raw encrypted data is the CipherValue element's content if referencing, the CipherReference element's URI attribute points to the location of the raw encrypted data EncryptionProperties (optional) can contain additional information concerning the generation of the EncryptedData or EncryptedKey (e.g., date/time stamp) 187 Optionaalinen alielementti KeyInfo sisältää informaatiota kryptaukseen käytetyistä julkisista avaimista. Sillä on muutamia alielementtejä, joita käytetään tämän informaation merkkaamiseen. Koko KeyInfoelementin rakenne on määritelty XML Signature spesifikaatiossa, johon tutustumme seuraavaksi. EncryptedData-elementin CipherData-alielementti on pakollinen. Se joko sisältää kryptatun tiedon CipherValue-alielementissään tai viittaaa siihen CipherReference-alielementissä URI-arvon avulla. EncryptionProperties on myös optionaalinen alielementti. Siinä voidaan antaa lisäinformaatiota EncryptedData tai EncryptedKey elementtien generoinnista prosessointia varten (esim. aika tai päivämäärä). Tarkkaan ottaen EncryptionProperties antaa lisäinformaatiota EncryptedType-elementtien generointiin liittyen, joka puolestaan on abstrakti tyyppi, josta EncryptedData ja EncryptedKey on johdettu.

24 EncryptedData element structure: <EncryptedData Id? Type? MimeType? Encoding?> (<EncryptionMethod/>)? (<ds:keyinfo> (<EncryptedKey>)? (<AgreementMethod>)? (<ds:keyname>)? (<ds:retrievalmethod>)? (<ds:*>)? </ds:keyinfo>)? <CipherData> (<CipherValue>)? (<CipherReference URI?>)? </CipherData> (<EncryptionProperties>)? </EncryptedData> where? denotes zero or one occurence + denotes one or more occurences * denotes zero or more occurences an empty element tag means that the element must be empty 188 Esimerkki (XML Encryption spesifikaatio): 1. Alkuperäinen XML-dokumentti: <?xml version='1.0'?> <PaymentInfo xmlns='http://example.org/paymentv2'> <Name>John Smith</Name> <CreditCard Limit='5,000' Currency='USD'> <Number> </Number> <Issuer>Example Bank</Issuer> <Expiration>04/02</Expiration> </CreditCard> </PaymentInfo>

25 2. Versio, jossa luottokortti-informaatio (CreditCard elementti) on kryptattu <?xml version='1.0'?> <PaymentInfo xmlns='http://example.org/paymentv2'> <Name>John Smith</Name> <EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element' xmlns='http://www.w3.org/2001/04/xmlenc#'> <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData> </PaymentInfo>

26 XML Signature 189

27 XML Signature XML Signature, 2nd edition became a W3C Recommendation in June 2008 XML Signature specification specifies XML syntax and processing rules for creating and representing digital signatures Can be applied to sign any digital content, e.g., XML A method for associating a key with referenced data Support for integrity, message authentication and/or signer authentication 190 XML Signature suositus on IEFT:n ja W3C:n yhdessä kehittämä. Se määrittelee XML-pohjaisen syntaksin digitaalisten allekirjoitusten merkkaamiseen sekä prosessointiohjeet niiden käsittelemiseksi. XML Signature kieltä voidaan käyttää monentyyppisen digitaalisen sisällön allekirjoittamiseen. Se tarjoaa periaatteessa tavan liittää avaintietoa sisältöön. XML Signature kielen sisältöön tutustuimme osin jo edellä: XML Encryption kielen KeyInfo-määritykset on määritelty XML Signature spesifikaatiossa. XML Signature tarjoaa tuen koskemattomuudelle sekä viestin ja/tai allekirjoittajan autentikoinnille..

28 XML Signature (cont d) A signature may includes, for instance, cryptographic functions involved in the signature operation e.g. hashing and public key algorithms Information on algorithms used Key information (optional) indicates the key to be used to validate the signature XML Signature may be Enveloped: XML signature located in source XML Enveloping: XML signature wraps around the source XML External: XML signature in a separate document to the source XML represented by Signature element 191 Digitaalinen allekirjoitus voi sisältää tietoa käytetyistä kryptografisista funktioista, joita käytetään allekirjoituksissa. Näitä voivat olla esimerkiksi sormenjäljen muodostamiseen käytetyt hash-funktiot ja julkisiin avaimiin perustuvat algoritmit. Lisäksi viestin vastaanottajalle voidaan välittää tietoa (julkisesta) avaimesta, jota se voi käyttää allekirjoituksen varmentamiseen. Digitaalinen allekirjoitus voi koskea paikallisesti jotain tiettyä osaa XML-dokumentista (envoloped), se voi koskea koko XML-dokumenttia (enveloping) tai se voi olla ulkoinen (external), jolloin erillisenä annettuun allekirjoitukseen ainoastaan viitataan itse dokumentista. XML Signature spesifikaation mukainen allekirjoitus annetaan Signature-elementin avulla. Sen sisäiseen rakenteeseen perehdymme myöhemmin.

29 Canonical forms A canonical form of an XML document is a physical representation of the document produced by a canonicalization method. Canonilized forms are often used instead of the original forms when the actual content is of interest. The reason is that XML applications tend to make (cosmetic) changes, which have no impact on the information content of the document but make text-based comparisons unapplicable. 192 Kaksi XML dokumenttia saattavat erota toisistaan puhtaan tekstuaalisen vertailun perusteella, vaikkakin ne voivat olla loogisesti ekvivalentit. Tällaisissa tapauksissa kryptografiset hash-algoritmit, joita käytetään digitaalisissa allekirjoituksissa, antavat eri arvot. Niin sanottu kanoninen XML spesifikaatio kuvaa menetelmän, jolla voidaan generoida sellainen fyysinen esitys XML-dokumentista (ns. kanoninen muoto), joka ottaa huomioon sallittavat variaatiot (eivät vaikuta loogiseen sisältöön) annetussa sovelluskontekstissa. Tämä luonnollisestikin auttaa edellä mainittuun ongelmaan, koska tällöin esimerkiksi epäilyjä autentikoinnin tai luottamuksellisuuden suhteen ei nouse esille loogisesti samanlaisten XML-varianttien esiintyessä. Kanoninen muoto tarkoittaa siis sellaista XML-dokumentin fyysistä esitystä, joka on tuotettu jollain kanonisointimenetelmällä. Kahden fyysisesti hieman erilaisen mutta sisällöltään ja rakenteeltaan samanlaisesta dokumentista kanonisointi tuottaa identtiset dokumentit. Digitaalisissa allekirjoituksissa käytetään tyypillisesti XML-dokumentin kanonista muotoa. Digitaalisten allekirjoitusten lisäksi sitä käytetään tapauksissa, jolloin dokumentin tarkalla fyysisellä rakenteella on vaikutusta sen käyttöön. Tällaisissa tapauksissa esimerkiksi välilyöntien tai tabulointien käyttö vaikuttaa siihen miten dokumenttia tulkitaan tai käytetään. Esimerkki (W3C: Canonical XML Recommendation):

30 Alkuperäinen XML dokumentti: <?xml version="1.0"?> <?xml-stylesheet href="doc.xsl" type="text/xsl"?> <!DOCTYPE doc SYSTEM "doc.dtd"> <doc>hello, world!<!-- Comment 1 --></doc> <?pi-without-data?> <!-- Comment 2 --> <!-- Comment 3 --> b) Kanoninen muoto (ilman kommentteja): <?xml-stylesheet href="doc.xsl" type="text/xsl"?> <doc>hello, world!</doc> <?pi-without-data?> c) Kanoninen muoto (kommentteineen): <?xml-stylesheet href="doc.xsl" type="text/xsl"?> <doc>hello, world!<!-- Comment 1 --></doc> <?pi-without-data?> <!-- Comment 2 --> <!-- Comment 3 -->

31 Signature s subelements SignedInfo (mandatory) contains the information that is actually signed subelement CanonicalizationMethod (mandatory) the algorithm used to canonicalize the SignedInfo element before it is digested as a part of the signature operation subelement SignatureMethod (mandatory) specifies the algorithm used for signature generation and validation the algorithm that is used to convert the canonicalized SignedInfo into the SignatureValue this algorithm identifies all cryptographic functions involved in the signature operation public key algorithms, hashing, padding, etc. a private key is used to form the signature from the digest value, the receiver can then use the corresponding public key to verify the signature for example, the signature algorithm could be RSA-SHA1 193 Digitaaliset allekirjoitukset merkataan XML Signature kieltä käytettäessä elementin Signature avulla. Sillä on neljä alielementtiä, joista kaksi on pakollista ja kaksi optionaalista. Elementti SignedInfo sisältää sen informaation, joka allekirjoitetaan. SignedInfo-elementillä on kolme alielementtiä. Alielementti CanonicalizationMethod on pakollinen ja se määrittelee käytetyn kanonisointialgoritmin, jonka avulla tieto muutetaan kanoniseen XML-muotoon. Itse allekirjoitus tehdään kanonisoidulle muodolle. Seuraava pakollinen alielementti on SignatureMethod. Se puolestaan määrittelee algoritmin, jolla kanonisoidusta muodosta muodostetaan itse allekirjoitus. SignatureMethod identifioi kaikki kryptografiset funktiot, joita allekirjoitusoperaatiossa tarvitaan. Allekirjoituken tekeminen voi olla monimutkainenkin kombinaatio erilaisia funktioita, kuten ensin käytetty kanonisointialgoritmi, padding (ja mahdollisesti muita käytettyjä transformaatioalgoritmeja) sekä hash-funktiota käyttävä sormenjäljen muodostava pakkausalgoritmi (digest-funktio). Jotkut kryptauksessa käytetyt algoritmit edellyttävät tietynmittaisia syötteitä, padding tarkoittaa (yksikertaistetusti) merkkijononlisäystä, jonka avulla syöte saadaan määrämittaiseksi (tai sen monikerraksi). Kryptausta avattaessa tulee luonnollisesti tietää miten ko. lisätty merkkijono tulee poistaa.

32 Yksinkertaisessa allekirjoitusprosessissa siis ensin tulee kanonisoida allekirjoitettava tieto. Sitten siitä muodostetaan lyhyt sormenjälki, joka sen jälkeen allekirjoitetaan käyttäen salaista omaa avainta (julkisiin avaimiin perustuva kryptosysteemi). Allekirjoitus sijoitetaan Signature-elementin SignatureValue-alielementin sisällöksi. Viestin vastaanottaja voi myöhemmin käyttää julkista avainta varmistaakseen allekirjoituksen. XML Signature spesifikaatio sallii siis sen, että usealla osapuolella voi olla julkinen avain hallussaan allekirjoituksen verifiointia varten. Tämä julkinen avain voidaan välittää viestin mukana tai se voi olla muutoin tietyn vastaanottajajoukon hallussa. Spesifikaatio painottaa, että yksityinen avain tulee olla vain pienen joukon ja mieluiten vain yhden osapuolen hallussa. Julkinen avain voi olla suuremman joukon (osapuolet, jotka voivat tai joiden odotetaan varmentavan allekirjoitus) tiedossa, mutta se ei kaikissa tapauksissa ole täysin julkinen. Yksi tärkeä esille nouseva kysymys on vastaanottajaosapuolten luottamus julkiseen avaimeen. Tätä on pyritty varmentamaan käyttämällä sertifikaatteja.

33 Signature s subelements SignedInfo (cont d) Reference (mandatory) specifies a digest algorithm and digest value, and optionally an identifier of the object being signed, the type of the object, and/or a list of transforms to be applied prior to digesting attributes ID (optional): identifier» permits a Reference to be referenced from elsewhere URI (optional): identifies a data object being signed using a URI reference» since this information is used for validation, URI attribute should be omitted only if the receiving application is expected to know the identity of the object Type (optional): contains information about the type of object being signed, represented as an URI 194 SignedInfo-elementin kolmas alielementti Reference on pakollinen. Sillä on kolme optionaalista attribuuttia. ID-attribuutti ja Transforms-alielementti (josta lisää seuraavaksi) kuvaavat miten syöte sormenjäljen ottamiselle on muodostettu. Type-attribuutti puolestaan kuvaa tämän syötteen tyypin ja auttaa siten ko. tiedon prosessoinnissa. URI-attribuuttia käytetään allekirjoituksen validoinnissa (josta lisää myöhemmin). Sen vuoksi se tulisi yleensä antaa. Sen pois jättäminen on perusteltua vain silloin, kun voidaan olettaa, että viestin vastaanottaja pystyy selvittämään allekirjoitettavan tiedon jollain muulla tavoin. ID-attribuutti puolestaan identifioi Reference-elementin (normaaliin ID-attribuutin käytön tapaan). Tämä puolestaan mahdollistaa turvallisen viittauksen Reference-elementtiin ulkopuolelta. Type-attribuutti kertoo minkä tyyppistä allekirjoitettava data on. Esim.: Type=

34 Signature s subelements SignedInfo (cont d) Reference (mandatory) DigestMethod subelement (mandatory) the algorithm applied to the data after Transforms is applied (if specified) to yield the DigestValue signing of the DigestValue is what binds a resources content to the signer's key. DigestValue subelement (mandatory) contains the encoded value of the digest (hash) Transforms subelement (optional) ordered list of processing steps that were applied to the resource's content before it was digested» e.g., canonicalization, encoding, XSLT, XPath, XML Schema validation or XInclude 195 Reference sisältää kolme alielementtiä. Pakollinen DigestMethod-alielementti määrittelee allekirjoitusalgoritmin, jota käytetään allekirjoitettavalle tiedolle sen jälkeen, kun se on ensin käsitelty Transforms-algoritmeilla. DigestMethod-alielementin määrittelemä algoritmi muodostaa allekirjoitettavasta (ja kanonisoidusta) tiedosta hash-funktion avulla muodostetun sormenjäljen. Pakollinen DigestValue-alielementti sisältää itse sormenjäljen. Optionaalinen Transforms-alielementti sisältää listan esiprosessointiaskeleista, joita sovelletaan allekirjoitettavalle tiedolle ennen kuin se allekirjoitetaan. Tällaisia esiprosessointiaskeleita voivat olla esimerkiksi kanonisointi, koodaustavan soveltaminen, XSLT-transformaatio, XPath-määritys, XML Schema validointi tai XInclude-määritys.

35 Signature s subelements SignatureValue (mandatory) contains the actual value of the digital signature it is always encoded using base64 Object (optional) may contain any data Three optional attributes: MimeType, ID, and Encoding KeyInfo (optional) enables the recipient(s) to obtain the key needed to validate the signature 196 Signature-elementin SignatureValue-alielementti on pakollinen ja sisältää lopullisen allekirjoituksen. Se käyttää aina base64-koodaustapaa. Signature-elementin kaksi jäljellä olevaa alielementtiä Object ja KeyInfo ovat molemmat optionaalisia. KeyInfo-alielementin avulla viestin vastaanottajalle välitetään tietoa avaimesta, joita se voi käyttää allekirjoituksen verifiointiin. Object-alielementtejä voi puolestaan esiintyä useampia ja ne voivat periaatteessa sisältää millaista dataa hyvänsä. Object-elementtiä käytetään kirjekuorena toimivaa allekirjoitusta (enveloping signature) käytettäessä kuljettamaan allekirjoitettava tieto. Tällöin sormenjälki (digest) lasketaan koko Objectelementistä, mukaanlukien alku- ja lopputagit. Object-elementillä on kolme optionaalista attribuuttia: MimeType, ID, ja Encoding. Jos esimerkiksi Object sisältää base64-koodattua PNG-mutoista tietoa, voisi attribuutin MimeType arvo olla image/png ja attribuutin Encoding arvo base64. Objectelementin ID-attribuuttiin viitataan usein esimerkiksi SignedInfo-elementistä.

36 Signature element structure: <Signature ID?> <SignedInfo> <CanonicalizationMethod/> <SignatureMethod/> (<Reference URI? > (<Transforms>)? <DigestMethod> <DigestValue> </Reference>)+ </SignedInfo> <SignatureValue> (<KeyInfo>)? (<Object ID?>)* </Signature> where? denotes zero or one occurence + denotes one or more occurences * denotes zero or more occurences an empty element tag means that the element must be empty 197 Esimerkki (XML Signature specification): <Signature Id="MyFirstSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n "/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/> <Reference URI="http://www.w3.org/TR/2000/REC-xhtml /"> <Transforms> <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n "/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>j6lwx3rvEPO0vKtMup4NbeVu8nk=</DigestValue> </Reference> </SignedInfo> <SignatureValue>MC0CFFrVLtRlk=...</SignatureValue> <KeyInfo> <KeyValue> <DSAKeyValue> <P>...</P><Q>...</Q><G>...</G><Y>...</Y> </DSAKeyValue> </KeyValue> </KeyInfo> </Signature>

37 Validation A data object is signed by computing its digest value and a signature over that value The signature is later checked via two required steps of core validation: i. reference validation: the verification of the digest contained in each Reference in SignedInfo ii. signature validation: cryptographic validation of the signature calculated over SignedInfo 198 Kuten jo aiemmin on mainittu, digitaalista allekirjoitusta tehtäessä kanonisoinnin ja mahdollisten muiden transformaatio operaatioiden jälkeen lasketaan allekirjoitettavasta datasta lyhyt sormenjälki (digest) käyttäen hash-algoritmeja. Tämän jälkeen saatu sormenjälki allekirjoitetaan käyttäen allekirjoittajan yksityistä avainta. Vastaava julkinen avain voidaan välittää viestin vastaanottajalle sanomassa (KeyInfo-elementissä) tai vastaanottaja voi saada sen muuten tietoonsa. Allekirjoituksen tarkistamiseen (perusvarmistus) liittyy kaksi pakollista vaihetta, jotka liittyvät em. allekirjoitusprosessiin: sormenjäljen varmistus (digest verification) ja allekirjoituksen varmistus (signature validation). Allekirjoituksen varmistus tehdään, jos sormenjäljen varmistus on onnistunut.

38 Validation (cont d) i. Reference validation: the verification of the digest contained in each Reference in SignedInfo 1. Canonicalize the SignedInfo element based on the CanonicalizationMethod in SignedInfo 2. For each Reference in SignedInfo: 1. Obtain the data object to be digested. e.g., the signature application may dereference the URI and execute Transforms provided by the signer in the Reference element 2. Digest the resulting data object using the DigestMethod specified in its Reference specification 3. Compare the generated digest value against DigestValue in the SignedInfo Reference; if there is any mismatch, validation fails 199 Varmistettaessa XML Signature kielellä tehtyä digitaalista allekirjoita tehdään ensin sormenjäljen varmistus. Aluksi kanonisoidaan SignedInfo-elementin arvo käyttäen annettua kanonisointimenetelmää (CanonicalizationMethod ). Sen jälkeen jokaiselle SignedInfo-elementin Reference-alielementille tehdään sormenjäljen varmistus käyttäen sen alielementtejä DigestMethod, DigestValue ja Transforms. Tämä tehdään puolestaan kolmessa vaiheessa. Aluksi tulee selvittää tieto, jolle allekirjoitus on tehty. Kuten aiemmin Signature-elementin alielementtejä läpi käydessä selvitettiin, SignedInfo-alielementin Reference-alielementin URI-attribuutti identifioi tiedon, jolle sormenjälki muodostetaan. Tässä vaiheessa voidaan siis käyttää apuna sitä tietoa sekä Transforms-alielementin määrittelemiä transformointifunktioita. Seuraavassa vaiheessa saadusta tiedosta muodostetaan sormenjälki käyttäen DigestMethod-elementissä annettua menetelmää. Lopuksi verrataan laskettua arvoa DigestValuealielementin arvoon. Mikäli ne ovat täsmälleen samat, on sormenjälki todettu oikeaksi (koskemattomuus).

39 Validation (cont d) ii. Signature validation: Does the SignatureValue match the result of processing SignedInfo with CanonicalizationMethod and SignatureMethod as specified? 1) Obtain the keying information from KeyInfo or from an external source. 2) Obtain the canonical form of the SignatureMethod using the CanonicalizationMethod and use the result (and previously obtained KeyInfo) to confirm the SignatureValue over the SignedInfo element. 200 Allekirjoituksen tarkistaminen tapahtuu luonnollisesti allekirjoittajan julkista avainta käyttäen. Tarkoituksena on tarkistaa vastaako SignatureValue-elementin arvo sitä arvoa, joka saadaan kun käytetään kanonisointimenetelmää (CanocicalizationMethod ) ja allekirjoitusmenetelmää (SignatureMethod ). Tässä tulee siis tarkistettua, että SignedInfo-elementin arvoa ei ole muutettu ja että käytetyt avaimet ja menetelmät/muunnokset ovat oikeita. Allekirjoituksen validoinnissa toimitaan kuten allekirjoitettaessakin. Ensin siis tehdään kanonisointi allekirjoitettavalle tiedolle ja sen jälkeen käytetään kuvattua allekirjoitusmenetelmää. Laskettua allekirjoitusta verrataan sitten SignatureValueelementin sisältämään allekirjoitukseen. Tässä tulee muistaa, että SignatureMethod kuvaa mahdollisesti useita kryptografisia funktiota, joita allekirjoitusalgoritmi käyttää.

40 Security in Web services Applying digital signatures to messaging e.g., applying XML Signature to SOAP messaging Applying encryption (e.g., XML Encryption) mechanisms Applying SSL or TLS if the SOAP middleware supports HTTPS connections, SSL can be used Security service as a Web service? providing security functions (key management, certificate management, authentication, authorization) as Web services -> freeing application developers and administrators from these tasks 201 SOAP ei itsessään ota kantaa tai sisällä mekanismeja viestin turvallisuuden takaamiseksi, mutta se sallii niiden toteuttamisen laajennosmekanisminsa kautta (header-osa). Turvallinen viestinvälitys voidaan Web-palvelukonseptissa taata usealla eri tavalla ja usealla eri tasolla. Digitaalisia allekirjoituksia ja kryptausta voidaan käyttää laajentaen SOAP-viestejä sopivasti. Toisaalta kuljetusprotokollatasolla voidaan käyttää vaikkapa SSL:ää tai TLS:ää. Mikäli näin saatu lisäturvallisuus on riittävää, on se monissa tapauksissa parempi vaihtoehto kuin käyttää digitaalisia allekirjoituksia ja kryptausta XMLtasolla. On arvioitu, että SSL:n käyttö on n. 10 kertaa tehokkaampaa kuin XML-tasolla tehty kryptaus ja allekirjoitus. Kuten edellä esitetystä voi päätellä, on esimerkiksi digitaalisen allekirjoituksen tekeminen että sen verifiointi monivaiheinen aikaa vievä prosessi. Itse allekirjoitukseen ja kryptaukseen liittyvä merkkaus voi jopa moninkertaistaa viestin koon. Tällöin jo pelkkä jäsentäminenkin vie enemmän aikaa. Mielenkiintoinen vaihtoehto on myös toteuttaa tietyt turvallisuusominaisuudet, kuten avainten hallinta, sertifikaattien hallinta, jne., erillisenä palveluna, joita (tietyt?) Web-palvelut voisivat käyttää. Tämä toisaalta vapauttaisi Web-palveluiden toteuttajan näiden melko monimutkaistenkin asioiden hallinnalta, mutta sisältää myös omat hankaluutensa. Mitkä?

41 Some research topics on SOA and Web services (Web) service composition modeling support many workflow and service composition languages transformations (methods and tools) Web services and Semantic Web Semantic Web techniques can make Web service systems more efficient Especially Internet-based messaging is always slow Transferring only essential information Semantic Web techniqes can be used for finding the essential information metainformation descriptions Not many real applications available 202 Yksi ehkä tällä vilkkaimmin tutkituista palvelujen käyttöön liittyvistä ongelma-alueista on palveluiden yhdistämisen ja workflow-kuvausten mallintaminen. Vaikka BPEL-kieli onkin saavuttanut tietyssä mielessä käytännön standardin aseman palveluperustaisten järjestelmien liiketoimintaprosessien kuvauskielenä, muitakin kieliä on toki ehdotettu ja niitä käytetään. Eri kielet on kehitetty hieman eri tarkoituksiin ja hieman erilaisia vaatimuksia silmällä pitäen. Tämän vuoksi tällä hetkellä kehitetään runsaasti sekä työkaluja ja menetelmiä varsinaisten palveluiden koordinointikuvausten tuottamiseksi korkean tason workflow-malleista. Myös muuntimia eri workflow-kielten välille on kehitetty. Tällä kurssilla ei käsitellä tarkemmin Semanttista Webiä. Siihen voi kuitenkin tutustua esimerkiksi W3C:n Suomen toimiston sivuilla, jonka esitelmäarkistosta löytyy useita esityksiä aiheesta. Perusideana Semanttisessa Webissä on kuvata (Webissä esitettävälle) tiedolle annettava metatieto tavalla, joka on ohjelmallisesti käsiteltävissä ja hyödynnettävissä esimerkiksi tiedon hakua varten. Koska tiedonsiirto erityisesti Internetissä on aina hidasta, on tarkoituksen mukaista siirtää vain oleellinen tieto. Tämä puolestaan edellyttää sen, että tämä oleellinen tieto voidaan helposti löytää. Tiedon tehokasta löytämistä taas tukee metatiedon mahdollisimman hyvä ja kattava esittäminen, jota erilaiset hakukriteerit voivat hyödyntää. Semanttisen Webin tekniikoiden hyödyntäminen Webpalvelujärjestelmissä tarjoaakin näin ollen mahdollisuuden ko. järjestelmien tehostamiseksi. Rekisterit (kuten UDDI) tavallaan hyödyntävätkin metatiedon käyttöä eri kategorisointimekanismeillaan. Käytännössä ei vieläkään ole useita Web-palveluiden ja Semanttisen Webin yhdistämistä tukevia sovelluksia olemassa.

42 Some research topics on SOA and Web services Migrating old legacy systems to SOA/Web services identification of the services decision on the communication mechanism wrapping techniques methods Support for modeling and software development methods SOA governance Mobile Web services 203 Yksi tärkeä tutkimus- ja sovelluskohde on vanhojen legacy-järjestelmien toiminnallisuuden tarjoaminen Web-palveluina. Käytännön tarve sille on tällä hetkellä suuri. Tämä edellyttää ensinnäkin sen, että päätetään mikä toiminnallisuus tarjotaan palveluna. Se puolestaan edellyttää palveluiden identifioinnin. Tämän jälkeen tulee päättää kommunikointitavasta ja kommunikoinnin abstraktiotasosta sekä valita sopiva käärimistapa. Yksi ohjelmistotuotannon näkökulmasta kiinnostava ja oleellinen haaste on myös ohjelmistosuunnitteluprosessin eri vaiheiden huomion ottaminen Web-palveluja toteutettaessa. Tämä edellyttää myös mm. tukea palveluiden ja palveluiden koordinoinnin mallintamiselle. SOA-pohjaisten järjestelmien hallinta kaiken kaikkiaan on myös laaja kysymys. Myös palveluiden tarjoaminen mobiililaitteissa on kiinnostava ja tällä hetkellä akuutti tutkimus- ja kehityskohde. Mobiililaitteita käytetään tällä hetkellä pääasiassa asiakassovellusten ajamiseen. Mobiilius tuo mukanaan myös muita kiinnostavia ja Web-palvelukonseptissa hyödynnettäviä näkökulmia, kuten kontekstisensitiivisyyden.

XML messaging and security

XML messaging and security XML messaging and security 198 IT systems and security B2B data exchange Internet is an open network, data flowing through can be monitored or altered XML and Java are not enough to ensure security (reliably

Lisätiedot

Avointa verkkoa kuten Internetiä hyödyntävä viestinvälitys saattaa olla riskialtista tiedon monistus- ja muuntamisriskin vuoksi.

Avointa verkkoa kuten Internetiä hyödyntävä viestinvälitys saattaa olla riskialtista tiedon monistus- ja muuntamisriskin vuoksi. 129 Avointa verkkoa kuten Internetiä hyödyntävä viestinvälitys saattaa olla riskialtista tiedon monistus- ja muuntamisriskin vuoksi. On syytä muistaa, että 100% turvallisuutta ei voida koskaan taata. Turvallisuus

Lisätiedot

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo TIEKE Verkottaja Service Tools for electronic data interchange utilizers Heikki Laaksamo TIEKE Finnish Information Society Development Centre (TIEKE Tietoyhteiskunnan kehittämiskeskus ry) TIEKE is a neutral,

Lisätiedot

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti Kuljetus- ja sovelluskerroksen tietoturvaratkaisut Transport Layer Security (TLS) ja Secure Shell (SSH) TLS Internet 1 2 Transport Layer Security (TLS) Sopii monenlaisille sovellusprotokollille, esim HTTP

Lisätiedot

OHJ-5201 Web-palveluiden toteutustekniikat. Kurssisisällöstä. Tarja Systä

OHJ-5201 Web-palveluiden toteutustekniikat. Kurssisisällöstä. Tarja Systä OHJ-5201 Web-palveluiden toteutustekniikat Kurssisisällöstä Tarja Systä 1 Yleistä Esitietovaatimukset OHJ-1400 Olio-ohjelmoinnin peruskurssi (pakollinen) OHJ-5010 Hajautettujen järjestelmien perusteet

Lisätiedot

Olet vastuussa osaamisestasi

Olet vastuussa osaamisestasi Olet vastuussa osaamisestasi Ohjelmistoammattilaisuuden uudet haasteet Timo Vehmaro 02-12-2015 1 Nokia 2015 Mitä osaamista tulevaisuudessa tarvitaan? Vahva perusosaaminen on kaiken perusta Implementaatio

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

Tietoturva 811168P 5 op

Tietoturva 811168P 5 op 811168P 5 op 6. Oulun yliopisto Tietojenkäsittelytieteiden laitos Mitä se on? on viestin alkuperän luotettavaa todentamista; ja eheyden tarkastamista. Viestin eheydellä tarkoitetaan sitä, että se ei ole

Lisätiedot

Salasanan vaihto uuteen / How to change password

Salasanan vaihto uuteen / How to change password Salasanan vaihto uuteen / How to change password Sisällys Salasanakäytäntö / Password policy... 2 Salasanan vaihto verkkosivulla / Change password on website... 3 Salasanan vaihto matkapuhelimella / Change

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents

Lisätiedot

Capacity Utilization

Capacity Utilization Capacity Utilization Tim Schöneberg 28th November Agenda Introduction Fixed and variable input ressources Technical capacity utilization Price based capacity utilization measure Long run and short run

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

XML:n turvallisuus web-palveluissa

XML:n turvallisuus web-palveluissa XML:n turvallisuus web-palveluissa Tuukka Nissinen 24.5.2008 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu tutkielma Tiivistelmä Web-palveluiden käyttö on yleistynyt valtavasti viime vuosien aikana.

Lisätiedot

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007 National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007 Chapter 2.4 Jukka Räisä 1 WATER PIPES PLACEMENT 2.4.1 Regulation Water pipe and its

Lisätiedot

Salausmenetelmät 2015/Harjoitustehtävät

Salausmenetelmät 2015/Harjoitustehtävät Salausmenetelmät 2015/Harjoitustehtävät 1. Ystäväsi K lähettää sinulle Caesarin yhteenlaskumenetelmällä kirjoitetun viestin ÖHXHHTTLOHUPSSHSSH R. Avaa viesti. 2. Avaa Caesarin yhteenlaskumenetelmällä laadittu

Lisätiedot

Tietoturvan perusteet - Syksy 2005. SSH salattu yhteys & autentikointi. Tekijät: Antti Huhtala & Asko Ikävalko (TP02S)

Tietoturvan perusteet - Syksy 2005. SSH salattu yhteys & autentikointi. Tekijät: Antti Huhtala & Asko Ikävalko (TP02S) Tietoturvan perusteet - Syksy 2005 SSH salattu yhteys & autentikointi Tekijät: Antti Huhtala & Asko Ikävalko (TP02S) Yleistä SSH-1 vuonna 1995 (by. Tatu Ylönen) Korvaa suojaamattomat yhteydentottotavat

Lisätiedot

Yritysturvallisuuden perusteet. 11. Luento Tietotekninen turvallisuus

Yritysturvallisuuden perusteet. 11. Luento Tietotekninen turvallisuus Yritysturvallisuuden perusteet Teemupekka Virtanen Helsinki University of Technology Telecommunication Software and Multimedia Laboratory teemupekka.virtanen@hut.fi 11. Luento Tietotekninen turvallisuus

Lisätiedot

Internet Protocol version 6. IPv6

Internet Protocol version 6. IPv6 Internet Protocol version 6 IPv6 IPv6 Osoiteavaruus 32-bittisestä 128-bittiseksi Otsikkokentässä vähemmän kenttiä Lisäominaisuuksien määritteleminen mahdollista Pakettien salaus ja autentikointi mahdollista

Lisätiedot

SOA/.NET oppitunti siitä, miten johtoasema säilytetään

SOA/.NET oppitunti siitä, miten johtoasema säilytetään SOA/.NET oppitunti siitä, miten johtoasema säilytetään Ahti Haukilehto FCS Partners Oyj Microsoft Regional Director, Finland Ensinnäkin, MS taitaa johtaa WS-kisaa.NET 56% vrs. Java 44% Forrester, pohjois-amerikka,

Lisätiedot

C++11 seminaari, kevät Johannes Koskinen

C++11 seminaari, kevät Johannes Koskinen C++11 seminaari, kevät 2012 Johannes Koskinen Sisältö Mikä onkaan ongelma? Standardidraftin luku 29: Atomiset tyypit Muistimalli Rinnakkaisuus On multicore systems, when a thread writes a value to memory,

Lisätiedot

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

in condition monitoring

in condition monitoring Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Taulukon edut Taulukon haitat Taulukon haittojen välttäminen Dynaamisesti linkattu lista Linkatun listan solmun määrittelytavat Lineaarisen listan toteutus dynaamisesti linkattuna

Lisätiedot

Software Signing System System overview and key domain concepts

Software Signing System System overview and key domain concepts Software Signing System System overview and key domain concepts Copyright 2004 F-Secure Corporation. All rights reserved. Contents 1 System overview...1 2 Main domain concepts...2 3 Roles and user groups...3

Lisätiedot

Efficiency change over time

Efficiency change over time Efficiency change over time Heikki Tikanmäki Optimointiopin seminaari 14.11.2007 Contents Introduction (11.1) Window analysis (11.2) Example, application, analysis Malmquist index (11.3) Dealing with panel

Lisätiedot

Attribuuttipohjainen käyttövaltuuksien hallinta Case Dreamspark Premium

Attribuuttipohjainen käyttövaltuuksien hallinta Case Dreamspark Premium Attribuuttipohjainen käyttövaltuuksien hallinta Case Dreamspark Premium Jari Kotomäki Aalto University IT Käyttövaltuuksien hallinta eli auktorisointi Prosessi, jossa on kyse käyttäjän tunnistamisen (autentikoinnin,

Lisätiedot

Microsoft Lync 2010 Attendee

Microsoft Lync 2010 Attendee VYVI MEETING Lync Attendee 2010 Instruction 1 (15) Microsoft Lync 2010 Attendee Online meeting VYVI MEETING Lync Attendee 2010 Instruction 2 (15) Index 1 Microsoft LYNC 2010 Attendee... 3 2 Acquiring Lync

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

The CCR Model and Production Correspondence

The CCR Model and Production Correspondence The CCR Model and Production Correspondence Tim Schöneberg The 19th of September Agenda Introduction Definitions Production Possiblity Set CCR Model and the Dual Problem Input excesses and output shortfalls

Lisätiedot

Tiedon salaaminen tallennusverkossa Luottokorttinumeroiden tokenisointi

Tiedon salaaminen tallennusverkossa Luottokorttinumeroiden tokenisointi Tiedon salaaminen tallennusverkossa Luottokorttinumeroiden tokenisointi EMC Forum 2009, Dipoli Jon Estlander, RSA Agenda Tallennetun tiedon salaaminen Tiedon salaaminen tallennusverkossa RSA Key Manager

Lisätiedot

Verkottunut suunnittelu

Verkottunut suunnittelu Rintekno Oy / JMM / 10.1.2002 Verkottunut suunnittelu DOKUMENTTI- POHJAINEN Tarkastus ja hyväksyntä Automaattinen dokumenttien luonti MALLIPOHJAINEN 2D:SSÄ JA 3D:SSÄ Tarkastus ja hyväksyntä Virtuaaliset

Lisätiedot

7.4 Variability management

7.4 Variability management 7.4 Variability management time... space software product-line should support variability in space (different products) support variability in time (maintenance, evolution) 1 Product variation Product

Lisätiedot

Choose Finland-Helsinki Valitse Finland-Helsinki

Choose Finland-Helsinki Valitse Finland-Helsinki Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

LYTH-CONS CONSISTENCY TRANSMITTER

LYTH-CONS CONSISTENCY TRANSMITTER LYTH-CONS CONSISTENCY TRANSMITTER LYTH-INSTRUMENT OY has generate new consistency transmitter with blade-system to meet high technical requirements in Pulp&Paper industries. Insurmountable advantages are

Lisätiedot

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n turvaama HTTP. TLS:n suojaama sähköposti

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n turvaama HTTP. TLS:n suojaama sähköposti Kuljetus- ja sovelluskerroksen tietoturvaratkaisut Transport Layer Security (TLS) ja Secure Shell (SSH) TLS Internet 1 2 Transport Layer Security (TLS) Sopii monenlaisille sovellusprotokollille, esim HTTP

Lisätiedot

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. Pekka Ollikainen Open Source Microsoft CodePlex bio Verkkosivustovastaava Suomen Sarjakuvaseura

Lisätiedot

Group 2 - Dentego PTH Korvake. Peer Testing Report

Group 2 - Dentego PTH Korvake. Peer Testing Report Group 2 - Dentego PTH Korvake Peer Testing Report Revisions Version Date Author Description 1.0 Henrik Klinkmann First version Table of Contents Contents Revisions... 2 Table of Contents... 2 Testing...

Lisätiedot

EUROOPAN PARLAMENTTI

EUROOPAN PARLAMENTTI EUROOPAN PARLAMENTTI 2004 2009 Kansalaisvapauksien sekä oikeus- ja sisäasioiden valiokunta 2008/0101(CNS) 2.9.2008 TARKISTUKSET 9-12 Mietintöluonnos Luca Romagnoli (PE409.790v01-00) ehdotuksesta neuvoston

Lisätiedot

Sisällysluettelo Table of contents

Sisällysluettelo Table of contents Sisällysluettelo Table of contents OTC:n Moodlen käyttöohje suomeksi... 1 Kirjautuminen Moodleen... 2 Ensimmäinen kirjautuminen Moodleen... 2 Salasanan vaihto... 2 Oma käyttäjäprofiili... 3 Työskentely

Lisätiedot

Miehittämätön meriliikenne

Miehittämätön meriliikenne Rolls-Royce & Unmanned Shipping Ecosystem Miehittämätön meriliikenne Digimurros 2020+ 17.11. 2016 September 2016 2016 Rolls-Royce plc The 2016 information Rolls-Royce in this plc document is the property

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

Tiedonsiirto- ja rajapintastandardit Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen

Lisätiedot

Luento 12: XML ja metatieto

Luento 12: XML ja metatieto Luento 12: XML ja metatieto AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XML ja metatieto Metatieto rakenne sanasto Resource Description Framework graafikuvaus XML Semanttinen Web agentit 2 1 Metatieto

Lisätiedot

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Note! Before starting download and install a fresh version of OfficeProfessionalPlus_x64_en-us. The instructions are in the beginning of the exercise.

Lisätiedot

Pretty Good Privacy eli näin kryptaat sähköpostisi

Pretty Good Privacy eli näin kryptaat sähköpostisi Pretty Good Privacy eli näin kryptaat sähköpostisi Miksi PGP? Edward Snowden, the NSA whistleblower who revealed his identity Sunday, first approached The Guardian s Glenn Greenwald in February and, by

Lisätiedot

SOAPin nimen Object on harhaanjohtava, koska SOAPissa ei ole objektiviittauksia. Tähän ja muihin SOAPin puutteisiin palataan niin ikään myöhemmin.

SOAPin nimen Object on harhaanjohtava, koska SOAPissa ei ole objektiviittauksia. Tähän ja muihin SOAPin puutteisiin palataan niin ikään myöhemmin. 1 SOAPin uusin versio 1.2 on vuodelta 2003. Vaikka tämä versio onkin jo yleisesti käytössä ja myös W3C:n suositus, käytetään versiota 1.1 myös jonkin verran edelleen. SOAPia voidaan käyttää esim. tyypilliseen

Lisätiedot

Tutkimusdata ja julkaiseminen Suomen Akatemian ja EU:n H2020 projekteissa

Tutkimusdata ja julkaiseminen Suomen Akatemian ja EU:n H2020 projekteissa Tutkimusdata ja julkaiseminen Suomen Akatemian ja EU:n H2020 projekteissa Tutkimusasiamies Kaisa Männikkö Tutkimus- ja innovaatiopalvelut Suomen Akatemian projektit Suomen Akatemia kehottaa avoimeen tieteelliseen

Lisätiedot

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Teollisuusautomaation tietoturvaseminaari Purchasing Manager, Hydro Lead Buyer, Industrial Control Systems 1 Agenda / esityksen tavoite

Lisätiedot

Telecommunication Software

Telecommunication Software Telecommunication Software Final exam 21.11.2006 COMPUTER ENGINEERING LABORATORY 521265A Vastaukset englanniksi tai suomeksi. / Answers in English or in Finnish. 1. (a) Määrittele sovellusviesti, PersonnelRecord,

Lisätiedot

Tietuekuva. Aineistosiirrot XML ISO 20022 XML pain.001.001.02 MT101 sanomasäännöt 15.11.2012

Tietuekuva. Aineistosiirrot XML ISO 20022 XML pain.001.001.02 MT101 sanomasäännöt 15.11.2012 Tietuekuva Aineistosiirrot XML 20022 XML pain.001.001.02 sanomasäännöt 15.11.2012 2 1. Maksusanoman rakenne ja sisältö Dokumentti on tarkoitettu käytettäväksi yhdessä C2B tietuekuvauksen kanssa pain 001.001.02

Lisätiedot

Kvarkki XUA: sähköisen allekirjoituksen määritys 1 (6) V 1.0. Kvarkki XUA: sähköisen allekirjoituksen määritys

Kvarkki XUA: sähköisen allekirjoituksen määritys 1 (6) V 1.0. Kvarkki XUA: sähköisen allekirjoituksen määritys Kvarkki XUA: sähköisen allekirjoituksen määritys 1 (6) Kvarkki XUA: sähköisen allekirjoituksen määritys 9.6.2017 Kvarkki XUA: sähköisen allekirjoituksen määritys 2 (6) Sisältö 1 Johdanto... 3 1.1 Dokumentissa

Lisätiedot

VUOSI 2015 / YEAR 2015

VUOSI 2015 / YEAR 2015 VUOSI 2015 / YEAR 2015 Kansainvälisen opetuksen ja tutkimustoiminnan kehittäminen Developing international teaching and research activities Rehtorin strateginen rahoitus vuosille 2014-2016 / Strategic

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Portugalin tasavallan aloite neuvoston päätökseksi Schengenin konsultointiverkoston (tekniset eritelmät) osan 1 muuttamisesta

Portugalin tasavallan aloite neuvoston päätökseksi Schengenin konsultointiverkoston (tekniset eritelmät) osan 1 muuttamisesta Conseil UE EUROOPAN UNIONIN NEUVOSTO Bryssel, 26. lokakuuta 2007 (07.11) (OR. en) PUBLIC 14215/07 LIMITE VISA 334 COMIX 924 ILMOITUS Lähettäjä: Vastaanottaja: Asia: Puheenjohtajavaltio Viisumityöryhmä

Lisätiedot

Kuva-aineistojen arkisto XUA-allekirjoituksen määritys

Kuva-aineistojen arkisto XUA-allekirjoituksen määritys 1 (6) Kuva-aineistojen arkisto XUA-allekirjoituksen 31.10.2017 Muokkauspäivä Versio Muutos Tekijä 31.10.2017 1.01 Muokattu Kvarkki-termi -> Kuva-aineistojen Pekka Rinne arkistoksi. Ei teknisiä muutoksia

Lisätiedot

BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT

BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT UNCITRAL EMERGENCE CONFERENCE 13.12.2016 Session I: Emerging Legal Issues in the Commercial Exploitation of Deep Seabed, Space and AI BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT

Lisätiedot

Collaborative & Co-Creative Design in the Semogen -projects

Collaborative & Co-Creative Design in the Semogen -projects 1 Collaborative & Co-Creative Design in the Semogen -projects Pekka Ranta Project Manager -research group, Intelligent Information Systems Laboratory 2 Semogen -project Supporting design of a machine system

Lisätiedot

MUSEOT KULTTUURIPALVELUINA

MUSEOT KULTTUURIPALVELUINA Elina Arola MUSEOT KULTTUURIPALVELUINA Tutkimuskohteena Mikkelin museot Opinnäytetyö Kulttuuripalvelujen koulutusohjelma Marraskuu 2005 KUVAILULEHTI Opinnäytetyön päivämäärä 25.11.2005 Tekijä(t) Elina

Lisätiedot

The Viking Battle - Part Version: Finnish

The Viking Battle - Part Version: Finnish The Viking Battle - Part 1 015 Version: Finnish Tehtävä 1 Olkoon kokonaisluku, ja olkoon A n joukko A n = { n k k Z, 0 k < n}. Selvitä suurin kokonaisluku M n, jota ei voi kirjoittaa yhden tai useamman

Lisätiedot

.NET 2006 ja sen jälkeen

.NET 2006 ja sen jälkeen .NET 2006 ja sen jälkeen Ahti Haukilehto FC Sovelto Oyj Microsoft Regional Director, Finland Superior tools, niin mitkä? Visual Studio Team System Team Foundation Server DSL Tools 2 Visual Studio Team

Lisätiedot

Results on the new polydrug use questions in the Finnish TDI data

Results on the new polydrug use questions in the Finnish TDI data Results on the new polydrug use questions in the Finnish TDI data Multi-drug use, polydrug use and problematic polydrug use Martta Forsell, Finnish Focal Point 28/09/2015 Martta Forsell 1 28/09/2015 Esityksen

Lisätiedot

22.1.2013. truck Check In. truck Check Net. ewaybill ja ajat suoraan terminaaliin

22.1.2013. truck Check In. truck Check Net. ewaybill ja ajat suoraan terminaaliin ja ajat suoraan terminaaliin 1 Konseptit Mussalon Merituulessa ja Vuosaaren Porttitalossa sijaitsevat kioskisovellukset, joilla rekkakuskit voivat itse tehdä konttikeikat autoilleen ennen sisäänajoa satama-alueen

Lisätiedot

Web-palvelukonsepti tarjoaa yhden tavan toteuttaa SOA. Tämä tapa perustuu Web-palvelustandardien käyttöön: palvelut kuvataan WSDL-kielen avulla ja

Web-palvelukonsepti tarjoaa yhden tavan toteuttaa SOA. Tämä tapa perustuu Web-palvelustandardien käyttöön: palvelut kuvataan WSDL-kielen avulla ja 1 Web-palvelukonsepti tarjoaa yhden tavan toteuttaa SOA. Tämä tapa perustuu Web-palvelustandardien käyttöön: palvelut kuvataan WSDL-kielen avulla ja kommunikointi toteutetaan SOAPin avulla. Näihin kieliin

Lisätiedot

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta Palveluita ja sisältöä portaaliin - XML:n mahdollisuuksista XML-tietokannat ja julkishallinnon XML-sovellukset, 28.05.2002 Lasse Akselin, TietoEnator Oyj Sisällys Valtion tietotekniikan rajapintasuosituksia

Lisätiedot

Harjoitustehtävät. Laskarit: Ti KO148 Ke KO148. Tehtävät viikko. VIIKON 42 laskarit to ko salissa IT138

Harjoitustehtävät. Laskarit: Ti KO148 Ke KO148. Tehtävät viikko. VIIKON 42 laskarit to ko salissa IT138 Harjoitustehtävät Laskarit: Ti 12 14 KO148 Ke 12 14 KO148 Tehtävät viikko 37 : 3, 4, 5, 9a, 10, 11 38 : 18a, b, 20, 21, 23a, b, 26, 28b 39 : 17, 29, 31, 32, 33, 35 40 : 8, 16, 34, 37, 38a, b 41 : 40, 42,

Lisätiedot

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Osa II OUGF / 12.5.2004 c Sisält ltö Mitä uutta? Yleistä lisensoinnista Lisensointiin liittyviä ongelmia Hankinnassa muistettavia asioita

Lisätiedot

LX 70. Ominaisuuksien mittaustulokset 1-kerroksinen 2-kerroksinen. Fyysiset ominaisuudet, nimellisarvot. Kalvon ominaisuudet

LX 70. Ominaisuuksien mittaustulokset 1-kerroksinen 2-kerroksinen. Fyysiset ominaisuudet, nimellisarvot. Kalvon ominaisuudet LX 70 % Läpäisy 36 32 % Absorptio 30 40 % Heijastus 34 28 % Läpäisy 72 65 % Heijastus ulkopuoli 9 16 % Heijastus sisäpuoli 9 13 Emissiivisyys.77.77 Auringonsuojakerroin.54.58 Auringonsäteilyn lämmönsiirtokerroin.47.50

Lisätiedot

Rekisteröiminen - FAQ

Rekisteröiminen - FAQ Rekisteröiminen - FAQ Miten Akun/laturin rekisteröiminen tehdään Akun/laturin rekisteröiminen tapahtuu samalla tavalla kuin nykyinen takuurekisteröityminen koneille. Nykyistä tietokantaa on muokattu niin,

Lisätiedot

Alternative DEA Models

Alternative DEA Models Mat-2.4142 Alternative DEA Models 19.9.2007 Table of Contents Banker-Charnes-Cooper Model Additive Model Example Data Home assignment BCC Model (Banker-Charnes-Cooper) production frontiers spanned by convex

Lisätiedot

7. Product-line architectures

7. Product-line architectures 7. Product-line architectures 7.1 Introduction 7.2 Product-line basics 7.3 Layered style for product-lines 7.4 Variability management 7.5 Benefits and problems with product-lines 1 Short history of software

Lisätiedot

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ https://community.plm.automation.siemens.com/t5/tech-tips- Knowledge-Base-NX/How-to-simulate-any-G-code-file-in-NX- CAM/ta-p/3340 Koneistusympäristön määrittely

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Toukokuu 2012 1 (14) Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Asennusohje Toukokuu 2012 2 (14) Sisällysluettelo 1. Vaatimukset palvelimelle... 3 1.1..NET Framework 4.0... 3 1.2. Palvelimen Internet

Lisätiedot

Palvelun rekisteröinti Virtu - luottamusverkostoon / testipalveluun

Palvelun rekisteröinti Virtu - luottamusverkostoon / testipalveluun 1 Resurssirekisteri :: Käyttöohje Palvelun rekisteröinti Virtu - luottamusverkostoon / testipalveluun Tässä ohjeessa kerrotaan, miten lisäät uuden Service Provider (SP) palvelun Virtu - luottamusverkostoon

Lisätiedot

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.

Lisätiedot

Vuosi 2006. Jukka Rinnevaara Toimitusjohtaja

Vuosi 2006. Jukka Rinnevaara Toimitusjohtaja Vuosi 2006 Jukka Rinnevaara Toimitusjohtaja 1 Disclaimer This presentation is confidential and is intended solely for the use of the recipients of the presentation in connection with their consideration

Lisätiedot

Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy

Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy t Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy Agenda 1. Office Excel 2013 2. SharePoint 2013 3. SQL Server 2012 SP1 4. SharePoint 2013 BI-arkkitehtuuri 5. Kunta-analyysi

Lisätiedot

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) ja Secure Shell (SSH)

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) ja Secure Shell (SSH) Kuljetus- ja sovelluskerroksen tietoturvaratkaisut Transport Layer Security (TLS) ja Secure Shell (SSH) TLS Internet 1 2 Transport Layer Security (TLS) Sopii monenlaisille sovellusprotokollille, esim HTTP

Lisätiedot

anna minun kertoa let me tell you

anna minun kertoa let me tell you anna minun kertoa let me tell you anna minun kertoa I OSA 1. Anna minun kertoa sinulle mitä oli. Tiedän että osaan. Kykenen siihen. Teen nyt niin. Minulla on oikeus. Sanani voivat olla puutteellisia mutta

Lisätiedot

Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke

Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke Versio 1.0 Varmennepalvelu Rajapintakuvaus Kansallisen tulorekisterin perustamishanke Varmennepalvelu Rajapintakuvaus 2 (13) Versiohistoria Versio Päivämäärä Kuvaus 1.0 Dokumentti julkaistu. Varmennepalvelu

Lisätiedot

Sähköinen allekirjoitus

Sähköinen allekirjoitus Sähköinen allekirjoitus Pekka Kuosmanen 18.1.2008 Esityksen aiheet Sähköinen allekirjoitus Lainsäädäntö ja standardit Käytännön kokemukset Sähköinen allekirjoitus minkä vuoksi Sähköisen asiakirjan tai

Lisätiedot

Yritysturvallisuuden perusteet

Yritysturvallisuuden perusteet Yritysturvallisuuden perusteet Teemupekka Virtanen Helsinki University of Technology Telecommunication Software and Multimedia Laboratory teemupekka.virtanen@hut.fi 10. Luento Tietotekninen turvallisuus

Lisätiedot

ELEC-C7241 Tietokoneverkot Multimedia, tietoturva, jne.

ELEC-C7241 Tietokoneverkot Multimedia, tietoturva, jne. ELEC-C7241 Tietokoneverkot Multimedia, tietoturva, jne. Pasi Sarolahti (osa kalvoista: Sanna Suoranta) 14.3.2017 Projekti Lähetä tilanneraportti MyCoursesiin perjantaihin 17.3. mennessä Sisältää Nykytilan

Lisätiedot

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed Online Meeting Guest Online Meeting for Guest Participant Lync Attendee Installation Online kokous vierailevalle osallistujalle Lync Attendee Asennus www.ruukki.com Overview Before you can join to Ruukki

Lisätiedot

Lokivirheiden analysointi

Lokivirheiden analysointi Lokivirheiden analysointi Lokivirheitä configuration_client.log proxy.log signer.log operointiohjeet listaavat muutamia valvottavia virhetilanteita configuration-client.log 11:01:00 [QuartzScheduler_Worker

Lisätiedot

16. Allocation Models

16. Allocation Models 16. Allocation Models Juha Saloheimo 17.1.27 S steemianalsin Optimointiopin seminaari - Sks 27 Content Introduction Overall Efficienc with common prices and costs Cost Efficienc S steemianalsin Revenue

Lisätiedot

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?

Lisätiedot

Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa?

Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa? Ongelma 1: Miten tieto kannattaa koodata, jos sen halutaan olevan hyvin vaikeasti luettavaa? 2012-2013 Lasse Lensu 2 Ongelma 2: Miten tietoa voidaan (uudelleen)koodata tehokkaasti? 2012-2013 Lasse Lensu

Lisätiedot

4x4cup Rastikuvien tulkinta

4x4cup Rastikuvien tulkinta 4x4cup Rastikuvien tulkinta 4x4cup Control point picture guidelines Päivitetty kauden 2010 sääntöihin Updated for 2010 rules Säännöt rastikuvista Kilpailijoiden tulee kiinnittää erityistä huomiota siihen,

Lisätiedot

Kuljetus/Sovelluskerroksen tietoturvaratkaisut

Kuljetus/Sovelluskerroksen tietoturvaratkaisut Kuljetus/Sovelluskerroksen tietoturvaratkaisut 1 Tämän luennon aiheet Transport Layer Security (TLS) Secure Shell (SSH) 2 Transport Layer Security (TLS) Sopii monenlaisille sovellusprotokollille Toimi

Lisätiedot

Tämän luennon aiheet. Kuljetus/Sovelluskerroksen tietoturvaratkaisut. TLS:n turvaama HTTP. Transport Layer Security (TLS) TLS:n suojaama sähköposti

Tämän luennon aiheet. Kuljetus/Sovelluskerroksen tietoturvaratkaisut. TLS:n turvaama HTTP. Transport Layer Security (TLS) TLS:n suojaama sähköposti Tämän luennon aiheet Kuljetus/Sovelluskerroksen tietoturvaratkaisut Transport Layer Security (TLS) Secure Shell (SSH) 1 2 Transport Layer Security (TLS) Sopii monenlaisille sovellusprotokollille Toimi

Lisätiedot

Visma Software Oy

Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun materiaalin kopiointi on kielletty ilman :n

Lisätiedot

Rekisteriseloste. Rekisterinpitäjä. Yhteyshenkilö rekisteriä koskevissa asioissa. Rekisterin nimi. Henkilötietojen käsittelyn tarkoitus

Rekisteriseloste. Rekisterinpitäjä. Yhteyshenkilö rekisteriä koskevissa asioissa. Rekisterin nimi. Henkilötietojen käsittelyn tarkoitus Rekisteriseloste Henkilötietolaki (523/1999) 10. Rekisterinpitäjä Anders Manager Oy Aurakatu 12 B 20100 Turku Y-tunnus: 1024785-9 Yhteyshenkilö rekisteriä koskevissa asioissa Matias Mäenpää +358 (0)45

Lisätiedot

Other approaches to restrict multipliers

Other approaches to restrict multipliers Other approaches to restrict multipliers Heikki Tikanmäki Optimointiopin seminaari 10.10.2007 Contents Short revision (6.2) Another Assurance Region Model (6.3) Cone-Ratio Method (6.4) An Application of

Lisätiedot

Siirtymä maisteriohjelmiin tekniikan korkeakoulujen välillä Transfer to MSc programmes between engineering schools

Siirtymä maisteriohjelmiin tekniikan korkeakoulujen välillä Transfer to MSc programmes between engineering schools Siirtymä maisteriohjelmiin tekniikan korkeakoulujen välillä Transfer to MSc programmes between engineering schools Akateemisten asioiden komitea Academic Affairs Committee 11 October 2016 Eija Zitting

Lisätiedot

T-79.4501 Cryptography and Data Security

T-79.4501 Cryptography and Data Security T-79.4501 Cryptography and Data Security Lecture 11 Bluetooth Security Bluetooth turvallisuus Uhkakuvat Bluetooth turvallisuuden tavoitteet Linkkitason turvamekanismit Pairing menettely Autentikointi ja

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut Kuljetus- ja sovelluskerroksen tietoturvaratkaisut Transport Layer Security (TLS) ja Secure Shell (SSH) 1 Sovelluskerros Kuljetuskerros Verkkokerros Linkkikerros Fyysinen kerros TLS Internet Sovelluskerros

Lisätiedot

Osavuosikatsaus JUKKA RINNEVAARA CEO

Osavuosikatsaus JUKKA RINNEVAARA CEO Osavuosikatsaus 1.1. 30.9.2009 JUKKA RINNEVAARA CEO Disclaimer This presentation is intended solely for the use of the recipients of the presentation in connection with their consideration of Teleste Corporation

Lisätiedot