servei de criptografia per la plataforma d ’ agents mÒbils jade/marisma

18
SERVEI DE CRIPTOGRAFIA SERVEI DE CRIPTOGRAFIA PER LA PLATAFORMA PER LA PLATAFORMA D’AGENTS MÒBILS D’AGENTS MÒBILS JADE/MARISMA JADE/MARISMA Jordi Poveda Poveda Jordi Poveda Poveda Unitat de Combinatòria i Unitat de Combinatòria i Comunicació Digital Comunicació Digital

Upload: tierra

Post on 07-Jan-2016

30 views

Category:

Documents


0 download

DESCRIPTION

SERVEI DE CRIPTOGRAFIA PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA. Jordi Poveda Poveda Unitat de Combinatòria i Comunicació Digital. Index. Introducció Agents software Agents mòbils Plataforma MARISM-A Anàlisi i disseny Requeriments Interfície Implementació - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

SERVEI DE CRIPTOGRAFIA SERVEI DE CRIPTOGRAFIA PER LA PLATAFORMA PER LA PLATAFORMA

D’AGENTS MÒBILS D’AGENTS MÒBILS JADE/MARISMAJADE/MARISMA

Jordi Poveda PovedaJordi Poveda Poveda

Unitat de Combinatòria i Comunicació DigitalUnitat de Combinatòria i Comunicació Digital

Page 2: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

IndexIndex

IntroduccióIntroducció Agents softwareAgents software Agents mòbilsAgents mòbils Plataforma MARISM-APlataforma MARISM-A

Anàlisi i dissenyAnàlisi i disseny RequerimentsRequeriments InterfícieInterfície ImplementacióImplementació

Conclusions i linies de continuitatConclusions i linies de continuitat

Page 3: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

Agents softwareAgents software

Agents softwareAgents software Des de la IA: un programa que assisteix a un Des de la IA: un programa que assisteix a un

usuari i actua en el seu nom.usuari i actua en el seu nom. Agents software intel·ligentsAgents software intel·ligents

Execució guiada per objectiusExecució guiada per objectius Capaços de reaccionar a canvis en el seu Capaços de reaccionar a canvis en el seu

entorn d’execucióentorn d’execució Les experiències passades repercuteixen en Les experiències passades repercuteixen en

la seva execució futurala seva execució futura

Page 4: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

Agents mòbilsAgents mòbils

Cas particular dels agents softwareCas particular dels agents software Agents software amb mobilitatAgents software amb mobilitat Nou paradigma de programació distribuïdaNou paradigma de programació distribuïda

Els agents es desplacen amb el codi i estat d’execució Els agents es desplacen amb el codi i estat d’execució on resideixen les dades on resideixen les dades

AvantatgesAvantatges Reduir càrrega de la xarxaReduir càrrega de la xarxa Paliar la latència de la xarxa (aps. temps real)Paliar la latència de la xarxa (aps. temps real) No es necessita una connexió permanentNo es necessita una connexió permanent

AplicacionsAplicacions Sea-of-dataSea-of-data Comerç electrònicComerç electrònic Programació paral·lelaProgramació paral·lela

Page 5: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

Problemes de seguretatProblemes de seguretat

EavesdroppingEavesdropping Alteració de codi i dadesAlteració de codi i dades Accés no autoritzatAccés no autoritzat Denegació de serveiDenegació de servei Captura i reexecucióCaptura i reexecució Problema dels hosts maliciososProblema dels hosts maliciosos

Page 6: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

MARISM-AMARISM-A

Page 7: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

MARISM-AMARISM-A

Page 8: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

MARISM-AMARISM-A

Page 9: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

Funcions del SCFuncions del SC

Desencriptar el codi i dades que els Desencriptar el codi i dades que els agents necessiten per executar-se en una agents necessiten per executar-se en una agència de l’itinerari, amb la clau privada agència de l’itinerari, amb la clau privada de la plataformade la plataforma

Dotar a la plataforma de facilitats Dotar a la plataforma de facilitats criptogràfiquescriptogràfiques

Convertir-se en un Convertir-se en un front-endfront-end pel JCE pel JCE ExtensibleExtensible Independent de la implementació subjacentIndependent de la implementació subjacent

Page 10: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

Esquema de protecció dobleEsquema de protecció doble

Cal evitar que els agents utilitzin la funció de Cal evitar que els agents utilitzin la funció de desencriptar de forma inadecuadadesencriptar de forma inadecuada

Si m = paquet de codi i dades per una agència, Si m = paquet de codi i dades per una agència, l’agent envia D=El’agent envia D=Ekk(m,hash(C),s(m))(m,hash(C),s(m))

Possibles atacs:Possibles atacs: Eavesdropping: No coincideix hash(C)Eavesdropping: No coincideix hash(C) Alteració del codi: No coincideix hash(C)Alteració del codi: No coincideix hash(C) Alteració de dades: La víctima no pot verificar s’(m’)Alteració de dades: La víctima no pot verificar s’(m’) Alteració de codi i dades: Combinació dels anteriorsAlteració de codi i dades: Combinació dels anteriors

Page 11: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

InterfícieInterfície

Page 12: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

Funció decryptFunció decryptfunciofuncio decrypt(sobre:DigitalEnvelope,id:Long):MARISMAData decrypt(sobre:DigitalEnvelope,id:Long):MARISMAData

1. Extreure del sobre: contingut xifrat, clau xifrada, alg. xifratge contingut i alg. 1. Extreure del sobre: contingut xifrat, clau xifrada, alg. xifratge contingut i alg. xifratge de claus.xifratge de claus.

2. Desxifrar clau secreta amb la clau privada de la plataforma2. Desxifrar clau secreta amb la clau privada de la plataforma

3. Desxifrar contingut amb la clau secreta extreta3. Desxifrar contingut amb la clau secreta extreta

4. Deserialitzar contingut del sobre a un objecte MARISMAData4. Deserialitzar contingut del sobre a un objecte MARISMAData

5. 5. SiSi (no es una instància de MARISMAData) (no es una instància de MARISMAData)

Llençar una excepcióLlençar una excepció

6. Buscar a la taula dels hash del codi dels agents el corresponent a l’agent id6. Buscar a la taula dels hash del codi dels agents el corresponent a l’agent id

7. 7. SiSi (no coincideix amb el hash(C) de dins el MARISMAData) (no coincideix amb el hash(C) de dins el MARISMAData)

Llençar una excepcióLlençar una excepció

SinoSino

Retornar el MARISMAData a l’agentRetornar el MARISMAData a l’agent

Page 13: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

CryptoAlgorithmCryptoAlgorithm Algorismes: Algorismes:

La operació criptogràfica en si.La operació criptogràfica en si. Nombre ilimitat.Nombre ilimitat.

Page 14: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

CryptoMethodCryptoMethod Mètodes:Mètodes:

Gestió dels CryptoAlgorithmsGestió dels CryptoAlgorithms Conversió de la clau de la seva codificació a un objecteConversió de la clau de la seva codificació a un objecte Nombre fix: Un per cada mètode de la interfícieNombre fix: Un per cada mètode de la interfície

Page 15: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

ExtensibleCryptoServiceExtensibleCryptoService Putting it all togetherPutting it all together::

Primera implementació completa de la interfíciePrimera implementació completa de la interfície Gestió dels CryptoMethodsGestió dels CryptoMethods

Page 16: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

Elecció d’un ProviderElecció d’un Provider

IAIKIAIK: Molt bon suport per sobres digitals : Molt bon suport per sobres digitals PKCS#7 i altres estàndards PKCS. Gran PKCS#7 i altres estàndards PKCS. Gran quantitat d’algorismes. Comercial.quantitat d’algorismes. Comercial.

CryptixCryptix: No suport per sobres digitals : No suport per sobres digitals PKCS#7. Quantitat d’algorismes mitjana. PKCS#7. Quantitat d’algorismes mitjana. D’ús lliure.D’ús lliure.

BouncyCastleBouncyCastle: No suport per sobres : No suport per sobres digitals PKCS#7. D’ús lliure.digitals PKCS#7. D’ús lliure.

Elecció: Elecció: CryptixCryptix

Page 17: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

ConclusionsConclusions

Han tingut molta més força les implicacions dels Han tingut molta més força les implicacions dels agents lligades a la IA que la seva vessant com agents lligades a la IA que la seva vessant com agents mòbils.agents mòbils.

Els problemes de seguretat posen un fre a la Els problemes de seguretat posen un fre a la seva implantació.seva implantació.

El llenguatge JAVA presenta característiques El llenguatge JAVA presenta característiques idònies per la programació d’agents mòbils.idònies per la programació d’agents mòbils.

El Servei de Criptografia proporciona El Servei de Criptografia proporciona mecanismes per tractar alguns dels problemes.mecanismes per tractar alguns dels problemes.

Page 18: SERVEI DE CRIPTOGRAFIA  PER LA PLATAFORMA D ’ AGENTS MÒBILS JADE/MARISMA

Línies de continuïtatLínies de continuïtat

Separar els mètodes del SC en tres Separar els mètodes del SC en tres mètodes d’operació: init, update i finishmètodes d’operació: init, update i finish

Construir una aplicació amb agents mòbils Construir una aplicació amb agents mòbils que faci ús de les capacitats del SCque faci ús de les capacitats del SC

Migrar la implementació a multithreadingMigrar la implementació a multithreading Extendre el suport als tipus de l’estàndard Extendre el suport als tipus de l’estàndard

PKCS#7 i altres PKCSPKCS#7 i altres PKCS Mètodes de creació/lectura de certificatsMètodes de creació/lectura de certificats