Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Java ME – Java EE, Bouncy Castle csomagot használó esettanulmány Bátfai Norbert Debreceni Egyetem.

Hasonló előadás


Az előadások a következő témára: "Java ME – Java EE, Bouncy Castle csomagot használó esettanulmány Bátfai Norbert Debreceni Egyetem."— Előadás másolata:

1 Java ME – Java EE, Bouncy Castle csomagot használó esettanulmány Bátfai Norbert nbatfai@inf.unideb.hu http://www.inf.unideb.hu/~nbatfai/ Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia Tanszék egyetemi tanársegéd Dokumentum verzió: 0.0.12, http://www.inf.unideb.hu/~nbatfai/k/TARIPAR_BN.odp http://www.inf.unideb.hu/~nbatfai/k/TARIPAR_BN.pdf Debrecen, 2009. dec. 18. TARIPAR 2008 (Lokális és regionális tartalomipar fejlesztése, innovatív értéknövelt szolgáltatások keretrendszerének kialakítása adatvagyonok hasznosítására című) pályázat

2 TARIPAR előadás Bátfai, Norbert Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék nbatfai@inf.unideb.hu Copyright © 2009 Bátfai Norbert E közlemény felhatalmazást ad önnek jelen dokumentum sokszorosítására, terjesztésére és/vagy módosítására a Szabad Szoftver Alapítvány által kiadott GNU Szabad Dokumentációs Licenc 1.2-es, vagy bármely azt követő verziójának feltételei alapján. Nem változtatható szakaszok nincsenek. Címlap szövegek nincsenek. Hátlap szövegek nincsenek. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front- Cover Texts and with no Back-Cover Texts being. Felhasználási engedély A GNU Free Documentation License nem hivatalos magyar fordítása: http://www.gnu.hu/fdl.htmlhttp://www.gnu.hu/fdl.html

3 Az előadás vázlata Elmélet ● A példa tervezése, fejlesztése, üzemeltetése ● Felhasznált szoftverek, API programozás ● Nyílt forráskód, Licenc ● Java, MIDP, Mobil mérések ● SSL, TLS, WTLS, HTTPS, PKI, PKCS stb. Példák ● ArgoUML: használati esetek, aktivitás diagramok ● Bouncy Castle kriptográfiai csomag ● Glassfish alkalmazásszerver, Apache Tomcat ● Sun Wireless Toolkit, Java ME SDK, készülék specifikus (Nokia, Motorola, Sony Ericsson) szimulátorok ● GNU FDL, MIT X11 ● „Benchmarkok” Gyakorlat ● Az esettanulmány demózása ● Java ME telefonról httpS példa demózása

4 Tervezés, alkalmazás architektúra

5

6 Kliens-szerver modell A szimmetrikus kulcs szétosztása

7 Egy HTTP kérés-válaszban minden

8 Felhasznált szoftverek JDK 6 Update 16 http://java.sun.com/javase/downloads/index.jsp http://java.sun.com/javase/downloads/index.jsp ● keytool NetBeans IDE 6.7.1 http://www.netbeans.org/ http://www.netbeans.org/ ● Java ME kliens ● Java EE szerver, Servlet webalkalmazás (Maven) Bouncy Castle http://www.bouncycastle.org/ ● Crypto-j2me-143 a klienshez ● ccprov-jdk16 1.43 central Maven repo Apache Tomcat 6.0.20 http://tomcat.apache.org/ ● https://sgu:8443/HttpsDemoSzerver/ https://sgu:8443/HttpsDemoSzerver/ Sun GlassFish Enterprise Server v3 Prelude http://www.sun.com/software/products/appsrvr/ ● http://matyi:8080/TariparSzerver/Szerver http://matyi:8080/TariparSzerver/Szerver

9 Felhasznált szoftverek Java™ ME SDK 3.0 http://java.sun.com/javame/downloads ● Java ME kliens Sun Java™ Wireless Toolkit for CLDC 2.5.2_01 http://java.sun.com/javame/downloads ● HttpS-es Java ME kliens Sony Ericsson SDK 2.5.0.5 for the Java™ ME Platform http://developer.sonyericsson.com Motorola Java ME SDK 6.4 (regisztrált fejlesztők) http://developer.motorola.com/ Series 40 Nokia 6212 NFC SDK (regisztrált fejlesztők) http://www.forum.nokia.com/ ● Java ME kliens Továbbiak: ArgoUML, Maven, Wireshark, Subversion (SVN).

10 Fejlesztés - felhasznált szoftverek NetBeans ● Java ME kliens ● Java EE szerver, Servlet webalkalmazás (Maven) Bouncy Castle ● Crypto-j2me-143 a klienshez ● ccprov-jdk16 1.43 central Maven repo Eredmény ● TariparMobilKliens.jad, TariparMobilKliens.jar ● TariparSzerver.war

11 ● 495 fejlesztő vett részt eddig a projektben: http://www.bouncycastle.org/contributors.html http://www.bouncycastle.org/contributors.html ● MIT X11-hez hasonló licenc (az GPL-kompatibilis), fejlesztés Ausztráliához köthető ● Szimmetrikus blokk titkosítók: AES, Blowfish, Blowfish, Camellia, CAST5, DED, DESede, GOST28147, IDEA, Noekeon, RC2, RC532, RC564, RC6, Rijndael, SEEDWrap, Serpent, Skipjack, TEA, Twofish, XTEA; stream titkosítók: RC4, HC128, HC256, Salsa20, ISAAC, VMPC, Grainv1, Grainv128 (lásd még köv. fóliákat) ● Asszimetrikus titkosítók: RSA, ElGama ● Lenyomat készítés: MD2, MD4, MD5, RipeMD128, RipeMD160, RipeMD256, RipeMD320, SHA1, SHA224, SHA256, SHA384, SHA512, Tiger, GOST, GOST3411, Whirlpool (lásd még köv. fólia) ● ASN.1 támogatás ● X.509 (PEM, DER), PKI (lásd még köv. fólia) ● S/MIME, OpenPGP (lásd még köv. fólia) ● Több, mint fél mega, Jávás mobilra obfuszkálni kell! Felhasznált szoftverek, Bouncy Castle http://www.bouncycastle.org/ http://www.bouncycastle.org/ Camellia http://www.ietf.org/rfc/rfc3713.txt CAST5 http://www.ietf.org/rfc/rfc2144.txt GOST28147 http://www.ietf.org/rfc/rfc4490.txt RC2 http://www.ietf.org/rfc/rfc2268.txt SEED http://www.ietf.org/rfc/rfc4269.txt http://www.bouncycastle.org/specifications.html

12 Felhasznált szoftverek, API programozás

13 API programozás - SSL, TLS, WTLS, HTTPS, PKI, PKCS stb. ● RSA, PKCS #1: RFC 2437, http://www.ietf.org/rfc/rfc2437http://www.ietf.org/rfc/rfc2437 2. Notation (n, e) RSA public key c ciphertext representative, an integer between 0 and n-1 C ciphertext, an octet string d private exponent... e public exponent … n modulus p,q prime factors of the modulus...

14 API programozás - SSL, TLS, WTLS, HTTPS, PKI, PKCS stb. ● RSA, PKCS #1: RFC 2437, http://www.ietf.org/rfc/rfc2437http://www.ietf.org/rfc/rfc2437 2. Notation (n, e) RSA public key c ciphertext representative, an integer between 0 and n-1 C ciphertext, an octet string d private exponent... e public exponent … n modulus p,q prime factors of the modulus...

15 Java platform Forrás: Bátfai Norbert: Nehogy már a mobilod nyomkodjon Téged! DEENK 2008. Linux PC Windows PC Solaris szerver Nokia mobil Motorola mobil JVM LEGO robot Java nyelv Java SE Java ME Java EE leJOS Se rvl et A pp let MI Dl et 2006. november, a Sun megnyitja a Java-t Nincs Java csapda, GNU GPL v2 ● Java ME – phoneME (Mobile & Embedded) http://community.java.net/mobileandembedded/http://community.java.net/mobileandembedded/ ● Java SE – OpenJDK http://openjdk.java.net/http://openjdk.java.net/ ● Java EE – GlassFish https://glassfish.dev.java.net/https://glassfish.dev.java.net/

16 MIDP programozás - SSL, TLS, WTLS, HTTPS, PKI, PKCS stb. ● CLDC ● MIDP javax.microedition.pki (MIDP 2.0) javax.microedition.pki.Certificate javax.microedition.pki.CertificateException java.io java.lang java.util javax.microedition.io javax.microedition.lcdui javax.microedition.lcdui.game javax.microedition.media javax.microedition.media.control javax.microedition.midlet javax.microedition.pki javax.microedition.rms javax.microedition.io.SecurityInfo javax.microedition.io.HttpsConnection.getSecurityInfo() throws IOException javax.microedition.pki.Certificate javax.microedition.io.SecurityInfo.getServerCert ificate()

17 Tesztelés Kliens oldal ● Sony Ericsson SDK 2.5.0.5 for the Java™ ME Platform http://developer.sonyericsson.com http://developer.sonyericsson.com ● Motorola Java ME SDK 6.4 http://developer.motorola.com/ http://developer.motorola.com/ ● Series 40 Nokia 6212 NFC SDK http://www.forum.nokia.com/ http://www.forum.nokia.com/ Szerver oldal ● Sun GlassFish Enterprise Server v3 Prelude https://glassfish.dev.java.net/downloads/v3-preview.html https://glassfish.dev.java.net/ https://glassfish.dev.java.net/downloads/v3-preview.html https://glassfish.dev.java.net/ ● Apache Tomcat 6.0.20 http://tomcat.apache.org/ http://tomcat.apache.org/

18 Kliens oldal ● Sony Ericsson SDK 2.5.0.5 for the Java™ ME Platform http://developer.sonyericsson.com http://developer.sonyericsson.com ● Motorola Java ME SDK 6.4 http://developer.motorola.com/ http://developer.motorola.com/ ● Series 40 Nokia 6212 NFC SDK http://www.forum.nokia.com/ http://www.forum.nokia.com/ Szerver oldal ● Sun GlassFish Enterprise Server v3 Prelude https://glassfish.dev.java.net/downloads/v3-preview.html https://glassfish.dev.java.net/ https://glassfish.dev.java.net/downloads/v3-preview.html https://glassfish.dev.java.net/ ● Apache Tomcat 6.0.20 http://tomcat.apache.org/ http://tomcat.apache.org/ Tesztelés

19 Kliens oldal ● Webes kliens: csak diagnosztika Firefox 3.5.3, http://www.mozilla-europe.org/hu/firefox/http://www.mozilla-europe.org/hu/firefox/

20 Demó

21

22 A táblázat színkódjai: ● sárga – másodperces nagyságrend, ● zöld – perces nagyságrend, ● piros – órás nagyságrend. ● Valódi telefonos adatok a táblázatban! Kriptográfiai mérések mobiltelefonon

23 Demó

24

25

26

27 A szerver küldte tiszta szöveg a klienstől kapott szöveg minden betűjének megduplázása.

28 #|2009-10-09T12:21:59.159+0200|INFO|glassfish|null|_ThreadID=15;_ThreadName=Thread- 4;|Kapott üzenet:Ś9?آ‚šßcď“Ę\J|#] [#|2009-10-09T12:21:59.172+0200|INFO|glassfish|null|_ThreadID=15;_ThreadName=Thread- 4;|Kapott tiszta:Helló, Világ! |#] [#|2009-10-09T12:21:59.184+0200|INFO|glassfish|null|_ThreadID=15;_ThreadName=Thread- 4;|Kliensnek vissza tiszta: HHeellllóó,, VViilláágg!! |#] [#|2009-10-09T12:21:59.188+0200|INFO|glassfish|null|_ThreadID=15;_ThreadName=Thread- 4;|Kliensnek vissza titkos: á!v“5SÜó>K?M/rż¬şĂYÎmÇíÉĘć˛ĆÄ^¸´ŰÔ˛v׫‡?q.|#] Demó

29 Wireshark

30 SSL, TLS, WTLS, HTTPS, PKI, PKCS stb. ● RSA, PKCS #1: RFC 2437, http://www.ietf.org/rfc/rfc2437http://www.ietf.org/rfc/rfc2437 ● PKI tanúsítvány formátum, X.509: RFC 2459, http://www.ietf.org/rfc/rfc2459.txt http://www.ietf.org/rfc/rfc2459.txt ● SSL, TLS, WTLS, HTTPS: RFC 2246, http://www.ietf.org/rfc/rfc2246.txt http://www.ietf.org/rfc/rfc2246.txt ● HTTP Over TLS: RFC 2818, ● http://www.ietf.org/rfc/rfc2818.txt http://www.ietf.org/rfc/rfc2818.txt ● SSL v3 http://www.mozilla.org/projects/security/pki/nss/ssl/draft302.txt http://www.mozilla.org/projects/security/pki/nss/ssl/draft302.txt ● WTLS (Wireless Transport Layer Security), http://www.openmobilealliance.org/tech/affiliates/wap/wap-261-wtls- 20010406-a.pdf http://www.openmobilealliance.org/tech/affiliates/wap/wap-261-wtls- 20010406-a.pdf

31 Egy példa SSL fölötti HTTP kommunikációra HTTPS Java ME mobilról Saját magunk által aláírt a teszteléshez.

32 HTTPS Java ME mobilról

33

34 Client Hello

35

36 Server Hello

37 Client Key Exchange Előzetes főkulcs: a kliens generál egy 48 bájtos véletlen blokkot, amit a szerver nyilvános RSA kulcsával titkosítva elküld a szerverre.

38 Client Key Exchange

39 Főkulcs

40 Change Cipher Spec

41 Wireshark

42 SSL, WTLS WWW Szerve r Rádiós alhálózat Átjáró

43 HTTPS Java ME mobilról

44

45

46 https://www.java.com/en/

47 HTTPS Java ME mobilról https://www.inf.unideb.hu

48

49 Irodalomjegyzék - Bátfai Norbert: Kriptográfiai mérések mobiltelefonon (a közös munkaterületen elérhető) - MOTOVDEV: USING CRYPTO APIS FOR SECURE COMMUNICATIONS http://developer.motorola.com/docstools/articles/crypto_apis/ - How to setup SSL Connection in Motorola Linux phones http://developer.motorola.com/docstools/articles/SSL_Linux.pdf - Ray Rischpater: Beginning Java™ ME Platform, Apress; 1 edition (October 23, 2008) - David Hook: Beginning Cryptography with Java, Wrox (August 19, 2005) - Carol Hamer: Creating Mobile Games: Using Java ME Platform to Put the Fun into Your Mobile Device and Cell Phone, Apress (August 13, 2007)

50 Kérdés Az olyan példákban, dokumentumokban, amikben nem áramlik ki információ a pályázat felől, lehet-e nyílt a licenc, például GNU FDL, hogy a hallgatókat be tudjam kapcsolni a mérésekbe? (Lásd még ugyanezt a kérdést a közös munkaterületen a Bátfai Norbert: Kriptográfiai mérések mobiltelefonon dokumkentum kapcsán.) Válasz A projekt vezetése az előadás során megadta a választ: igen, lehet. Ennek megfelelően jelen dokumentum itt elérhető: http://www.inf.unideb.hu/~nbatfai/k/TARIPAR_BN.odp http://www.inf.unideb.hu/~nbatfai/k/TARIPAR_BN.odp http://www.inf.unideb.hu/~nbatfai/k/TARIPAR_BN.pdf

51 További tervek ● További mérések megvalósítása valódi telefonokon. ● Hálózati tesztelés és mérések valódi telefonokkal.

52 Köszönöm a figyelmet Email: batfai.norbert@inf.unideb.hubatfai.norbert@inf.unideb.hu Skype: batfai.norbert MSN: nbatfai@inf.unideb.hunbatfai@inf.unideb.hu http://dev.inf.unideb.hu:8080 Bátfai Norbert nbatfai@inf.unideb.hu http://www.inf.unideb.hu/~nbatfai/ Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia Tanszék egyetemi tanársegéd


Letölteni ppt "Java ME – Java EE, Bouncy Castle csomagot használó esettanulmány Bátfai Norbert Debreceni Egyetem."

Hasonló előadás


Google Hirdetések