Sie sind auf Seite 1von 10

2019 10ª Conferencia Internacional IEEE sobre mecánicos e inteligentes Tecnologías de Fabricación (ICMIMT 2019)

basado en Python FPGA Implementación de AES mediante Migen de Internet de los


objetos de Seguridad
actualizaciones de software. En consecuencia, el desarrollo
y la
KO Setetemela, K. Keta, M. Nkhabu
Departamento de Matemáticas y Ciencias de la
Computación
Universidad Nacional de Lesotho
Roma, Lesotho
e-mail: khobatha.setetemela@gmail.com

Resumen-Internet de las cosas tecnología (IO) es por lo que es


posible para una amplia variedad de dispositivos de usuario
final para ser conectado a internet, lo que lleva a la riqueza y la
precisión de los datos reales que previamente habrían
necesitado mucho más engorrosos y costosos métodos. Pero
esta conexión también conduce a más desafíos en la seguridad
de los datos y el aumento del riesgo de ataques cibernéticos.
Mejoró, y más rápido, los regímenes de seguridad se han
convertido en un requisito clave de estas tecnologías de la IO.
Field Programmable Gate Array (FPGA) se han utilizado para
acelerar varios algoritmos de seguridad cibernética. Sin
embargo, mientras FPGAs son capaces de poder
computacional masivo, a través de su naturaleza altamente
paralelo, que son generalmente difíciles de programa; y
teniendo en cuenta el diseño de esquemas de cifrado modernos
esto está planteando un cuello de botella importante para
progresar en la seguridad de estas arquitecturas. En este
trabajo se investiga el uso de una herramienta de diseño de
FPGA de flujo de alto nivel basado en Python para la creación
rápida de prototipos de sistemas criptográficos de la IO. En
este trabajo ponemos en práctica una versión del algoritmo
Advanced Encryption Standard (AES), con el bloque y
tamaños de clave de 128 bits, mediante la herramienta de flujo
basado en Python. El diseño se verifica funcionalmente, se
genera una implementación de hardware Verilog, simulado y
luego ejecutado en una plataforma FPGA. El rendimiento del
diseño FPGA resultante se analiza en términos de utilización
de recursos y el rendimiento, y se compara con
implementaciones AES manuscritas similares reportados en la
literatura. Hemos encontrado nuestra aplicación FPGA tenía
una frecuencia de 512,742 MHz y un rendimiento de
65.63Gbps que es más que suficientemente rápido para la
mayoría de las aplicaciones de la IO.

Palabras clave-componente; Internet de los objetos (IO); la


seguridad cibernética; creación rápida de prototipos; FPGA;

I. yoINTRODUCCIÓN
El Internet de las Cosas (IoT) es un nuevo paradigma de
computación que se ha popularizado en los últimos años. Tiene
una muy amplia utilización en las aplicaciones y los contextos
en los que estos dispositivos envían datos muestreados, o
reciben instrucciones de control, en una red dispersa. Estos
dispositivos IO incluyen aplicaciones para automóviles,
dispositivos médicos, sensores y controladores en las industrias
de fabricación - para mencionar algunos contextos.
La seguridad es una gran preocupación para ambas
organizaciones y usuarios independientes que consideren el
uso de las tecnologías de la IO [1,2]. tecnologías de línea de
base de la IO vienen con numerosas vulnerabilidades de
seguridad, que incluyen: la autenticación débil, sin encriptar
mensajes enviados entre los dispositivos, inyecciones SQL y
falta de verificación o el cifrado de comandos de control y
metodologías de programación FPGA estándar basados en
VHDL y Verilog tienen una curva de aprendizaje [8]. Por lo
S. Winberg tanto, para abrir en marcha esta tecnología a un mayor uso
Departamento de la Universidad de Ingeniería Eléctrica de por los desarrolladores, ha habido una serie de alto nivel de
programación de herramientas flujos que se han desarrollado
Ciudad del Cabo Ciudad del Cabo, África del Sur e-mail:
para facilitar el desarrollo basado en FPGA.
simon.winberg@gmail.com
El objetivo de este trabajo es estudiar la viabilidad de
utilizar el basado en Python Migen [9] diseño de FPGA
herramienta de flujo para crear prototipos de algoritmos de
integración de los mecanismos de seguridad eficientes en seguridad prácticos para el dominio de aplicación de la IO.
tecnologías de la IO es una necesidad urgente [3,4]. Utilizamos código de alto nivel para implementar el
El cifrado es uno de los fundamentos de la seguridad de algoritmo AES en Migen y convertirlo en Verilog. El
Internet moderna. Se aplica en varias capas de la pila de Verilog resultante se sintetiza, coloca y se encamina, y
tecnología IO. En particular, el Advanced Encryption ejecutado en una FPGA. Su rendimiento se compara con la
Standard (AES) sigue siendo uno de los esquema de cifrado de las implementaciones similares publicados utilizando
más confiable y ampliamente utilizado en la IO [5,6]. Con el HDL y de alto nivel metodologías de diseño de FPGA.
fin de cumplir con los requisitos de cifrado de alta velocidad El resto del trabajo se organiza de la siguiente manera:
de algunas aplicaciones de la IO, los algoritmos de Sección II da un fondo de la IO y sus requisitos de seguridad,
seguridad, incluyendo AES son típicamente desplegados en una visión general de AES, FPGAs y la caja de herramientas de
computación de alto rendimiento arquitecturas (HPC), como diseño Migen FPGA. Sección III discute trabajo relacionado.
Field Programmable Gate Arrays (FPGAs) [7]. FPGAs son Sección IV resume la metodología de investigación utilizada en
dispositivos semiconductores altamente paralelos que este trabajo. Sección V discute consideraciones arquitectónicas
permiten a los diseñadores de aplicaciones para desarrollar diseño de hardware para el sistema de cifrado AES se utiliza en
digital de hardware personalizado. Mientras que la este documento. Los resultados se presentan en la sección VI y
ejecución de la lógica de puertas constituyente (es decir, el documento se concluye en la Sección VII.
sumadores, puertas lógicas y tejido de conmutación) que
constituye el fundamento de un FPGA pueden no ser tan
rápido la ejecución de instrucciones altamente optimizado
en una CPU,
Sin embargo, aunque proporcionan un alto poder de
cómputo, FPGAs son generalmente difíciles de programar.

978-1-5386-7972-2 / 19 / $ 31.00 © 2019 IEEE 194


II. segundoANTECEDENTES ByteSubstitution, las operaciones AddRoundKey y
En esta sección se describe brevemente los principales MixColumns en el que los datos están organizados en 4 × 4
conceptos en que se basa este documento. Una visión matriz llamada matriz de estado, excepto la última ronda, ya
general de la IO y sus requisitos de seguridad está cubierto que no pasa por MixColumns. Una visión general de alto
en la Subsección A. Subsección B describe el algoritmo de nivel de la encriptación y decription algoritmo AES se
cifrado AES. Una visión general de las tecnologías de muestra en la Fig. 2.
diseño de alto nivel para FPGA, con un enfoque en la caja ByteSubstitution es una operación de sustitución no
de herramientas Migen, está cubierto en la Subsección C. lineal byte por byte de cada byte en la matriz de estado
usando una pre-definido de 16 × 16 caja de sustitución (S-
A. Requisitos de la IO y Seguridad Box), que es esencialmente un plano tabla de consulta
El IO es la red de dispositivos, ellos ser dispositivos en (LUT). Los bytes en el S-Box se componen con la fusión de
vehículos, electrodomésticos o en otros lugares, que Campo Galois GF () y la aleatorización de bits.
contienen la electrónica (sensores o actuadores) que se
pueden conectar a la Internet para interactuar e intercambiar
datos [6].
La Fig. 1 muestra el modelo de arquitectura de 3 capas del
concepto IO, con ejemplos de tecnologías y protocolos
utilizados en cada capa. Las tres capas son: capa de aplicación,
la capa de red y la capa de percepción. La capa de aplicación
comprende de aplicaciones de software IO de usuario final en
diversos dispositivos dirigidos a diferentes dominios, tales
como e-salud, ciudad inteligente y las aplicaciones industriales
y de fabricación inteligentes. La capa de red transporta
información entre la percepción y la capa de aplicaciones
utilizando protocolos como Bluetooth, WiFi y 4G. Los
dispositivos físicos y las tareas que hacen residir en la capa de
la percepción; Estas tareas incluyen la detección, seguimiento y
control (por ejemplo, lectores de RFID de muestreo o agarrar
los fotogramas de una cámara). Se requieren tipos adecuados
de seguridad en cada nivel de esta arquitectura de la IO.

Figura 2. Una visión general del cifrado y descifrado el algoritmo AES.

El paso ShiftRows organiza el estado en una matriz y


aplica un desplazamiento de byte circular en cada fila. La
primera fila no se desplaza, segunda fila se gira a la
izquierda por un byte, tercera fila se gira a la izquierda por
dos bytes y la cuarta fila se gira a la izquierda por tres bytes.
La operación de cambio de filas proporciona la propiedad de
difusión necesario para el cifrado.
operación MixColumns reemplaza una columna entera
por una función, es decir, una multiplicación de matriz de la
matriz de estado con una matriz fija 4 × 4. Por otra parte,
MixColumns, conjuntamente con ShiftRows, proporciona la
difusión necesaria para el sistema de cifrado.
AddRoundKey realiza una operación XOR bit a bit entre
los bytes en la matriz de estado con la clave de ciclo de 128
bits. El algoritmo de expansión llave tradicional divide el
clave de 128 bits en cuatro palabras wyo, wi + 1, wi + 2 y Wi +
3de 32 bits cada uno. se genera la clave redonda de 128 bits
para la siguiente ronda
usando las cuatro palabras de 32 bits de la ronda anterior a
Figura 1.3 capas modelo arquitectónico de la IO [10]. través del algoritmo de expansión de claves. Una
descripción detallada de AES se puede encontrar en [11].
B. AES y sujeción de la IO C. Migen y FPGA de Alto Nivel Diseño Metodologías
AES es un cifrado simétrico de bloques de una longitud Diseño de alto nivel es un término amplio para las
fija de modernas metodologías de diseño que permiten a los
128 bits con las longitudes de cifrado de 128 bits, 192 bits o diseñadores para describir el hardware digital de forma
256 bits que impliquen 10, 12 o 14 rondas de cifrado productiva en un alto nivel de abstracción (sobre el nivel de
respectivamente. Cada ronda de AES consiste en ShiftRows, transferencia de registros) y por lo tanto no preocuparse
mucho acerca de los complejos detalles de hardware de bajo
nivel.
Una metodología típica de diseño FPGA de alto nivel se o a nivel de sistema. los
basa en cualquiera de los diseños de entrada de algorítmica

195
la práctica general es aumentar lenguajes de software de alto lograr una mejor prestación, se considera una
nivel existentes, tales como C ++, Python, y Scala, para arquitectura segmentada.
producir nuevos lenguajes de hardware, como Migen [9],
MyHDL [12], SystemC [13], Cincel [14] y Vivado HLS
[15], respectivamente. Central de estas herramientas flujos
es un motor de generación de código que convierte las
descripciones de diseño de alto nivel en código RTL con la
que un FPGA se puede programar utilizando herramientas de
proveedor correspondiente.
En este documento, se utiliza un caudal de diseño de alto
nivel basado en Migen para crear prototipos de AES para la
seguridad de la IO. Migen [9] es una caja de herramientas
basada en Python para automatizar, más allá del enfoque
basado en HDL convencional, el proceso de construcción de
hardware digital de complejo. Construido sobre el idioma
del software Python popular, Migen aprovecha los ricos
modernos conceptos de diseño de software de Python, como
la programación y metaprogramming orientado a objetos
para permitir a los diseñadores para construir el hardware
digital de manera más simple, clara y productiva. En el
núcleo de la infraestructura de Migen es la fragmentación de
descripción de hardware (Capa de FHDL) - un sistema de
modelado de hardware formal que reemplaza el paradigma
orientado a eventos dominante de las HDL convencionales
con declaraciones combinatorias y síncronos.
III. TRABAJO RELACIONADO
En [16], un sistema de cifrado HIGHT de peso ligero
basado en FPGA se modela y optimizado. La optimización
se centra en la reducción de la utilización de recursos de
hardware, la energía y el consumo energético del sistema de
cifrado. diseños escalares y pipeline se consideran para
optimizar el algoritmo. La comparación de las mejores
implementaciones de oleoductos y escalares diseños, el
diseño escalar requiere un 18% menos recursos y un 10%
menos de energía, mientras que el diseño de la tubería tiene
18 veces más alto rendimiento y un 60% menos de consumo
de energía.
El flujo de diseño de alto nivel Handel-C fue utilizado
por [17] para implementar el algoritmo AES para el
hardware FPGA. [18] explora la síntesis del núcleo
coprocesador hardware AES partir de una especificación de
alto nivel ANSI C. Xilinx Vivado HLS es utilizado por [19]
para investigar la idoneidad de las herramientas de diseño de
síntesis de alto nivel en relación con el enfoque RTL escrito
a mano estándar para la implementación de algoritmos
criptográficos de hardware. El estudio compara y HLS-
genera implementaciones de hardware de un módulo
criptográfico basado en AES escrito a mano. [20] propone
un conjunto de programas de referencia, que incluye AES,
para la síntesis práctica basada en C de alto nivel.
IV.R NVESTIGACIONES FBAJO
El objetivo de esta investigación es investigar la
potencia expresiva de Migen - un alto nivel de diseño de
FPGA caja de herramientas basado en Python - para facilitar
la creación de prototipos de algoritmos de encriptación
basados en FPGA para la IO. Con el fin de lograr este
objetivo, los siguientes pasos son seguidos:
 Definir especificación del sistema de cifrado
AES: Este paso define las características de diseño
clave del cifrado AES a desarrollar. Tanto los
tamaños de clave y de bloque del sistema de cifrado
están obligados a ser parametrizable. Con el fin de
 Describir el sistema de cifrado AES en Python y V. UNARCHITECTURAL doONSIDERACIONES
verificar: Este paso se desarrolla y verifica una La arquitectura del sistema de cifrado AES pipeline
descripción de alto nivel de la cifra AES propuesto se muestra en la Fig. 3. El sistema de cifrado es
especificado en el paso anterior utilizando Migen. modular y consta de AddRoundKey, KeyExpansion,
Migen se utiliza para describir todos los módulos SubBytes, ShiftRows, MixColumns. Las interfaces y las
individuales que componen el sistema de cifrado y, consideraciones arquitectónicas de comportamiento de cada
finalmente, se integran en un solo módulo de nivel módulo se discuten a continuación.
superior. Cada módulo se verifica por separado a
través del simulador de lógica externa Migen, Ícaro
 Verilog, y los resultados visualizarse en GTKWave.
 Generar el hardware del modelo de alto nivel:
Este paso se utiliza el generador de código de Migen
para convertir automáticamente la descripción
basada en Python de alto nivel del sistema de cifrado
 AES en Verilog sintetizable.
 Comprobar que el hardware generada e
implementar en FPGA: Una vez que el código
Verilog equivalente del sistema de cifrado ha sido
generada automáticamente, Xilinx ISIM se utiliza
para verificar que la funcionalidad de la HDL
resultante es correcto. La verificación se realiza
mediante la comparación de los resultados de la
simulación lógica con la de una línea de base
software. El código verificado Luego se implementa
 utilizando ISE de Xilinx.
 Evaluar el rendimiento de la aplicación FPGA
resultante: El rendimiento del diseño HDL
implementado se analiza y se compara con otras
implementaciones similares del sistema de cifrado
AES reportado en la literatura. Para el propósito de
Figura 3. Implementación de la arquitectura del sistema de cifrado
comparación, se utilizaron los siguientes estudios de AES
literatura relacionada: [18, 21, 22].

196
A. Expansión Key la metodología de diseño de FPGA basada en RTL estándar y
La interfaz del módulo KeyExpansion consta de entrada otras herramientas de diseño de alto nivel. Para este estudio, los
de clave de cifrado, la entrada de texto plano, señales de resultados de implementación se lograron mediante la síntesis, la
control de entrada, 16 * (no. Rondas + 1) bytes de salida colocación y el encaminamiento de la Verilog generada
llaves y salida ampliadas permiten señales de control. 16 automáticamente
teclas bytes mapa para 10 rondas, 24 bytes claves para 12 y
32 bytes a 14 rondas. El módulo de ampliación tecla realiza
un máximo de 4 operaciones consecutivas incluyendo
palabra rotate (ROTWORD), palabra suplente (PALABRA
SUB), el cálculo ronda constante (RCON).
B. Añadir Ronda clave
La interfaz del módulo AddRoundKey consiste en la
introducción de texto cifrado, clave de ciclo de entrada
desde el módulo de expansión de claves, la entrada de
habilitación señales de control, datos de salida y los datos de
salida señales de habilitación. La salida se obtiene
realizando un XOR del cifrado de bloque de entrada con la
clave de ciclo.
C. Bytes Sustitutos
La interfaz del módulo SubstituteBytes consta de un
conjunto de datos de entrada en forma de una matriz de
estado, señales de control de entrada, de salida byte
sustituido matriz de estado y la salida de señal de
habilitación de control. Para el cifrado, cada valor del estado
se sustituye con el valor S-casilla correspondiente. La
operación se puede implementar como un simple constructo
si-else en Python, donde cada byte de entrada se asigna a un
valor S-caja correspondiente; pero esto fue codificado de
manera más eficiente el uso del bloque de memoria Migen
primitiva. Otra alternativa implementación de la etapa de
SubBytes era cargar la matriz S-box en un bloque de
memoria y realizar una consulta de leer con cada byte de la
matriz de estado de entrada. Sin embargo, esto se suma la
complejidad del código (reduce la legibilidad y
mantenibilidad) del diseño de alto nivel y por lo tanto no se
consideró más.
D. Filas Shift
El paso ShiftRows opera sobre las filas de estado; se
desplaza de forma cíclica los bytes en cada fila por un cierto
desfase. Para AES, la primera fila se deja sin cambios. Cada
byte de la segunda fila se desplaza una vez a la izquierda.
Del mismo modo, la tercera y cuarta filas son desplazados
por las compensaciones de dos y tres respectivamente. De
esta manera, cada columna del estado de salida de la etapa
de ShiftRows se compone de bytes de cada columna del
estado de entrada. La importancia de este paso es evitar las
columnas que se cifran de forma independiente, lo que
causaría AES degenere en cuatro cifras de bloque
independientes.
Columnas E. Mix
La interfaz del módulo Columnas Mix incluye una
entrada de 128 bits, la señal de control de datos de entrada
de 1 bit, los datos de salida de 128 bits y la señal de control
de datos de salida de 1 bit. La operación Columnas Mix se
implementa sobre un campo de Galois como se describe en
[11].
VI.RESULTS
Tabla I y II muestran los resultados de la implementación
del sistema de cifrado AES de 128 bits basada en la
comparación contra Migen estudios similares sobre la base de
diseñar utilizando Xilinx ISE 14.7 en el dispositivo máxima de 814,846 MHz y el rendimiento de 104 Gbps.
XC7VX330T de un Xilinx. Este diseño basado en RTL es aproximadamente 1,6 mejor
que nuestro diseño basado en Python en términos de
A. Comparación con diseños basados en RTL rendimiento. Sin embargo, nuestro diseño es
manuscritas aproximadamente 4,7 veces más eficiente en términos de
Los resultados muestran que el rendimiento del hardware utilización de recursos LUT.
del núcleo AES generado automáticamente usando Migen es Otra RTL diseño escrito a mano [22] implementado en
comparable a la de diseños publicados mano escrito en RTL un dispositivo de menor rendimiento utiliza un total de 8384
en términos de rendimiento alcanzado. Nuestro diseño utiliza rebanadas y tiene una frecuencia máxima de 350,63 MHz y
un total de 2240 tablas de consulta (LUT), 10107 registros un rendimiento de 63.84 Gbps. Aunque nuestro diseño
rebanada, IO 386 puertos IO. se lograron Un período de reloj realiza un poco mejor que este diseño en términos de
máxima de 1.950ns, la frecuencia de 512.742 y el frecuencia y el rendimiento, el diseño es casi 1,2 veces
rendimiento de 65.63Gbps. mejor que nuestro diseño en términos de utilización de
recursos.
TABLA I. PENDIMIENTO doOMPARACIÓN DE NUESTRO PAGYTHON-BASADO
UNAES reDISEÑO CON HY-ESCRITO RTL-BASADO reIBUJOS Y M ODELOS
B. Comparación con otros diseños basados en de alto nivel
Los resultados de la Tabla II compara nuestra AES-128
RTL [21] RTL [22] Migen
aplicación de cifrado basado en Python con las
No. LUT 10603 - 2240 implementaciones basadas en otras metodologías de diseño
No. Registra de alto nivel.
rebanadas 10769 8384 10107
TABLA II. PAGENDIMIENTO doOMPARACIÓN DE NUESTRO PYTHON-Diseño basado
IO 389 - 386 Con un diseño Vivado HLS BASADO

Período (ns) 1.227 2,852 1.950 Vivado [18] Migen

Frecuencia (MHz) 814.846 350,63 512.742 No. Registra rebanadas 340 10107

Rendimiento (Gbps) 104 63.84 65.63 Período (ns) 2,857 1.950

Dispositivo xc7vx330t xc4vlx20 xc7vx330t Frecuencia (MHz) 350 512.742

Rendimiento (Gbps) 44.80 65.63


A RTL diseño escrito a mano [21] basado en entorno
de prueba relativamente similares utiliza un total de Dispositivo XC7 xc7vx330t
10603 LUTs, 10769 rebanadas de registro y 389 puertos
IO en términos de utilización de recursos y una frecuencia

197
Un diseño basado en HLS Vivado [15] se utiliza para la [6] LD Xu, W. Él, y S. Li. "Internet de las cosas en la industria: Una
comparación. Los resultados muestran que el diseño basado encuesta." IEEE Transactions on informática industrial, vol. 10, no. 4,
pp. 2233-2243, IEEE, 2014.
en Vivado es aproximadamente 30 veces más eficiente de
los recursos de nuestro diseño en términos de uso de las [7] KN Prasetyo, Y. Purwanto, y D. Darlis. "Una implementación del
cifrado de datos en Internet de los objetos utilizando el algoritmo
rebanadas de registro. Sin embargo, nuestro diseño supera el Blowfish en FPGA." En la Información y Comunicación (ICoICT),
rendimiento en términos de la frecuencia máxima y el 2014 2ª Conferencia Internacional sobre, pp. 75-79. IEEE 2014.
rendimiento. [8] DF Bacon, R. Rabá, y S. Shukla. "Programación de FPGAs para las
masas." Comunicaciones del ACM vol. 56, no. 4, pp. 56-63, ACM,
VII.CONCLUSIONS 2013.
La capacidad de Migen para facilitar la creación de un [9] S.Bourdeauducq. “Una caja Pythontool digitales para la construcción
de complejos
prototipo FPGA de un algoritmo de seguridad práctica la IO hardware". Obtenido desde
se ha investigado en este trabajo. El enfoque es describir una https://www.ohwr.org/attachments/2457/migen_icalepcs.pdf, 2013.
de 128 bits de cifrado AES usando Python y convertirlo [10] CE agujero. "Análisis de la seguridad de la IO: Una revisión de la
automáticamente a sintetizable Verilog HDL usando el arquitectura y los algoritmos criptográficos." Tesis de maestría,
generador de código de Migen. entonces el diseño Verilog Universitetet i Agder; Universidad de Agder, 2017.
resultante se sintetiza, coloca y se encamina en una FPGA y [11] J. Daemen, y V. Rijmen. "Al anunciar el estándar de cifrado avanzado
su rendimiento en comparación con diseños relacionados (AES)." Normas Federal de Procesamiento de Información de la
publicación vol. 197, 2001.
basados en RTL escrito a mano y otras metodologías de
diseño FPGA de alto nivel en términos de utilización de [12] Villar, JI, J. Juan, MJ Bellido, J. Viejo, D. Guerrero, y J. Decaluwe.
"Python como lenguaje de descripción de hardware:. Un estudio de
recursos y la velocidad. caso" En lógica programable (SPL), 2011 VII Conferencia del Sur en,
El estudio revela que Migen puede producir diseños pp. 117-122. IEEE 2011.
cuyo rendimiento es mejor que otro diseño de FPGA de alto [13] PR Panda. "SystemC: una plataforma de modelado que soporta
nivel de la herramienta flujos y una actuación que es múltiples abstracciones de diseño." En las actas del simposio
ligeramente inferior, pero, aún bastante cerca, diseños RTL internacional sobre 14a síntesis Systems, pp. 75-80. ACM, 2001.
escritas a mano. Por lo tanto, dado que AES es un algoritmo [14] J. Bachrach, H. Vo, B. Richards, Y. Lee, A. Waterman, R. Avižienis,
de cifrado estándar utilizado en muchos entornos de IO para J. Wawrzynek, y K. Asanović. "Cincel: la construcción de hardware
embebido en un lenguaje Scala". En Diseño Conferencia
proporcionar seguridad, Migen puede ser considerado para Automatización (DAC), 2012 49a ACM / EDAC / IEEE, pp. 1212-
FPGA creación de prototipos y la aceleración de las 1221. IEEE 2012.
implementaciones de seguridad prácticos para la IO. [15] Vivado Design Suite. Retreived de
https://www.xilinx.com/products/design-tools/vivado.html de 2019.
UNACKNOWLEDGMENT [16] BJ Mohd, T. Hayajneh, ZA Khalaf, y KMA Yousef. "Modelado y
Esta investigación fue parcialmente apoyado por la optimización del diseño de cifrado por bloques ALTA ligera con
aplicación FPGA." Seguridad y Redes de Comunicaciones vol. 9, no.
Universidad Nacional de Lesotho, África del Sur 13, pp. 2200-2216, 2016.
Observatorio de Radioastronomía (SARAO) y URC
[17] MM Biasizzo. "La implementación de hardware del algoritmo AES."
(Consejo de Investigación de la Universidad) de la Diario de Ingeniería Eléctrica vol. 56, no. 9-10, pp. 265-269, 2005.
Universidad de Ciudad del Cabo. [18] E. Homsirikamol, y K. Gaj. "¿Puede síntesis de alto nivel competir
contra un código escrito a mano en el dominio criptográfica? Un
REFERENCIAS estudio de caso." En Computación Reconfigurable y FPGAs
[1] M. Khan, MW Anwar, F. Azam, F. Samea, y MF Shinwari. "Un (RECONFIG), 2014 Conferencia Internacional sobre, pp. 1-8. IEEE
Enfoque basado en modelos para el control de acceso en Internet de 2014.
las Cosas (IOT) Aplicaciones-Una introducción a UMLOA". En la [19] S. Ahuja, ST Gurumani, C. Spackman, y SK Shukla. "Síntesis
Conferencia Internacional sobre Tecnologías de la Información y de coprocesador Hardware de una especificación ANSI C". IEEE Diseño
software, pp. 198-209. Springer, Cham, 2018. y Prueba de Computadoras vol. 4, pp. 58-67, 2009.
[2] J. Granjal, E. Monteiro, y JS Silva. "Seguridad para el Internet de las [20] Y.Hara, H. Tomiyama, S. Honda, y H. Takada. "Propuesta y análisis
cosas: un estudio de los protocolos existentes y las cuestiones de cuantitativo de la suite de programa de referencia CHStone para la
investigación abiertas." Surveys IEEE Communications y tutoriales síntesis práctica basada en C de alto nivel." Diario de Procesamiento
vol. 17, no. 3., pp. 1294-1312, IEEE, 2015. de la Información vol. 17, pp. 242-254, 2009.
[3] P. Jing, AV Vasilakos, J. Wan, J. Lu, y D. Qiu. "La seguridad de la [21] A. Salah. Obtenido de https://opencores.org/projects/aes-
Internet de las cosas: perspectivas y retos". Las redes inalámbricas 128_pipelined_encryption, 2013.
vol. 20, no. 8, pp. 2481-2501, 2014. [22] D. Yadav, y A. Rajawat. "Área de Análisis y rendimiento de
[4] D. Bastos, M. Shackleton, y F. El-Moussa. "Internet de las cosas: Un diferentes arquitecturas FPGA AES para implementaciones". En
estudio de las tecnologías y los riesgos de seguridad en los ambientes Nanoelectrónica y Sistemas de Información (INIS), 2016 IEEE
del hogar y de la ciudad inteligente." 2018. Simposio Internacional sobre, pp. 67-71. IEEE, 2016.
[5] DE Kouicem, A. Bouabdallah, y H. Lakhlef. "Internet de las cosas de
seguridad: Una encuesta de arriba hacia abajo." Redes de
Ordenadores, 2018.
198

Das könnte Ihnen auch gefallen