Professional Documents
Culture Documents
INTRODUCTION
Introduction(1)
Revision: Objects and principals
Access rights invocation Client result Server Object
Principal (user)
Network
Principal (server)
Object (or resource) Mailbox, system file, part of a commercial web site Principal User or process that has authority (rights) to
Introduction(2)
Revision: The enemy
Copy of m The enemy Process p
m
Process q
m
Communication channel
or other information whose secrecy or integrity is crucial Enemy (or adversary) Threats To processes, to communication channels, denial of service
Introduction(3)
Revision: Secure channels
Cryptography
PrincipalA Processp
The enemy
Secure channel
Principal B
Processq
Properties Each process is sure of the identity of the other Data is private and protected against tampering Protection against repetition and reordering of
data Employs cryptography Secrecy based on cryptographic concealment Authentication based on proof of ownership of secrets
Introduction(4)
Those systems where potential objects of attack
exist, is necessary right security politics The need to protect information and other resources is pervasive in both the physical and the digital world.
Access to a building maybe controlled by a
reception clerk, who issues badges to accredited visitors, and enforced by a security guard or by electronic door locks.
to construct and run a program on a connected computer that obtains copies of the messages transmitted between other computers. A common instance is the phantom withdrawal problem in automatic cash dispensers. The best answer that a bank can supply to such a claim is to provide a record of the transaction that is digitally signed by the account.
unauthorized recipients. Tampering: Refers to the unauthorized alteration of information. Vandalism: Refers to interference with the proper operation of a system without gain to the perpetrator.
Masquerading:
Sending or receiving messages using the identity of
date.
Denial of service:
Flooding a channel or other resource with messages in
DoS attack
Campus intranets Firewall
IP = n.n.n.i
amazon.com IP = x.x.x.x
Internet
yahoo.com IP = y.y.y.y
10
been designed to enable programs to be loaded into a process from a remote server and then executed locally, they may be exposed to attack by mobile code. Java is one of them, JVM is designed with mobile code It gives each application its own environment, that has a security manager that determines which resources are available to the application.
browser to be run locally, the browsers doesnt trust the code to behave in a responsible manner. To protect users against untrusted code, most browsers specify that applets cannot access local files, printers or network sockets.
Information leakage
A flood of messages to a dealer in a particular
secret or the contents and sender of a message must be authenticated. Purchase of goods and services: Buyers select goods and pay for them via the Web and the goods are delivered through an appropriate delivery mechanism. Software and other digital products are downloadable.
offer users virtually all of the facilities provided by conventional banks Micro-transactions: Voice and videoconferencing on the Internet is free, but it is charged for when a telephone network is also involved. The price for such services may amount to only a fraction of a cent, and the payment overheads must be correspondingly low.
inherently difficult task The systems designers must first construct a list of threats and show that each of them is prevented by the mechanisms employed. The design of secure systems is an exercise in balancing costs against the threats (A security log will contain a sequence of timestamped records of users actions.)
interfaces are necessarily open, an attacker can send a message to any interface. Networks are insecure: Message sources can be falsified Limit the lifetime and scope of each secret: The use of secrets such as passwords should be timelimited, and sharing should be restricted
attackers: Secret encryption algorithms are totally inadequate for todays large-scale network environments. Best practice is to publish the algorithms used for encryption and authentication, relying only on the secrecy of cryptographic keys. Attackers may have access to large resources: The cost of computing power is rapidly decreasing. Minimize the trusted base: Trusted Computing Base (all the hardware and software components upon which they rely,have to be trusted)
Cryptography
Encryption is the process of encoding a message
in such a way as to hide its contents They are all based on the use of secrets called keys. Two main classes of encryption algorithm in general use:
shared secret keys public/private key pairs
computer security mechanisms Cryptography is the art of encoding information in a format that only the intended recipients can decode
public key" is easier to follow than "Party A sends a message to Party B encrypted by Party B's public key."
Uses of cryptography
In all of our next scenarios, we can assume that
Alice, Bob and any other participants have already agreed about the encryption algorithms that they wish to use and have implementations of them. We also assume that any secret keys or private keys that they hold can be stored securely to prevent attackers obtaining them.
secret key
Alice and Bob share a secret key KAB. 1. Alice uses KAB and an agreed encryption function E(KAB, M) to encrypt and send any number of messages {Mi}KAB to Bob. 2. Bob reads the encrypted messages using the corresponding decryption function D(KAB, M).
Alice and Bob can go on using KAB as long as it is safe to assume that KAB has not been compromised.
that any {Mi} isnt a copy of an earlier encrypted message from Alice that was captured by Mallory and replayed later?
Authentication(1)
Cryptography is used in support of mechanisms
for authenticating communication between pairs of principals. They can infer that the sender of the message possessed the corresponding encryption key and hence deduce the identity of the sender if the key is known only to two parties. Authenticated communication with a server: Kerberos
Access control
Protection domain
A set of <resource, rights> pairs
object
E.g. Unix file access permissions
drwxr-xr-x gfc22 staff 264 Oct 30 16:57 Acrobat User Data -rw-r--r-- gfc22 unknown 0 Nov 1 09:34 Eudora Folder -rw-r--r-- gfc22 staff 163945 Oct 24 00:16 Preview of xx.pdf drwxr-xr-x gfc22 staff 264 Oct 31 13:09 iTunes -rw-r--r-- gfc22 staff 325 Oct 22 22:59 list of broken apps.rtf
Credentials
Requests to access resources must be accompanied
by credentials:
Evidence for the requesting principal's right to access
the resource Simplest case: an identity certificate for the principal, signed by the principal. Credentials can be used in combination. E.g. to send an authenticated email as a member of Cambridge University, I would need to present a certificate of membership of CU and a certificate of my email address.
The speaks for idea
We don't want users to have to give their password
every time their PC accesses a server holding protected resources. Instead, the notion that a credential speaks for a
Firewalls
They protect intranets, performing filtering actions
Algoritmos Criptogrficos
Encriptacin
Un mensaje se puede encriptar, cuando el emisor
aplique una regla que transforme el texto en claro del mensaje en un texto cifrado o criptograma. El receptor debe conocer la regla inversa para transformar el texto cifrado en el texto original. .
secreta. Criptografa asimtrica: Criptografa de clave pblica (Las claves empleadas para el encriptado y desencriptado son diferentes)
Cifradores de bloque
La mayora de algoritmos de encriptacin
trabajan sobre bloques de datos de tamao fijo: Comnmente de 64 bits. Cada mensaje se subdivide en bloques y cada bloque se encripta independientemente.
XOR
E(K, M)
n-3
n-2
n-1
En el desencriptado el bloque se desencripta y se efecta una operacin XOR con el bloque encriptado precedente obteniendo el nuevo bloque de texto claro. Para evitar enviar dos secuencias de cdigo idnticas incrementamos un vector de iniciacin puede ser la
Cifradores de flujo
Cuando los flujos de datos se producen en
tiempo real en pequeos fragmentos es ms apropiado usar cifradores de flujo; son algoritmos que pueden realizar la encriptacin incrementalmente, convirtiendo el texto claro en texto criptogrfico bit a bit.
buffer
XOR
plaintext stream
ciphertext stream
apoyan en manipulaciones que preservan la informacin del mensaje original y emplean principios basados en la teora de la informacin
Confusin y difusin
Confusin: Las operaciones de carcter no
destructivo como XOR y desplazamiento circular se emplean para combinar cada bloque de texto en claro con la clave.
Difusin: En el texto en claro es normal que
aparezcan repeticiones y redundancia. Disipa la existencia de patrones regulares mediante la trasposicin de partes de cada bloque de texto en claro
Algoritmos Simtricos
Una propiedad de las funciones de
encriptacin robustas es la efectividad de los mtodos para encriptar informacin depende del uso de la funcin de encriptacin que sea irreversible (Funciones de un solo sentido).
TEA
Tiny Encryption Algorithm desarrollado en la Universidad de Cambridge Ilustra claramente los principios para el diseo de Algoritmos criptogrficos.
DES
Data Encryption Standard fue desarrollado por
IBM. Su funcin de encriptacin proyecto un texto en claro de 64 bits en una salida estndar encriptada de 64 bits usando una clave de 56 bits. Tiene 16 capas dependientes de clave conocidas como vueltas en las que el dato a encriptar se rota bit a bit un nmero de veces que depende de la clave y tres transposiciones no dependientes de la clave.
3DES
En 1997 fue derrotado por un ataque de fuerza
bruta y por eso se considera obsoleto, en la prctica se utiliza un sistema conocido como triple-DES Esto implica aplicar tres veces DES con dos claves K1 y K2
IDEA
International Data Encription Algorithm emplea
una clave de 128 bits para encriptar bloques de 64 bits. El algoritmo se basa en el lgebra de grupos y tiene 8 vueltas XOR. Igual que DES emplean una misma funcin par la encriptacin y desencriptacin pero IDEA lo realiza tres veces ms rpido.
RC4
RC4 es un cifrado de flujo desarrollado por
Ronald Rivest. Las claves pueden ser de cualquier longitud de hasta 256 bytes. RC4 es fcil de implementar y realiza el cifrado y descifrado de aproximadamente 10 veces ms rpido que DES. Por tanto, se ha adoptado ampliamente en aplicaciones como las redes WiFi IEEE 802.11, pero una debilidad fue posteriormente descubierta por Fluhrer que los atacantes estn habilitados para crackear algunas claves. Esto llev a un rediseo de la seguridad 802.11.
AES
Advanced Encryption Standard algorithm fue
desarrollado por Joan Daemen y Vincent Rijmen Tiene una tamao de bloque variable(128, 192 or 256 bits), tambin el tamao de la clave es variable( 128, 192 or 256 bits ).El numero de vueltas en el algoritmos varia desde 9 a 13 dependiendo de la clave y del tamao del bloque
nmeros grandes para producir las claves e son un par de nmeros muy grandes, y la funcin de encriptacin realiza una operacin, con una exponenciacin de M, usando una de ellas. La desencriptacin es una funcin similar usando la otra clave.
de desencriptacin y publica la clave de encriptacin y cualquiera que la posea puede encriptar mensajes pero solo el principal podr desencriptarlos(operar la puerta falsa).
RSA
El diseo de Rivest, Shamir y Adelman se basa
en el producto de dos nmeros primos muy grandes (>10^100) empleando el hecho que la determinacin de los factores primos tan grandes es computacionalmente tan difcil como para considerarlo posible de calcular.
Elija dos nmeros primos grandes P y Q, y forme : N=PxQ , Z= (P-1)*(Q-1) 2. Para d elijase cualquier numero primo con relacin a Z (que d no tenga factores comunes con Z) 3. Para encontrar e resuelva : e*d= 1mod Z
1.
claro es ;
para generar pares de claves publica/ privada basndose en las propiedades de las curvas elpticas. Su seguridad no depende de la dificultad de factorizacin de nmeros grandes.
Las claves cortas son seguras y los requisitos de
Firmas Digitales
Firmas Digitales
Una firma digital robusta es un requisito esencial
para los sistemas seguros. Se las necesita para certificar ciertos trozos de informacin Los documentos digitales son trivialmente fciles de generar, copiar y alterar. La simple adicin de la identidad del emisor en forma de cadena de texto, una fotografa o una imagen manuscritas, no tienen valor alguno como medio de verificacin.
identidad de un formante a la secuencia completa de bits que representa un documento, la fecha del documento no est garantizada por la firma. Existe un problema adicional, si el firmante revela su clave secreta y despus niega haber firmado el documento, para resolver el problema se crearon las firmas digitales innegables pero aaden complejidad al procedimiento.
Firmado digital
Un documento o un mensaje electrnico M puede
ser firmado por un principal A encriptando una copia de M con clave a, aadindola a una copia del texto en claro M y un identificador de A. La firma puede ser verificada por un principal que reciba despus el documento para comprobar si fue originado por A y que sus contenidos, M, no han sido alterados posteriormente.
la generacin de firmas digitales dado que es relativamente simple y no requiere de ninguna comunicacin entre el destinatario de un documento firmado y el firmante o cualquier otro.
transmitir mensajes desencriptados pero existe la necesidad de verificar la autenticidad del mensaje
Puesto que un canal seguro proporciona una
comunicacin segura entre un par de procesos, una clave secreta compartida se puede establecer utilizando el mtodo hbrido y utilizado para producir firmas de bajo coste. Estas firmas se llaman message authentication codes (MACs)
Funciones resumen
Las funciones resumen se denominan tambin
funciones de dispersin seguras y se denotan con H (M). Deben disearse cuidadosamente para asegurar que H (M) sea diferente de H (M')
de longitud fija que caracterice un mensaje o documento de longitud arbitraria. La ms simple es usando repetidamente la operacin XOR para combinar trozos de tamao fijo del documento fuente, lo cual es inadecuado para un esquema de firma digital
poseer las siguientes propiedades: 1. Dado M, debe ser fcil de calcular h 2. Dado h, debe ser extremadamente difcil calcular M 3. dado M, debe ser extremadamente difcil encontrar otro M', tal que H (M) = H (M').
MD5
Emplea cuatro vueltas, cada una de cuatro funciones no lineales a cada uno de los diecisis segmentos de 32 bits de un bloque de texto fuente de 512 bits. El resultado es un resumen de 128 bits: Es uno de los algoritmos ms eficientes que se dispone hoy en da
SHA-1
Es un algoritmo que produce un resumen de 160 bits. Se basa en el algoritmo de Rivest MD4 con operaciones adicionales. Ms lento que MD5, pero el resumen de 160 bits ofrece una mayor seguridad contra ataques.
simtrico para producir un resumen seguro: La clave debera ser pblica de modo que el algoritmo pudiera ser aplicado por cualquiera que desea verificar una firma digital.
Formato
Este formato se incluye en el protocolo SSL, para comercio electrnico y de amplia implantacin en la autenticacin de claves pblicas de servicios y sus clientes. Algunas organizaciones de relieve en Internet se han establecido ellas mismas como autoridades de certificacin (Versing, CREN)
Aproximacin SPKI
Simple Public-Key Infrastructure (SPKI) Aproximacin X.509, se basa en la unicidad global de los nombres diferenciados.Esta meta es inalcanzable dado que no refleja la realidad legal y de la prctica comercial SPKI propone la creacin y administracin de conjuntos de certificados pblicos que posibilitara el procesamiento de cadenas de certificaciones empleando inferencia lgica para producir certificados derivados.
Cryptography pragmatics
Casos de estudio
Los protocolos descritos aqu fueron desarrollados en respuesta a la necesidad de un medio seguro para la gestin de claves (y contraseas) en una red. [Needham y Schroeder 1978].
Needham y Schroeder proponen una solucin para la autenticacin y distribucin de claves basado en un servidor de autenticacin que suministra las claves secretas a los clientes
Base:
Generacin y transmision de tickets por S NA son NB ocasiones. Una ocasion es un entero
Cabecera
Mensaje
{A, B, NA} {NA, B, KAB, {KAB, A}KB}KA {KAB, A}KB {NB}KAB {NB-1}KAB
no encuentra razones para crear que el mensaje sea reciente. Los autores no incluyeron esta posibilidad, en su lista de amenazas, esa debilidad puede ser remediar aadiendo una marca temporal en el mensaje. Esta es la solucin adoptada en Kerberos.
Kerberos
Kerberos
Kerberos desarrollado en el MIT en los aos 80
[Steiner y otros 1988] . Para proporcionar un catlogo de medios de autenticacin y seguridad para su uso en la red de computacin del campus en el MIT.
Describiremos Kerberos v5.
expiracin y una clave de seccin generada en este momento para su uso por el cliente y el servidor. Autenticacin: Token construido por un cliente y enviada al servidor para demostrar la identidad del usuario y la actualidad de cualquier comunicacin con el servidor. Clave de sesin: una clave secreta generada aleatoriamente por kerberos y enviada a un cliente para la comunicacin con un servidor particular.
Arquitectura Kerberos
Cabecera
Nota El cliente C pide al AS A que proporcione un ticket para comunicarse con el TGS T A puede desencriptar M1 (clave de sesin con T) pero no M2 porque no conoce TGSSK desafio
Cabecera
Mensaje Nota M3: {{M2}TGSSK, S}Csk C solicita a T un ticket para comunicarse M4: {C,n}Client/TGS con S T desencripta M3 y obtiene Client/TGSSK, con ella desencripta M4, verifica el cliente y los tiempos de expiracin. M5:{idC,t1,t2,Client/Server}SS C no puede desencriptar M5. K C desencripta M6 y obtiene el ticket de M6:{Client/Server, sesin Client/Server
Cabecera
S desencripta M7 y obtiene Client/Server, con ella desencripta M8, verifica el cliente y los tiempos de expiracin. M9: {n}Client/Server (Opcional) S enva a C la ocasin encriptada en la clave Client/Server
Kerberos
Kerberos: servidor remoto que ofrece bibliotecas.
Criticas a Kerberos
Marcas de tiempo: Depende de la sincronizacin
ataques de seguridad.
Tiempo de vida ticket:
El periodo de vida debe ser lo suficientemente largo
para evitar la interrupcin de servicios. Suficientemente cortos para asegurar que los usuarios degradados no puedan usar los servicios durante ms tiempo.
Corporation Una version extendida de SSL que ha sido adoptada en internet es Transport Layer Security (TLS), descrita en RFC 2246 [Dierks y Allen 1999].
TLS - Principio I
Encriptacin y algoritmos de encriptacin negociables:
No - mismo software de cliente No - algoritmo de encriptacin concreto
Leyes de los pases
TLS - Principio II
Autoarranque de la comunicacin segura: Esquema hibrido
Comunicacin no encriptada en los intercambios
iniciales Criptografa de clave pblica Criptografa de clave privada una vez que se ha establecido una clave secreta compartida.
El cambio en cada etapa es opcional y viene
Capas TLS
Capa de Protocolo de Registro, que implementa
un canal seguro, encriptando y autenticando mensajes. Capa de handshake, describe el saludo previo a la comunicacin (un canal seguro).
Componentes TLS
Componente Mtodo de intercambio de clave Descripcin Ejemplo
El mtodo que se usara RSA con certificados de para intercambiar una clave publica clave de sesin IDEA
El cifrado de bloque o Cifrado para la de caudal que se usara transferencia de datos en los datos Para crear los cdigos Funciones de de autenticacin de resumen de mensajes mensajes (MAC)
SHA-1
Preguntas ?
Gracias .
Kerberos
Apps Kerberizadas
SSH (Secure SHell, en espaol: intrprete de
rdenes segura). rlogin proveen un servicio de terminal remota similar al provedo por telnet. IMAP (Internet Message Access Protocol) Telnet FTP CVS Para usar un servidor CVS kerberizado
habilita al usuario para acceder a varios sistemas con una sola instancia de identificacin.
Pluggable
Authentication Modules (PAM): mecanismo de autenticacin flexible que permite abstraer las aplicaciones y otro software del proceso de identificacin.
Service
Interfaz de Programacin de Aplicaciones que