¿Puedo tratar CryptoStream como reemplazo de SslStream?
Frecuentes
Visto 637 equipos
1
Necesito enviar datos entre aplicaciones SilverLight. Tengo un requisito que dice que los datos deben transmitirse mediante un protocolo seguro como SSL/TLS. Los datos se envían mediante sockets TCP por motivos de rendimiento. Desafortunadamente, SilverLight no es compatible SslStream. Si quiero transmitir datos a través de SSL/TLS, necesito comprar una biblioteca de terceros, por ejemplo SecureBlackbox. No quiero depender de bibliotecas de terceros cuando se trata de manejar la capa de transporte.
Sin embargo, SilverLight tiene Criptocorriente clase. Estoy pensando en cambiar la clave por el cifrado simétrico usando WCF sobre SSL (SilverLight lo admite) y luego cifrar los datos con AES usando CryptoStream.
¿Es segura esta solución? ¿Se puede comparar con el uso de SSL/TLS en términos de seguridad? ¿Hay algún agujero de seguridad obvio que me estoy perdiendo?
1 Respuestas
1
Supongo que los principales problemas con el enfoque AES son la gestión de claves y la verificación de claves. Estoy seguro de que sabe que SSL utiliza un 'apretón de manos', que utiliza una cadena de CA (Autoridad de certificación) para verificar la validez del certificado SSL. Todo esto sucede antes de que se genere una clave AES para la sesión SSL. Entonces, al no usar SSL, te pierdes este importante paso.
Esto significa que usted asume la responsabilidad de verificar que las claves sean seguras y se intercambien de manera segura.
Respondido 04 Jul 12, 10:07
Si se utiliza una conexión SSL/TLS para intercambiar claves de sesión, entonces no debería haber ningún problema de validación. - Devolución de llamada de Eugene Mayevski
Las claves se intercambian de manera segura: usaré la llamada del servicio web a través de https. - empi
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# .net silverlight security ssl or haz tu propia pregunta.
SSL proporciona no solo encriptación, sino muchas otras cosas como verificación de integridad de paquetes, encriptación autenticada, generación de claves seguras, modos de encriptación adecuados, etc., compresión, etc. - Eugene Mayevski 'Callback
@EugeneMayevski'EldoSCorp Tengo el control total de ambas partes que intercambian información. Las claves se intercambian mediante SSL y sé que ambas partes pueden usar AES. Supongo que no hay forma de que alguien pueda descifrar los datos sin conocer la clave. Estoy de acuerdo en que alguien podría interrumpir la transmisión pero solo será ruido ya que tendría que saber la clave para cifrar datos con ella. ¿Ve alguna falla en términos de seguridad del mensaje (me refiero a que alguien que no está autorizado envía sus datos como parte de la transmisión o lee datos de mi transmisión)? - empi
Se debe elegir el modo de encriptación confiable para AES, y debe negociar tanto la clave como el IV. Pero si puede conectarse usando WCF sobre SSL, ¿hay alguna razón para no usar WCF para una mayor comunicación? - Eugene Mayevski 'Callback
@EugeneMayevski'EldoSCorp Enviaré datos de video en vivo y WCF genera demasiada sobrecarga. - empi