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>Ti</i>ểu lu<i>ận: B</i>ảo m<i>ật thông tin </i>
Trong c c ho t đng thương mi đin t cng như vic xây dng mt nn hnh chnh đin t , không th không t nh đn mc đ chnh x c, an to n c a cc b n thông b o đi đưc gn t i đi v đn cng như vic xc thc đ ưi t ng gi b n thông b o đ. Điu ny ni lên s c n thi t c a vi c x c th c v ch ks.
Hin nay, B Thông tin v Truy n thông, B Công thương, B Ti chnh v Ngân h ng Nh nưc Vit Nam đ đưc Chnh ph cho php trin khai ch k s v x c th c trong thanh to n đi năm 2006. Hin nay, Hn Qu c n t t cng đang gip ta trin khai h tng cơ s kha 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 vc 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 bn c đm b o yêu c u ca ch ng ta không khi m chng ta ph i nh p ngo i ho n ton dây chuy n công ngh ?
Trên cơ s đnh gi m c đ an to n c a h thng, nh m ch ng em đchn đ t i: <b> “Tm hiu v Ch k s RSA</b> ” lm đi tưng đ nghiên c u ph c v cho môn hc.
Do kh năng cn hn ch, đc bit l kh năng v ton hc cho nên mc d nhm đ c nhi m c g ng nh m ho n th nh t t nh t nhi m vấ a mnh nhưng ckhông tr nh kh i cn c nhi u thi t st. Nh m em r t mong nh ấ n đưc nhng nh n xt thẳng thn, chi tit đ thy n t đ tip tc ho n thi n hơn na. Cui cng, nhm xin đưc gi lời cm ơn đ<b>n thy PGS.TS. Nguy n Linh Giang</b> đ hưng dn nhm trong su t qu nh ho n thi n tr Tiu lun. Xin chân th nh c m ơn thy.
<small>2 </small>
<i>Nhm 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>Nhm 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. Hm băm (Hash function) ... 8
<b>CHƯƠNG 2: THUẬT TON CHỮ KÝ SỐ RSA………...9 </b>
2.1. Sơ đ thut to n ch k s RSA………9
2.2.3. Cài đt gii thu t trong ngôn ng JAVA ... 13
<b>CHƯƠNG 3: AN TON 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 nhng thông tin đi kèm vi d liu nhm
chng th c ngu n g c v n i dung c a văn bn. Ch k s đưc da trên cơ sl thuy t h m ho công khai (public key cryptography), c n g i l m h a bất đi xng (asymetric cryptography), đư o ra đc t gii quyt câu h i: “Lm th no đ định ngha mt ch k cho c c văn bn s, vi cc tnh chất tương t như ch k vit tay ? ”
M h a công khai: S d ng 2 kh a c quan h ton h c v i nhau, kh a công khai (public key dng đ a, đưc công b rng r i. Kh a c m h n li l kha b m t (private key) d ng đ gii m, đưc gi b mt.
M ha ất đ ng: Cơ sb i x ton hc ca h m h a b ất đi xng l dng nhng h m m t chi u, t nhc l ng hm đ t nh theo chi u thu n th d cn theo chiu ngư c l i th v i không kh thi v i h thng m y t nh hin ti.
Ch k s bao g m 3 th nh ph n:
1. Thut ton to ra kha.
2. Hm t o ch k l h m t nh ton ch k trên cơ s kha mt v d liu cn k.
3. Hm ki m tra ch k l h m ki m tra xem ch k đ cho c đng vi kh a công c ng không. (Kh a n y mi người c quyn truy cp cho nên mi người đu c th kim 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 bn. - Không th gi o. m
- Chng t chi: người gi không th ph nhn đưc hnh đng k v o văn bn.
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 li. 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>Nhm 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. Gn như không th gi mo ch ký
Ch k c nh đị Ch k thay đi theo ni dung văn bn
Gn li n v i n i dung đưc k C th tch kh i n i dung đưc k
Hm băm l hm to n h c chuy n đi thông đip (message) c d đ i bất kỳ (hu h n) th nh m t d y b t c đ i c đị d nh (t y thuc v o thut ton băm). Dy bt ny đưc g i l thông đip rt gn (message disgest) hay gi trị băm (hash value), đi din cho thông đ p ban đi u.
Hm băm SHA-1: Thu t to n SHA-1 nh n thông đip đu vo c chi u di k<264 bit, th c hi n x l v đưa ra thông đip 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 khi 512 bits, nhưng b đm x l dng 5 thanh ghi 32-bits. Thu t to n n y chy tt v i cc b vi x l c c u tr c 32 bits. ấ
<small>8 </small>
<i>Nhm 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>
Thông đip s đưc ký b ng c ch m h a văn bn 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) ca thông đip s là b n mã c a thông đip. Nu đ m ha 1 thông đip dài thì s t n r t nhi u th i gian trong c ấ ờ vic mã hóa, gi i mã và truy n tin, vì v y trưc khi đưa văn bn đ m ha, người ta s t nh to n trưc 1 chuỗi đi din (hash value) ca thông đip s dng mt gi i thu t băm (Hashing Algorithm) SHA-1 ho c MD5.
Sau đ thông đip ban đu s đưc ghép v i ch ký s t o thành thông đip đ c ký. đư
Thông đip đ đưc ký s đưc gi cho người nhn.
<small>9 </small>
<i>Nhm 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 đip đ k đ x lý.Tính tốn chuỗi đi din MD1 (Message digest) ca thông đip gc s d ng gi i thut băm (l gii thu t s d ng trong q trình ký là SHA-1).
S dng khóa công khai (Public key) ca ngườ i đ gii g i mã ch ký s RSA => chuỗi đi din thông đip MD2.
So sánh MD1 và MD2:
● N u MD1 = MD2 => ch ký ki m tra th nh công. Th ông đip đm bo 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 đip có th đbị sa đ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 trin bi Ron Rivest, Adi i xShamir và Leonard Adleman (tên ca n cng ch nh l tên vi t t t c a 3 tác gi
<small>10 </small>
<i>Nhm 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>
ny) 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 ẻ ấ mi người. Hot đ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ã.
Thut 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 dng đ 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 bng phi hm Euler như sau: 𝛷(𝑛) = ( − 1) 𝑝 ∗ ( 𝑞− 1)
Giá tr này s ị đưc gi bí m t.
4. Chn m t s ngu nhiên ( 0 < 𝑒 𝑒 < 𝛷(𝑛)) sao cho: 𝐺𝐶𝐷 𝑒( , 𝛷( )) = 1 𝑛
<small>11 </small>
<i>Nhm 19 </i>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><small>12 </small>
<i>Nhm 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 Ci đặt gii thut trong ngôn ng JAVA </b>
S dng BigInteger trong gi java.math.* cung cấp hu ht cc hm dng v cc hm s hc cho php thao tc thun li vi s nguyên ln
Hm mod(BigInteger m): Tnh modulo (phn dư) ca php chia nguyên;
Hm BigInteger modInverse(BigInteger m): tnh 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 To kha:
Mã ha: (code ny trong RSA , cn trong ch k s th d b mt đưc m ha)
Gii m: (code ny trong RSA , cn trong ch k s th e cơng khai đưc m hóa)
<small>13 </small>
<i>Nhm 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 bo an ton vô c ng cao nh ờ cơch b o m t tuy t đi thông qua nhng đc đim sau đây:
H thng m h a công khai đư c s d ng trong ch k cho ph p m ha văn bn v i kh a b m t đưc s hu bi ch nhân c a ch k s đ. M t văn bn n u mu n đưc k s th c n ph i đưc m h a b ng h m băm, c ngha l văn bn s đưc chia nh ra th nh c c chu i c ỗ đ i c đị d nh v ng n hơn văn bn gc, sau đ m ha bng kh a b m t c a ch s h u ch k s .
Đ kim tra ch k s, ph a người nh n c n gi i m b ng kha công khai v kim tra v i h m băm ca văn bn đ đưc nh n. N u 2 gi n trị y khp nhau th pha người nh n ho n to n c th an tâm rng văn bn ny đưc xuất ph t t n gườ ờ i s h u kh a b m t.
Chnh bi đc đim n y m ch k s c kh ăng xc định ngun gc ntuyt đ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 bi b n mt 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 bn có bất kỳ thay đi nào dù là nh nhất, th h m băm cng s bị thay đi theo và bị phát hin ngay l p t c. Chính vì v y, văn b khi đưn c ký b ng ch ký s s đưc bo toàn s nguyên v n 100% mà không m t bên th 3 nào có th can thi ẹ p vo đ thay đi ni dung ca văn bn đ.
</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 cu người gi phi ký s lên văn bn đ. Bi 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ư mt b ng chi g ngxc minh lm 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 đ chng th c ngu n g c c a văn bn trong trường h p cn thi t.
Đ an to n ca 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 ton trên l kh (không tm đưc thu t to n hi u qu đ gii ch ng) th không th th c hi n đưc vic ph m ton b i v i RSA. Ph m m đ t phn ph i đưc ngăn chn bng cc phương php chuyn đi bn r an to n.
V v y mu n xây d ng h thng RSA an ton th n = p*q ph i l m t s đ n, không c l đ kh năng phân tch n v mt tnh ton. Đ đm bo an ton nên ch n c c s nguyên t p v q t 100 ch s tr lên.
Dưi đây l bng thời gian phân t ch m RSA:
S c c ch s trong s đưc Thời gian phân tchphân tch
- Khi A v B trao đi thông tin th C c th g i cho A m t kha bất k đ A tin rng đ kha công khai c a B g l i.
<small>15 </small>
<i>Nhm 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 gii m v đnh cp đư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.1 Hiu sut thực hin thut ton RSA </b>
Tc đ thc hin ca h RSA l mt trong nhng đim yu so vi cc h mt m kha đi xng.
Theo ưc tnh, thc hin m ha v gii m bng h mt m RSA chm hơn 100 ln so vi h m kha đi xng DES (Khi thc hin bng phn mm). V chm hơn 1000 ln so vi DES (Khi thc hin bng phn cng).
<b>3.2.2 Chi ph v tc độ thực hin thut ton RSA a. Chi phí </b>
Đ thc hin thut ton RSA phn ln tn chi ph thc hin cc php tnh cơ bn như : To kha, m ha, gii m. Qu trnh m ha, gii m tương đưc vi chi ph thc hin cc php tnh ly tha module n.
<small>16 </small>
<i>Nhm 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 bo cho kha b mt đưc an ton th thường chn m công khai e nh hơn nhiu so vi s m b mt d, do đ chi ph thời gian đ thc hin m ha d liu nh hơn nhiu so vi thời gian gii m. b. Tc độ ca h RSA
Tc đ ca RSA l mt trong nhng đim yu ca RSA so vi cc h m đi xng, so vi h m DSA th RSA chm hơn t 100 đn 1000 ln.
<small>17 </small>
<i>Nhm 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> Chy 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> Chy câu l nh
<small>. . . </small>
<small>• </small> Chy câu l nh
<small>19 </small>
<i>Nhm 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>Nhm 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>VIC </b>
1 Nguyn Thị Phương Lý Tìm hiu khái nim ch k v ý s, tính ch , so ấtsánh ch ký s và ch ký tay
25%
2 Cao Thị Thu Phương Thut toán ch ký s RSA 25%
3 Nguyn Tấn Thành An toàn trong ch ký s RSA 25%
<small>21 </small>
<i>Nhm 19 </i>
</div>