Güvenli IoT Veri İletimi

  • Konuyu başlatan Konuyu başlatan nt
  • Başlama tarihi Başlama tarihi

nt

Emekli
Katılım
21 Nisan 2023
Mesajlar
1,221
Selam !

Diyelim ki iki iot cihazı arasında güvenli bir şekilde veri iletmek istiyoruz
bu durumda verileri şifrelemek ve doğru anahtarla çözmek önemli


yaygın olarak kullanılan algoritmalar;
AES (Gelişmiş Şifreleme Standardı)
RSA (Rivest-Shamir-Adleman)
DSA (Dijital İmza Algoritması)
DH (Diffie-Hellman)
ECC (Eliptik Eğri Şifreleme) bulunmaktadır

ilk yazı için aes'i seçtim
en yaygın kullanılan şifreleme türüdür (führer iyi ki python bilmiyordu :D)

basit bir şekilde: kasanın anahtarını bilen kasayı açar bu yöntemde kullanıcagımız anahtar ile iki cihaz arasında bu kodları projenize göre kullanabilirsiniz

bir cihaz veriyi aes algoritması ile şifreleyecek diğer cihaz ise şifrelenmiş veriyi alıp doğru anahtarla çözecektir

sizlerle 3-5 satır kod ile nasıl veriyi şifreleyip çözeceğimizi anlatmaya çalışacağım

Kod:
from Crypto.Cipher import AES
import socket

anahtar = b'1234'  #Buradaki b byte 1234 de şifremiz tabiki gerçek senaryoda işlemi değiştiriniz

veri = "mekatronik.org"
cipher = AES.new(anahtar, AES.MODE_ECB)
sifrelenmis_veri = cipher.encrypt(veri.encode())

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect(('localhost', 12345))
    s.sendall(sifrelenmis_veri)

şimdi yolladık localhost:12345 e gitti çözme işlemine geçelim

Kod:
from Crypto.Cipher import AES
import socket

anahtar = b'1234'  #Aynı anahtar kullanılır

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind(('localhost', 12345))
    s.listen()
    conn, addr = s.accept()
    with conn:
        print('Bağlantı adresi:', addr)
        sifrelenmis_veri = conn.recv(1024)
        cipher = AES.new(anahtar, AES.MODE_ECB)
        orijinal_veri = cipher.decrypt(sifrelenmis_veri).decode()
        print("Alınan ve çözülen veri: " + orijinal_veri)


kodumda kullandığım mod ECB modudur ama en güvenli mod bu değildir!!!

Cipher Block Chaining (CBC) veya Counter (CTR) gibi modlar daha güvenlidir

ayrıca iki cihaz arasındaki iletişimde IP adresleri ve port numaralarını doğru şekilde ayarlanmalıdır
 
Son düzenleme:

Forum istatistikleri

Konular
7,234
Mesajlar
122,413
Üyeler
2,923
Son üye
birisim

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top