Learning Objectives.
Q. Cavern diving procedures (Predive) Learning Objectives.
En este apartado se va a hablar sobre las comunicaciones entre la smart card y el receptor, se puede consultar más sobre este tema en [56]. Partiendo del funcionamiento descrito en el Tema 2, en la Figura 27 se puede observar como si la CW no se cifra cuando se envía al receptor, un atacante puede redireccionar la CW hacia otro descodificador del mismo tipo para descodificar el programa directamente, escuchando la comunicación de la interfaz de la smart card, la cual es insegura. En el caso que la CW sea cifrada con una clave de sesión SK, ésta es importante que varíe de forma dinámica para mantener la comunicación segura. No obstante, en muchos de los sistemas actuales, la SK es siempre un parámetro fijo, el cual reduce significativamente la seguridad, ya que los piratas pueden llevar a cabo ataques de texto claro conocido simplemente escuchando la comunicación. Además, sin autenticación mutua, los piratas pueden duplicar una smart card o redireccionar el mensaje de comunicación entre una smart card legítima y un receptor hacia otro receptor, para darle derechos de recibir el programa en cuestión a un usuario no autorizado, el cual causará unas pérdidas considerables al proveedor de servicios. Por este motivo, son necesarias unas SK dinámicas y autenticación mutua entre el receptor y la smart card.
Figura 27: Cooperación smart card y receptor
Una de las formas para poder conseguir que dos o más entidades se pongan de acuerdo en la elección de una SK es mediante el protocolo de intercambio de claves, a pesar de que las comunicaciones se realicen a través de un canal inseguro. Esta SK dinámica usada en el
Para realizar la explicación de las fases se ha utilizado la siguiente notación: − ID : Identidad (número) de la smart card. c
− ID : Identidad (número) del receptor. s − x : Clave secreta del receptor. s
− h
( )
⋅ : Función hash de único sentido con output de 128 bits.− H
( )
⋅ : Otra función hash de único sentido con output de 128 bits, diferente de h( )
⋅ . − ESK( )
⋅ /DSK( )
⋅ : Algoritmo de cifrado/descifrado de clave simétrica SK.− T : Identificador de tiempo del receptor en un determinado instante. ' − T : Identificador de tiempo de la smart card en un determinado instante.
− Δ : Tiempo transcurrido entre el envío y la recepción de un dato entre las partes. T − ⊕: Operador a nivel de bit, OR exclusivo.
Fase de registro
Cuando un usuario U desea suscribirse, calcula IP=H
(
IDc,PW)
y envía ID e IP al c SMS. El SMS calcula C=IP⊕H(
IDc,xs)
y almacena IP , C, ID , s h( )
⋅ , H( )
⋅ y MPK con otra información de cuenta de usuario en la smart card.Fase de login
Si el usuario U desea recibir los programas a los que está suscrito, debe introducir la SC en el receptor e introducir el ID y el c PW . La smart card realizará las siguientes operaciones:
1. Comprobará la igualdad de IP y de H
(
IDc,PW)
. Si no son iguales, la smart card rechaza el login.2. Si se acepta la solicitud de login, la smart card generará un número aleatorio r con una longitud de 512 bits, posteriormente calculará C2y CID . c
(
T C IP)
h C2 = ⊕ ⊕( )
s c c ID h ID CID = ⊕Fase de autenticación mutua
El receptor y la smart card deben seguir los siguientes pasos para realizar la autenticación mutua:
1. Una vez el receptor recibe
(
CIDc,C2,r,T)
, comprueba si(
T'−T)
<ΔT . Si(
T'−T)
≥ΔT , el receptor parará la comunicación. En caso contrario, el receptor obtiene el ID , calcula c ' 2 C y comprueba si C2 y ' 2 C coinciden.( )
s c c CID h ID ID = ⊕(
)
(
T H IDs xs)
h C' , 2 = ⊕ 2. Si C2 es igual a ' 2C , el receptor elige un número aleatorio e y calcula e' y C 3 del siguiente modo (donde T1 es el identificador de tiempo del receptor en ese preciso instante):
( )
1 ' h ID e T e= s ⊕ ⊕(
' 1 ')
2 3 hC ID T e C = ⊕ s⊕ ⊕3. El receptor envía
(
C3,T1,e)
a la smart card. 4. La smart card calcula '3 C y comprueba la igualdad de C y 3 ' 3 C .
( )
1 ' h ID e T e= s ⊕ ⊕(
' 1 ')
2 ' 3 hC ID T e C = ⊕ s⊕ ⊕ 5. Si no se cumple la igualdad de C y 3 ' 3C , la smart card rechaza la comunicación. En el caso que se cumpla la igualdad, la smart card aceptará al receptor.
Fase de acuerdo de claves
Si se lleva a cabo la mutua autenticación de forma satisfactoria, entonces ambas partes usarán la siguiente ecuación para la clave de sesión común:
(
r e IDc IDs)
H
SK = , , ,
Fase de la transmisión de la CW
Después de descifrar la CW, la smart card usa la SK para cifrar la CW,
(
CW)
CW'=ESK y envía la CW' al receptor para descodificar el programa. El receptor
Fase de cambio de password
El usuario puede cambiar el password de la smart card de PW a PW' libremente. Lo único que debe hacer es introducir el ID y el c PW en la smart card. La smart card comprobará la igualdad IP=H
(
IDc,PW)
y si se cumple, el usuario podrá introducir el nuevo password PW' en la smart card. La smart card calculará entonces IP'=H(
IDc,PW')
yIP R IP
R'= '⊕ ⊕ . A continuación, sustituirá R por 'R e IP por IP . '
Figura 28: Esquema comunicación receptor – smart card
Además del esquema propuesto, existen otros métodos más o menos seguros para obtener el mismo resultado. Los esquemas más comunes suelen guardar parte de la información almacenada en la smart card, cifrada mediante algoritmos de clave simétrica (DES, AES, IDEA…). La cual no se puede conocer a menos que se posea la misma clave que se usó para cifrarla, por ejemplo, esta clave podría ser PW. Por otro lado, para llevar a cabo la autenticación mutua, se suelen usar algoritmos de clave asimétrica, ya que con el simple hecho de que la smart card cifre la información con la clave pública del receptor (previamente almacenada en la smart card) se consigue que sólo el receptor autorizado sea capaz de descifrarla.
El motivo por el que he explicado un esquema y no otro, es por el simple hecho que el esquema comentado no posee ningún tipo de operación exponencial, las cuales aportan mucha carga computacional, aspecto en el cual las smart cards no van sobradas. No obstante, hay que comentar que si están preparadas para ello. Si se reduce el coste computacional derivado de la autenticación mutua y del acuerdo de claves, se dispondrá de mayor capacidad de recursos por parte de la smart card para el descifrado de las claves de la señal de televisión.
4.1.4.1 Análisis del método propuesto
El sistema propuesto tiene varias ventajas, como las que se comentan a continuación:
Resistencia contra el ataque de repetición: En el sistema propuesto, clave de sesión (SK) se genera a partir de la salida de una función hash de único sentido, cuya entrada es la concatenación de r, e, IDc e IDs. Los cuatro valores, r, e, IDc e IDs sólo son conocidos por parte de la smart card y del receptor. Dado que el número aleatorio r es la información semilla para cada clave de sesión, el ataque de repetición y el de suplantación no son posibles. Por otro lado, dado que la clave de sesión es diferente en cada comunicación, es difícil atacar el algoritmo de cifrado para obtener la CW mediante el ataque de texto plano conocido.
Seguridad contra el problema de la clonación de smart cards: El esquema propuesto es también resistente al problema de la clonación de smart cards. Cuando un atacante usa su smart card clonada en otro receptor, el ID del receptor (IDs) no corresponde con el almacenado en la smart card clonada y del mismo modo, la función hash de la smart card clonada y la del receptor son diferentes. Por lo tanto, es imposible utilizar esa smart card clonada en otro receptor.
Seguridad contra el redireccionamiento de la comunicación del mensaje: Cuando un atacante redirecciona la comunicación de una smart card del mensaje a otro receptor, este nuevo receptor no dispone de la información necesaria, la SK, para poder descifrar la CW.
Eficiencia computacional: Debido a que las smart cards tienen una capacidad de cálculo muy limitada, la carga de trabajo de éstas es un aspecto a tener en cuenta. Como se puede observar, en el esquema sólo se usan operaciones de OR exclusiva y de este modo la carga computacional es muy pequeña, frente a otras posibles operaciones como ya se ha comentado anteriormente.