Universidad Central de Venezuela Escuela de Computación Seguridad en Redes Prof. Wilmer Pereira Proyecto 2 Los lineamientos para este segundo proyecto son montar las condiciones mínimas de seguridad para un sitio comercio electrónico emulando el protocolo SET, propuesto hace unos cuantos años por Visa/MasterCard. A pesar de que no se usa, su fracaso no se debió a la propuesta técnica sino a los inconvenientes financieros de la puesta en producción. Es por ello que es de interés conocerlo ya que futuros protocolos para comercio electrónicos estarán fuertemente inspirados en esta propuesta Inicialmente el sistema operativo es de su escogencia así como el lenguaje de programación. Deben mantener el servidor HTTP con SSL (Server Socket Layer) del primer proyecto para el vendedor. Los certificados del vendedor, comprador y CAI del vendedor se renovarán en caso de vencimiento. Todos los actores deben estar en máquinas separadas, bien sea virtuales o físicas, y no debe haber warnings. Esta vez usarán los dominios definidos valiéndose del archivo de hosts para hacer la correspondencia con la IP. Como se explicó en clases de teoría, la tarjeta de crédito nunca debe estar en posesión del vendedor. Por ello deben instalar, en otra máquina, una aplicación que represente a un banco y se encargue de procesar la solicitud de la tarjeta de crédito. El enlace contra la entidad bancaria también debe ser seguro (confidencialidad y autentificación). Para ello pueden usar SSLsockets o instalar a su vez un servidor Web seguro en el banco. El comprador se autenticará contra el banco sólo mediante certificados digitales por lo que debe tener un certificado firmado por la CAI del banco. Las bases de datos del vendedor y el banco deben por supuesto estar separada. Se recomienda cualquier manejador de BD sencillo como MySQL aunque sólo usen una tabla para ambos servidores. La interfaz de usuario sólo ofrecerá unos pocos productos y tendrá el botón de pago que iniciará la interacción con el banco. Como es un proyecto de seguridad no se evaluará ni la usabilidad ni la estética de la interfaz. Dediquen sus esfuerzos a resolver los problemas de seguridad. Una vez confirmado por el banco que la tarjeta de crédito tiene saldo, el vendedor debe enviar una factura firmada. El comprador la almacenará para acciones legales en caso de incumplimiento por parte del vendedor. Si por el contrario no tiene saldo suficiente, el vendedor también debe informar al comprador. Cuando el cliente se conecta por primera vez con el vendedor debe podérsele crear una cuenta para acceder al sitio de e-commerce por lo que deben manejar adecuadamente los passwords de acceso Debe tener una longitud mínima, al menos un carácter no alfa numérico y una letra mayúscula Al ingreso debe chequear número de intento y después de tres tentativas fallidas se bloqueará la cuenta del usuario. Además el password debe almacenarse con un algoritmo sin inversa para evitar que aún el propio administrador pueda acceder a este. Más aún, nunca puede llegar en claro al sitio de comercio electrónico, es decir, debe partir protegido desde el comprador. Debe haber captcha al momento del ingreso al sitio para evitar los ataques de fuerza bruta La entrega se hará en septiembre. En un pequeño informe explicarán el diseño y arquitectura de su aplicación así como la dinámica de su protocolo de interacción usando diagramas de secuencia o una máquina de estado finito.