0

Güvenli Web Tabanlı Mesajlaşma Sistemi

Kultur Technologies için Go backend, duyarlı web arayüzü ve PostgreSQL ile AES-256 şifreli kurumsal mesajlaşma.

Genel Bakış

Kultur Technologies için geliştirilen bu full-stack platform, tarayıcı tabanlı mesajlaşmayı tamamen kurum içinde tutarak gizlilik, bütünlük ve gerçek zamanlı iş akışı gereksinimlerini karşılıyor. Go API katmanı AES-256 şifreleme uygular, PostgreSQL tüm mesajları ve anahtar metadatasını saklar, HTML/CSS/JS arayüzü masaüstü ve mobilde uyumlu, akıcı bir sohbet deneyimi sunar.

Güvenli mesajlaşma landing sayfası ve ana yerleşim
Figure 1. Kultur Technologies'in güvenli mesajlaşma yığınına giriş deneyimi.
Gerçek zamanlı mesajlaşma arayüzü
Figure 2. Masaüstü ve mobil için hızlandırılmış oturum açma / kayıt akışı.
Medya yükleme ve önizleme akışı
Figure 3. Statik HTML/CSS/JS istemcisinin işlediği şifreli medya hattını gösteren duyarlı sohbet penceresi.

Motivasyon

  • Kurumsal sohbet kanallarını hedef alan siber tehditler ve veri sızıntısı riskleri artıyor.
  • Ticari SaaS araçları pahalı, kapalı ve çoğu zaman esnek değil.
  • Amaç, uçtan uca şifreleme ve özelleştirilebilir bir web deneyimiyle kurum kontrolünde bir mesajlaşma yığını kurmaktı.

Proje Hedefleri

  • AES-256 ile güvenli mesajlaşma tasarlamak
  • Gerçek zamanlı metin ve multimedya paylaşımını desteklemek
  • Güçlü kimlik doğrulama ve erişim kontrolü uygulamak
  • Ayrılmış anahtar saklama ile yapılandırılmış PostgreSQL şeması modellemek
  • Kullanılabilirliği optimize eden duyarlı bir ön yüz sağlamak

Sistem Mimarisi

Frontend (HTML5/CSS3/JS)

  • Giriş / kayıt akışları, sohbet paneli, medya yükleme / önizleme
  • Mobil ve masaüstünde duyarlı yerleşimler, anlık mesaj render'ı

Backend (Go)

  • Oturumları ve token doğrulamayı yönetir
  • Mesajları yönlendirir, kuyruğa alır ve Go eşzamanlılığından yararlanır
  • crypto/aes + crypto/cipher ile AES-256 CBC şifreleme uygular
  • Multimedya kodlama, API uçları ve hata yönetimini ele alır

Veritabanı (PostgreSQL)

  • Karma kimlik bilgileriyle kullanıcı profillerini saklar
  • Şifreli mesajları, zaman damgalarını, gönderici/alıcı kimliklerini kaydeder
  • 256 bit anahtarları ve IV metadatasını ayrılmış MessageKeys tablosunda tutar
  • ER modeli, referans bütünlüğü için Users, Messages ve MessageKeys üzerine kuruludur
Kimlik doğrulama, şifreleme ve teslim aşamalarını gösteren aktivite diyagramı
Figure 4. Go servisleri, PostgreSQL depolama ve web istemcisi iş akışlarını bağlayan aktivite diyagramı.

Kriptografik Akış

  1. Güvenli 256 bit anahtar ve rastgele IV üret.
  2. Mesaj yükünü AES-256 CBC ile şifrele, Base64 kodla.
  3. Şifreli metni PostgreSQL'e yaz, anahtarları ayrı tabloda sakla.
  4. Yalnızca yetkili kullanıcılar için çöz; Playfair veya Vigenere gibi tarihsel şifreler yetersiz güç nedeniyle reddedildi.
Projede kullanılan AES-256 blok diyagramı
Figure 5. Go'da uygulanan AES-256 CBC tur yapısını belgeleyen referans diyagram.

Çekirdek Özellikler

  • Kimlik Doğrulama: Karma kimlik bilgilerini doğrular, oturumları sürdürür, giriş kontrollerini uygular.
  • Gerçek Zamanlı Mesajlaşma: Yetkili kullanıcılar arasında doğrudan metin/multimedya alışverişi.
  • Multimedya Paylaşımı: Görselleri sunucu tarafında şifreler ve alıcılar için çözer.
  • Anahtar Yönetimi: Mesaj anahtarlarını ayırarak yetkisiz erişime karşı ek savunma katmanı oluşturur.
  • Veritabanı Bütünlüğü: Her mesajı hem kullanıcı hem de anahtar kayıtlarına bağlayarak izlenebilirliği sağlar.

Uygulama Notları

  • Go backend; mesaj gönderme/alma, kimlik doğrulama ve dosya yükleme uçları sunar.
  • Ön yüz sayfaları (Auth.html, Chat.html) sohbeti canlı tutmak için asenkron güncellemeleri yönetir.
  • Akış: kullanıcı giriş yapar → backend JWT/oturum üretir → mesajlar şifrelenir ve saklanır → yetkili istemciler talep üzerinde çözer.

Test ve Doğrulama

  • Kimlik Doğrulama: Geçerli/geçersiz giriş durumları ve kaba kuvvet korumaları doğrulandı.
  • Mesajlaşma Kararlılığı: Eşzamanlı mesaj alışverişlerinde düşük gecikme korundu.
  • AES Doğrulaması: Hatalı anahtar/IV durumlarında hata yönetimi ve şifreleme/şifre çözme doğruluğu test edildi.