Post on 08-Jul-2015
AMobe - 5de Gebruikerscommisie
KaHo Sint-Lieven – Gent
19 februari 2004
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Status van het AMobe-project
Nieuw: HOBU-CAN van Karel de Grote HogeschoolBart CoenTekla Mortelmans
PlanningOntwikkeling van een generiek framework Studie softwarepatronen, agententechnologie, programmeren in
Jade
Analyse en modellering van een nieuw framework
Studie beveiliging, databases, java omgevingen voor toestellen
Verontschuldigd: Greet Bilsen (IWT)
Filiep Vincent (DSP Valley)
Koen De Clercq en Erwin Vervondel (De Clercq Engineering)
Tim Hoebeeck, Kris Steenhaut (Erasmus hogeschool)
Periode
Activiteit
2002 2003 2004
PP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Technologieverkenning
WP1 JM
WP2 JM
WP3 JM
WP12 ??
Technologievertaling
WP2 JM
WP3 JM
WP4 JM
WP5 JM
??
WP13 ??
Technologieverspreiding
WP7 JM
??
PDC
GVB
WP8 JM
??
WP9 JM
??
PDC
GVB
WP10 JM
??
WP11
PDC
GVB
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Veiligheid in mobiele toepassingen
Gebaseerd op vergadering met Lieven Kenis
Waar in OSI-model?Op
toepassingsniveau: bv. autorisatie bij creëren van agent
In de netwerklaag: voorziet vooral
confidentialiteit – maak een
overzichtelijke policy
In de datalinklaag: verantwoordelijkheid
van de operator
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Veiligheid in mobiele toepassingen
Gebruik van DMZ-architectuur Concept: nooit directe communicatie tussen intern
netwerk en internet
Voornaamste doel: confidentialiteit
Firewalls: 2 netwerken op een gescheiden manier verbinden
Bastion servers: versterkte bastions die geen kritische informatie bevatten
Gateway servers: betrouwbaar verkeer doorsturen, vb proxy server of mail relay server message-based protocols
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Veiligheid in mobiele toepassingen
Internnetwerk
Portaal DMZ
InternetPortaal
Gateway
SD
4 50ENTERPRISE
SunSP ARC
DR IVE NU LTRA
SD
4 5 0ENTERPRISE
SunSP ARC
DR IVE NU LTRA
PortaalServer
ApplicationServer
SD
4 50ENTERPRISE
SunSP ARC
DR IVE NU LTRA
WebServer
Proxy server
SD
4 50ENTERPRISE
SunSP ARC
DR IVE NU LTRA
InterneApplication
Server
Productie zone
Outer PortaalFirewall
Inner PortaalFirewall
SD
4 50ENTERPRISE
SunSP ARC
DR IVE NU LTRA
LDAPServer
SD
4 50ENTERPRISE
SunSP ARC
DR IVE NU LTRA
IMAP
SMTPGateway
SD
4 50ENTERPRISE
SunSP ARC
DR IVE NU LTRA
IntranetPortaal
Gateway
SD
4 50ENTERPRISE
SunSP ARC
DRIVE NU LTRA
Interne WebServer
SD
45 0ENTERPRISE
SunSPARC
DRIVENULTRA
SD
4 5 0ENTERPRISE
SunSPARC
DRIVENULTRA
Internet
SD
4 50ENTERPRISE
SunSPARC
DRIVENULTRA
InternetAccess
combinatie van portaalfunctie enA2A functies
Afbeelding: Lieven Kenis
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Veiligheid in mobiele toepassingen
Een eerste oplossing: VPN Virtual Private Network
Geëncrypteerde tunnel door het internet naarhet intranet volledig afgeschermd van het internetverkeer
Internet
DMZ
SD
4 5 0ENTERPRISE
SunSPARC
DRIVENULTRA
VPNConcentrator
Outer
Inner
Afbeelding: Lieven Kenis
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Veiligheid in mobiele toepassingen
Een alternatief? Op de firewall enkel een bepaalde I.P.-range
toelaten
Application server in DMZ? Makkelijk maar nog steeds gaat een krachtig protocol (bvb RMI) over de firewall.
Message-based werken (bvb HTTP) en transacties via de message gateway (controle!) in de DMZ naar de application server in het intern netwerk
Noodzakelijk voor ingaande trafiek, interessant voor uitgaande trafiek
Vereist de implementatie van een controleproces op de application server (ev. Queues voorzien)
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Veiligheid in mobiele toepassingen
Afbeelding: Lieven Kenis
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Veiligheid in mobiele toepassingen
Netwerkbeveiliging is niet voldoende
Technieken op applicatieniveau: SSL (Secure Socket Layer), PKI (Public Key Infrastructure), LDAP (Lightweight Directory Access Protocol), SOAP over HTTPS, …
JADE-S (voorlopig niet met LEAP) Maakt gebruik van
JAAS (Java Authentication and Authorization Service)
JCE (Java Cryptography Extension)
JSSE (Java Secure Socket Extension)
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
JADE-S
Elke component (container, agent) is eigendom van een user
Authenticatie van elke user t.h.v. Main Container
Elke agent bezit een certificaat, getekend door de centrale authoriteit. Op basis hiervan wordt toegang toegestaan/geweigerd. Delegeren van certificaten.
Agent communication over SSL
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
JADE-S
In de policy file worden acties voor een bepaalde permission class toegestaan aan een principal
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
JADE-S
takeAgentPermission
createkill suspend
resume
send-to
send-asreceive-frommove
clone
ContainerPermissioncreate
killcreate-in
kill-in
move-from
move-toclone-from
clone-to
PlatformPermission
create kill
AuthorityPermission
sign-ic sign-dcAMSPermission
register deregister
modify
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Java-omgevingen op aangekochte toestellen
Sony Ericsson P900 Symbian OS
J2ME, PJava standaard aanwezig
GPRS standaard aanwezig
Fujitsu Siemens LOOX 610 Pocket PC
J2ME (aan te kopen), PJava manueel te installeren
GPRS via Compact Flash kaart
Deployen van een applicatie PJava op LOOX: compileren naar een JVM 1.1
PJava op P900: idem maar meerdere stappen tot een SIS file
J2ME op P900: aanmaken van jar via WTK
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Demos
Schaakdemo op Sony Ericsson P900 (J2ME)
Dice Machine op Sony Ericsson P900 en Fujitsu Siemens LOOX 610 (Personal Java)
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Extra beschikbare bibliotheken
Sony Ericsson P900
PJava De JavaPhone API levert functionaliteiten die typisch zijn voor
telefoontoestellen zoals power monitoring en toegang tot GSM- en SMS-functies, tot de kalender en tot het adresboek
Te gebruiken voor T&I?
J2ME (CLDC 1.0 / MIDP 2.0) Wireless Messaging API (JSR 120)
Bluetooth API (JSR 82)
MIDP 2.0 breidt MIDP 1.0 uit met standaardfunctionaliteiten afkomstig uit de Multi Media API (JSR 135).
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Databases met een small footprint
Beperkte resources => databasesystemen met small footprint en beperkte functionaliteit
J2ME (CLDC/MIDP) voorziet reeds een persistent opslagmechanisme voor MIDlets: RMS (Record Management System) (nadelen)
Bij PJava is opslag niet zozeer een probleem. Conventionele databanken vereisen echter meer resources. PJava is compatibel met JDK 1.1.8.
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Databases met een small footprint
Er werd een overzicht gemaakt van databasesystemen met een small footprint (zie website)
Geen enkel beschikbaar stand-alone J2ME databasesysteem gevonden, ondanks misleidende info op de productwebsites
Onze favoriet voor PJava: Hypersonic SQL (met dank aan
Erwin Vervondel): PJava
<160 KB
Open Source
SQL
JDBC
Relationeel
Demonstration programs and Tools
JDBC Interface
HTTPConnection
HSQLConnection
Standalone
Database Engine
Servlet ServerWebServer
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Demo
Hypersonic SQL Demo op Fujitsu Siemens Loox 610 (Personal Java)
CREATE TABLE sample_table ( id INTEGER IDENTITY, str_col VARCHAR(256), num_col INTEGER)
INSERT INTO sample_table(str_col,num_col) VALUES('Ford', 100)
INSERT INTO sample_table(str_col,num_col) VALUES('Toyota', 200)
INSERT INTO sample_table(str_col,num_col) VALUES('Honda', 300)
INSERT INTO sample_table(str_col,num_col) VALUES('GM', 400)
SELECT * FROM sample_table WHERE num_col < 250D
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Betrouwbaarheid in agententoepassingen over een draadloze verbinding Kunnen we vertrouwen op een geïmplementeerde
agententoepassing?
Bijvoorbeeld: zal een verzonden boodschap steeds aankomen?
In “Seawind: a Wireless Network Emulator” (M. Kojo et al.) worden immers volgende kenmerken van draadloze netwerken vermeld: Trage, asymmetrische en variabele bandbreedte
Hoge latentie en variabele vertragingen
Verlies van pakketten door beschadiging
Verliezen door congestie in de bottleneck queue, over-buffering
Handovers
Link blackouts
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Betrouwbaarheid in agententoepassingen over een draadloze verbinding In feite kan een agententoepassing gezien worden als
een laag bovenop het agentenframework
Betrouwbaarheid van een bepaalde toepassing steunt op de betrouwbaarheid die het agentenframework ons biedt
Dus indien het platform ons niet verzekert dat alle verzonden berichten aankomen, zal een agent in de toepassing daarmee rekening moeten houden
toepassing
agentenframework
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Betrouwbaarheid agentenframework
In “Improving fault-tolerance by replicating agents” (A. Fedoruk en R. Deters) worden volgende problemen in MAS vermeld: Programma bugs
Onvoorziene states
Processor fouten
Communicatie fouten
Onvoorspelbaar systeemgedrag
In de literatuur worden volgende technieken voorgesteld: Replicatie / Dynamische regeneratie
Checkpoints
Exception handling agents / Implicit Exception handling
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Betrouwbaarheid agentenframework
In “Jade goes wireless – gearing up agents for wireless future” (H. Helin) worden volgende architecturale voorstellen gedaan:
QoS ontologie over delay, round-trip time, bandbreedte, …
Een Communication Agent op elke host gebruikt deze ontologie en voorziet diensten voor andere agenten op de host.
Device ontologie over de mogelijkheden van het toestel: geheugen, aanwezige hardware, software, schermresolutie, …
Een Device Agent op elke host gebruikt deze ontologie en voorziet diensten voor andere agenten op de host.
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Betrouwbaarheid JADE messaging systeem
Bevindingen praktische tests (JADE-LEAP 3.0) Algemeen
Tijdelijke onderbrekingen laten geen sporen na in het systeem.
Split Container modeHet platform garandeert dat berichten tijdens een onderbreking aankomen als de onderbreking niet langer duurt dan een instelbare time-out.
Na de time-out verdwijnt de container uit het systeem aan de backend. Pending messages verdwijnen. Messages verzonden na de time-out worden beantwoord met een FAILURE message.
Remote Platform mode (HTTP)
De zender heeft geen garantie dat een gezonden bericht daadwerkelijk aangekomen is.
Oplossingen: Tellermechanisme ConnectionListener interface (JADE 3.1)
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Framework for Efficient Data Transfer
Overzicht
Een agentenframework voor de toepassingen van Tele Atlas, IDEWE en T&I.
Een eerste versie (FrEDT 1.0) werd voorgesteld op de vorige vergadering en is geïmplementeerd, samen met een kleine demo.
De analyse en modellering werd echter herzien om een aantal redenen.
Enkele algemene concepten zijn vastgelegd.
Er kan nog steeds gekozen worden voor een gecentraliseerde of een gedistribueerde oplossing.
SYNCHRO AGENT
ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…
# actieve transacties
prioriteitsdrempel
DOWN-LOAD
CLIENT AGENT
UPLOAD
CLIENT AGENT
RECEIVING SLAVE AGENT
SENDING SLAVE AGENT
Belastingsmeteragent Belastingsmeteragent
SERVER
DB
AGENT
CLIENT
DB
AGENT
POLICY AGENTPOLICY AGENTPOLICY AGENT
DBDB
Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN
TE
RF
AC
E A
G.
TA
SK A
GE
NT
SIN
FO
RM
AT
ION
AG
EN
TS
RECEIVING SLAVE AGENT
RECEIVING SLAVE AGENT
SENDING SLAVE AGENT
SENDING SLAVE AGENT
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Demo
FrEDT 1.0 gedemonstreerd a.h.v. een kleine demo Er wordt regelmatig een testbestand (completed work)
overgezet van client naar server.
Op de server kunnen gebruikers te verzenden bestanden in de map SERVER OUT plaatsen.
Gebruikers dienen op de client eerst het bestand getlist.txt op te vragen, die een lijst terug geeft van bestaande files in de map SERVER OUT op de server. Daarna kan men de bewuste files opvragen.
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Framework for Efficient Data Transfer
Voorgestelde verbeteringen
Functionele scheiding tussen onderhandeling en transactie + ondersteuning meerdere transactieprotocollen (agents, FTP, …)
De werkelijke aanvraag voor een transactie dient via een ACL-bericht uit de applicatielaag te komen en niet uit de databank
Beheer van meerdere simultane transacties op het toestel
Geen overbodig doorgeven van berichten
Ondersteuning betrouwbaarheid messaging systeem d.m.v. tellermechanisme
Integratie van bandbreedte-bewustzijn (+betrouwbaarheidsfactor) en sympathie
Case-specifieke interpretatie van prioriteit (deadline, cijfer, …)
Symmetrische organisatie
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
FrEDT 2.0: algemeen concept
Zowel voor toestellen als voor servers
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Framework for Efficient Data Transfer
Gecentraliseerd voorstel
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Gecentraliseerd voorstel
Elke onderhandelingsagent op een toestel (server) houdt een tabel bij met transacties die door de toepassing op het toestel (server) werden aangevraagd en neemt daarvoor de volle verantwoordelijkheid om de transacties af te handelen.
De transactie-agent bundelt deze kennis over transacties en heeft zo een globaal overzicht.
De beslissingsagent geeft de uiteindelijke goedkeuringen voor transacties aan de betreffende onderhandelingsagenten.
De indexagent bewaart vermoedens en zekerheden over de bereikbaarheid van de toestellen.
De bandbreedte-agent maakt voorspellingen over beschikbare bandbreedtes naar de verschillende toestellen.
De sympathie-agent registreert sympathieën tussen onderhandelingsagenten.
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Gedistribueerd voorstel
Kennis over bandbreedte, sympathie en index verhuizen naar de onderhandelingsagenten. Elke agent beschikt over een beperkte hoeveelheid kennis.
Elke onderhandelingsagent heeft een gelijke beslissingsmacht.
Een gedistribueerd onderhandelingsmechanisme is vereist.
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Pro’s en contra’s
Voordelen distributie Betere schaalbaarheid (?)
Minder afhankelijkheden
Niet gebonden aan client-server architectuur
Voordelen centralisatie Minder trafiek (?)
Evidente onderhandelingsmechanismen en evidente bundeling van kennis over transacties betreffende 1 toestel
Minder logging op het toestel is resource-besparend
Gecentraliseerde kennis over bandbreedte kan betere voorspellingen opleveren
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Discussie
Toestelspecifieke bibliotheken gebruiken?
Relevante criteria databanken?
Framework
Status
Security
Java -omgevingen
Databases
JADE messaging
Framework
Planning
KaHo Sint-Lieven – departement Industrieel Ingenieur – vakgroep IT
Planning volgende periode
Snelle herimplementatie van het framework in JADE-LEAP 3.0 voor J2SE.
Implementatie van een client voor Personal Java en voor J2ME. Implementatie van het framework in JADE-S 3.0.
Implementatie van de toepassingspecifieke gedeelten voor Tele Atlas, IDEWE en T&I . (Eventueel ook toepassingen voor andere leden…)
Verdere vragen van de leden van de gebruikers-commissie oplossen.