Chapter IV: Procedures and Data 52
4.7 Feed Input Prices 69
3.4.2.2.1
Servicio de firma digital
En la figura siguiente podemos observar el diagrama de clases del servicio compuesto de firma digital. La clase digitalSignage implementa la interfaz iDigitalSignage. Los atributos de clase son:
host: cadena de texto con la dirección del servidor dónde se encuentran los servicios.
service_1: cadena de texto con la ruta al servicio de generación de resumen.
service_2: cadena de texto con la ruta al servicio asimétrico.
path_1: cadena de texto con la ruta al método de generación de resumen.
path_2: cadena de texto con la ruta al método de cifrado asimétrico.
path_3: cadena de texto con la ruta al método de descifrado asimétrico.
html: cadena de texto dónde se almacena el mensaje devuelto en cada método.
Los métodos de la clase son:
digitalSignage: método que genera la firma digital. Recibe como parámetros el nombre del fichero a firmar y el nombre del fichero donde está almacenada la clave privada. Devuelve el resultado de la ejecución (OK/NOK). Este método realiza una petición al servicio básico de generación de resumen pasando como parámetro el nombre del fichero a firmar y a continuación, si se ha generado el resumen correctamente, hace una petición al método de cifrado del servicio básico asimétrico pasando como parámetros el nombre del fichero con el resumen y el nombre del fichero que contiene la clave privada.
checkDigitalSignage: método que comprueba la firma digital. Recibe como parámetros
el nombre del fichero en claro, el nombre del fichero donde está almacenada la clave pública y el nombre del fichero firmado. Este método realiza una petición al servicio básico de generación de resumen pasando como parámetro el nombre del fichero a firmar y a continuación, si se ha generado el resumen correctamente, hace una petición al método de descifrado del servicio básico asimétrico pasando como parámetros el nombre del fichero que contiene el archivo firmado y el nombre del fichero que contiene la clave pública. Finalmente, comprueba si el resumen generado coincide con el fichero descifrado y devuelve sí la firma es correcta o no.
<<Interfaz>>
iDigitalSignage
StreamingOutput digitalSignage(String fileToSign, String keyFile, String callback)
digitalSignage String html String host String service_1 String path_1 String path_2 String jquery String service_2
StreamingOutput checkDigitalSignage(String originalFile, String keyFile, String fileSign, String callback)
String path_3
StreamingOutput digitalSignage(String fileToSign, String keyFile, String callback)
StreamingOutput checkDigitalSignage(String originalFile, String keyFile, String fileSign, String callback)
3.4.2.2.2
Servicio de autenticación y confidencialidad
En la figura siguiente podemos observar el diagrama de clases del servicio compuesto de autenticación y confidencialidad. La clase authPlusConf implementa la interfaz iAuthPlusConf. Los atributos de clase son:
host: cadena de texto con la dirección del servidor dónde se encuentran los servicios.
service: cadena de texto con la ruta al servicio asimétrico.
path: cadena de texto con la ruta al método de cifrado del servicio asimétrico.
html: cadena de texto dónde se almacena el mensaje devuelto en cada método.
El método de la clase es:
authPlusConf: método que genera el servicio compuesto. Recibe como parámetros el
nombre del fichero sobre el que se desea obtener el servicio, el nombre del fichero donde está almacenada la clave pública y el nombre del fichero donde se almacena la clave privada. Devuelve el resultado de la ejecución (OK/NOK). Este método realiza una petición al método de cifrado del servicio básico asimétrico pasando como parámetros el nombre del fichero y el nombre del fichero donde se almacena la clave pública del receptor y, a continuación, si se ha cifrado correctamente, hace otra petición al mismo método esta vez pasando como parámetros el nombre del fichero que contiene los datos cifrados y el nombre del fichero donde se almacena la clave privada del emisor.
<<Interfaz>>
iAuthPlusConf
StreamingOutput authPlusConf(String fileName, String publicKeyFile, String privateKeyFile, String callback)
authPlusConf
String html
StreamingOutput authPlusConf(String fileName, String publicKeyFile, String privateKeyFile, String callback) String host
String service String path String jquery
3.4.2.2.3
Servicio de autenticación, no repudio, integridad y confidencialidad
En la figura siguiente podemos observar el diagrama de clases del servicio compuesto de autenticación, no repudio, integridad y confidencialidad. La clase allSecurity implementa la interfaz iAllSecurity. Los atributos de clase son: host: cadena de texto con la dirección del servidor dónde se encuentran los servicios.
service_1: cadena de texto con la ruta al servicio asimétrico.
service_2: cadena de texto con la ruta al servicio de firma digital.
path_1: cadena de texto con la ruta al método de cifrado asimétrico.
path_2: cadena de texto con la ruta al método de generación de firma digital.
html: cadena de texto dónde se almacena el mensaje devuelto en cada método.
El método de la clase es:
allSecurity: método que genera el servicio compuesto. Recibe como parámetros el nombre del fichero sobre el que se desea obtener el servicio, el nombre del fichero donde está almacenada la clave privada y el nombre del fichero donde está almacenada la clave pública. Devuelve el resultado de la ejecución (OK/NOK). Este método realiza una petición al método de cifrado del servicio básico asimétrico pasando como parámetros el nombre del fichero y el nombre del fichero donde se almacena la clave púbica del receptor y, a continuación, si se ha cifrado correctamente, hace una petición al método de generación de firma digital pasando como parámetros el nombre del fichero que contiene el fichero en claro y el nombre del fichero donde se almacena la clave privada del emisor.
<<Interfaz>>
iAllSecurity
StreamingOutput allSecurity(String fileName, String privateKeyFile, String publicKeyFile String callback)
allSecurity
String html
StreamingOutput allSecurity(String fileName, String privateKeyFile, String publicKeyFile String callback) String host String service_1 String path_1 String path_2 String jquery String service_2
Figura 33: Diagrama de clases. Servicios compuestos: autenticación, no repudio, integridad y confidencialidad.
3.4.2.2.4
Servicio de confidencialidad e integridad
En la figura siguiente podemos observar el diagrama de clases del servicio compuesto de confidencialidad e integridad. La clase confPlusIntg implementa la interfaz iConfPlusIntg. Los atributos de clase son:
host: cadena de texto con la dirección del servidor dónde se encuentran los servicios.
service_1: cadena de texto con la ruta al servicio de generación de resumen.
service_2: cadena de texto con la ruta al servicio asimétrico.
path_1: cadena de texto con la ruta al método de generación del resumen.
path_2: cadena de texto con la ruta al método de cifrado del servicio asimétrico.
html: cadena de texto dónde se almacena el mensaje devuelto en cada método.
El método de la clase es:
confPlusIntg: método que genera el servicio compuesto. Recibe como parámetros el nombre del fichero sobre el que se desea obtener el servicio y el nombre del fichero donde está almacenada la clave pública. Devuelve el resultado de la ejecución (OK/NOK). Este método realiza una petición al método de generación del resumen pasando como parámetro el nombre del fichero y, a continuación, si se ha generado el resumen correctamente, hace una petición al método de cifrado asimétrico pasando como parámetros el nombre del fichero que contiene el fichero en claro y el nombre del fichero donde se almacena la clave pública del receptor.
<<Interfaz>>
iConfPlusIntg
StreamingOutput confPlusIntg(String fileName, String publicKeyFile, String callback)
confPlusIntg
String html
StreamingOutput confPlusIntg(String fileName, String publicKeyFile, String callback) String host String service_1 String path_1 String path_2 String jquery String service_2
3.4.2.2.5
Servicio de sobre digital
En la figura siguiente podemos observar el diagrama de clases del servicio compuesto de sobre digital. La clase digitalEnvelope implementa la interfaz iDigitalEnvelope. Los atributos de clase son:
host: cadena de texto con la dirección del servidor dónde se encuentran los servicios.
service_1: cadena de texto con la ruta al servicio simétrico.
service_2: cadena de texto con la ruta al servicio asimétrico.
path_1: cadena de texto con la ruta al método de generación de clave simétrica.
path_2: cadena de texto con la ruta al método de cifrado asimétrico.
html: cadena de texto dónde se almacena el mensaje devuelto en cada método.
Los métodos de la clase son:
digitalEnvelope: método que genera el sobre digital. Recibe como parámetros el nombre del fichero donde se desea almacenar la clave simétrica, el nombre del fichero donde está almacenada la clave pública y la longitud de la clave simétrica a generar. Devuelve el resultado de la ejecución (OK/NOK). Este método realiza una petición al método de generación de clave del servicio básico simétrico pasando como parámetros el nombre del fichero donde se almacenará la clave y la longitud de la clave a generar y, a continuación, si se ha generado la clave con éxito, hace una petición al método de cifrado del servicio básico asimétrico pasando como parámetros el nombre del fichero que almacena la clave simétrica generada y el nombre del fichero que contiene la clave pública asimétrica del receptor.
<<Interfaz>>
iDigitalEnvelope
StreamingOutput digitalEnvelope(String keyFile, String publicKeyFile, String keyLength, String callback)
digitalEnvelope
String html
StreamingOutput digitalEnvelope(String keyFile, String publicKeyFile, String keyLength, String callback) String host String service_1 String path_1 String path_2 String jquery String service_2