Luận án tiến sĩ toán học: HỆ TIÊU CHUẨN THAM SỐ AN TOÀN CHO HỆ MẬT RSA VÀ ỨNG DỤNG - Pdf 18


BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG

VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ
Hoàng Văn Thức HỆ TIÊU CHUẨN THAM SỐ AN TOÀN
CHO HỆ MẬT RSA VÀ ỨNG DỤNG

LUẬN ÁN TIẾN SĨ TOÁN HỌC
Mã số : 62 46 35 01
LUẬN ÁN TIẾN SĨ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC:
1. TS. LỀU ĐỨC TÂN
2. PGS.TS. BẠCH NHẬT HỒNG
Hà Nội - 2011

i

LỜI CAM ĐOAN Tôi xin cam đoan, đây là công trình nghiên cứu của riêng tôi. Các số liệu và
kết quả trình bày trong luận án là hoàn toàn trung thực và chưa có tác giả nào
công bố trong bất cứ một công trình nào khác.

Người cam đoan
MỤC LỤC

Trang

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

vi

DANH MỤC CÁC BẢNG

x

DANH MỤC CÁC HÌNH VẼ

xi

MỞ ĐẦU … … … … … … … … … … … … … ……… 1

CHƯƠNG 1: TỔNG QUAN VỀ TIÊU CHUẨN THAM SỐ RSA
VÀ CÁC GIAO THỨC BẢO MẬT WEB …

6

1.1. Một số định nghĩa và ký hiệu … … … … 7

1.2. Hệ mật mã khoá công khai RSA … … … … …… 8

1.2.1. Qui trình sinh tham số khoá RSA … … … … … … ……

8


1.5.3. Cơ chế tính khoá phiên trong giao thức SSL 31iv

1.5.4. Hệ thống mật mã RSA và bảo mật dịch vụ Web 33

1.6. Kết luận chương 1 35

CHƯƠNG 2: XÂY DỰNG HỆ TIÊU CHUẨN THAM SỐ AN
TOÀN CHO HỆ THỐNG MẬT MÃ RSA 37

2.1. Xem xét các tiêu chuẩn đã có và đề xuất bổ sung ……

37

2.1.1. Độ an toàn của hệ thống mật mã RSA với độ dài modulus cho
trước

37

2.1.2. Tiêu chuẩn về độ dài RSA modulus … … … … … ……

39

2.1.3. Các tiêu chuẩn cho các số nguyên tố p, q

3.1.1. Một số hằng số và hàm được sử dụng trong thuật toán 68

3.1.2. Thuật toán SinhP (Thuật sinh số nguyên tố thứ nhất) 68

3.1.3. Thuật toán SinhQ (Thuật toán sinh số nguyên tố thứ hai)

73

3.1.4. Tính chất của các tham số p, q 75

3.1.5. Thuật toán SinhED 77

3.1.6. Thuật toán sinh tham số SinhThamSo 79

3.2. Xây dựng chương trình sinh tham số RSA an toàn 80

3.2.1. Một số hàm thực thi thuật toán sinh tham số RSA an toàn 80v

3.2.2. Kết quả chạy thực nghiệm

83

3.2.3. Bằng chứng về tính nguyên tố

86

3.3. Ứng dụng tham số RSA an toàn

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Các ký hiệu
d: Số mũ bí mật RSA.
e: Số mũ công khai RSA.
p

: Trường các số nguyên với phép cộng và phép nhân được rút gọn
theo modulo p.
*
p

: Nhóm nhân cực đại của
p

.
gcd( , )
a b
: Ước số chung lớn nhất của a và b.
lmc( , )
a b
: Bội số chung nhỏ nhất của a và b.
O(B): Vô cùng lớn cỡ B, x = O(B) tồn tại một hằng số dương c sao cho
x cB

.
N
ord a
: Bậc của phần tử a trong nhóm nhân
*
N

4
n
: Độ dài
2
q
tính theo bít.
5
n
: Độ dài
11
p
tính theo bít.
6
n
: Độ dài
11
q
tính theo bít.
p, q: Các số nguyên tố.
0
p
: Ước nguyên tố lớn nhất của |p - q|.
1
p
: Ước nguyên tố lớn nhất của p - 1.

vii

2
p

 
 
: số nguyên m nhỏ nhất sao cho
m x

.
x
 
 
: số nguyên m lớn nhất sao cho
m x

.

: Tập các số nguyên.
N

: Vành số nguyên với phép cộng và phép nhân rút gọn theo
modulo N.
*
N

: Nhóm nhân cực đại của vành
N

.
( )
N

: Bậc (order) lớn nhất của các phần tử trong nhóm

ECM (Elliptic Curve Method): Phương pháp phân tích số dựa trên đường
cong elliptic.
FIPS (Ferderal Infomation Processing Standard): Tiêu chuẩn xử lý thông tin
liên bang (Mỹ).
FTP (File Transfer Protocol): Giao thức truyền tệp tin.
IE (Internet Explorer): Tên một trình duyệt Web của hãng Microsoft.
IETF (Internet Engineering Task Force): Nhóm đặc trách về kỹ thuật
Internet.
IFC (Integer Factorization Cryptography): Mật mã dựa trên bài toán phân
tích số nguyên.
IIS (Internet Information Server): Tên một phần mềm Web server của hãng
Microsoft.
ISO/IEC (Internatinal Organization for Standardization/International
Electrotechnical Comission): Tổ chức ban hành chuẩn quốc tế/Uỷ ban điện tử
quốc tế.
MD5 (Message Digest): Tên một hàm băm mật mã.
MAC (Message Authentication Code): Mã xác thực thông báo.
NFS (Number Field Sieve): Sàng trường số.
NIST (National Institute of Standard and Technology): Viện các tiêu chuẩn và
công nghệ quốc gia (Mỹ).
NSS (Network Security Service): Dịch vụ bảo mật mạng.

ix

OAEP (Optimal Asymmetric Encryption Padding): Đệm mã hoá phi đối xứng
tối ưu.
PKCS (Public Key Cryptography Standards): Các chuẩn mã hoá khoá công
khai do hãng RSA đưa ra.
PSM (Personal Security Manager): Mô đun quản lý bảo mật cá nhân.
PSS (Probabilistic Signature Scheme): Lược đồ chữ ký xác suất.

và q
2
25

Bảng 1.4 Phương pháp sinh số nguyên tố được phép dùng .…… 26

Bảng 2.1 Độ an toàn của hệ thống mật mã RSA theo độ dài
modulus
39

Bảng 2.2 Độ dài tối thiểu RSA modulus có thể dùng an toàn đến
một năm cho trước … … … …

41

Bảng 2.3 Tiêu chuẩn độ dài tối thiểu RSA modulus … … … 42

Bảng 2.4 Độ dài tối thiểu của các số nguyên tố bổ trợ … …… 45

Bảng 2.5 Tiêu chuẩn độ lớn tối thiểu của |p-q| … …… 49

Bảng 2.6
Tiêu chuẩn về ước nguyên tố của |p-q|
50

Bảng 2.7
Độ dài tối thiểu của p
11
, q
11


Bảng 3.3
Một số bộ phần mềm Web server mã nguồn mở
92

Bảng 3.4
Một số bộ phần mềm Web browser mã nguồn mở
92

xi

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Giao thức bắt tay SSL … ……
29

Hình 1.2 Giao thức bản ghi SSL … ……
30

Hình 3.1 Cấu trúc các mô đun bảo mật của Mozilla Firefox và
Apache Server … … … … ……

93

Hình 3.2 Tham số RSA an toàn khi được cài đặt cho Firefox chưa
sửa đổi … … … … … … …



Hình B.9 Thuộc tính bảo mật của phiên liên lạc
118

Hình B.10 Thông tin về chứng chỉ số trên Web server
118
1

MỞ ĐẦU

Với sự phát triển mạnh mẽ trong những năm gần đây, các sản phẩm
công nghệ thông tin đã và đang có mặt ở hầu hết các lĩnh vực trong đời sống
xã hội từ việc đơn giản như soạn thảo một văn bản, trao đổi, lưu trữ, xử lý
thông tin cá nhân, cho đến việc quản lý và điều hành một đất nước. Bên
cạnh những lợi ích to lớn mà công nghệ thông tin đem lại thì việc bảo đảm an
ninh, an toàn và bảo mật cho các ứng dụng này đang là yêu cầu cấp thiết được
đặt ra hiện nay. Trong đó, kỹ thuật mật mã được biết đến như là một công cụ
hữu hiệu trong việc đảm bảo tính bí mật, xác thực và toàn vẹn dữ liệu khi
chúng được lưu trữ, xử lý và trao đổi qua các ứng dụng công nghệ thông tin.
Hệ thống mật mã khoá công khai RSA từ khi được ba nhà khoa học
Ron Rivest, Adi Shamir và Leonard Adleman phát minh đã trở thành một
trong những nguyên thuỷ mật mã được sử dụng phổ biến nhất trong các ứng
dụng bảo mật thông tin nói chung và các phần mềm bảo mật mạng máy tính
nói riêng. Cũng như tất cả các nguyên thuỷ mật mã khác, mô hình hệ mật, cấu
trúc thuật toán của hệ thống mật mã RSA là công khai. Tuy nhiên, việc lựa
chọn và sử dụng các tham số cho hệ thống mật mã này sao cho an toàn và
hiệu quả là một vấn đề khó.

hiện việc bảo mật giao dịch Web nói riêng thì thuộc tính mật mã của chúng
cần có những sửa đổi nhất định.
Xuất phát từ những yêu cầu thực tế trên, luận án đã chọn đề tài "Hệ
tiêu chuẩn tham số an toàn cho hệ mật RSA và ứng dụng" để nghiên cứu là
phù hợp.
Mục đích nghiên cứu:
Nghiên cứu tổng quan nhằm nắm vững được những kiến thức về hệ
thống mật mã khoá công khai RSA và các tiêu chuẩn an toàn cho tham số

3

RSA đã được công bố trong một số chuẩn trên thế giới; đề xuất hệ tiêu chuẩn
an toàn cho các tham số RSA (trên cơ sở xem xét, bổ sung các tiêu chuẩn đã
có đồng thời xây dựng các tiêu chuẩn mới); áp dụng các tham số RSA an toàn
cho các giao thức bảo mật Web.
Đối tượng nghiên cứu
Luận án lựa chọn hệ thống mật mã RSA và các giao thức bảo mật Web
làm đối tượng nghiên cứu.
Nội dung nghiên cứu
 Nghiên cứu tổng quan về hệ thống mật mã khoá công khai RSA, bao gồm:
o Cơ chế sinh tham số khoá, các lược đồ bảo mật và xác thực RSA.
o Các tiêu chuẩn an toàn cho tham số RSA đã được chuẩn hoá trong một
số chuẩn về an ninh, an toàn và bảo mật thông tin trên thế giới.
 Nghiên cứu một số tấn công có liên quan đến tính chất của các tham số
RSA từ đó xây dựng hệ tiêu chuẩn an toàn cho tham số RSA.
 Xây dựng và cài đặt thuật toán sinh tham số RSA an toàn thoả mãn các
tiêu chuẩn đã đề xuất.
 Nghiên cứu về các giao thức bảo mật Web. Phân tích mô đun cung cấp
dịch vụ mật mã cho các phần mềm mã nguồn mở Apache Server và trình
duyệt Mozilla Firefox, đề xuất sửa đổi mã nguồn cho các phần mềm này

tiêu chuẩn đã đề xuất. Cùng với việc giới thiệu thuật toán chương này cũng
đưa ra các kết quả của việc cài đặt thuật toán trên môi trường máy tính. Đồng
thời trình bày việc nghiên cứu, lựa chọn các gói phần mềm mã nguồn mở thực
hiện chức năng của máy chủ Web và trình duyệt trên máy trạm, phân tích
đánh giá chung về mô đun cung cấp dịch vụ mật mã cho chúng. Từ đó sửa
đổi, cải tiến để các phần mềm này có thể sử dụng các tham số RSA an toàn
cho mục đích bảo mật dịch vụ Web. 5

Một số nội dung nghiên cứu mới của luận án
 Đề xuất bổ sung về mặt định lượng đối với một số tiêu chuẩn đã có.
 Xây dựng các tiêu chuẩn mới nhằm kháng lại kiểu tấn công mã hoá liên
tiếp đối với hệ thống mật mã RSA.
 Xây dựng, cài đặt chương trình thuật toán sinh tham số RSA an toàn và
tích hợp vào bộ chương trình sinh chứng chỉ số theo chuẩn X509.
 Sửa đổi phần mềm trình duyệt Web để có thể áp dụng các tham số RSA
an toàn trong giao thức bảo mật giao dịch Web. 6

CHƯƠNG 1
TỔNG QUAN VỀ TIÊU CHUẨN THAM SỐ RSA
VÀ CÁC GIAO THỨC BẢO MẬT WEB

Hệ thống mật mã khoá công khai RSA là một trong các hệ thống mật
mã mà độ an toàn của nó dựa trên tính khó giải của bài toán phân tích số
nguyên ra các thừa số nguyên tố. Do đó khi sinh cặp khóa RSA đòi hỏi các số

1.1. MỘT SỐ ĐỊNH NGHĨA VÀ KÝ HIỆU
Dưới đây là một số định nghĩa, ký hiệu được sử dụng trong luận án:
Các ước tầm thường (Trivial Divisor): Bất kỳ một số nguyên N nào
cũng luôn có các ước 1, -1, N và –N. Các số này là các ước tầm thường của N.
Số nguyên tố (Prime Number): Số nguyên N>1 là nguyên tố khi nó chỉ
có các ước tầm thường.
Hợp số (Composit number): Số nguyên N>1 là hợp số nếu nó không là
nguyên tố, có nghĩa là tồn tại các ước không tầm thường của N.
Chứng nhận tính nguyên tố (Primality Certificate): Chứng minh toán
học rằng một số cho trước là thực sự nguyên tố.
Phép chia thử (Trial Division): Phép chia thử của một số N có nghĩa là
kiểm tra tất cả các số nguyên tố nhỏ hơn hoặc bằng N
1/2
xem có phải là ước
của N không.
Độ an toàn (ký hiệu secure_strength): Là một giá trị có liên quan đến
lượng công việc cần phải thực hiện (số lượng phép toán) để phá vỡ một thuật
toán hoặc một hệ thống mật mã. Cụ thể, một thuật toán mật mã với các tham
số cho trước được coi là có độ an toàn secure_strength nếu để phá vỡ thuật
toán này cần đến nỗ lực tính toán tối thiểu cỡ 2
security_strength
phép tính.
1
p
,
2
p
,
1
q

1 ( )
e N

 
sao cho
gcd( , ( )) 1
e N



Bước 4:Tính số nguyên dương d thỏa mãn:
1 ( )
d N

 

1(mod ( ))
ed N



Bước 5:Khóa công khai RSA là cặp (N, e) khóa bí mật là cặp (N, d)
(N, e, d) được gọi là bộ tham số RSA.
1.2.2. Hệ mật khóa công khai RSA nguyên thủy
Hệ mật khoá công khai RSA sử dụng cặp khoá công khai, bí mật RSA
được sinh theo thuật toán sinh khoá RSA. Khoá công khai (N, e) còn được gọi
là khoá mã, khoá bí mật (N, d) còn được gọi là khoá giải mã. Các số nguyên e
và d được gọi là số mũ mã hóa và số mũ giải mã.
Giả sử thông điệp
*

Thuật toán 1.2 (Thuật toán giải mã RSA nguyên thuỷ)
Để giải mã bản mã c, thực thể A thực hiện theo thuật toán dưới đây:
Đầu vào:
Khóa bí mật (N, d) của A, bản mã
*
N
c Z


Đầu ra:
Bản rõ m
Thực thi:
Tính
(mod )
d
m c N
 .
1.2.3. Hệ chữ ký số RSA nguyên thuỷ
Hệ chữ ký RSA sử dụng cặp khoá công khai, bí mật RSA được sinh
theo thuật toán sinh khoá RSA. Khoá bí mật (N, d) còn được gọi là khoá sinh
chữ ký và khoá công khai (N, e) còn được gọi là khoá kiểm tra chữ ký.
Thực thể A ký lên thông điệp
*
N
m Z
 , bất kỳ một thực thể B nào đó đều
có thể kiểm tra chữ ký của A trên thông điệp m.

Thuật toán 1.3 (Thuật toán sinh chữ ký số RSA nguyên thuỷ)
Đầu vào:

e
m s N
 , trả về chữ ký "hợp lệ" khi m' = m, ngược lại trả
về chữ ký "không hợp lệ".
1.2.4. Hệ thống mật mã dựa trên RSA
1.2.4.1. Hệ mật khoá công khai RSA có định dạng
Trong sơ đồ hệ mật RSA có định dạng có thêm một tập các hàm dễ tính
được hàm ngược
* *
{ : }
N N
G g 
 
được gọi là tập các hàm chuẩn bị
thông báo. Lược đồ mã hoá RSA được thực hiện như sau :
Thuật toán 1.5 (Thuật toán mã hoá RSA có định dạng)
Đầu vào:
Khóa công khai (N, e) của A, bản rõ
*
N
m Z

, g  G
Đầu ra:
Bản mã c
Thực thi:
Bước 1:
( )
x g m


 .
Bellare và Rogaway [20] đã đề xuất ra một lược đồ mã hoá khoá công
khai với sự kết hợp giữa phép đệm mã hoá phi đối xứng tối ưu (OAEP-
Optimal Asymmetric Encryption Padding) và một hàm hoán vị cửa sập một
chiều. Trong trường hợp phép hoán vị cửa sập một chiều là hàm mã hoá RSA
nguyên thuỷ thì lược đồ trên đã được chuẩn hoá trong các chuẩn PKCS#1
phiên bản 2.1 của hãng RSA ([29]) và ISO/IEC 18033-2:2006(E) của tổ chức
chuẩn ISO ([17]), với tên gọi là lược đồ mã hoá RSA-OAEP. Đây chính là
một dạng biến thể của sơ đồ mã hoá RSA có định dạng với hàm chuẩn bị
thông báo là phép đệm OAEP.
1.2.4.2. Hệ chữ ký RSA có định dạng.
Trong sơ đồ chữ ký RSA có định dạng có thêm một tập các hàm dễ tính
được hàm ngược
* *
{ : }
N N
G g 
 
được gọi là tập các hàm chuẩn bị
thông báo. Trong trường hợp này lược đồ chữ ký RSA được thực hiện như
sau:
Thuật toán 1.7 (Thuật toán sinh chữ ký RSA có định dạng)
Thực thể A ký lên thông điệp
*
N
m Z
 , bất kỳ một thực thể B nào đó đều
có thể kiểm tra chữ ký của A trên thông điệp m.
Đầu vào:
Khóa bí mật (N, d) của A, thông điệp

Chữ ký s "hợp lệ" hoặc "không hợp lệ"
Thực thi:
Bước 1: 1
(mod )
e
x s N

Bước 2:
1
' ( )
m g x

 ; trả về chữ ký "hợp lệ" khi m' = m, ngược lại trả về
chữ ký "không hợp lệ".
Tương tự như sơ đồ mã hoá RSA có định dạng, một dạng biến thể của
lược đồ chữ ký RSA có định dạng cũng đã được chuẩn hoá trong chuẩn
PKCS#1 phiên bản 2.1 ([29]) với tên gọi RSA-PSS. Đây chính là sự kết hợp
giữa hàm chuẩn bị thông báo được đề xuất bởi Bellare và Rogaway trong
[21], và sơ đồ mã hoá RSA nguyên thuỷ.
1.2.5. Độ an toàn của hệ thống mật mã RSA
1.2.5.1. Các bài toán
Nhiều hệ thống mật mã có độ an toàn phụ thuộc vào tính khó giải của
bài toán phân tích số nguyên, trong số đó có hệ thống mật mã RSA và các hệ
thống mật mã dựa trên RSA.
Bài toán phân tích số nguyên:
Cho số nguyên
n


, hãy tìm biểu diễn


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status