Geri Dön

RISC-V processor design for secure communication applications

Güvenlı̇ haberleşme uygulamaları ı̇çı̇n RISC-V ı̇şlemcı̇ tasarımı

  1. Tez No: 740009
  2. Yazar: RECEP ONUR YILDIZ
  3. Danışmanlar: DR. ÖĞR. ÜYESİ AYŞE YILMAZER METİN
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2022
  8. Dil: İngilizce
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Lisansüstü Eğitim Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
  13. Sayfa Sayısı: 94

Özet

Teknolojik gelişmeler ile birlikte cihazların işlem gücünü sağlayan birimlerin performansları her yıl artmaktadır. Performanstaki bu artış üretim teknolojisindeki ilerlemeler ve mimari yaklaşımlar ile elde edilmiştir. Üretim teknolojisindeki gelişmeler ile transistörlerin boyutları küçülmüş ve birim alanda bulunan transistör sayısı artmıştır. Fakat, bugünün üretim teknolojisi ile transistör boyutunda daha fazla küçülme sağlanması zor bir hale gelmiştir. Bu sebeple, hedeflenen performans artışını elde etmek için mimari olarak iyileştirme çalışmaları yapılmaktadır. Bu çalışmalara hızlandırıcılar örnek olarak verilebilir. Hızlandırıcılar belirli görevleri yapmak için tasarlanan birimlerdir. Bu birimler işlemciye fonksiyonel birim olarak ya da haberleşme kanalı ile işlemciye entegre edilebilirler. Cihazlar bir ağ oluşturarak ağdaki diğer cihazlar ile veri alışverişinde bulunabilirler. Cihazlar arasındaki bu haberleşme uzak mesafe güvenli olmayan bir kanal üzerinden gerçekleşebilir. Bu durumda, ağdaki cihazların şifreleme algoritmalarını ve modülasyon şemalarını kullanmaları gerekmektedir. Şifreleme algoritmaları iki cihazın güvenli olmayan bir ağda veriyi güvenli olarak paylaşmasına olanak sağlamaktadır. Bu algoritmalar matematiksel fonksiyonlar yardımı ile veriyi şifreler. Şifrelemede kullanılan anahtara sahip olunmaması durumunda, şifrelenmiş verinin çözülmesi zordur. Çünkü, şifrelemede kullanılan fonksiyonlar tek yönlü hesaplanması kolay; tersi yönde hesaplaması gerekli bilgiler olmadan zor olan fonksiyonlardır. Şifrelenmiş veri kablosuz haberleşme ile gönderilmek için uygun durumda değildir. Uzun mesafeli bir kablosuz haberleşme kanalında gönderilmeden önce veri, modülasyon şemaları kullanılarak haberleşme için efektif işaretlere dönüştürülür. Modülasyon şemaları mesaj işaretini taşıyıcı işaretin mesaja göre farklılaşan değerlerinde ifade ederler. Böylece bant ve güç kullanımı açısından verimli işaretler elde edilmiş olunur. Tasarlanan programlar genel amaçlı işlemciler üzerinde koşturulabilir. Programlar işlemcide koşturulmadan önce komut seti tarfından tanımlandığı şekliyle komutlara çevrilirler. Her bir komut işlemci üzerinde gerçekleşecek işlemleri tanımlar. Bu işlemler hafıza, aritmetik, ve veri hattı kontrol işlemleridir. Hafıza işlemleri komuta göre veri hafızasından okuma ya da veri hafızasına yazma işlemi geçekleştirirler. Bu işlemler birden fazla saat işareti periyodu boyunca sürmektedir. Bu yüzden, bu işlemler veri hattında duraksamaya sebep olabilirler. Aritmetik işlemler komutun fonksiyonunca belirtilen toplama, çıkarma, çarpma, bölme, aritmetik ve lojik kaydırma işlemlerini gerçekleştirirler. Çarpma ve bölme işlemleri birden fazla saat işareti periyodu boyunca sürerken, diğer aritmetik işlemler bir saat işareti periyodunca sürmektedir. Bu sebepten ötürü arka arkaya kullanılan çarpma veya bölme işlemleri veri hattında duraksamaya sebep olurlar. Modülatör şemaları taşıyıcı işaret kullanarak mesaj işaretini işlerler. Kullanılan bu taşıyıcı işaret sinüzoidal bir işarettir. Sinüs fonksiyonunun değerleri, sonuçların hafızada tutulması ile ya da Taylor serisi ile hesaplanarak elde edilebilir. Sonuçların hafızada tutulması hafıza işlemlerinden kaynaklanan beklemelere yol açar. Diğer yandan Taylor serisi ile yapılan hesaplamalar toplama, çıkarma, çarpma, ve bölme işlemlerini içermektedir. Bir trigonometrik fonksiyonun 3 terimli Taylor serisi ile hesaplanması 4 çarpma ve 3 bölme işlemlerini içerir. Bu yüzden, sinüs fonksiyonunun Taylor serisi ile hesaplanması çarpma ve bölme işlemleri kaynaklı beklemelere yol açar. Sinüs fonksiyonu veri hattında bekleme oluşturulmadan hızlandırıcılar ile hesaplanabilir. Şifreleme algoritmaları matematiksel fonksiyonlar ile güvenli haberleşmeyi sağlamaktadır. Bu fonksiyonlar modüler üslü sayılar ve bitler üzerinde yapılan işlemler a örnek olarak verilebilir. Modüler üslü sayılar işlemcide çarpma, toplama, ve bölme komutları ile hesaplanır. Modüler üslü sayılarda üssün bir artması programa 1 toplama, 1 çarpma ve 1 bölme işlemi komutu ekler. Bu yüzden büyük sayıların modüler üs alma işlemi çok sayıda çarpma ve bölme işlemi komutuna dönüşür. Sonuç olarak bu işlemler veri hattında beklemeye yol açarlar. Bitler üzerinde yapılan işlemler, büyük sayıların bit sayısı fazla olduğu için programın koşma süresini uzatırlar. Bu işlemler birbirinden bağımsız olduğu için hızlandırıcı ile paralel olarak hesaplanabilirler. Şifreleme algoritmalarının hesaplamaları bir hızlandırıcı kullanılarak hesaplanabilir. Böyle performans kaybı önlenebilir. Bu çalışmada, bir işlemci tasarımı yapılmıştır. Tasarlanan işlemci 3-kademeli, sıralı işlem yapan, RISC-V komut setine sahip bir işlemcidir.İşlemciye modülatör ve şifreleme algoritmalarını hesaplayan 2 adet fonksiyonel birim entegre edilmiştir. Böylece, bu algoritmaların oluşturduğu performans düşümü önlenmiştir. Modülasyon şeması olarak BPSK, QPSK, MSK, ve GMSK şemaları seçimlmiştir. Şifreleme için ise DHKE protokolü, ve RSA, AES'in CBC modu, SHA, SHA ve CMAC algoritmaları seçilmiştir. Modülasyon ve şifreleme algoritmalarının işlemciye olan etkisini incelemek için ibex adlı işlemci test edilmiştir. İbex işlemci 3 kademeden olulan RISC-V komut setini kullanan bir işlemcidir. Test için mesaj işareti AES şifreleme algoritması ile şifrelenmiştir. Şifrelenmiş mesaj daha sonra QPSK modülatörü ile modüle edilmiştir. Değişen mesaj uzunluğu için yapılan testler sonucunda bu algoritmaların sebep olduğu beklemelerin mesaj uzunluğu arttıkça arttığı gözlenmiştir. Modulasyon işlemlerini gerçekleştiren hızlandırıcı birim BPSK, QPSK, MSK, ve GMSK modulasyon şemalarının hesaplamaları için tasarlanmıştır. Birimin hesaplamasını yaptığı şema dinamik olarak veriye ihtiyaç olmadan yeniden ayarlanabilmektedir. Seçilen 4 modülasyon şeması için ortak kullanılan birimler bir kere kullanılmıştır. Bu sayede modülasyon hızlandırıcısının kaynak ve güç tüketimi azaltılmıştır. Şifremele algoritmaları için kullanılan hızlandırıcı cihazlar arası ortak gizli şifre paylaşımı için DHKE protokol hesaplamalarını yapabilmektedir. Cihazların doğrulaması için RSA aloritması gerçeklenmiştir. Gizlilik sağlamak için birim CBC modundaki AES algoritmasının hesaplamaları hızlandırıcı tarafından yapılabilmektedir. Veri bütünlüğünün kontrolü için CMAC ve SHA algoritmaları hızlandırıcı tarafından

Özet (Çeviri)

The performance of a processing unit increases every year with the technological advances and architectural approaches. Although the performance increases, repeated long-latency operations cause performance degradation and, at the end, the overall performance of a processor degrades. As an architectural improvement, an accelerator can be designed for a specific task and integrated to processing unit. Therefore, stalls can be eliminated and performance degradation can be prevented. There are applications which comprise communicating devices. These devices can deploy encrypted messages over a long range communication channel. Therefore, the application requires to implement cryptography algorithms and modulation schemes. Cryptography algorithms provide secure communication on insecure channels. These algorithms aim to provide confidentiality, authentication, and data integrity. To achieve these goals, they comprise mathematical operations that prevent unintended device to access shared information. Encrypted messages are digital signals which are not suitable for wireless communication. Therefore, modulation schemes are employed to convert digital signals into signals which are bandwidth and power efficient. Modulation schemes utilize carrier signals which have varying features according to message. A general purpose processor allows to run software. A software is converted into instructions and each instruction executed on the processor. In-order processors fetch the instructions as they are ordered by compiler. Instructions define the operation such as memory, arithmetic, and control flow. The memory and arithmetic operations can last more than one clock cycle depending on the function of the instructions. When these instructions are fetched they stall the pipeline due to structural or data hazards. The pipeline can also stalls if an instruction uses the same register with the earlier instruction. These stalls degrade the performance of a sequential core. The cryptography algorithms comprise mathematical functions for encryption and decryption. The modular exponentiation and bitwise operations are 2 of these functions. A modular exponentiation is converted into multiplication and division instructions which cause stalls on the pipeline. Cryptography algorithms can comprise repeated number of bitwise operations. Since most of them can be processed parallel, sequential processing is not efficient. Therefore, an accelerator can be integrated to a processor to prevent performance degradation. The modulation schemes utilize sinusoidal signals to modulate messages. These signals can be generated with Taylor's Series. The Taylor's Series calculates the trigonometric functions with arithmetic operations such as multiplication and division. Yet, multiplication and division instructions can cause stalls in in-order processors. Therefore, Taylor's Series calculations cause stalls on the processor and degrades the performance. The performance degradation caused by modulation schemes can be prevented with an accelerator. In this thesis, a processor with 2 custom functional units is designed for secure communication applications. The processor is a 3 stage, in-order, RISC-V processor. The functional units are designed to perform calculations of cryptography algorithms and modulator schemes. The Diffie-Hellman Key Exchange (DHKE) protocol is implemented to share secret key. The Rivest Shamir Adleman (RSA) algorithm is implemented to provide authentication. The confidentiality can be established by using Advance Encryption Standard (AES) block cipher in Cipher Block Chaining (CBC) mode. The Cipher based Message Authentication Code (CMAC) or Secure Hash Algorithm (SHA) algorithms can be used to calculate hash value of any data. The modulator unit can be reconfigured on run time without any configuration data. With modulator unit, messages can be modulated with one of Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), Minimum Shift Keying (MSK), and Gaussian Minimum Shift Keying (GMSK) schemes. The instruction set of the processor is extended to control custom functional units. To observe the speedup provided by these units, a message is encrypted with AES block cipher and cipher text is modulated with QPSK scheme. A default 3-stage, RISC-V processor and designed processor is simulated and their simulation result is compared. The simulation results show that the designed processor provides 16x speedup. Therefore, the delay between encryption and modulation of 2 consequent messages is reduced. So that, a general purpose processor suitable for secure communication applications is achieved. As the result, designed processor can be used in that applications with its benefits such as ease of development.

Benzer Tezler

  1. FPGA ile RISC-V tabanlı 32-bit kripto işlemci tasarımı

    RISC-V based 32-bit crypto processor design with FPGA

    KAMER KIRALİ

    Yüksek Lisans

    Türkçe

    Türkçe

    2024

    Mekatronik MühendisliğiKarabük Üniversitesi

    Mekatronik Mühendisliği Ana Bilim Dalı

    DOÇ. DR. CAN BÜLENT FİDAN

  2. Bloom filtre tabanlı bellek uygulamaları ile gömülü sistemlerde ve işlemcilerde etkinleştirilmiş Truva atının belirlenmesi

    Detecting an activated Trojan horse in embedded systems and processors with Bloom filter-based memory applications

    ALPEREN BOLAT

    Yüksek Lisans

    Türkçe

    Türkçe

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolTOBB Ekonomi ve Teknoloji Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. OĞUZ ERGİN

  3. Design of memory encryption and authentication for secureIoT edge devices

    Güvenli IoT uç cihazları için bellek şifreleme ve doğrulama tasarımı

    RECEP GÜNAY

    Yüksek Lisans

    İngilizce

    İngilizce

    2023

    Elektrik ve Elektronik MühendisliğiBoğaziçi Üniversitesi

    Elektronik Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ İSMAİL FAİK BAŞKAYA

  4. System-on-chip memory design for a domain-specific RISC-V processor

    Alana özgü RISC-V işlemcisi için Çip-Üstü-Sistem'de bellek tasarımı

    UTKU GÜLGEÇ

    Yüksek Lisans

    İngilizce

    İngilizce

    2023

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİhsan Doğramacı Bilkent Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. ÖZCAN ÖZTÜRK

  5. Hardware/software co-design of domain-specific RISC-V processor for graph applications

    Çizge uygulamaları için alana özgü RISC-V işlemcisinin donanım/yazılım ortak tasarımı

    MEHMETALİ SEMİ YENİMOL

    Yüksek Lisans

    İngilizce

    İngilizce

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİhsan Doğramacı Bilkent Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. ÖZCAN ÖZTÜRK