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

Slides:



Advertisements
Hasonló előadás
VIRTUÁLIS IDŐKAPSZULA
Advertisements

RESTful Web Service tesztelése
IMIR monitoring és információs rendszer
Hálózati és Internet ismeretek
Valós idejű tesztlefedettség- monitorozás JEE környezetben Dr. Ferenc Rudolf, Szegedi Tudományegyetem Bakota Tibor, FrontEndART Szoftver Kft.
"Free phone" Kozellné Szabó Csilla Ozeki Informatikai Kft.
Java alkalmazások fejlesztése mobil eszközökre
IPSec.
Client Access Server. Autodiscovery service Availability service (EWS) Offline Address Book (OAB) service Activesync service Outlook Web Access Public.
HTML5 alapú fejlesztő és futtató környezet megvalósítása
Mobil hangkommunikációs hálózati ismeretek Projekt- összefoglaló.
Adminisztratív kérdések
Windows Azure Infrastruktúra és platform a felhőben
Bevezetés a Java programozásba
1 Hálózati Operációs Rendszerek gyakorlat Bevezető Előadó: Bilicki Vilmos
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
Nyílt forrású, mobiltelefonos játékok az oktatásban Bátfai Norbert * DE IK, Információ Technológia Tanszék egyetemi tanársegéd.
„High – tech networking” – szakmai konferencia informatikusoknak, szeptember 24., Debrecen, Kölcsey Központ,
Prog2, Java a gyakorlatban
Prog1, C++ a gyakorlatban
Prog2, Software Engineering bevezetés Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás Dr. Bátfai Norbert egyetemi adjunktus
Prog2, AspectJ bevezetés Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás Dr. Bátfai Norbert egyetemi adjunktus
Magasszintű programozási nyelvek 2 mérnök informatikus BSc előadás
Magasszintű programozási nyelvek 2 BSc előadás
Prog2, Software Engineering bevezetés
Fantasztikus a programozás
Jávácska és Hangyácska INFO ÉRA 2004 Békéscsaba Bátfai Mária Erika, Debreceni Egyetem, Egyetemi és Nemzeti Könyvtár Bátfai Norbert,
Mobiltelefonokra optimalizált árfolyamlista és pénzváltó kivitelezése IX. VMTDK Témavezető: Dr. PATAKI Éva Szerző: SZÉKEJ É. Krisztián, I. évfolyam, Szegedi.
KINEK ÉS MIÉRT FONTOS AZ IT RENDSZEREK ÜZEMELTETÉSE?
SSL és TLS. Mi a TLS SSL – Secure Socket Layer TLS – Transport Layer Security Biztonságos transport layer a böngésző és a szerver között SSL v3.0 : Internet.
Programozási technológia 1
Exchange Server 2007 Client Access Role
Ők kerestek meg minket Tentálen – Könyvelő iroda, 15 felhasználó SBS 2003, Outlook levelezés Nincs saját fix ip cím, exchange POP3-al töltötte le a leveleket,
Magasszintű programozási nyelvek 1 mérnök informatikus BSc előadás
Jávácska Használati statisztikák Bátfai Norbert
A Jövő Internet, ahogy mi látjuk: demo és poszter előzetes Sonkoly Balázs (BME-TMIT)
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
HTML5 alapú fejlesztő és futtató környezet megvalósítása
{ PKI } Active Directory Certificate Services
BIZTONSÁGOS E- MAILEZÉS ANDROID OKOSTELEFONON Herczeg Ádám – MV2JLC Herczeg Ádám
Webszolgáltatás szabványok Simon Balázs
Konferencia Gödöllő Miről esik szó? Bevezető gondolatok Egy projekt az informatikában – Mit? – Kinek? – Milyen előnyökkel jár? Tudás és.
Nagy Gergely, KÉSZÍTETTE: KONZULENS NEVE: DOLGOZAT CÍME: NAGY GERGELY NAGY TAMÁS DIPLOMADOLGOZAT BEMUTATÁSA.
Live Communication Server Integrált kommunikációs infrastruktúra Mobil támogatás Munkaterület Instant üzenetküldés VOIP Alkalmazások, munkafolyamatok.
Mobilitas Illés Zoltán Heizlerné B. Viktória Dr Illés Zoltán Készült az "Országos koordinációval a.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Java web programozás 5..
A PKI project célja Digitális kulccsal elérhető szerver Hamisíthatatlan naplózás Új kulcsok dinamikus létrehozása Felhasználók letiltása.
Java Csoport Antal Péter Bátfai Norbert Jeszenszky Péter.
WLAN Biztonság Rádiusz hitelesítés Radius autentikáció
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
"Free phone" Kozellné Szabó Csilla Ozeki Informatikai Kft.
Debreceni Fejlesztői Hálózat Informatikai Szakmai Napokon, október Bátfai Norbert
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
DocBook Hogyan Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
Operációs rendszerek 2 Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia.
JAX-RS: JAVA API FOR RESTFUL WEB SERVICES. REST ARCHITEKTÚRÁJÚ WEBSZOLGÁLTATÁSOK LÉTREHOZÁSÁRA HASZNÁLJUK. AZ 1.1-ES VERZIÓTÓL KEZDVE A JAX-RS HIVATALOS.
A Java csodálatos világa Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ.
Prog2, Software Engineering bevezetés
Prog2, AspectJ bevezetés
Miért biztonságos az Internet? 40 éves a nyílt kulcsú kriptográfia
Microsoft SQL licenselés a gyakorlatban
TELE-OPERATOR® UTS v.18 Mobil internet szolgáltatások hálózatsemlegességét ellenőrző mérőrendszer működése Gyártó: COMPU-CONSULT Kft. Ügyvezető: dr.
Előadás másolata:

Java ME – Java EE, Bouncy Castle csomagot használó esettanulmány Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia Tanszék egyetemi tanársegéd Dokumentum verzió: , Debrecen, 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

TARIPAR előadás Bátfai, Norbert Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék 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:

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

Tervezés, alkalmazás architektúra

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

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

Felhasznált szoftverek JDK 6 Update ● keytool NetBeans IDE ● Java ME kliens ● Java EE szerver, Servlet webalkalmazás (Maven) Bouncy Castle ● Crypto-j2me-143 a klienshez ● ccprov-jdk central Maven repo Apache Tomcat ● Sun GlassFish Enterprise Server v3 Prelude ●

Felhasznált szoftverek Java™ ME SDK ● Java ME kliens Sun Java™ Wireless Toolkit for CLDC 2.5.2_01 ● HttpS-es Java ME kliens Sony Ericsson SDK for the Java™ ME Platform Motorola Java ME SDK 6.4 (regisztrált fejlesztők) Series 40 Nokia 6212 NFC SDK (regisztrált fejlesztők) ● Java ME kliens Továbbiak: ArgoUML, Maven, Wireshark, Subversion (SVN).

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

● 495 fejlesztő vett részt eddig a projektben: ● 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 Camellia CAST5 GOST RC2 SEED

Felhasznált szoftverek, API programozás

API programozás - SSL, TLS, WTLS, HTTPS, PKI, PKCS stb. ● RSA, PKCS #1: RFC 2437, 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...

API programozás - SSL, TLS, WTLS, HTTPS, PKI, PKCS stb. ● RSA, PKCS #1: RFC 2437, 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...

Java platform Forrás: Bátfai Norbert: Nehogy már a mobilod nyomkodjon Téged! DEENK 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 november, a Sun megnyitja a Java-t Nincs Java csapda, GNU GPL v2 ● Java ME – phoneME (Mobile & Embedded) ● Java SE – OpenJDK ● Java EE – GlassFish

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()

Tesztelés Kliens oldal ● Sony Ericsson SDK for the Java™ ME Platform ● Motorola Java ME SDK ● Series 40 Nokia 6212 NFC SDK Szerver oldal ● Sun GlassFish Enterprise Server v3 Prelude ● Apache Tomcat

Kliens oldal ● Sony Ericsson SDK for the Java™ ME Platform ● Motorola Java ME SDK ● Series 40 Nokia 6212 NFC SDK Szerver oldal ● Sun GlassFish Enterprise Server v3 Prelude ● Apache Tomcat Tesztelés

Kliens oldal ● Webes kliens: csak diagnosztika Firefox 3.5.3,

Demó

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

Demó

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

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

Wireshark

SSL, TLS, WTLS, HTTPS, PKI, PKCS stb. ● RSA, PKCS #1: RFC 2437, ● PKI tanúsítvány formátum, X.509: RFC 2459, ● SSL, TLS, WTLS, HTTPS: RFC 2246, ● HTTP Over TLS: RFC 2818, ● ● SSL v3 ● WTLS (Wireless Transport Layer Security), a.pdf a.pdf

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.

HTTPS Java ME mobilról

Client Hello

Server Hello

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.

Client Key Exchange

Főkulcs

Change Cipher Spec

Wireshark

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

HTTPS Java ME mobilról

HTTPS Java ME mobilról

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 - How to setup SSL Connection in Motorola Linux phones - 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)

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ő:

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.

Köszönöm a figyelmet Skype: batfai.norbert MSN: Bátfai Norbert Debreceni Egyetem Informatikai Kar (DE IK), Információ Technológia Tanszék egyetemi tanársegéd