Encriptación de datos ?? cómo funciona??

20/08/2006 - 21:06 por eSergi | Informe spam
Buenas tardes,

Estoy desarrollando una aplicación con web services y necesito información
para poder encriptar los datos que retornan cada uno de los métodos del web
service y desencriptarlas después...

Si alguien me puede ayudar ??

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Javier Garcia
23/08/2006 - 14:47 | Informe spam
Hola, hace un tiempo yo desarrolle un servicio web que hacia eso mismo, y es
un poco lioso si no tienes mucha idea de como funcionan los sistemas de
cifrado.

El que yo desarrolle se basaba en que el servidor tenia una clave asimetrica
y los clientes (todos) saben la publica del servidor, y todos los clientes
comparten clave para establecer la comunicacion con el servidor, y este solo
sabe la publica de estos, de esta forma podemos iniciar la comunicacion sin
problemas de identidad ni de seguridad.

Yo me cuaje un struct para establecer el inicio de la comunicacion en la que
los clientes le decian al servidor que querian usar tal clave (clave de
cifrado simetrico, que es mucho mas rapido que el asimetrico) para empezar a
comunicarse a partir de entonces, la cifraban con la publica del servidor y
la firmaban con la suya privada y el servidor les respondia dandoles un id
de conexion. A partir de entonces se iniciaba la comunicacion con la clave
comun, el cliente envia el id de conexion en texto plano, el mensaje en
cuestion cifrado con la clave comun y un hash de ambos (mensaje y clave),
asi nos quitamos de que nadie nos toque el paquete, al recibirlo el servidor
comprobaba el hash, y si salia bien, veia el id de conexion, seleccionaba
la clave que le tocaba, y descifraba el mensaje, y para responder hacia lo
mismo.

El problema es que cifrar con .net es un poco lioso, asi que te tendras que
crear un huevo de clases internedias (una para el cifrado asimetrico, en mi
caso RSA de 1024 bits, otra para el cifrado simetrico, en mi caso rinjdael ,
y otras tantas para el "protocolo" de intercambio de claves, cifrado y
descifrado de mensajes, etc.). Es un poco lioso pero una vez terminado va de
puta madre.

Asi que suerte si te gusta el esquema, te digo que se puede hacer, pq cuando
yo lo hice estaba mas o menos verde en programacion, solo tenia las bases de
conocimiento de los algoritmo de cifrado, y se saca (2 o 3 semanas con dolor
de cabeza, pero se saca)


"eSergi" escribió en el mensaje
news:
Buenas tardes,

Estoy desarrollando una aplicación con web services y necesito información
para poder encriptar los datos que retornan cada uno de los métodos del
web
service y desencriptarlas después...

Si alguien me puede ayudar ??

Muchas gracias
Respuesta Responder a este mensaje
#2 eSergi
23/08/2006 - 19:54 | Informe spam
Buenas Javier,

Muchas gracias por tu información.
La verdad es que estoy muy muy verde en lo que ha cifrado de datos se
refiere... Empezaré por buscar información sobre cada uno de los aspectos que
me comentas a ver si saco algo de conceptos claros y después lo pruebo como
me indicas.

El proyecto que estoy haciendo dura 6 meses pero no quiero tener que
implantar el cifrado de datos al final del proyecto. De todas maneras, creo
que no habrá más remedio. jejeje.

Si tuvieras añgo de información, enlaces, o libros de referencia
(castellano) que me pudieran ayudar te lo agradeceria que no veas !!!

Bueno, gracias otra vez

"Javier Garcia" wrote:

Hola, hace un tiempo yo desarrolle un servicio web que hacia eso mismo, y es
un poco lioso si no tienes mucha idea de como funcionan los sistemas de
cifrado.

El que yo desarrolle se basaba en que el servidor tenia una clave asimetrica
y los clientes (todos) saben la publica del servidor, y todos los clientes
comparten clave para establecer la comunicacion con el servidor, y este solo
sabe la publica de estos, de esta forma podemos iniciar la comunicacion sin
problemas de identidad ni de seguridad.

Yo me cuaje un struct para establecer el inicio de la comunicacion en la que
los clientes le decian al servidor que querian usar tal clave (clave de
cifrado simetrico, que es mucho mas rapido que el asimetrico) para empezar a
comunicarse a partir de entonces, la cifraban con la publica del servidor y
la firmaban con la suya privada y el servidor les respondia dandoles un id
de conexion. A partir de entonces se iniciaba la comunicacion con la clave
comun, el cliente envia el id de conexion en texto plano, el mensaje en
cuestion cifrado con la clave comun y un hash de ambos (mensaje y clave),
asi nos quitamos de que nadie nos toque el paquete, al recibirlo el servidor
comprobaba el hash, y si salia bien, veia el id de conexion, seleccionaba
la clave que le tocaba, y descifraba el mensaje, y para responder hacia lo
mismo.

El problema es que cifrar con .net es un poco lioso, asi que te tendras que
crear un huevo de clases internedias (una para el cifrado asimetrico, en mi
caso RSA de 1024 bits, otra para el cifrado simetrico, en mi caso rinjdael ,
y otras tantas para el "protocolo" de intercambio de claves, cifrado y
descifrado de mensajes, etc.). Es un poco lioso pero una vez terminado va de
puta madre.

Asi que suerte si te gusta el esquema, te digo que se puede hacer, pq cuando
yo lo hice estaba mas o menos verde en programacion, solo tenia las bases de
conocimiento de los algoritmo de cifrado, y se saca (2 o 3 semanas con dolor
de cabeza, pero se saca)


"eSergi" escribió en el mensaje
news:
> Buenas tardes,
>
> Estoy desarrollando una aplicación con web services y necesito información
> para poder encriptar los datos que retornan cada uno de los métodos del
> web
> service y desencriptarlas después...
>
> Si alguien me puede ayudar ??
>
> Muchas gracias



Respuesta Responder a este mensaje
#3 Javier Garcia
24/08/2006 - 08:26 | Informe spam
puffff, no tengo nada de informacion a tu disposicion, lo que se de cifrado
lo he sacado de apuntes mios, asi que no se donde puedes encontrarlos, busca
en internet un poco que no es complicao, lo unico es tener claros los
conceptos. Busca el esquema de conexion del protocolo https y haz algo
parecido (yo es lo que hice, segui ese esquema adaptandolo a mis necesidades
y conocimientos, y funciona). lo mas complicao es la forma de intercambiar
la clave comun para la conexion de forma segura. Se puede hacer con
certificados (que seria lo suyo) o con una clave asimetrica de servidor, lo
unico es ver como compruebas que el cliente realmente es quien dice ser (yo
lo solucione poniendo a todos los clientes una clave asimetrica comun,
solucion cutre, pero facil y funciona, ya que el servidor sabe la clave
publica de los clientes y solo estos pueden cifrar con esa clave). Asi a la
hora de gestionar la clave de la conexion se hace de forma fiable. despues
de esto la comunicacion con la clave comun es mas facil.


"eSergi" escribió en el mensaje
news:
Buenas Javier,

Muchas gracias por tu información.
La verdad es que estoy muy muy verde en lo que ha cifrado de datos se
refiere... Empezaré por buscar información sobre cada uno de los aspectos
que
me comentas a ver si saco algo de conceptos claros y después lo pruebo
como
me indicas.

El proyecto que estoy haciendo dura 6 meses pero no quiero tener que
implantar el cifrado de datos al final del proyecto. De todas maneras,
creo
que no habrá más remedio. jejeje.

Si tuvieras añgo de información, enlaces, o libros de referencia
(castellano) que me pudieran ayudar te lo agradeceria que no veas !!!

Bueno, gracias otra vez

"Javier Garcia" wrote:

Hola, hace un tiempo yo desarrolle un servicio web que hacia eso mismo, y
es
un poco lioso si no tienes mucha idea de como funcionan los sistemas de
cifrado.

El que yo desarrolle se basaba en que el servidor tenia una clave
asimetrica
y los clientes (todos) saben la publica del servidor, y todos los
clientes
comparten clave para establecer la comunicacion con el servidor, y este
solo
sabe la publica de estos, de esta forma podemos iniciar la comunicacion
sin
problemas de identidad ni de seguridad.

Yo me cuaje un struct para establecer el inicio de la comunicacion en la
que
los clientes le decian al servidor que querian usar tal clave (clave de
cifrado simetrico, que es mucho mas rapido que el asimetrico) para
empezar a
comunicarse a partir de entonces, la cifraban con la publica del servidor
y
la firmaban con la suya privada y el servidor les respondia dandoles un
id
de conexion. A partir de entonces se iniciaba la comunicacion con la
clave
comun, el cliente envia el id de conexion en texto plano, el mensaje en
cuestion cifrado con la clave comun y un hash de ambos (mensaje y clave),
asi nos quitamos de que nadie nos toque el paquete, al recibirlo el
servidor
comprobaba el hash, y si salia bien, veia el id de conexion,
seleccionaba
la clave que le tocaba, y descifraba el mensaje, y para responder hacia
lo
mismo.

El problema es que cifrar con .net es un poco lioso, asi que te tendras
que
crear un huevo de clases internedias (una para el cifrado asimetrico, en
mi
caso RSA de 1024 bits, otra para el cifrado simetrico, en mi caso
rinjdael ,
y otras tantas para el "protocolo" de intercambio de claves, cifrado y
descifrado de mensajes, etc.). Es un poco lioso pero una vez terminado va
de
puta madre.

Asi que suerte si te gusta el esquema, te digo que se puede hacer, pq
cuando
yo lo hice estaba mas o menos verde en programacion, solo tenia las bases
de
conocimiento de los algoritmo de cifrado, y se saca (2 o 3 semanas con
dolor
de cabeza, pero se saca)


"eSergi" escribió en el mensaje
news:
> Buenas tardes,
>
> Estoy desarrollando una aplicación con web services y necesito
> información
> para poder encriptar los datos que retornan cada uno de los métodos del
> web
> service y desencriptarlas después...
>
> Si alguien me puede ayudar ??
>
> Muchas gracias



Respuesta Responder a este mensaje
#4 eSergi
30/08/2006 - 16:41 | Informe spam
Bueno..
Muchas gracias de todas formas!!
He empezado a mirar algunas cosillas y con un poco de tiempo y paciencia
puede que lo consiga.


"Javier Garcia" wrote:

puffff, no tengo nada de informacion a tu disposicion, lo que se de cifrado
lo he sacado de apuntes mios, asi que no se donde puedes encontrarlos, busca
en internet un poco que no es complicao, lo unico es tener claros los
conceptos. Busca el esquema de conexion del protocolo https y haz algo
parecido (yo es lo que hice, segui ese esquema adaptandolo a mis necesidades
y conocimientos, y funciona). lo mas complicao es la forma de intercambiar
la clave comun para la conexion de forma segura. Se puede hacer con
certificados (que seria lo suyo) o con una clave asimetrica de servidor, lo
unico es ver como compruebas que el cliente realmente es quien dice ser (yo
lo solucione poniendo a todos los clientes una clave asimetrica comun,
solucion cutre, pero facil y funciona, ya que el servidor sabe la clave
publica de los clientes y solo estos pueden cifrar con esa clave). Asi a la
hora de gestionar la clave de la conexion se hace de forma fiable. despues
de esto la comunicacion con la clave comun es mas facil.


"eSergi" escribió en el mensaje
news:
> Buenas Javier,
>
> Muchas gracias por tu información.
> La verdad es que estoy muy muy verde en lo que ha cifrado de datos se
> refiere... Empezaré por buscar información sobre cada uno de los aspectos
> que
> me comentas a ver si saco algo de conceptos claros y después lo pruebo
> como
> me indicas.
>
> El proyecto que estoy haciendo dura 6 meses pero no quiero tener que
> implantar el cifrado de datos al final del proyecto. De todas maneras,
> creo
> que no habrá más remedio. jejeje.
>
> Si tuvieras añgo de información, enlaces, o libros de referencia
> (castellano) que me pudieran ayudar te lo agradeceria que no veas !!!
>
> Bueno, gracias otra vez
>
> "Javier Garcia" wrote:
>
>> Hola, hace un tiempo yo desarrolle un servicio web que hacia eso mismo, y
>> es
>> un poco lioso si no tienes mucha idea de como funcionan los sistemas de
>> cifrado.
>>
>> El que yo desarrolle se basaba en que el servidor tenia una clave
>> asimetrica
>> y los clientes (todos) saben la publica del servidor, y todos los
>> clientes
>> comparten clave para establecer la comunicacion con el servidor, y este
>> solo
>> sabe la publica de estos, de esta forma podemos iniciar la comunicacion
>> sin
>> problemas de identidad ni de seguridad.
>>
>> Yo me cuaje un struct para establecer el inicio de la comunicacion en la
>> que
>> los clientes le decian al servidor que querian usar tal clave (clave de
>> cifrado simetrico, que es mucho mas rapido que el asimetrico) para
>> empezar a
>> comunicarse a partir de entonces, la cifraban con la publica del servidor
>> y
>> la firmaban con la suya privada y el servidor les respondia dandoles un
>> id
>> de conexion. A partir de entonces se iniciaba la comunicacion con la
>> clave
>> comun, el cliente envia el id de conexion en texto plano, el mensaje en
>> cuestion cifrado con la clave comun y un hash de ambos (mensaje y clave),
>> asi nos quitamos de que nadie nos toque el paquete, al recibirlo el
>> servidor
>> comprobaba el hash, y si salia bien, veia el id de conexion,
>> seleccionaba
>> la clave que le tocaba, y descifraba el mensaje, y para responder hacia
>> lo
>> mismo.
>>
>> El problema es que cifrar con .net es un poco lioso, asi que te tendras
>> que
>> crear un huevo de clases internedias (una para el cifrado asimetrico, en
>> mi
>> caso RSA de 1024 bits, otra para el cifrado simetrico, en mi caso
>> rinjdael ,
>> y otras tantas para el "protocolo" de intercambio de claves, cifrado y
>> descifrado de mensajes, etc.). Es un poco lioso pero una vez terminado va
>> de
>> puta madre.
>>
>> Asi que suerte si te gusta el esquema, te digo que se puede hacer, pq
>> cuando
>> yo lo hice estaba mas o menos verde en programacion, solo tenia las bases
>> de
>> conocimiento de los algoritmo de cifrado, y se saca (2 o 3 semanas con
>> dolor
>> de cabeza, pero se saca)
>>
>>
>> "eSergi" escribió en el mensaje
>> news:
>> > Buenas tardes,
>> >
>> > Estoy desarrollando una aplicación con web services y necesito
>> > información
>> > para poder encriptar los datos que retornan cada uno de los métodos del
>> > web
>> > service y desencriptarlas después...
>> >
>> > Si alguien me puede ayudar ??
>> >
>> > Muchas gracias
>>
>>
>>



Respuesta Responder a este mensaje
#5 Carlos Valle.
15/09/2006 - 21:05 | Informe spam
Una forma sencilla de establecer encripción es por medio de WSE 3.0, tienes
que invertir un poco de tiempo para enteder como funciona pero te ahorrara
mucho código y dolores de cabeza.

"eSergi" wrote:

Bueno..
Muchas gracias de todas formas!!
He empezado a mirar algunas cosillas y con un poco de tiempo y paciencia
puede que lo consiga.


"Javier Garcia" wrote:

> puffff, no tengo nada de informacion a tu disposicion, lo que se de cifrado
> lo he sacado de apuntes mios, asi que no se donde puedes encontrarlos, busca
> en internet un poco que no es complicao, lo unico es tener claros los
> conceptos. Busca el esquema de conexion del protocolo https y haz algo
> parecido (yo es lo que hice, segui ese esquema adaptandolo a mis necesidades
> y conocimientos, y funciona). lo mas complicao es la forma de intercambiar
> la clave comun para la conexion de forma segura. Se puede hacer con
> certificados (que seria lo suyo) o con una clave asimetrica de servidor, lo
> unico es ver como compruebas que el cliente realmente es quien dice ser (yo
> lo solucione poniendo a todos los clientes una clave asimetrica comun,
> solucion cutre, pero facil y funciona, ya que el servidor sabe la clave
> publica de los clientes y solo estos pueden cifrar con esa clave). Asi a la
> hora de gestionar la clave de la conexion se hace de forma fiable. despues
> de esto la comunicacion con la clave comun es mas facil.
>
>
> "eSergi" escribió en el mensaje
> news:
> > Buenas Javier,
> >
> > Muchas gracias por tu información.
> > La verdad es que estoy muy muy verde en lo que ha cifrado de datos se
> > refiere... Empezaré por buscar información sobre cada uno de los aspectos
> > que
> > me comentas a ver si saco algo de conceptos claros y después lo pruebo
> > como
> > me indicas.
> >
> > El proyecto que estoy haciendo dura 6 meses pero no quiero tener que
> > implantar el cifrado de datos al final del proyecto. De todas maneras,
> > creo
> > que no habrá más remedio. jejeje.
> >
> > Si tuvieras añgo de información, enlaces, o libros de referencia
> > (castellano) que me pudieran ayudar te lo agradeceria que no veas !!!
> >
> > Bueno, gracias otra vez
> >
> > "Javier Garcia" wrote:
> >
> >> Hola, hace un tiempo yo desarrolle un servicio web que hacia eso mismo, y
> >> es
> >> un poco lioso si no tienes mucha idea de como funcionan los sistemas de
> >> cifrado.
> >>
> >> El que yo desarrolle se basaba en que el servidor tenia una clave
> >> asimetrica
> >> y los clientes (todos) saben la publica del servidor, y todos los
> >> clientes
> >> comparten clave para establecer la comunicacion con el servidor, y este
> >> solo
> >> sabe la publica de estos, de esta forma podemos iniciar la comunicacion
> >> sin
> >> problemas de identidad ni de seguridad.
> >>
> >> Yo me cuaje un struct para establecer el inicio de la comunicacion en la
> >> que
> >> los clientes le decian al servidor que querian usar tal clave (clave de
> >> cifrado simetrico, que es mucho mas rapido que el asimetrico) para
> >> empezar a
> >> comunicarse a partir de entonces, la cifraban con la publica del servidor
> >> y
> >> la firmaban con la suya privada y el servidor les respondia dandoles un
> >> id
> >> de conexion. A partir de entonces se iniciaba la comunicacion con la
> >> clave
> >> comun, el cliente envia el id de conexion en texto plano, el mensaje en
> >> cuestion cifrado con la clave comun y un hash de ambos (mensaje y clave),
> >> asi nos quitamos de que nadie nos toque el paquete, al recibirlo el
> >> servidor
> >> comprobaba el hash, y si salia bien, veia el id de conexion,
> >> seleccionaba
> >> la clave que le tocaba, y descifraba el mensaje, y para responder hacia
> >> lo
> >> mismo.
> >>
> >> El problema es que cifrar con .net es un poco lioso, asi que te tendras
> >> que
> >> crear un huevo de clases internedias (una para el cifrado asimetrico, en
> >> mi
> >> caso RSA de 1024 bits, otra para el cifrado simetrico, en mi caso
> >> rinjdael ,
> >> y otras tantas para el "protocolo" de intercambio de claves, cifrado y
> >> descifrado de mensajes, etc.). Es un poco lioso pero una vez terminado va
> >> de
> >> puta madre.
> >>
> >> Asi que suerte si te gusta el esquema, te digo que se puede hacer, pq
> >> cuando
> >> yo lo hice estaba mas o menos verde en programacion, solo tenia las bases
> >> de
> >> conocimiento de los algoritmo de cifrado, y se saca (2 o 3 semanas con
> >> dolor
> >> de cabeza, pero se saca)
> >>
> >>
> >> "eSergi" escribió en el mensaje
> >> news:
> >> > Buenas tardes,
> >> >
> >> > Estoy desarrollando una aplicación con web services y necesito
> >> > información
> >> > para poder encriptar los datos que retornan cada uno de los métodos del
> >> > web
> >> > service y desencriptarlas después...
> >> >
> >> > Si alguien me puede ayudar ??
> >> >
> >> > Muchas gracias
> >>
> >>
> >>
>
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida