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

Tìm hiểu các ứng dụng của giải thuật 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 (718.47 KB, 22 trang )

Bài thi cuối kỳ mơn ANM

BỢ THƠNG TIN VÀ TRÙN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

TIỂU LUẬN MÔN HỌC
AN NINH MẠNG VIỄN THƠNG
Đề tài:
Tìm hiểu các ứng dụng của giải thuật RSA

Giảng viên:

T.s Phạm Anh Thư

Nhóm:

Nhom3.6

Gồm các SV: Trần Thị Bình Minh (B17DCVT240)
Nguyễn Văn Vũ (B17DCVT410)
Nguyễn Văn Đơ (B17DCVT063)

HÀ NỘI, 26/6/2021

1
Nhom3.N6


Bài thi cuối kỳ mơn ANM

LỜI NĨI ĐẦU


Chúng ta đang sống trong kỉ nguyên công nghệ, kỉ nguyên của tri thức với sự phát
triển như vũ bão của công nghệ thơng tin thì những ứng dụng của Tin học đã len lỏi
vào mọi ngóc ngách, phục vụ ngày một đắc lực hơn cho cuộc sống của con người.
Cùng với đó Chữ ký số được sử dụng trong rất nhiều lĩnh vực, ví dụ: trong kinh tế với
các cuộc trao đổi hợp đồng giữa các đối tác kinh doanh; trong xã hội là các cuộc bỏ
phiếu kín khi tiến hành bầu cử từ xa; hay trong các cuộc thi có phạm vi rộng lớn.
Một chữ ký số đã được xây dựng và phát triển là: RSA. Mặc dù bản thân nó vẫn cịn
tồn tại nhiều hạn chế như là về kích thước chữ ký, khả năng chống giả mạo chưa cao,
tuy nhiên, những khả năng mà nó đem lại cho chúng ta là rất hữu ích.
Khi áp dụng chữ ký số, vấn đề an ninh luôn được chúng ta quan tâm hàng đầu. Một
chữ ký số chỉ thực sự được áp dụng trong thực tế nếu như nó được chứng minh là
khơng thể hoặc rất khó giả mạo. Mục tiêu của những kẻ tấn cơng các sơ đồ chữ ký
chính là việc giả mạo chữ ký, điều này có nghĩa là kẻ tấn công sẽ sinh ra được chữ ký
của người ký lên thông điệp, mà chữ ký này sẽ được chấp nhận bởi người xác nhận.
Do vậy, để bảo mật, các thơng tin truyền trên Internet ngày nay đều có xu hướng được
mã hoá. Trước khi truyền qua mạng Internet, người gửi mã hố thơng tin, trong q
trình truyền, dù có ''chặn'' được các thơng tin này, kẻ trộm cũng khơng thể đọc được vì
bị mã hố. Khi tới đích, người nhận sẽ sử dụng một công cụ đặc biệt để giải mã.
Phương pháp mã hoá và bảo mật phổ biến nhất đang được thế giới áp dụng là phương
pháp mã hóa cơng khai RSA, chữ ký điện tử .
Vì vậy nhóm em đã quyết định chọn đề tài “ Ứng dụng hệ mật mã RSA và chữ kí điện
tử vào việc mã hóa thơng tin trong thẻ ATM ”
Nội dụng của tiểu luận của nhóm em gồm các chương sau:
Chương 1: Thuật tốn mã hóa RSA.
Chương 2: Các kiểu tấn công của RSA
Chương 3: Ứng dụng của RSA

2
Nhom3.N6



Bài thi cuối kỳ mơn ANM

MỤC LỤC

LỜI NĨI ĐẦU

2

MỤC LỤC..................................................................................................................................3
BẢNG PHÂN CƠNG CƠNG VIỆC..........................................................................................5
DANH MỤC HÌNH....................................................................................................................5
CÁC THUẬT NGỮ VIẾT TẮT.................................................................................................5
Mục đích và phạm vi nghiên cứu của tiểu luận..........................................................................6
Phướng pháp nghiên cứu............................................................................................................6
Chương 1. Thuật tốn mã hóa RSA............................................................................................6
1.1 Giới thiệu.........................................................................................................................6
1.2 Các thuật tốn sử dụng.....................................................................................................6
1.2.1 Thuật tốn sinh khóa..................................................................................................6
1.2.2 Thuật tốn mã hóa......................................................................................................7
1.2.3 Thuật tốn giải mã.....................................................................................................7
1.2.4 Chuyển đổi văn bản rõ..............................................................................................9
1.3 Đánh giá về hệ mật mã RSA.............................................................................................9
1.3.1 Độ an tồn :................................................................................................................9
1.3.2 Hiệu suất thực hiện của thuật tốn RSA....................................................................9
1.3.3 Chi phí và tốc độ thực hiện của thuật tốn RSA........................................................9
Chương 2: Các kiểu tấn cơng của RSA....................................................................................10
2.1. Tấn cơng dạng 1: Tìm cách xác định khóa bí mật.........................................................10
2.1.1 Bị lộ một trong các giá trị: p, q, (n).......................................................................10
2.1.2 Tấn cơng dựa theo khóa cơng khai n và b của người ký..........................................10

2.1.3 Khi nhiều người cùng sử dụng chung “modulo n”..................................................10
2.1.4 Sử dụng giá trị “modulo n” nhỏ...............................................................................12
2.1.5 Sử dụng các tham số (p-1) hoặc (q-1) có các ước nguyên tố nhỏ............................13
2.2 Tấn công dạng 2: Giả mạo chữ ký .................................................................................13
2.2.1 Người gửi G gửi tài liệu x cùng chữ ký y đến người nhận N..................................13
2.2.2 Trường hợp T lấy trộm được thông tin trên đường truyền từ G đến N....................13
Chương 3: Ứng dụng của thuật toán RSA................................................................................14
3.1 Ứng dụng trong bảo mật thông điệp và xác thực thông điệp..........................................14
3.1.1 Bảo mật thông điệp..................................................................................................14
3.1.2 Xác thực thông điệp.................................................................................................14
3.2. Ứng dụng của RSA trong bảo mật dữ liệu.....................................................................15
3.2.1 Chứng thực truy cập.................................................................................................15
3
Nhom3.N6


Bài thi cuối kỳ môn ANM
3.2.2 Truyền tải dữ liệu.....................................................................................................16
3.2.3 Chữ kí số..................................................................................................................17
3.3 Ứng dụng của RSA trong cơng nghệ thơng tin..............................................................17
3.3.1 Nghành tài chính – ngân hàng.................................................................................17
3.3.2 Cho bảo mật các ứng dụng và website.....................................................................18
3.4 Một số ứng dụng khác.....................................................................................................18
3.4.1 Công nghệ ARC trên cửa cuốn Austdoor................................................................18
3.4.2 Phát triển thiết bị PKI Token an toàn sử dụng trong hệ thống CA..........................18
TỔNG KẾT...............................................................................................................................21
TÀI LIỆU THAM KHẢO........................................................................................................22

BẢNG PHÂN CÔNG CÔNG VIỆC
Tên thành viên

Nội dung phân cơng
Ngày giao
Trần Thị Bình Tìm hiểu và tổng hợp nội 20/6/2021

Hạn
24/6/2021
4

Nhom3.N6


Bài thi cuối kỳ môn ANM

Minh

dung: Các kiểu tấn công của
RSA
Tổng hợp Nội dung của cả 25/6/2021
nhóm (Lý do chọn đề tài,
mục đích, phạm vi, phương
pháp)
Làm phần tổng kết;
20/6/2021

Nguyễn Văn Vũ

Nguyễn Văn Đơ

Tìm hiểu và tổng hợp nội 20/6/2021
dung: Thuật tốn mã hóa

RSA.
Tìm hiểu và tổng hợp nội 20/6/2021
dung: Ứng dụng của RSA

26/6/2021

24/6/2021
24/6/2021

24/6/2021

DANH MỤC HÌNH
7
8
8
4
4
5
7
8
Hình 9: Kiến trúc thiết bị PKI token........................................................................................19

CÁC THUẬT NGỮ VIẾT TẮT
AES
ARC
ATM
DES
PKI
RSA


Advanced Encryption Standard
Austmatic Rolling Code
Automated Teller Machine
Data Encryption Standard
Public Key Infastructure
Ron Rivest, Adi Shamir, Len
Adleman

Tiêu chuẩn mã hóa nâng cao
Cơng nghệ chống sao chép mã số
Máy rút tiền tự động
Tiêu chuẩn Mã hóa Dữ liệu
Hạ tầng khóa cơng khai

Mục đích và phạm vi nghiên cứu của tiểu luận
 Mục đích: Nhóm em tìm hiểu đè tài này để tìm hiểu rõ hơn về giải thuật chữ ký
số RSA cúng như nắm rõ được ưu nhược điểm của nó. Đồng thời tìm hiểu các
ứng dụng thiết thực của RSA trong thực thế như thế nào.
5
Nhom3.N6


Bài thi cuối kỳ môn ANM

 Phạm vi: Nghiên cứu về hệ mật mã hóa RSA, Các kiểu tấn cơng của RSA, và
Ứng dụng của RSA

Phướng pháp nghiên cứu
 Hoạt động nghiên cứu, tổng hợp, phân tích lý thuyết có sẵn trên cơ sở kiến thúc
được học.

 Hoạt động nghiên cứu tài liệu.
Sau đây nhóm em xin trình bày phần nội dung chính của tiểu luận

CHƯƠNG 1. THUẬT TỐN MÃ HĨA RSA
1.1 Giới thiệu
Hệ thuật tốn mã khóa cơng khai RSA là hệ thống mật mã do các giáo sư Ronald
Rivest, Adi Sharmir và Leonard Adleman phát minh năm 1978 tại Học viện cơng nghệ
Masachusetts (MIT).
Đây là thuật tốn đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã
hóa. Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã học trong việc sử dụng
khóa cơng cộng. RSA đang được sử dụng phổ biến trong thương mại điện tử và được
cho là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn.
Hệ mã RSA được xây dựng trên cơ sở mã hóa khối trong đó khóa mã hóa là cặp (e,n)
gồm số mũ e và module n. Với n là tích số của 2 số nguyên tố rất lớn nào đó, n = p*q
cịn (e, φ(n)) = 1, với φ(n) là giá trị hàm Euler của n, trong trường hợp này φ(n) = (p 1)*(q-1).
1.2 Các thuật toán sử dụng
1.2.1 Thuật tốn sinh khóa

Chọn hai số ngun tố lớn p và q (càng lớn càng tốt )

Tính n= pq . Chọn p , q sao cho 2i
Tính ∅ (n) = (p-1)(q-1)

Tìm một số e sao cho e nguyên tố cùng nhau với ∅ (n)

Tính số d sao cho e.d ≡ 1 mod ∅ (n) ( d là nghịch đảo của e trong phép
modulo ∅ (n)



Khóa cơng khai KU là cặp (e, n) , khóa riêng KR là cặp (d,n)

1.2.2 Thuật tốn mã hóa
Hệ RSA là một hệ mật mã điển hình về kiểu mã hóa khối. Nghĩa là, thông điệp được
chia thành nhiều khối (hoặc chuỗi) có chiều dài cố định, và mỗi khối sẽ được mã hóa
riêng. Giả sử để gửi thơng điệp bí mật M cho người nhận B trong nhóm gửi thơng tin
an toàn, người gửi A phải thực hiện các bước như sau:


Thu nhận khóa cơng khai KU (d,n) của người nhận B.

6
Nhom3.N6


Bài thi cuối kỳ mơn ANM


Dùng khóa cơng khai thực hiện một thuật tốn mã hóa để biến đổi thơng
tin thành một dãy số nguyên mà chỉ người có khóa riêng tư mới có thể giải mã
được

Hình 1 : Sơ đồ biểu diễn thuật tốn mã hóa RSA
Việc mã hóa thực hiện theo công thức :
Theo phương án 1 , mã hóa bảo mật : C =E (M, KU ) = Me mod n
Theo phương án 2 , mã hóa chứng thực C =E (M, KR ) = Md mod n
1.2.3 Thuật tốn giải mã
Để thực hiện q trình giải mã, khôi phục lại nội dung của thông điệp M từ bản mã C
nhận được, người nhận B sẽ thực hiện các bước như sau :


Dùng khóa riêng tư KR (e , n) của bên nhận để giải mã bản tin được mã
hóa

Thực hiện phép biến đổi ngược để giải mã chuỗi số nguyên đã giải mã
được để tìm ra thông tin M ban đầu
Việc giải mã thực hiện theo công thức :



´ =D (C , KR ) = Cd mod n
Theo phương án 1 , mã hóa bảo mật M
´ =D (C , KU ) = Ce mod n
Theo phương án 2 , mã hóa chứng thực M

Cả quá trình mã hóa và giải mã , bản rõ M có kích thước i-1 bit , bản mã C có kích
thước i bit

7
Nhom3.N6


Bài thi cuối kỳ mơn ANM

Hình 2 : Quy trình mã hóa và giải mã dữ liệu của RSA
Ví dụ RSA: Để minh họa ta sẽ thực hiện một ví dụ về mã hóa RSA.
1. Chọn p = 11 và q = 3, do đó n = pq = 33 (25 = 32 <33 < 64 = 26 )
2. ∅ (n) = (p-1)(q-1) = 20
3. Chọn e = 3 nguyên tố cùng nhau với ∅ (n)
4. Tính nghịch đảo của e trong phép modulo ∅ (n) được d = 7 (3x7 = 21)
5. Khóa cơng khai KU = (e, n) = (3, 33). Khóa bí mật KR = (d, n) = (7, 33)

Theo phương án 1 (mã hóa bảo mật )
6. Mã hóa bản rõ M=15 :
C = Me mod n =153 = 9 (vì 153 =3375 =102 x 33 + 9 )
7. Giải mã bản mã C = 9 :
´ = Cd mod n = 97 mod 33 =15 = M (vì 97 =4.782.696 = 144.938 x 33 + 15)
M

Hình 3: VD minh họa q trình mã hóa và giải mã
Theo phương án 2 ( mã hóa chứng thực ) :
6. Mã hóa bản rõ M =15
C = Md mod n =157 mod 33 = 27 (vì 157 =170.859.375 =5177.556 x 33 +27 )
7. Giải mã bản mã C= 9
´ = Ce mod n = 273 mod 33 =15 = M (vì 273 =19.683= 596 x 33 + 15)
M

1.2.4 Chuyển đổi văn bản rõ

Trước khi thực hiện mã hóa, ta phải thực hiện việc chuyển đổi bản rõ
(chuyển từ M sang chuỗi số nguyên tố ) sao cho không có giá trị nào của M tạo
ra bản mã khơng an toàn.

8
Nhom3.N6


Bài thi cuối kỳ môn ANM

1.3 Đánh giá về hệ mật mã RSA
1.3.1 Độ an toàn :
Độ an toàn của RSA được thiết kế dựa trên độ khó giải bài tốn phân tích ra thừa số

ngun tố n = p*q với 2 số nguyên tố bí mật lớn p, q. Nếu ta chọn các số p, q khoảng
100 chữ số thập phân thì nó sẽ có khoảng 200 chữ số thập phân. Để phân tích một số
nguyên cỡ lớn như thế với các thuật toán nhanh nhất hiện nay cùng với những máy
tính hiện đại nhất cũng mất hàng triệu năm. Như vậy việc phân tích số nguyên n thành
các thừa số nguyên tố p, q nhằm mục đích bẻ gãy hệ mật mã RSA là điều khó có thể
tính tốn nổi nếu như trong q trình thiết kế hệ RSA ta chọn số nguyên N lớn.
Hiện nay có nhiều thuật tốn phân tích mới đã được đề xuất ,thêm vào đó là việc cơng
nghệ xử lý của máy tính ngày càng nhanh nên hiện nay trên thực tế RSA thường bao
gồm một hình thức chuyển đổi ngẫu nhiên M trước khi mã hóa. Q trình chuyển đổi
này phải đảm bảo rằng M không rơi vào các giá trị không an toàn. Sau khi chuyển đổi,
mỗi bản rõ khi mã hóa sẽ cho ra một trong số khả năng trong tập hợp bản mã. Điều
này làm giảm tính khả thi của phương pháp tấn công lựa chọn bản rõ (một bản rõ sẽ có
thể tương ứng với nhiều bản mã tuỳ thuộc vào cách chuyển đổi).
1.3.2 Hiệu suất thực hiện của thuật toán RSA
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ật 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).
1.3.3 Chi phí và tốc độ thực hiện của thuật tốn RSA
a) Chi phí
Để thực hiện thuật tốn RSA phần lớn phải tốn chi phí thực hiện các phép tính cơ bản
như: sinh khóa, mã hố, giải mã. Q trình mã hố và giải mã tương đương với chi
phí thực hiện các phép tính luỹ thừa module n. Để đảm bảo cho khố bí mật được an
tồn thì thường chọn số 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ã hoá dữ liệu nhỏ hơn nhiều so với thời gian giải mã.
b) Tốc độ thực hiện
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ã DES thì RSA chậm hơn từ 100 đến 1000 lần, vì vậy RSA khơng được dùng
để mã hố khối lượng dữ liệu lớn mà thường dùng để mã hoá những dữ liệu nhỏ.


CHƯƠNG 2: CÁC KIỂU TẤN CÔNG CỦA RSA
2.1 Tấn cơng dạng 1: Tìm cách xác định khóa bí mật
2.1.1 Bị lộ một trong các giá trị: p, q, (n)
Giả sử trong q trình lập khóa mà người sử dụng để lộ nhân tử p, q hoặc (n) ra ngồi
thì kẻ tấn cơng sẽ dễ dàng tính được khóa bí mật a theo cơng thức:
a*b  1 (mod (n))
Biết được khóa bí mật, kẻ tấn cơng sẽ có thể giả mạo chữ ký của người dùng.
9
Nhom3.N6


Bài thi cuối kỳ mơn ANM

Giải pháp phịng tránh: Q trình tạo lập khóa phải được tiến hành ở một nơi kín đáo,
bí mật. Sau khi thực hiện xong thì phải giữ cẩn thận khóa bí mật a, đồng thời hủy hết
các giá tr trung gian: p, q,  (n).
2.1.2 Tấn cơng dựa theo khóa cơng khai n và b của người ký
Lúc này, kẻ tấn cơng sẽ tìm cách phân tích giá trị n ra hai thừa số nguyên tố p và q. Từ
đó, sẽ tính được (n)=(p-1).(q-1); cuối cùng tính được khóa bí mật a.
Giải pháp phịng tránh: Nên chọn số nguyên tố p và q đủ lớn để việc phân tích n thành
tích của hai thừa số nguyên tố là khó có thể thực hiện được trong thời gian thực. Trong
thực tế, người ta thường sinh ra các số lớn (ít nhất 100 chữ số), sau đó kiểm tra tính
ngun tố của nó.
2.1.3 Khi nhiều người cùng sử dụng chung “modulo n”
Khi có k người cùng đ ng ký sử dụng chữ ký RSA, trung tâm phân phối khóa CA sẽ
sinh ra 2 số nguyên tố p và q, rồi tính số modulo n = p*q. Sau đó, sinh ra các cặp khóa
mã hóa/giải mã {ei,di}. Trung tâm sẽ cấp cho người đ ng ký thứ i khóa bí mật d i tương
ứng, cùng với các thơng tin như: n, danh sách khóa cơng khai {e i} (i=1…k). Lúc này,
bất kỳ ai có thơng tin cơng khai như trên đều có thể:
Mã hóa văn bản M để gửi cho người đăng ký thứ i, bằng cách sử dụng thuật

tốn mã hóa RSA với khóa mã hóa ei:
Y  M ei mod n
-

Người đăng ký thứ i có thể ký văn bản M bằng cách tính chữ ký:
Si  M di mod n

Bất cứ ai cũng có thể xác thực rằng M được ký bởi người đăng ký thứ i bằng cách tính
Si ei mod n và so sánh với M.


Việc sử dụng chung “modulo n” dẫn đến:

Trường hợp 1: Một thành viên có thể sử dụng khóa cơng khai và khóa bí mật của mình
để tính ra khóa bí mật của người khác. Nghĩa là phải căn cứ vào khóa cơng khai e 1,
người giữ cặp khóa mã hóa/giải mã (e2,d2) mới có thể tìm được số nguyên d ’1 để e1.d’1
= 1 mod (n) mà không cần phải biết (n).
Để có thể tìm được giá trị d’1 này, ta cần tìm một số nguyên t, nguyên tố cùng nhau với
e1 và là bội của (n). Có thể tìm được vì (e, (n)) = 1.
Khi đó, do t và e1 là ngyên tố cùng nhau nên tồn tại r và s để r.t + s.e1 = 1.
Vì t là bội của (n) nên s.e1  1 mod (n), và nên d’1 = s.


Thủ tục tìm số dư d’1 như sau:(trong đó, chỉ cần đến các giá trị e1,e2,d2)

10
Nhom3.N6


Bài thi cuối kỳ môn ANM


(1)

Đặt t = e2.d2 – 1

(2)
Sử dụng thuật tốn Euclid mở rộng để tìm ước chung lớn nhất f của e 1 và t.
Đồng thời cũng phải tìm được hai số r và s thỏa mãn r.t + s.e1 = f
(3)

Nếu giá trị f = 1 thì đặt d’1 = s và kết thúc

(4)

Nếu giá trị f ≠ 1 thì đặt t:= t/f, thì quay ngược lại bước (2)

Nên ta có t nguyên tố cùng nhau với e 1. Theo các định nghĩa trên, ta biết rằng e 1
nguyên tố cùng nhau với (n). Thủ tục trên đưa ra khóa giải mã e 1. Vì độ phức tạp tính
tốn của thủ tục này là O((log n) 2), nên đó là một khả năng đe dọa đến hệ thống. Do
đó, những thơng tin mà có sẵn cho người dùng hợp pháp trong hệ thống có thể bẻ được
hệ thống mật mã. Tất nhiên, người dùng không thực hiện y nguyên theo yêu cầu của
nhà thiết kế giao thức dành cho người dùng, nhưng vẫn có thể lấy được những thông
tin cần thiết mà người dùng không vi phạm quy đinh của giao thức.
Trường hợp 2: Sử dụng số modulo n chung cũng làm cho thuật toán RSA dễ bị tấn
cơng, trong đó một người đăng ký có thể bẻ được hệ mật mã.
Khi mật mã bị sập thì kênh bí mật bị lộ và người đăng ký này có thể giải mã các văn
bản của người dùng khác, kênh chữ ký cũng hỏng vì người này có thể giả mạo chữ ký
của người dùng khác mà khơng hề bị phát hiện. Đó là sử dụng phương pháp xác suất
để phân tích thừa số modulo n thành nhân tử hoặc sử dụng thuật toán tất đ nh để tính
tốn ra số mũ giải mã mà khơng cần số modulo n. Ý tưởng của kiểu tấn công này là

phân tích số modulo n bằng cách tính căn bậc hai khơng tầm thường của 1 mod n.
Nghĩa là, tìm một số b thỏa mãn:
b2 = 1 mod n
b ≠ ± mod n
1< b < n-1
Nếu mà tìm được số b như thế, thì số modulo n có thể được phân tích theo cách sau:
Vì:

b2 = 1 mod n nên b2 – 1=0 mod n

(b+1).(b-1)=0 (mod n). Hay (b+1).(b-1)=s.n = s.p.q trong đó s là số nguyên tùy ý.
Nghĩa là (b+1).(b-1) chia hết cho cả 2 số p và q.
Nhưng vì 1Ta thấy, nếu b-1 chia hết cho p thì khơng chia hết cho q. Tương tự với b+1.
Vì vậy, ƯCLN của b+1 và n phải là p hoặc q.
11
Nhom3.N6


Bài thi cuối kỳ mơn ANM

Áp dụng thuật tốn Euclid để phân tích ra thừa số của n. Vì vậy, cách tấn cơng này tập
trung vào việc tìm căn bậc hai không tầm thường của 1 mod n.
Đặt e1 và d1 là khóa mã hóa và giải mã của người dùng hệ thống. Theo định nghĩa,
e1.d1 = 1 mod (n). Vì vậy, e1.d1 – 1 phải là số nguyên nào đó, là bội của (n), và có thể
tìm được các số nguyên không âm φ và k mà e1.d1 = c.(n)=2k φ, với φ là số lẻ.

Để tìm căn bậc hai không tầm thường của 1 mod n
Chọn 1 số nguyên a sao cho (a,n) = 1 đồng thời 1Tìm số nguyên dương j nhỏ nhất thỏa mãn:

2 j 
a
1 mod n (Vì 2k φ là bội của (n), nên chắc chắn tồn tại số này)
Đặt: b  a 2 j1 mod n
Nếu b ≠ -1 mod n thì nó là căn bậc hai khơng tầm thường của 1
Nếu b = -1 mod n thì quay lại bước (1)
Nếu ta xây dựng thuật toán xác suất, thử lần lượt với m giá trị ngẫu nhiên a
Thuật toán dừng nếu tính chất đó được nghiệm đúng ở một lúc nào đó và cho kết quả
b a 2 j1 mod n . Ngược lại, thuật tốn cũng dừng nhưng khơng cho kết quả.
Như vậy, thuật toán khi dùng m giá trị ngẫu nhiên a (1suất thành cơng ≥ 1– (1/2m). Và khi đó, ta tìm được phân tích p và q của modulo n. Do
đó, một người trong cuộc có thể bẻ mật mã trong giao thức này với xác suất rất cao
bằng cách sử dụng những thơng tin mà mình có. Cách tấn cơng này rất quan trọng vì
nó chỉ ra rằng những thơng tin về cặp khóa mã hóa/giải mã có thể cho phép tìm ra thừa
số của modulo n.
Giải pháp phịng tránh: sử dụng giá trị modulo n khác nhau cho mỗi người tham gia.
2.1.4 Sử dụng giá trị “modulo n” nhỏ
Như ta đã biết, trong sơ đồ chữ ký RSA thì cơng thức để tính giá trị chữ ký y trên bản
rõ x như sau: y = xa (mod n) với (y x  Zn)
Lúc này, kẻ tấn cơng có thể tính được khóa bí mật a theo cơng thức sau:
a = logxy (mod n) do các giá trị : x, y, n là cơng khai. Đây chính là việc giải bài toán
logarit rời rạc trên tập Z n. Bởi vậy, nếu như giá trị modulo n mà nhỏ thì bằng cách áp
dụng các thuật tốn đã trình bày ở trên kẻ tấn cơng có thể tìm ra được khóa bí mật a.
Giải pháp phòng tránh: Nên chọn các số nguyên tố p và q đủ lớn để việc giải bài tốn
logarit rời rạc trên vành Zn là khó có thể th c hiện được trong thời gian thực.
2.1.5 Sử dụng các tham số (p-1) hoặc (q-1) có các ước nguyên tố nhỏ
Nếu ta bất cẩn trong việc chọn các tham số p và q để cho (p-1) hoặc (q-1) có các ước
nguyên tố nhỏ thì sơ đồ chữ ký sẽ trở nên mất an tồn. Bởi vì, khi (p-1) hoặc (q-1) có
các ước ngun tố nhỏ thì ta có thể dùng thuật tốn (p-1) của Pollar để phân tích giá trị
modulo n thành thừa số một cách dễ dàng.

12
Nhom3.N6


Bài thi cuối kỳ mơn ANM

Giải pháp phịng tránh: Chọn các tham số p và q sao cho (p-1) và (q-1) phải có các ước
ngun tố lớn.
2.2 Tấn cơng dạng 2: Giả mạo chữ ký (khơng tính trực tiếp khóa bí mật)
2.2.1 Người gửi G gửi tài liệu x cùng chữ ký y đến người nhận N, sẽ có 2
cách xử lý:
Ký trước, mã hóa sau
Người gửi G ký trước vào x bằng chữ ký y = Sig G (x), sau đó mã hố x và y nhận được
z = eG (x, y) rồi gửi z cho N.
Nhận được z, N giải mã z để được x, y. Tiếp theo, kiểm tra chữ ký Ver N (x, y) = true ?
Mã hóa trước, ký sau
Người gửi G mã hố x trước bằng u = e G (x), sau đó ký vào u bằng chữ ký v = Sig G(u)
rồi gửi (u, v) cho N.
Nhận được (u, v), N giải mã u nhận được x. Tiếp theo, kiểm tra chữ ký Ver N (u, v) =
true ?
2.2.2 Trường hợp T lấy trộm được thông tin trên đường truyền từ G đến N
Trong trường hợp Ký trước, mã hóa sau; T lấy được z. Trong trường hợp Mã hóa
trước, ký sau; T lấy được (u,v).

Để tấn công vào x, trong cả hai trường hợp, T đều phải giải mã thông tin lấy
được.

Để tấn công vào chữ ký, thay bằng chữ ký giả mạo, thì xảy ra hai trường hợp:
- Trường hợp 1, để tấn công chữ ký y, T phải giải mã z, mới nhận được y.
- Trường hợp 2, để tấn cơng chữ ký v, T đã có sẵn v’, lúc này T chỉ việc thay

v bằng v’.
T thay chữ ký v trên u, bằng chữ ký của T là v’= Sig H(u) rồi gửi (u, v’) đến N.
Khi nhận được v’, N kiểm thử thấy sai, gửi phản hồi lại cho G.
G có thể chứng minh đó là chữ ký giả mạo.
G gửi chữ ký đúng v cho N, nhưng quá trình truyền tin sẽ bị chậm lại.
Như vậy, trong trường hợp 2, H có thể giả mạo chữ ký mà khơng cần phải giải mã.
Giải pháp phịng tránh: Hãy ký trước, sau đó mã hóa cả chữ ký.

CHƯƠNG 3: ỨNG DỤNG CỦA THUẬT TOÁN RSA
3.1 Ứng dụng trong bảo mật thông điệp và xác thực thông điệp
3.1.1 Bảo mật thơng điệp
- Sử dụng khóa cơng khai của bên nhận để mã hóa, sử dụng khóa bí mật của bên nhận
để giải mã

13
Nhom3.N6


Bài thi cuối kỳ mơn ANM

Hình 4: Sơ đồ bảo mật thơng điệp
3.1.2 Xác thực thơng điệp
- Sử dụng khóa riêng tư của bên gửi để mã hóa , sử dụng khóa cơng khai của bên gửi
để giải mã.

Hình 5: Sơ đồ xác thực thông điệp
3.2 Ứng dụng của RSA trong bảo mật dữ liệu
3.2.1 Chứng thực truy cập
- Chứng thực (authentication) : là quá trình một server xác định xem bạn là ai.
Phương pháp chứng thực đơn giản nhất mà bạn sử dụng hằng ngày được gọi là “đăng

nhập” (log in).
Tuy nhiên, một số người đặt mật khẩu rất dễ đốn, và mật khẩu có khả năng bị đánh
cắp rất cao bằng những thủ thuật đơn giản. Do đó, trong một số các ứng dụng, một
“mật khẩu điện tử” sẽ giúp việc chứng thực trở nên an toàn hơn.
- Thay vì một mật khẩu bình thường, người đăng nhập sẽ sinh ra một ra một bộ khóa
cơng khai và bí mật. Sau đó, người đăng nhập sẽ đăng ký khóa cơng khai lên server
14
Nhom3.N6


Bài thi cuối kỳ mơn ANM

(khóa bí mật khơng bao giờ bị tiết lộ ra ngoài). Mỗi khi cần đăng nhập vào server, các
bước sau đây sẽ xảy ra:
1.

Server sinh ra một số ngẫu nhiên a và gửi cho người đăng nhập.

2.
Người đăng nhập sử dụng khóa bí mật mã hóa a để tạo mật văn b gửi lại cho
server.
3.
Server sử dụng khóa cơng khai (được đăng ký trước đó) để giải mã. Nếu kết
quả sau khi giải mã lại bằng a, đó là bằng chứng cho việc người đăng nhập sở hữu
đúng khóa bí mật.
- Giải pháp RSA securID (xác thực 2 yếu tố): để đăng nhập vào hệ thống, người dùng
phải có đủ hai yếu tố: cái mà họ biết và cái mà họ có.

Hình 6: Giải pháp RSA SecurID
Các khái niệm liên quan:

+ RSA SecurID Authenticators:
Là thiết bị được gắn với người sử dụng. Chúng có thể là phần cứng hoặc phần mềm và
được gọi là các Token. Khách hàng có thể lựa chọn thiết bị phù hợp với nhu cầu của
mình.
+ RSA Authentication Agent:
Là phần mềm được cài lên trên các điểm truy cập vào mạng (Ví dụ: gateway, VPN,
Remote Access Server,...), các máy chủ (server) và các tài nguyên thông tin cần được
bảo vệ của doanh nghiệp.
+ RSA Authentication Manager:
Là thành phần quản trị của giải pháp RSA SecurID được sử dụng để kiểm tra các yêu
cầu xác thực và quản trị tập trung chính sách xác thực của trên tồn mạng doanh
nghiệp( có thể coi là 1 server).
15
Nhom3.N6


Bài thi cuối kỳ mơn ANM

Ngun lí hoạt động: Gỉa sử 1 người được cấp phát 1 token đang muốn đăng nhập hệ
thống để sử dụng. Người sử dụng sẽ được yêu cầu nhập thông tin cần thiết (tên đăng
nhập và mâdãy số gọi là passcode). Passcode gồm mã PIN và dãy số hiện ở token
(token code) của người đó ở thời điểm đăng nhập.
Những thông tin này được RSA Authentication Agent tiếp nhận và sẽ gửi lại cho RSA
Authentication Manager . Ngồi ra, server cũng có một cơ chế cho phép nó tính tốn
ra một dẫy số của nó. Authentication Manager sẽ ghép số PIN trong cơ sở dữ liệu và
dẫy số của nó với nhau sau đó so sánh với Passcode của người sử dụng cung cấp. Nếu
hai dẫy số này giống nhau, người dùng được xác thực là hợp lệ và được quyền đăng
nhập vào mạng.
3.2.2 Truyền tải dữ liệu
Truyền tải dữ liệu an toàn là phương pháp để truyền đi những thông tin cần bảo mật

cao như thơng tin ngân hàng, lịch sử tìm kiếm. Hiện nay, chúng ta đều sử dụng nó
hằng ngày dưới giao thức HTTPS. Truyền tải an toàn ngăn chặn kiểu tấn cơng nghe
lén bằng cách mã hóa thơng tin được truyền đi.
Ví dụ , để thiết lập một đường truyền tải an tồn, ví dụ giữa Alice và Bob:
1.

Alice tạo ra một bộ khóa cơng khai và khóa bí mật theo thuật tốn RSA.

2.

Alice gửi khóa cơng khai cho Bob.

3.

Bob tạo ra 1 văn bản a để gửi cho Alice.

4.

Bob mã hóa a sẽ dụng khóa cơng khai để cho ra mật văn b và gửi cho Alice.

5.

Alice nhận mật văn b, dùng khóa bí mật để giải mã ra

Nếu kể tấn cơng nghe lén được cũng chỉ biết được khóa cong khai của Alice và văn
bản đã được mã hóa là b thơi.
3.2.3 Chữ kí số
- Chữ ký số là một dạng của chữ ký điện tử. Nó là một dạng dữ liệu dùng để chứng
thực cho các dữ liệu khác.
-Chữ ký số sử dụng một hệ mã hóa bất đối xứng. Trong phần lớn các trường hợp, nó

cịn có thể kiểm tra cả tính tồn vẹn của dữ liệu. Chữ ký số tương tự như chữ ký tay
trên nhiều phương diện, nhưng việc cài đặt và sử dụng chữ ký số khó khăn hơn rất
nhiều.
Trên những chiếc thẻ ATM ln có phần chữ kí điện tử được mã hóa từ chữ kí của
khách hàng giao dịch khi đăng kí tạo tài khoản ngân hàng. Có thể nói việc đảm bảo an
toàn bảo mật cho khách hàng được xem như yếu tố đầu tiên, tiên quyết quyết định chất
lượng dịch vụ.

16
Nhom3.N6


Bài thi cuối kỳ môn ANM

3.3 Ứng dụng của RSA trong cơng nghệ thơng tin
3.3.1 Nghành tài chính – ngân hàng
RSA đã được ứng dụng để những giao dịch ngân hàng có tính bảo mật tuyệt đối cũng
như đem lại trải nghiệm an tâm cho người dùng.
- Giao dịch qua thẻ RSA
Ví dụ:
Chiếc thẻ bảo mật RSA của VietinBank iPay giúp khách hàng xác thực các giao dịch
trực tuyến mà khơng phụ thuộc vào mạng viễn thơng hay sóng di động. Bên cạnh đó,
hạn mức của giao dịch xác thực bởi thẻ RSA có thể lên đến 1 tỷ đồng/ngày.

Hình 7: Thẻ RSA Viettinbank
Thẻ RSA là một hình thức thẻ bảo mật. Thẻ bảo mật được sử dụng để chứng minh
danh tính của chủ tài khoản. Thẻ RSA của VietinBank được thiết kế nhỏ gọn, dễ bỏ túi
hoặc ví tiền, thường được gắn vào móc chìa khóa của người dùng.
3.3.2 Cho bảo mật các ứng dụng và website
Trong ngôn ngữ lập trình java , những đoạn code chứa RSA được sử dụng để tăng tính

bảo mật cho website , ứng dụng, đồng thời đảm bảo an toàn truy cập cho người sử
dụng.
Các đoạn code RSA hoạt động bất kể sự thay đổi của mơi trường. Các lập trình viên sử
dụng các ngơn ngữ ngữ lập trình khác bên cạnh java cũng có thể tìm hiểu và ứng dụng
RSA trong hoạt động làm việc.
3.4 Một số ứng dụng khác
3.4.1 Công nghệ ARC trên cửa cuốn Austdoor
Công nghệ ARC được phát triển dựa trên nền tảng thuật tốn mã hóa cơng khai RSA –
thuật tốn được sử dụng để phát triển cơng nghệ tiên tiến Token Key đang được sử
dụng rộng rãi tại những ngân hàng trên toàn thế giới.

17
Nhom3.N6


Bài thi cuối kỳ mơn ANM

Hình 8: Khóa mã ARC
Mã điều khiển cửa cuốn Austdoor được mã hóa bởi 12 ký tự, bao gồm cả chữ cái và
chữ số, điều này cho phép tay điều khiển sinh ra hàng tỷ mã ngẫu nhiên, không lặp lại
trong từng mỗi lần bấm.
Với dây chuyền ARC, hệ điều khiển cửa cuốn Austdoor cao cấp có khả năng sinh ra
hàng tỷ mã ngẫu nhiên, không lặp lại trong mỗi lần sử dụng. các mã điều khiển này
được sinh ra khi người áp dụng bấm nút điều khiển từ xa để khởi động cửa an toàn và
tiện lợi
Sau mỗi lần bấm nút điều khiển, phần mềm được cài sẵn trong hộp điều khiển sẽ tự
động sinh ra một mã mới và đồng thời hủy mã trước đó. Nhờ đó hộp điều khiển miễn
dịch hồn tồn với thiết bị phá mã cửa cuốn, đảm bảo sự an tồn cho ngơi nhà .
3.4.2 Phát triển thiết bị PKI Token an toàn sử dụng trong hệ thống CA
( tích hợp thuật tốn mật mã RSA)

- PKI Token là một loại thiết bị mật mã an toàn được trang bị cho người dùng cuối
trong hệ thống Chứng thực điện tử.
Thiết kế chung của thiết bị PKI Token được chia làm 3 lớp riêng biệt: lớp phần cứng,
lớp hệ điều hành và lớp ứng dụng.
+ Lớp phần cứng: Trong phần cứng của các PKI Token đều có bộ đồng xử lý mật mã
để xử lý các thuật toán RSA, ECDSA, 3DES, AES. Ngoài ra, một bộ xử lý sinh số
ngẫu nhiên TRNG được sử dụng cho các thuật toán mật mã.
+ Lớp hệ điều hành : Là một chương trình phần mềm được thực thi bởi bộ vi xử lý của
PKI Token. Đây là thành phần cơ bản, quan trọng nhất của thiết bị. Hệ điều hành điều
khiển, quản lý các thiết bị phần cứng, bộ nhớ, quá trình trao đổi dữ liệu, một số thuật
toán mật mã và cung cấp môi trường quản lý, chạy các ứng dụng trên thiết bị.

18
Nhom3.N6


Bài thi cuối kỳ mơn ANM

Hình 9: Kiến trúc thiết bị PKI token
+ Lớp ứng dụng: Gồm các ứng dụng giao tiếp với hệ điều hành của thiết bị PKI Token,
ứng dụng xác thực và bảo mật như: quản lý khóa, ký số, giải mã..
- Xây dựng và triển khai thuật tốn sinh cặp khóa RSA và ký số dữ liệu trên thiết bị
PKI Token.


Sinh cặp khóa RSA trên thiết bị PKI token

1.
Ứng dụng gửi lệnh sinh cặp khóa RSA cho hệ điều hành, môđun xử lý lệnh sẽ
chuyển lệnh sinh cặp khóa RSA cho thư viện xử lý mật mã.

2.
thư viện xử lý mật mã sẽ xử lý và sinh cặp khóa RSA dựa trên chuỗi ngẫu nhiên
trả về. Khóa bí mật được mã hóa và lưu trong vùng nhớ an tồn của chip, khóa cơng
khai được trả về cho ứng dụng.
3.
thư viện xử lý mật mã sẽ xử lý và sinh cặp khóa RSA dựa trên chuỗi ngẫu nhiên
trả về. Khóa bí mật được mã hóa và lưu trong vùng nhớ an tồn của chip, khóa cơng
khai được trả về cho ứng dụng.


Ký số dữ liệu được thực hiện gồm các bước sau:

1.
dữ liệu được băm trước khi đưa vào chip để ký số, môđun xử lý lệnh sẽ chuyển
lệnh ký số và mã băm của dữ liệu cần ký xuống thư viện xử lý mật mã.
2.
khóa bí mật được giải mã và sử dụng để ký số mã băm của dữ liệu. Trong quá
trình ký số dữ liệu, thư viện xử lý mật mã sẽ gọi hàm xử lý mật mã để yêu cầu phần
cứng xử lý các phép toán xử lý số lớn.
3.
mã băm của dữ liệu được ký sẽ được trả về cho ứng dụng để đóng gói với dữ
liệu ký, tạo thành dữ liệu được ký.
Với quy trình xử lý như vậy, khóa bí mật sẽ luôn được lưu trong thiết bị PKI Token
dưới dạng mã hóa, chống bị đọc và sao chép ra mơi trường ngồi. Các thuật tốn mật
mã được xử lý bên trong thiết bị PKI Token, do vậy, đảm bảo an tồn cho khóa bí mật
và dữ liệu xử lý.
19
Nhom3.N6



Bài thi cuối kỳ môn ANM

TỔNG KẾT
Ngày nay, ngành công nghệ thông tin đang là một trong những lĩnh vực đem lại nhiều
lợi ích cho xã hội và sẽ trở thành yếu tố không thể thiếu trong nền kinh tế hội nhập và
tồn cầu hóa của xã hội lồi người.
Chính vì vậy, an tồn thơng tin sẽ là một trong những yếu tố quan trọng, giúp đảm bảo
an toàn cho việc ứng dụng vào trong thực tiễn, cho các giao d ch điện tử. Một trong
những nhiệm vụ của đảm bảo an tồn thơng tin là bảo vệ chữ ký, vì vậy, đề tài đã
nghiên cứu về chữ ký số RSA và thêm vào đó là các các ứng dụng thực tế của chúng.
20
Nhom3.N6


Bài thi cuối kỳ môn ANM

Qua nội dụng tiểu luận trên nhóm em đã rút được ra được kiến thức tóm lược như sau:
Chương I: Nắm rõ được các vấn đề cơ bản của thuật tốn mã hóa RSA như: thuật
tốn sinh khóa, mã hóa, giải mã; độ an tồn….
Chương II: Biết đươc 2 kiểu tấn cơng cơ bản có thể xảy ra với thuật toán RSA đồng
thời đưa ra các giải pháp khắc phục hợp lý
Chương III: Tìm hiểu các ứng dụng tổng quát nói chung của RSA đồng thời liên hệ
được một số ứn dụng cụ thể và phổ biến trong thục tế ngày nay.
Do thời gian nghiên cứu có hạn, nên nhóm em chỉ tìm hiểu được thành quả trên.
Hướng phát triển của đề tài là hiểu về giải thuật RSA và các khả năng có thế tấn cơng
giải thuật này, từ đó hiểu được những lỗ hổng trong kỹ thuật đẻ có thể khắc phục. Từ
đó có những mơ hình ứng dụng trong đời thực.
Cuối cùng, với những kết quả đạt được của bài tiểu luận, tuy cịn có những hạn chế và
thiếu sót nhưng đã giúp nhóm em hiểu hơn về RSA và ứng dụng của chúng. Nhóm em
mong nhận được sự đánh giá và nhận xét từ cô!

Xin chân thành cảm ơn!

TÀI LIỆU THAM KHẢO
1. Bài giảng An ninh mạng Viễn thông Nguyễn Chiến TrinhNguyễn, Tiến Ban,
Hoàng, Trọng Minh Nguyễn, Thanh Trà, Phạm, Anh Thư (2016)
2. Luận văn Thạc sĩ Công nghệ thông tin Các phương pháp tấn công chữ ký số:
RSA,ELGAMAL,DSS Lê Công Tuấn Anh (2016)
3. Luận văn thạc sĩ: Chữ ký số và ứng dụng trong giao dịch hành chính điện tử Nguyễn
Trọng Hiếu 2011

4. Slide bài giảng An ninh Mạng- Học viện cơng nghệ bưu chính viễn thơng –
P.A.Thư (2021)
Địa chỉ trên Internet
21
Nhom3.N6


Bài thi cuối kỳ môn ANM

1. />fbclid=IwAR07ykQrI5EEt55BfQKMbr2mutmnIfnhx9GeGjbu61kaigkw1wgUs
Pzbzmg
2. />fbclid=IwAR2Fq6HVQ_GOVU2SlMtWum2uBvvgPVh8VlahHop9CFMOxpjHzXT1KdwNYw
3. />fbclid=IwAR2IXGLCfI7bS9_g9sXRgWsp0FstGULvIjT3wDXfrsiIgEuCEZaS2BTS0g
4. />fbclid=IwAR184IRquifgfvodKXKMLq6Uu5EM2Iroi8vL6SGKz116Nu5Wy4d
9fxuvudo
5. />
22
Nhom3.N6




×