Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
XML biztonság
2
Aláírás W3C és IETF közös munkája W3C IETF
XML-Signature Syntax and Processing / 2002. IETF sok RFC a részletekről
3
Mit biztosít? Hiteles marad Változtatás azonnal észrevehető
Az előállító nem tudja letagadni
4
Szükséges algoritmusok
kanonizáló szemantikailag azonos XML ua. bytesorozat legyen kivonat készítő hash készítés aláíró hash titkosítása titkosító szimmetrikus kulccsal az XML kódolása transzformáló pl. bináris adatok base64 kódolása
5
Aláírás, mint objektum ( ): valamilyen leírás kell
?: 0 vagy 1 előfordulás +: 1 vagy több előfordulás *: 0 vagy több előfordulás
6
Az aláírás előállítása
Forrásadat: leírás a Reference-ben URI-val
7
Az aláírás előállítása
Kanonizálás (normalizálás) kommentárok elhagyása üres sorok kiszedése szóközök megtartása a szövegben cimkék normalizása karakterhivatkozások feloldása betűkészlet UTF-8-ra
8
Kanonizálás
9
Az aláírás előállítása
Lenyomat(hash) az aláirandó elemekről benne az algoritmus hash értéke
10
Az aláírás előállítása
Előkészítés a közvetlen aláíráshoz milyen a kanonizálás milyen a titkosító algoritmus (itt SHA1)
11
Az aláírás előállítása
Aláírás elkészítése
12
Az aláírás előállítása
Opcionális kulcsinfo hozzáadása
13
Az aláírás előállítása
Opcionális object-info hozzáadása pl. időpecsét
14
Az aláírás előállítása
Transzformáció: pl. bináris info base64-be
16
Alkalmazás Honnan tudjuk, hogy Alice cége küldte a megrendelőt Bob cégének? Válasz: Alice írja alá
17
Megrendelés <bp:pencilOrder xmlns:bp=" <bp:pencilType>bp:StandardNumberTwo</bp:pencilType> <bp:quantity>100,000</bp:quantity> </bp:pencilOrder>
18
Aláírt szerkezet <bp:signedPencilOrder xmlns:bp=" <Signature xmlns=" <SignedInfo> <CanonicalizationMethod Algorithm=" <SignatureMethod Algorithm=" <Reference URI=""/> <Transforms> <Transform Algorithm=" </Transforms> <DigestMethod Algorithm=" <DigestValue>j6lwx3rvEPO0vKtMup4NbeVu8nk=</DigestValue> </Reference> </SignedInfo> <SignatureValue>aiYECAxNqK2PivQaRweWajXup5zJa...</SignatureValue> <KeyInfo> <X509Data> <X509Certificate>MIIH1zCCBr+gAwIBA...</X509Certificate> </X509Data> </KeyInfo> </Signature> <bp:pencilOrder> <bp:OrderID>64B4A0D1-814E-4FF6-918A-DD7E7E1AECEA</bp:OrderID> <bp:pencilType>bp:StandardNumberTwo</bp:pencilType> <bp:quantity>100,000</bp:quantity> </bp:pencilOrder> </bp:signedPencilOrder> eredeti anyag
19
Aláírás kifejtése kanonizálás algoritmus itt az aláírás
mit kell aláírni?* kanonizálás <Signature xmlns=" <SignedInfo> <CanonicalizationMethod Algorithm=" <SignatureMethod Algorithm=" <Reference URI=""> <Transforms> <Transform Algorithm=" </Transforms> <DigestMethod Algorithm=" <DigestValue>j6lwx3rvEPO0vKtMup4NbeVu8nk=</DigestValue> </Reference> </SignedInfo> <SignatureValue>aiYECAxNqK2PivQaRweWajXup5zJa...</SignatureValue> <KeyInfo> <X509Data> <X509Certificate>MIIH1zCCBr+gAwIBA...</X509Certificate> </X509Data> </KeyInfo> </Signature> algoritmus itt az aláírás ""= az egészet!
20
Elemzés pencilOrder fölé egy új elem került signedPencilOrder gyereke
Signature és az eredeti pencilOrder Signature, mint előzőekben pencilOrder kibővült bp:OrderID hogy uaz a rendelés ne mehessen be kétszer
21
Titkosítás Itt is W3C és IETF együtt W3C IETF
XML Encryption Syntax and Processing / 2002. IETF sok RFC a részletekről
22
Titkosítás <--> titkosított adatforgalom
SSL (Secure Socket Layer) kiegészítő réteg az Internet Modellben akkor kell, ha az egész beszélgetés titkos Ha csak XML-adatokat akarunk titkosítani XML-Encryption pl. bankkártya-adatok átvitele
23
Megrendelés fizetéssel
<?xml version='1.0' ?> <purchaseOrder> <Order> <Item>book</Item> <Id> </Id> <Quantity>12</Quantity> </Order> <Payment> <CardId> </CardId> <CardName>visa</CardName> <ValidDate> </ValidDate> </Payment> </purchaseOrder>
24
Az egész titkosítása <?xml version='1.0' ?> <EncryptedData xmlns=' type=' <CipherData> <CipherValue>A23B45C56</CipherValue> </CipherData> </EncryptedData>
25
Részlet titkosítása <purchaseOrder> <Order> <Item>book</Item> <Id> </Id> <Quantity>12</Quantity> </Order> <EncryptedData xmlns=' type=' <CipherData> <CipherValue>A23B45C564587</CipherValue> </CipherData> </EncryptedData> </purchaseOrder> <Payment> <CardId> </CardId> <CardName>visa</CardName> <ValidDate>12-...</ValidDate> </Payment>
26
Szöveg titkosítása <purchaseOrder> <Order> <Item>book</Item> <Id> </Id> <Quantity>12</Quantity> </Order> <Payment> <CardId> <EncryptedData xmlns=' type=' <CipherData> <CipherValue>A23B45C564587</CipherValue> </CipherData> </EncryptedData> </CardId> <CardName>visa</CardName> <ValidDate> </ValidDate> </Payment> </purchaseOrder>
27
Mit lehet XML-titkosítani?
Szöveget azon belül XML-t: type=' Nem-szöveget pl. képet: type='
28
Kulcsok Aszimmetrikus kulcs Szimmetrikus kulcs
átviteli folyamatban kicserélve Szimmetrikus kulcs előzetesen már kicserélve
29
Kulcs elhelyezése <purchaseOrder> <Order> <Item>book</Item> <Id> </Id> <Quantity>12</Quantity> </Order> <Payment> <CardId> <EncryptedData xmlns=' type=' <EncryptionMethod Algorithm=' '/> <ds:KeyInfo xmlns:ds=' <ds:KeyName>John Doe</ds:KeyName> </ds:KeyInfo> <CipherData> <CipherValue>A23B45C564587</CipherValue> </CipherData> </EncryptedData> </CardId> <CardName>visa</CardName> <ValidDate> </ValidDate> </Payment> </purchaseOrder> algoritmus neve
30
Titkosított információ helye
2 megoldás XML dokumentumba ágyazva <CipherData> <CipherValue>A23B45C564587</CipherValue> </CipherData> külön dokumentumban <CipherData> <CipherReference>...</CipherReference> </CipherData>
31
Hivatkozás külső anyagra
<?xml version='1.0' ?> <EncryptedData xmlns=' type=' <EncryptionMethod Algorithm=' '/> <ds:KeyInfo xmlns:ds=' <ds:KeyName>John Doe</ds:KeyName> </ds:KeyInfo> <CipherData> <CipherReference URI=" </CipherData> </EncryptedData>
32
Megrendelés fizetéssel
<bp:pencilOrder xmlns:bp=" <bp:pencilType>bp:StandardNumberTwo</bp:pencilType> <bp:quantity>100,000</bp:quantity> <bank:paymentInfo xmlns:bank=“ <bank:PaymentAmount>$999.95</bank:PaymentAmount> <bank:CrediCardNumber> </bank:CrediCardNumber > </bank:paymentInfo> </bp:pencilOrder>
33
Összeg titkosítva <bp:pencilOrder xmlns:bp=" <bp:OrderID>64B4A0D1-814E-4FF6-918A-DD7E7E1AECEA</bp:OrderID> <bp:pencilType>bp:StandardNumberTwo</bp:pencilType> <bp:quantity>100,000</bp:quantity> <bank:paymentInfo xmlns:bank=" <EncryptedData xmlns=" Type=" <EncryptionMethod Algorithm=" <ds:KeyInfo xmlns:ds=" <ds:RetrievalMethod URI="#SessKey" Type=" </ds:KeyInfo> <CipherData> <CipherValue>9oATk2hDK2+HcTVHg...</CipherValue> </CipherData> </EncryptedData> <EncryptedKey Id="SessKey" xmlns=" <EncryptionMethod Algorithm=" <ds:KeyName>Bob's Pencil Manufacturing Company's Public/Private Key</ds:KeyName> <CipherValue>CCBPowCwYDVR0PBA...</CipherValue> <ReferenceList> <DataReference URI="#SessKey"/> </ReferenceList> </EncryptedKey> </bank:paymentInfo> </bp:pencilOrder> <bank:PaymentAmount>$999.95</...> <bank:CrediCardNumber>123...</...>
34
Elemzés Csak a bankkártya-rész van titkosítva
Titkosításhoz szimmetrikus kulcs 3DES kódolással <EncryptionMethod Algorithm=" Szimmetrikus kulcs RSA-val titkosítva <EncryptionMethod Algorithm="
35
Aláírás és titkosítás együtt
SOAP bevezetése Simple Object Application Protocol, mint XML boríték formában: fejléc és törzs SOAP-header aláírás Signature szerkezettel SOAP-body tartalom titkosítva
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.