Tải bản đầy đủ (.pdf) (21 trang)

tiểu luận bảo mật thông tin chữ kĩ số rsa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.53 MB, 21 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

ĐI H C B CH KHOA H N I  

<b>TIỂU LUẬN BẢO MẬT THÔNG TIN </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<i>Ti</i>ểu lu<i>ận: B</i>ảo m<i>ật thông tin </i>

<b>M ĐU </b>

Trong c c ho t đng thương mi đin t cng như vic xây dng mt nn hnh chnh đin t , không th không t  nh đn mc đ chnh x c, an to n c a   cc b n thông b o đi  đưc gn t i đi v đn cng như vic xc thc đ ưi t ng gi b n thông b o đ. Điu ny ni lên s c n thi t c a vi c x c th      c v ch  ks.

Hin nay, B Thông tin v Truy n thông, B     Công thương, B Ti chnh v Ngân h ng Nh   nưc Vit Nam đ đưc Chnh ph cho php trin khai ch k s v x c th c trong thanh to    n đi   năm 2006. Hin nay, Hn Qu c n t t cng đang gip ta trin khai h tng cơ s kha công khai PKI trong Ch nh ph  đi n t .

Tất c k t qu trên ch y u l       đưc chuy n giao t bên ngo i. X t v l nh      vc an ninh qu c gia, ch ng ta s    đt câu h i: M c đ an to n c a ch k  s v t nh x c th c c   a văn bn c  đm b o yêu c u ca ch ng ta không khi m    chng ta ph i nh p ngo i ho   n ton dây chuy n công ngh ?  

Trên cơ s đnh gi m c đ an to n c a h   thng, nh m ch ng em đchn đ t i: <b> “Tm hiu v Ch k s RSA</b>  ” lm đi tưng đ nghiên c u ph c v cho môn hc.

Do kh năng cn hn ch, đc bit l kh  năng v ton hc cho nên mc d nhm đ c nhi m c   g ng nh m ho n th nh t    t nh t nhi m vấ   a mnh nhưng ckhông tr nh kh i cn c nhi u thi  t st. Nh m em r t mong nh ấ n đưc nhng nh n xt thẳng thn, chi tit đ  thy n t đ tip tc ho n thi n hơn na. Cui cng, nhm xin đưc gi lời cm ơn đ<b>n thy PGS.TS. Nguy n Linh Giang</b> đ hưng dn nhm trong su t qu nh ho n thi n   tr   Tiu lun. Xin chân th nh c m ơn thy.

<small>2 </small>

<i>Nhm 19</i>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<i>Ti</i>ểu lu<i>ận: B</i>ảo m<i>ật thông tin </i>

<i>Nhm 19</i>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<i>Ti</i>ểu lu<i>ận: B</i>ảo m<i>ật thông tin </i>

1.5. Hm băm (Hash function) ... 8

<b>CHƯƠNG 2: THUẬT TON CHỮ KÝ SỐ RSA………...9 </b>

2.1. Sơ đ thut to n ch k   s RSA………9

2.2.3. Cài đt gii thu t trong ngôn ng JAVA ... 13  

<b>CHƯƠNG 3: AN TON TRONG CHỮ KÝ SỐ RSA ... 14 </b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<i>Ti</i>ểu lu<i>ận: B</i>ảo m<i>ật thông tin </i>

4.1. DEMO thu t tốn mã hóa RSA ... 18 

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<i>Ti</i>ểu lu<i>ận: B</i>ảo m<i>ật thông tin </i>

Ch k s (Digital Signature) l  nhng thông tin đi kèm vi d liu nhm

chng th c ngu n g c v n i dung c     a văn bn. Ch k s    đưc da trên cơ sl thuy t h m    ho công khai (public key cryptography), c n g i l m h    a bất đi xng (asymetric cryptography), đư o ra đc t gii quyt câu h i: “Lm th no đ định ngha mt ch k cho c  c văn bn s, vi cc tnh chất tương  t như ch k vit tay ? ”

M h a công khai: S d ng 2 kh a c quan h       ton h c v i nhau, kh a   công khai (public key dng đ  a, đưc công b rng r i. Kh a c m h   n li l kha b m t (private key) d  ng đ gii m, đưc gi b mt.

M ha ất đ ng: Cơ sb i x ton hc ca h m h a b   ất đi xng l dng nhng h m m t chi  u, t  nhc l ng hm đ  t nh theo chi u thu n th d    cn theo chiu ngư c l i th v i không kh thi v i h      thng m y t nh hin ti.

Ch k s bao g m 3 th nh ph  n:

1. Thut ton to ra kha.

2. Hm t o ch k   l h m t nh ton ch k  trên cơ s kha mt v d liu cn k.

3. Hm ki m tra ch k l h m ki m tra xem ch k         đ cho c  đng vi kh a công c ng không. (Kh a n   y mi người c quyn truy cp cho nên mi người đu c th kim tra đưc ch k).

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<i>Tiểu lu : B</i>ận <i>ảo mật thông tin </i>

- Không th tái s d ng: m   ỗi ch ký chỉ có giá tr  ị trên 1 văn bn. - Không th  gi o. m

- Chng t chi: người gi không th  ph nhn đưc hnh đng k v o văn bn.

1. Là m t c huỗi ký t , có n i dung ph thu c vào n i dung b n tin   đưc k: kh  thay đi, khó dùng li. Do đ c  th xác th c n i dung b  n tin đư kýc

2. S  d ng thông tin mà chỉ c người ký m i có: Khó gi m  o, khó ch i tỗ . Do đ  c th  minh người ký x c

<small>7 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<i>Tiểu luận: Bảo mật thông tin </i>

3. Gn như không th gi mo ch ký

Ch k c nh đị Ch k thay đi theo ni dung văn bn

Gn li n v i n  i dung đưc k C th tch kh i n i dung đưc k

Hm băm l hm to n h c chuy  n đi thông đip (message) c d đ i bất kỳ (hu h n) th nh m t d y b t c     đ i c đị d  nh (t y thuc v o thut  ton băm). Dy bt ny đưc g i l   thông đip rt gn (message disgest) hay gi trị băm (hash value), đi din cho thông đ p ban đi u.

Hm băm SHA-1: Thu t to n SHA-1 nh  n thông đip  đu vo c chi u di k<264 bit, th c hi n x l v      đưa ra thông đip thu g n (message digest) c chi u d i c nh 160 bits. Qu nh t   đị  tr nh to n c ng th c hi   n theo t ng khi 512 bits, nhưng b đm x l dng 5 thanh ghi 32-bits. Thu t to n n  y chy tt v i cc b vi x l c c u tr c 32 bits.      ấ 

<small>8 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<i>Tiểu luận: Bảo mật thông tin </i>

<b>2.1. Sơ đ thut ton ch k s RSA </b>

Thông đip s  đưc ký b ng c ch m h a văn bn b ng khóa riêng (Private key) v i thu t tốn mã hóa RSA. K t q ch ký s (Digital signature)     ca thông đip s là b n mã c  a thông đip. Nu đ m ha 1 thông đip dài thì s t n r t nhi u th i gian trong c   ấ  ờ  vic mã hóa, gi i mã và truy n tin, vì v y   trưc khi đưa văn bn đ m ha, người ta s t nh to  n trưc 1 chuỗi đi din (hash value) ca thông đip s dng mt gi i thu t băm (Hashing Algorithm) SHA-1 ho c MD5. 

Sau đ thông đip ban đu s đưc ghép v i ch ký s t o thành thông    đip đ c ký. đư

Thông đip đ đưc ký s  đưc gi cho người nhn.

<small>9 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<i>Tiểu luận: Bảo mật thông tin </i>

Bên nh n s tách ph n ch ký s RSA v       thông đip đ k đ x lý.Tính tốn chuỗi đi din MD1 (Message digest) ca thông đip gc s d ng gi i thut băm (l gii thu t s d ng trong q trình ký là SHA-1).   

S dng khóa công khai (Public key) ca ngườ i đ gii g i mã ch ký s RSA => chuỗi đi din thông đip MD2.

So sánh MD1 và MD2:

● N u MD1 = MD2 => ch ký ki m tra th nh công. Th    ông đip đm bo tính tồn v n và th c s ẹ   xuất phát t  người g i (do khóa cơng khai đưc ch ng th c).  

● N u MD1 MD2 => ch ký không h p l .  ≠    Thơng đip có th  đbị sa đi ho c không th c s    xuất phát t ngườ i.i g

RSA là m t h mã hóa b  ất đ ng đưc phát trin bi Ron Rivest, Adi i xShamir và Leonard Adleman (tên ca n  cng ch nh l tên vi t t t c a 3 tác gi      

<small>10 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<i>Tiểu luận: Bảo mật thông tin </i>

ny) v  đưc s d ng r ng rãi trong cơng tác mã hố và công ngh   ch  k đi n t . Trong h mã hóa này, public key có th chia s cơng khai cho t t c   ẻ ấ mi người. Hot đng c a RSA d a trên 4 bưc chính: sinh khóa, chia s keyẻ , mã hóa và gi i mã. 

Thut tốn RSA có hai khóa:

• Khóa cơng khai (Public key): Đưc cơng b r ng rãi cho m  i người vàđưc dng đ mã hóa.

• Khóa bí m t (Private key): Nh ng thơng tin đưc mã hóa b ng khóa cơng khai ch có th ỉ  đưc gi i mã b ng khóa bí m  t tương ng.

Sau này, n s  đưc dùng làm modulus trong c public key và private key.

3. Tính m t s   gi nguyên t bng phi hm Euler như sau: 𝛷(𝑛) = ( − 1) 𝑝 ∗ ( 𝑞− 1)

Giá tr này s ị  đưc gi bí m t. 

4. Chn m t s  ngu nhiên ( 0 < 𝑒 𝑒 < 𝛷(𝑛)) sao cho: 𝐺𝐶𝐷 𝑒( , 𝛷( )) = 1 𝑛

<small>11 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<small>12 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<i>Tiểu luận: Bảo mật thông tin </i>

<b>2.2.3 Ci đặt gii thut trong ngôn ng JAVA </b>

S dng BigInteger trong gi java.math.* cung cấp hu ht cc hm dng v cc hm s hc cho php thao tc thun li vi s nguyên ln

Hm mod(BigInteger m): Tnh modulo (phn dư) ca php chia nguyên;

Hm BigInteger modInverse(BigInteger m): tnh modulo nghịch đo (this<small>-1</small>

mod m);

Hàm BigInteger modPow(BigInteger exponent, BigInteger m ):Tính (this<small>exponent</small> mod m).

C th code RSA To kha:

Mã ha: (code ny trong RSA , cn trong ch k s th d b mt đưc m ha)

Gii m: (code ny trong RSA , cn trong ch k s th e cơng khai đưc m hóa)

<small>13 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<i>Tiểu luận: Bảo mật thông tin </i>

Ch k s đưc cho l c kh năng đm bo an ton vô c ng cao nh ờ cơch b o m t tuy  t đi thông qua nhng đc đim sau đây:

H thng m h a công khai   đư  c s d ng trong ch k cho ph   p m ha văn bn v i kh a b m   t đưc s hu bi ch nhân c a ch k s      đ. M t văn bn n u mu n đưc k s th c n ph i đưc m h a b ng h   m băm, c ngha l  văn bn s đưc chia nh ra th nh c c chu i c  ỗ đ i c đị d  nh v ng n hơn văn bn gc, sau đ m ha bng kh a b m  t c a ch s h u ch k s .       

Đ kim tra ch k s, ph a người nh n c n gi i m b    ng kha công khai v  kim tra v i h m băm ca văn bn đ đưc nh n. N u 2 gi n   trị y khp nhau th  pha người nh n ho n to n c     th an tâm rng văn bn ny đưc xuất ph t t n  gườ ờ i s h u kh a b m  t.

Chnh bi đc đim n y m   ch    k s c kh ăng xc định ngun gc ntuyt đi, gi p lo i b    kh năng bị ẻ k gian l i d ng l  a đo, gi m o thông tin.

Ch ký s có tính tồn v n tuyẹ t đ i văn bi b n mt khi đ đưc ký thì khơng th b s ị a đi trong quá trình g i. Lý do là vì n u văn bn có bất kỳ thay đi nào dù là nh  nhất, th h m băm cng s bị thay đi theo và bị phát hin ngay l p t c. Chính vì v  y, văn b khi đưn c ký b ng ch ký s s     đưc bo toàn s nguyên v n 100% mà không m t bên th 3 nào có th can thi ẹ    p vo đ thay đi ni dung ca văn bn đ.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<i>Tiểu luận: Bảo mật thông tin </i>

th yêu cu người gi phi ký s  lên văn bn đ. Bi khi phát sinh tranh ch p, ấngười nh n s dùng chính ch ký s ngày c   a ngườ i như mt b ng chi g  ngxc minh lm căn c đ bên th ba xem xét và gi i quy t. Vì v y, ch ký s      đưc xem là công c an toàn nh ất đ chng th c ngu n g c c   a văn bn trong trường h p cn thi t.

Đ an to n ca h th ng RSA d a trên 2 v ấn đ a to n h c: B i to n c    phân t ch ra th a s nguyên t c c s nguyên l n v b i to n RSA. N u 2 b i            ton trên l  kh (không tm đưc thu t to n hi u qu    đ gii ch ng) th  không th th c hi  n đưc vic ph m ton b i v i RSA. Ph m m đ    t phn ph i  đưc ngăn chn bng cc phương php chuyn đi bn r an to n.

V v y mu n xây d ng h   thng RSA an ton th n = p*q ph i l m   t s đ n, không c l đ  kh năng phân tch n v mt tnh ton. Đ đm bo an ton nên ch n c c s nguyên t p v q t 100 ch s         tr lên.

Dưi đây l bng thời gian phân t ch m RSA:  

S c c ch  s trong s   đưc Thời gian phân tchphân tch

- Khi A v  B trao đi thông tin th C c th g i cho A m t kha bất k đ A tin rng đ  kha công khai c a B g l  i.

<small>15 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<i>Tiểu luận: Bảo mật thông tin </i>

- Sau đ C s gii m v đnh cp đưc thông tin. Đng thời m h a l i   thông tin theo kh a công khai c a B v g i l i cho B.     

- V nguyên t c, c A v    B đu không ph t hi n đư c s can thi p c a C.  

<b>3.2 </b>Cc đim yu ca ch k s s dụng gii thut RSA

<b>3.2.1 Hiu sut thực hin thut ton RSA </b>

Tc đ thc hin ca h RSA l mt trong nhng đim yu so vi cc h mt m kha đi xng.

Theo ưc tnh, thc hin m ha v gii m bng h mt m RSA chm hơn 100 ln so vi h m kha đi xng DES (Khi thc hin bng phn mm). V chm hơn 1000 ln so vi DES (Khi thc hin bng phn cng).

<b>3.2.2 Chi ph v tc độ thực hin thut ton RSA a. Chi phí </b>

Đ thc hin thut ton RSA phn ln tn chi ph thc hin cc php tnh cơ bn như : To kha, m ha, gii m. Qu trnh m ha, gii m tương đưc vi chi ph thc hin cc php tnh ly tha module n.

<small>16 </small>

<i>Nhm 19</i>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<i>Ti</i>ểu lu<i>ận: B</i>ảo m<i>ật thông tin </i>

Đ đm bo cho kha b mt đưc an ton th thường chn m công khai e nh hơn nhiu so vi s m b mt d, do đ chi ph thời gian đ thc hin m ha d liu nh hơn nhiu so vi thời gian gii m. b. Tc độ ca h RSA

Tc đ ca RSA l mt trong nhng đim yu ca RSA so vi cc h m đi xng, so vi h m DSA th RSA chm hơn t 100 đn 1000 ln.

<small>17 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<i>Tiểu luận: Bảo mật thông tin </i>

<small>▪ </small> Chy câu l nh 

<small>o </small>▪

<small>Khóa cơng khai :</small>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<i>Tiểu luận: Bảo mật thông tin </i>

<b>4.2.1. Q trình ký </b>

<small>• </small> Chy câu l nh 

<small>. . . </small>

<small>• </small> Chy câu l nh 

<small>19 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<i>Tiểu luận: Bảo mật thông tin </i>

3. H. C. Williams, “A modification of the RSA public-key procedure”.

4. William Stallings, “Cryptography-network-securi -5th-editionty ”, Fifth Edition. 5. Matt Bishop, “Introduction to Computer Security”.

6. Dang, Q. (2012), Secure Hash Standard (SHS), Federal Inf. Process. Stds. (NIST FIPS), National Institute of Standards and Technology,

Gaithersburg, MD, [online], (Accessed July 20, 2022)

<small>20 </small>

<i>Nhm 19 </i>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<i>Tiểu luận: Bảo mật thông tin </i>

<b>% CÔNG </b>

<b>VIC </b>

1 Nguyn Thị Phương Lý Tìm hiu khái nim  ch k v ý s, tính ch , so ấtsánh ch ký s và ch ký tay

25%

2 Cao Thị Thu Phương Thut toán ch ký s RSA 25%

3 Nguyn Tấn Thành An toàn trong ch ký s RSA 25%

<small>21 </small>

<i>Nhm 19 </i>

</div>

×