Makalah ini membahas mengenai keamanan transmisi data pada Internet of Things (IoT) dengan menggunakan chip ESP8266. ESP8266 merupakan chip yang murah namun tidak dilengkapi fungsi enkripsi. Makalah ini mendemonstrasikan implementasi algoritma enkripsi AES-256 pada ESP8266 untuk mengamankan informasi saat transmisi data antara perangkat IoT. Implementasi menggunakan library AES dari GitHub dan mampu mengenkripsi 10 byte data dalam waktu kurang
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Securing IoT Devices with Encryption - Adharul & Royyannuur Kurniawan
1. Mengamankan IoT Device berbasis SoC ESP8266
Menggunakan Lightweight Encryption AES-256
Adharul Muttaqin S.T., M.T. & Royyannuur K. E.
Teknik Elektro Universitas Brawijaya
2. Bio
ROYYANNUUR KURNIAWAN ENDRAYANTO
MAHASISWA AKTIF JURUSAN TEKNIK ELEKTRO, FAKULTAS TEKNIK,
UNIVERSITAS BRAWIJAYA.
KETUA LEMBAGA WORKSHOP TEKNIK ELEKTRO DIVISI IOT
ASISTEN LABORATORIUM SISTEM DIGITAL TEKNIK ELEKTRO UB, DAN
ASISTEN MANAJER DEPARTEMEN KARYA ILMIAH UKM RKIM UB.
SYSTEM ON CHIP, CRYPTOGRAPHY, AND MICROBIOLOGY ENTHUSIAST.
3. Bio
RIWAYAT PENDIDIKAN
S2 Teknik Elektro, Institut Teknologi Bandung
Master Teknik 2003
S1 Teknik Elektro, Institut Teknologi Bandung
Sarjana Teknik 2000
PEKERJAAN SAAT INI
Dosen Teknik Elektro, Fakultas Teknik,
Universitas Brawijaya sejak 2005
TUGAS TAMBAHAN
Bidang Data Pemeringkatan Internasional, Pusat
Pemeringkatan Internasional, LP3M
Bidang Data dan Informasi, Unit TIK Universitas
Brawijaya
IDENTITAS DIRI
Nama : Adharul Muttaqin, ST, MT
Alamat : Malang
4. Mengamankan IoT Device berbasis SoC ESP8266
Menggunakan Lightweight Encryption AES-256
Adharul Muttaqin S.T., M.T. & Royyannuur K. E.
Teknik Elektro Universitas Brawijaya
5. Target Luaran
a. Mengamankan sistem mandiri (tanpa provider seperti IoT
platform).
b. Mengamankan sistem non-https seperti pengiriman data ke access
point dengan menggunakan protokol lain.
c. Mengamankan informasi pada transmisi data
Tujuan
Mencegah data sniffing
10. Aspek Keamanan Data
• Menjaga isi pesan dari yang tidak berhak membaca
Kerahasiaan (confidentiality)
• Memastikan tidak ada perubahan data yang dikirim
Integritas data (data integrity)
• Identifikasi antar pihak yang berkomunikasi
Otentikasi (authentication)
• Kejelasan sumber data
Nirpenyangkalan (non- repudiation)
15. XOR: Simple and Lightweight
Plain Text
U M M
85 77 77
Key
a b c
97 98 99
Plain Text
Binary 01010101 01001101 01001101
Key Binary 01100001 01100010 01100011
Cipher 00110100 00101111 00101110
Cipher 00110100 00101111 00101110
Key 01100001 01100010 01100011
Plain Text 01010101 01001101 01001101
Ascii 85 77 77
Text U M M
XOR
XORKarakteristik:
- Symmetrical Block Chipper, simple algorithm
- Key Size: unspecified
- Block Size: 1 bit
- Struktur: Subtitution
XOR(PlainText,
Key)
XOR(Cipher Text,
Key)
Key
Plain Text
Plain Text
Cipher Text
Key
16. AES: Modern and More Secure
AES Encryption AES Decryption
Key
Plain Text
Plain Text
Base64 Cipher Text
Key
Karakteristik:
- Symmetrical Block Chipper, open algorithm Rijndael
- Key Size: 128, 192, 256 bits
- Block Size: 128 bits
- Struktur: Subtitution-Permutation network
- Putaran: 10, 12, 14 (Sesuai key size)
17. Implementasi pada ESP8266 (Arduino Based)
• Gunakan AESLib dari
https://github.com/kakopappa/ardu
ino-esp8266-aes-lib
• Call aesLib.encrypt()
sebelum transmisi
• Transmisi berupa base64 character
• Call aesLib.decrypt() setelah
menerima satu blok data
18.
19. Penggunaan Memory pada ESP
Program Storage: 24% masih cukup untuk proses yang lain
Global variables memory: 34% (28152 bytes)
Alokasi Local variables memory: 53768 bytes
20. Penambahan Delay
Plain Text: helloworld (10 byte)
Waktu Enkripsi: 550 micro second
Cipher Text: 24 base64 Characters.