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,535
Mesajlar
126,277
Üyeler
3,050
Son üye
Wtrk

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
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 :)
Back
Top