Show simple item record

dc.contributor.advisorÖrs Yalçın, Sıddıka Berna
dc.contributor.authorDemir, İsmail
dc.date.accessioned2021-05-08T07:50:38Z
dc.date.available2021-05-08T07:50:38Z
dc.date.submitted2018
dc.date.issued2018-08-06
dc.identifier.urihttps://acikbilim.yok.gov.tr/handle/20.500.12812/635245
dc.description.abstractGünümüzde kriptografik sistemler verinin gizliliğini, bütünlüğünü ve kaynağınıdoğrulamak için kullanılmaktadır. Kriptografik sistemler simetrik ve asimetrik kriptosistemleri olmak üzere iki başlık altında toplanabilir. Simektrik kripto sistemlerindeşifreleme ve şifre çözme işleminde aynı anahtarın kullanılması gerekmektedir. Bunedenle haberleşmeden önce anahtar güvenli bir kanal üzerinden paylaşılmalıdır. Budurum uygulamada zorluklara neden olmaktadır. İlk olarak Diffie-Hellman'ınönerdiği asimetrik kripto sistemleri bu zorluğun üstesinden gelmektedir. Asimetrikkripto sistemlerinde şifreleme ve şifre çözme işlemi için açık ve kapalı anahtar olmaküzere iki farklı anahtar kullanılmaktadır ve sadece açık anahtarın paylaşılmasıhaberleşme için yeterlidir. Bu durumda güvenli kanal kullanılması gerekmemektedir.Asimetrik kripto sistemlerinde en yaygın kullanılan algoritma Rivest ShamirAdleman (RSA) algoritmasıdır. Hem simetrik hem de asimetrik kripto sistemlerinematematiksel altyapılarını hedef alan ve gerçeklemeyi hedef alan yan kanal analiziyöntemleri ile atak yapılmaktadır. Başlıca yan kanal analizi atakları zamanlamaanalizi, güç analizi ve hata enjekte etme ataklarıdır.Bu çalışmanın amacı RSA algoritmasının geçici bit hataları oluşturmak şeklindegerçeklenen hata enjekte etme ataklarına dayanıklı olacak şekilde gerçeklenmesidir.Bu amaçla gerçeklenebilir bir işlemci olan Leon3 kullanılarak 3 çekirdekli bir kırmıküstü sistem tasarlanmış ve sentezlenerek Digilent firmasının Nexys4DDR isimliSahada Programlanabilir Kapı Dizisi ( Field Programmable Gate Array - FPGA)geliştirme kartı üzerinde çalıştırılmıştır. Daha sonra Linux işletim sistemi Leon3 içinderlenerek tasarlanan sistem üzerinde koşması sağlanmıştır. Son olarak C++programlama diliyle RSA algoritması yazılmıştır. Her bir işlemci çekirdeği üzerindeaynı şifre çözme işlemi yapılarak yazılım tabanlı Üçlü Modül Yedekleme (TripleModular Redundancy – TMR) gerçeklemesi yapılmıştır. Bu gerçeklemede her birişlemci üzerinde çalışan RSA algoritması belli bir zaman farkı ile çalışmayabaşlamaktadır. Bu yöntemle geçici bit bozulmalarından etkilenerek yanlış sonuçüreten bir işlemci olması durumunda diğer iki işlemcinin ürettiği sonuç doğru kabuledilecektir.Gerçeklenen sistem üzerinde RSA algoritmasına kapalı anahtarın rastgele bir bitininyanlış okunmasına neden olan geçici hata oluşturarak atak yapılmıştır. Tek işlemcikullanılması durumunda yanlış şifre çözme sonucu üretilmiş ve kapalı anahtarın hatayaptırılan biti elde edilmiştir. 3 işlemci kullanılarak atak gerçeklendiğinde iseişlemcilerin RSA algoritmasını başlatmaları arasındaki zaman farkı enjekte edilenhatanın süresine göre makul bir şekilde büyük olunca sistemin hatalı olan şifreçözme işlemi sonucunu elediği görülmüştür. Ayrıca önerilen yöntem tek bir işparçacığının şifre çözme yaptığı durum ve yine benzer şekilde TMR kullanan ancakxviiş parçacıklarının çalışmaya başlama zamanları arasında süre farkı olmadığı ve aynıkapalı anahtarın birer kopyasının iş parçacıkları tarafından kullanıldığı durum ilekarşılaştırılmıştır. Önerilen yöntemin avantajları ve dezavantajlarıdeğerlendirilmiştir. Sonuçta Döngüsel Artıklık Denetimi (Cyclic Redundancy Check– CRC) ile kapalı anahtarın periyodik olarak kontrol edilmesi yöntemiyle birliktekullanıldığında önerilen yöntemin RSA'i hata enjekte etme atağına karşı koruduğuaynı zamanda hata düzeltme de yapabildiği gösterilmiştir.
dc.description.abstractNowadays, cryptographic systems are used to verify the confidentiality, integrity andsource of the data. Cryptographic systems can be grouped under two categories assymmetric and asymmetric crypto systems. In symmetric crypto systems,the screetkey needs to be used for both encryption and decryption. For this reason, the screetkey must be shared over a secure channel before communication. This situationcreates difficulties in practice. Asymmetric crypto systems proposed by DiffieHellman overcome from this difficulty. Asymmetric crypto systems use two differentkeys for encryption and decryption named public and private and sharing only thepublic key is sufficient for communication. In this case it is not necessary to use asecure channel. The most widely used algorithm for asymmetric crypto systems isthe Rivest Shamir Adleman (RSA) algorithm. Both symmetric and asymmetriccryptosystems are attacked by attacks which target mathematical infrastructures andside channel analysis attacks which target implementation. Major side channelanalysis attacks are timing analysis, power analysis and fault injection attacks.Multi-core processors offer higher processing power and lower operation frequencythan single-core processors. Multi-core processors also reduces system cost due tolower power consumption and less space occupancy. Multiprocessing consists ofAsymmetric Multi Processing (AMP) and Symmetric Multi Processing (SMP)modes. In SMP mode, one operating system manages all processor cores andapplications can use any of the processor cores. In AMP mode, each core runs adifferent operating system or a copy of the same operating system. In this thesis,Leon3 processor, a synthesizable processor designed by Gaisler Aeroflex, is used inSMP mode with 3 cores. The operating system running on Leon3 cores is chosen asLinux operating system compiled with SMP support. The Pthreads library is used totake advantage of multithreading support of Linux. Pthreads library providesfacilities such as writing code that multiple threads work in the same program andinter-thread synchronization mechanisms. It also allows configuration of the desiredthread so that it runs on the desired processor core.The purpose of this work is to implement the RSA algorithm to be resistant to faultinjection attacks, which are implemented in the form of temporary bit errors on thesecret key. For this purpose, a system on chip was designed and synthesized using 3Leon3 core and it was run on Digilent's Nexys4DDR Field Programmable GateArray (FPGA) development card. Then Linux operating system was compiled for theLeon3 microprocessor and it run on the Leon3 system on chip. Finally, the RSAalgorithm is written in C ++ programming language. Software based Triple ModularRedundancy (TMR) is implemented by performing the same decryption process oneach processor core. In this realization, the RSA algorithm running on each processorxviiiis starting to work with a certain time difference. If one of the processor cores isaffected by temporary bit errors and produces a wrong result, the result produced bythe other two processors will be accepted correctly.For analysing the proposed method three case are compared with each other. Firstcase is the one that only one thread is running for RSA decryption, that is, TMRmethod is not used. Second case is the one that three thread is running, that is TMRmethod is used, for RSA decryption of the same ciphertext with one copy of thesame secret key. Third case which is the proposed method is the one that three threadis running, that is TMR method is used, for RSA decryption of the same ciphertextwith the same secret key. In the proposed method, there is only one copy of thesecret key and all of three threads are using this copy. After analysis of these threecases, effect of Cylic Redundancy Check(CRC) for checking integrity of the secretkey is analyzed when used with the proposed method. Firstly, the proposed method istested on Linux operating system running on triple core Leon3 processor. It is shownthat the method is succesfully running on the system. After that, for detailed analysisof the proposed method, Linux operating system installed on PC is used because ofperformance constraint of Leon3 processor system I synthesized.In the analysis of the first case, that is only one thread is running for RSA decryption,the program written for analysis does different number of decryption at each step(from 50 to 2000 inreasing with 50 at each step). For each step percentage ofsucceeded fault attacks are calculated. Analysis results for first case shows that ateach step approximately 13,33% of fault attacks are succeeded. The same test is donewhen CRC is performed on the secret key with 1 ms period. In this case, 1,348% offault attacks are succeeded.For the second and third cases that TMR method is used, the most important situationis the situtation that the result of RSA decryption is wrong, while TMR method issucceeded, that is, at least two of three thread are generated the same result for RSAdecryption. In this situation fault attack is succeeded, because the system generatesfaulty output. Another important situation is the situation that TMR method is failed,that is, all threads are generated different decryption results with each other. In thissituation neither fault attack is succeeded, nor true result for decryption is generated.In the analysis of the second case, that is TMR method is used and all threads useone copy of the same secret key, the program written for analysis does differentnumber of decryption at each step (from 500 to 32000 inreasing with 500 at eachstep). For each step percentage of succeeded fault attacks are calculated. At the sametime the percentage of the situation that TMR is failed is calculated. Analysis resultsfor second case shows that at each step approximately 0,1% of fault attacks aresucceeded. Also 8,282% of fault attacks causes TMR method to fail. The same test isdone when CRC is performed on each secret key with 1 ms period. In this case,0,002578% of fault attacks are succeeded.In the analysis of the third case (the proposed method), that is TMR method is usedand all threads use the same copy of the secret key, for different start delays betweenthreads, analyzes are done. It is seen that when start delay is increasing, the successof fault attack is decreased, but not as much as in situation 2. The same test is done,when CRC period is performed on the secret key with different CRC period values.According to results, we can say that when CRC period and start delay of threadsincreasing, success rate of fault attack is decreasing. For every CRC period, if startxixdelay between thread 1-2 and 2-3 is greater than a specific value, success rate of faultattack goes to 0%.When we compare the second and the third case, we see that third case which is theproposed method is more secure because of usage of one copy for the secret key. Onthe other hand, the second method has advantage over the proposed method in termsof time consumed for one RSA decryption operation. In terms of the situation thatTMR is failed, the proposed method is more effective than the second case.en_US
dc.languageTurkish
dc.language.isotr
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rightsAttribution 4.0 United Statestr_TR
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/
dc.subjectBilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontroltr_TR
dc.subjectComputer Engineering and Computer Science and Controlen_US
dc.subjectElektrik ve Elektronik Mühendisliğitr_TR
dc.subjectElectrical and Electronics Engineeringen_US
dc.titleRSA algoritmasının üç çekirdekli LEON3 işlemcisi tabanlı sistem üzerinde hata enjekte etme atağına dayanıklı gerçeklenmesi
dc.title.alternativeImplementation of RSA algorithm resistant to fault injection attack on system based on triple core LEON3 processor
dc.typemasterThesis
dc.date.updated2018-08-06
dc.contributor.departmentElektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
dc.identifier.yokid10188914
dc.publisher.instituteFen Bilimleri Enstitüsü
dc.publisher.universityİSTANBUL TEKNİK ÜNİVERSİTESİ
dc.identifier.thesisid504989
dc.description.pages95
dc.publisher.disciplineElektronik Mühendisliği Bilim Dalı


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

info:eu-repo/semantics/openAccess
Except where otherwise noted, this item's license is described as info:eu-repo/semantics/openAccess