Güvenli IoT Veri İletimi

nt

Emekli
Katılım
21 Nisan 2023
Mesajlar
1,215
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

şifreleme:
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

çözümleme:
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:

Çevrimiçi personel

Forum istatistikleri

Konular
5,878
Mesajlar
100,183
Üyeler
2,488
Son üye
ilter

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top