servei de criptografia per la plataforma d ’ agents mÒbils jade/marisma
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 PresentationTRANSCRIPT
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
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
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
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
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
MARISM-AMARISM-A
MARISM-AMARISM-A
MARISM-AMARISM-A
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
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
InterfícieInterfície
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
CryptoAlgorithmCryptoAlgorithm Algorismes: Algorismes:
La operació criptogràfica en si.La operació criptogràfica en si. Nombre ilimitat.Nombre ilimitat.
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
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
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
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.
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