1. Trang chủ
  2. » Kinh Tế - Quản Lý

Tìm hiểu về hệ bảo mật RSA

26 545 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 1,05 MB

Nội dung

Với ứng dụng rộng rãi công nghệ thông tin trong việc truyền tải dữliệu việc dữ bí mật là vấn đề luôn được đề cao ,vấn đề bảo mật vẫn là bài toán đã và đang được nghiên cứu trong thời gia

Trang 1

MỤC LỤC

CHƯƠNG I SƠ LƯỢC VỀ MẬT MÃ………… ……… 2

1.1 Khái niệm mật mã……… ……… ……2

1.2 Hệ thống mã hóa……… …… 3

1.3 Khái niệm mã hóa dữ liệu……… … … 3

1.4 Hệ thống mã hóa qui ước……… … ….…4

1.5 Hệ thống mã hóa khóa công cộng……… … 4

1.6 Kết hợp mã hóa qui ước và mã hóa khóa công cộng… …… 5

1.7 Hệ bảo mật khóa công khai và hệ bảo mật RSA………… … 5

CHƯƠNG II HỆ BẢO MẬT RSA……… …… 8

2.1 Mô tả sơ lược RSA……… ……8

2.2 Thuật toán RSA……… …….8

2.2.1 Sinh khóa………… ……… ……… …….8

2.2.2 Mã hóa……… … ……… …….10

2.2.3 Giải mã ……… ……… ……12

2.2.4 Chuyển đổi văn bản rõ……… … …… …… 14

2.2.5 Tạo chữ kí điện tử……… ………… ………16

CHƯƠNG III PHƯƠNG PHÁP RSA……… ……… 17

3.1 Phương pháp RSA……… ………… 17

3.2 Một số phương pháp tấn công bảo mật RSA……… ………… 18

φ

Trang 2

3.2.2 Bẻ khóa dựa trên tấn công lặp lại……… ………….19

3.3 Sự che giấu thông tin trong hệ thống RSA……… …… 19

3.4 An ninh……… ………… 21

CHƯƠNG IV CÁC VẤN ĐỀ ĐẶT TRONG THỰC TẾ… ………….23

4.1 Quá trình tạo khóa……… ………23

4.2 Tốc độ……… ……… 24

4.3 Phân phối……… ……… 24

4.4Tấn công theo thời gian……… ………… …… 24

CHƯƠNG V KẾT LUẬN 26

Trang 3

LỜI NÓI ĐẦU

Ngày nay khoa học công nghệ đang phát triển với tốc độ nhanhchóng đặc biệt là ngành công nghệ thông tin Có thể nói công nghệthông tin đóng vai trò vô cùng quan trọng trong đời sống của chúng

ta, đặc biệt vấn đề an ninh và bảo mật thông tin luôn được chútrọng

Với ứng dụng rộng rãi công nghệ thông tin trong việc truyền tải dữliệu việc dữ bí mật là vấn đề luôn được đề cao ,vấn đề bảo mật vẫn

là bài toán đã và đang được nghiên cứu trong thời gian gần đây.Hiện nay với các thông tin tại các cơ quan công sở yêu cầu tính bảomật cao là một công việc quan trọng Đó là một công việc mà bất kì

cơ quan nào cũng cần quan tâm Nếu như không quan tâm nhiều đếnviệc truyền và dấu dữ liệu dẫn đến mất mất dữ liệu là một việc đáng

tiếc.Vì vậy tôi lựa chọn đề tài “Tìm hiểu về hệ bảo mật RSA ”với

mong muốn giải quyết được những khó khăn này

Trong đề tài này, mặc dù tôi đã cố gắng rất nhiều nhưng vẫn cònnhiều thiếu xót Rất mong thầy cô và các bạn góp ý để đề tài nàyđược hoàn thiện hơn

Sinh viên thực hiện

Nguyễn Hữu Thành

Trang 4

CHƯƠNG I LƯỢC SƯ VỀ MẬT MÃ

1.1 Khái niệm Mật mã

Mật mã học là ngành khoa học ứng dụng toán học vào việc biến đổithông tin thành một dạng khác với mục đích che dấu nội dung, ý nghĩa thôngtin cần mã hóa Đây là một ngành quan trọng và có nhiều ứng dụng trong đờisống xã hội

Ngày nay, các ứng dụng mã hóa và bảo mật thông tin đang được sử dụngngày càng phổ biến hơn trong các lĩnh vực khác nhau trên thế giới, từ các lĩnhvực an ninh , quân sự, quốc phòng,…,cho đến lĩnh vực dân sự như thươngmại điện tự , ngân hàng…

Cùng với sự phát triển của khoa học máy tính và Internet, các nghiên cứu

và ứng dụng của khoa học kĩ thuật mã hóa ngày càng trở nên đa dạng hơn, mở

ra nhiều hướng nghiên cứu chuyên sâu vào từng lĩnh vực ứng dụng đặc thùvới những đặc trưng riêng Ứng dụng của khoa khoa học mật mã khổng chỉ làđơn thuần là mã hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khácnhau cần được nghiên cứu và giải quyết: chứng thực nguồn gốc nội dungthông tin (kĩ thuật chữ kí điễn tử) chứng nhận tính xác thực về người sở hữu

mã khóa( chứng nhận khóa công cộng), các quy trình giúp trao dổi thông tin

và thực hiện giao dịch điện tử an toàn trên mạng … Những kết quả nghiêncứu về mật mã cũng đã được đưa vào trong các hệ thống phức tạp hơn, kếthợp với các kĩ thuật khác để đáp ứng nhu cầu đa dạng của các hệ thống ứngdụng khác nhau trong thực tế, ví dụ như hệ thống bỏ phiếu bầu cử qua mạng,

hệ thống đào tạo từ xa, hệ thống quản lí an ninh của các đơn vị với hướng tiếpcận sinh trắc học , hệ thống cung câp dịch vụ multimedia trên mạng với nhucầu cung cấp dịch vụ và bảo vệ bản quyền sở hữu trí tuệ đối với thông tinsố…

Trang 5

1.2 Hệ thống Mã hóa

Định nghĩa: Hệ thống mã hóa (cryptosystem) là một bộ năm ( P, C, K , E, D)

Thỏa mãn điều kiện sau :

1 Tập nguồn P là tập hữu hạn tất cả các mẫu tin nguồn cần mã hóa có thể

2 Tập đích C là tập hữu hạn tất cả các mẫu tin có thể có sau khi mã hóa.

3 Tập khóa K là tập hữu hạn các khóa có thể sử dụng.

tại luật mã hóa e k E và luật giải mã d k D tương ứng Luật mã hóa

(x)) = x , x P

Tính chất 4 là tính chất chính và quan trọng của một hệ thống mã hóa Tính

chất này đảm bảo một mấu tin x P được mã hóa bằng luật mã hóa e k E có

thể được giải mã chính xác bằng luật d k D

1.3 Khái niệm mã hóa dữ liệu

Mã hóa dữ liệu là tiến trình che dấu dữ liệu thật (plaintext), nghĩa là chuyển dữ liệu thật thành dữ liệu không có ý nghĩa hoặc có ý nghĩa khác xa với dữ liệu thật Tiến trình đó gọi là mã hóa (encrytion) Kết quả của tiến trình gọi là bản mã (ciphertext) Từ “encrytion” được tạo

ra từ “cryptography” (mật mã) xuất phát từ tiếng Hi Lạp cổ xưa

“Kryptos” (Che dấu) và từ “graphia” (viết) Tiến trình mã hóa dữ liệu

có thế được thực hiện bằng cách hoán vị dữ liệu thật hoặc thay thế chúng bằng dữ liệu khác.

Tiến trình ngược với tiến trình mã hóa tức là chuyển từ bản mã thành

dữ liệu ban đầu gọi là giải mã

Trang 6

Mã hóa và giải mã là hai thành phần của mật mã học.

1.4 Hệ thống mã hóa qui ước (mã hóa đối xứng)

Trong hệ thống mã hóa qui ước , quá trình mã hóa và giải mã một thông điệp

sử dụng cũng một mã khóa gọi là khóa bí mật hay khóa đối xứng Do đó, vấn

đề bảo mật thông tin đã mã hóa hoàn toàn phụ thuộc vào việc giữ bí mật nộidung của mã khóa đã được sử dụng

Với tốc độ và khả năng xử lý ngày càng cao được nâng cấp của các bộ vi xử líhiện nay , phương pháp mã hóa chuẩn (DES) đã trở nên không an toàn trongbảo mật thông tin Do đó,Viện tiêu chuẩn và Công nghệ Hoa Kỳ (NIST) đãquyết định chọn một chuẩn mã hóa mới với đọ an toàn cao nhằm mục đíchphục vụ nhu cầu bảo mật thông tin liên lạc của chính phủ Hoa Kỳ cũng nhưtrong các ứng dụng dân sự

1.5 Hệ thống mã hóa khóa công cộng (mã hóa bất đối xứng)

Nếu như vấn đề khó khăn đặt ra đối với các phương pháp mã hóa qui ướcchính là bài toán trao đổi mã khóa thì ngược lại, các phương pháp mã hóakhóa công cộng giúp cho việc trao đổi mã khóa trở nên dễ dàng hơn Nội

dung của khóa công cộng (public key) không cần phải giữ bí mật như đối với

khóa bí mật trong các phương pháp mã hóa qui ước Sử dụng khóa côngcộng, chúng ta có thể thiết lập một qui trình an toàn để truy đổi khóa bí mậtđược sử dụng trong hệt hống mã hóa qui ước

Trong những năm gần đây , các phương pháp mã hóa khóa công cộng, đặcbiệt là phương pháp RSA, được sử dụng ngày càng nhiều trong các ứng dụng

mã hóa trên thế giới và có thể xem như đây là phương pháp chuẩn được sửdụng phổ biến nhất trên mạng Internet, ứng dụng trong việc bảo mật thông tinliên lạc của cũng như trong lĩnh vực thương mại điện tử

Trang 7

1.6 Kết hợp mã hóa qui ước và mã hóa khóa công cộng

Các phương pháp mã hóa qui ước có ưu điểm sử lý rất nhanh và khả năng bảomật cao so với các phương pháp mã hóa khóa công cộng nhưng lại gặp phảivấn đề khó khăn trong việc trao đổi mã khóa Ngược lại, các phương pháp mãhóa khóa công cộng tuy xử lý thông tin chậm hơn nhưng lại cho phếp người

sử dụng trao đổi mã khóa dễ dàng hơn Do đó, trong các ứng dụng thực tế,chúng ta cần phối hợp được ưu điểm của mỗi phương pháp mã hóa để xâydựng hệ thống mã hóa và bảo mật thông tin hiệu quả và an toàn

1.7 Hệ bảo mật khóa công khai và hệ bảo mật RSA

Một hệ f=<M, C, K> trong đó:

M là một tập các không gian bản rõ C là tập các không gian bản rõ

K là tập hợp các không gian khóa

Được gọi là một hệ mã mật nếu thỏa mãn các tính chất sau:

- Với mỗi kẻ K cho ta hai ánh xạ Ek: M → C (gọi là ánh xạ mãhóa với khóa k) và ánh xạ Dk: C → M được gọi là ánh xạ giải mã

- Hai cặp ánh xạ trên thỏa mãn tính chất Dk (Ek(M)) = M

Người ta chia các hệ mã làm hai loại chính là hệ mã cổ điển và hệ mã hiệnđại (hay hệ mã khóa công khai) Các hệ mã cổ điển thực hiện việc bảo mậtđều dựa trên cơ sở là có một khóa dùng chung cho cả việc lập mã và việc giảimã

Các hệ mã hóa công khai được nghiên cứu và phát triển từ những năm

1970 Ý tưởng cơ bản của các hệ mã này là xây dựng những hệ thống sao chomỗi người tham gia vào quá trình truyền tin (người nhận tin và người gửi tin)

sẽ có hai khóa khác nhau: Một khóa công khai dùng để lập mã và một khóa

Trang 8

bảo mật dùng để giải mã Khóa công khai được công khai hóa cho mội người,còn khóa bảo mật của mỗi người thì được giữ bí mật.

Thông tin trước khi được gửi đi được mã hóa bằng khóa công khai củangười nhận Chỉ có người nhận mới có khả năng giải mã bản mã bằng khóa bímật của mình, bởi vì thời gian giải mã sẽ tốn hàng tỉ năm nếu chỉ biết khóacông khai Độ bảo mật của các hệ mã công khai được bảo đảm bằng độ phứctạp tính toán rất cao của thao tác tìm số nguyên tố lớn nhất và phân tích một

số nguyên tố lớn thành tích các thừa số Ta giả sử trong hệ mã mật khóa côngkhai, khóa mã hóa là E và khóa giải mã là D, thông điệp cần gửi là M Để hệthống mã hóa hoạt động được, các điều kiện sau đây phải được thõa mãn:

- Dk(Ek(M)) = M đối với mọi thông điệp M

- Tất cả các cặp (D,E) là phân biệt

- Việc phát sinh D từ E là khó ngang với việc đọc M

đã không công bố

Thuật toán RSA gần như gặp chung số phận Khi Rivest, Shamir vàAdleman công bố RSA trong ấn phẩm Scientific American tháng 9/1977, họ

Trang 9

tự nguyện cung cấp toàn bộ thông tin cho bất kỳ ai gửi đến một phong bì códán tem và ghi sẵn địa chỉ (người nhận) Cơ quan an ninh quốc gia Mỹ (NSA)

đã không đồng ý về việc phổ biến rộng rãi RSA và ra lệnh cấm - tuy nhiênlệnh cấm này không có cơ sở pháp lý Năm 1978, các tác giả đã công bố thuậttoán trong ấn phẩm nổi tiếng Communications of the Association forComputing Machinery (ACM)

Trong môi trường Internet hiện nay, các thuật toán bảo mật như RSA vàcác hậu duệ của nó có vai trò rất quan trọng Các thuật toán này tạo nên cơ sởcho thương mại điện tử an toàn bằng cách cho phép thực hiện các giao dịchtrực tuyến trong định dạng mã hoá

CHƯƠNG II HỆ BẢO MẬT RSA

2.1 Mô tả sơ lược:

Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khoá

bí mật (hay khóa cá nhân) Mỗi khóa là những số cố định sử dụng trong quátrình mã hóa và giải mã Khóa công khai được công bố rộng rãi cho mọi người

và được dùng để mã hóa 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 Nói cách khác, mọi người đều

có thể mã hóa nhưng chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mãđược

Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai như sau : Amuốn gửi cho B một thông tin mật mà A muốn duy nhất B có thể đọc được Đểlàm được điều này, B gửi cho A một chiếc hộp có khóa đã mở sẵn và giữ lại chìakhóa A nhận chiếc hộp, cho vào đó một tờ giấy viết thư bình thường và khóa lại(như loại khoá thông thường chỉ cần sập chốt lại, sau khi sập chốt khóa ngay cả

A cũng không thể mở lại được - không đọc lại hay sửa thông tin trong thư đượcnữa) Sau đó A gửi chiếc hộp lại cho B B mở hộp với chìa khóa của mình và

Trang 10

đọc thông tin trong thư Trong ví dụ này, chiếc hộp với khóa mở đóng vai tròkhóa công khai, chiếc chìa khóa chính là khóa bí mật.

2.2 Thuật toán RSA:

2.2.1 Sinh khóa:

Giả sử A và B cần trao đổi thông tin bí mật thông qua một kênh không antoàn (ví dụ như Internet) Với thuật toán RSA, B đầu tiên cần tạo ra cho mìnhcặp khóa gồm khóa công khai và khóa bí mật theo các bước sau:

1 Chọn 2 số nguyên tố lớn: và với , lựa chọn ngẫu nhiên vàđộc lập

2 Tính:

4 Chọn một số tự nhiên e sao cho

Khóa công khai: e

Khóa bí mật: d

Một dạng khác của khóa bí mật bao gồm:

• p and q, hai số nguyên tố chọn ban đầu,

• d mod (p-1) và d mod (q-1) (thường được gọi là dmp1 và dmq1),

• (1/q) mod p (thường được gọi là iqmp)

Dạng này cho phép thực hiện giải mã và ký nhanh hơn với việc sử dụng

định lý số dư Trung Quốc(CRT) Ở dạng này, tất cả thành phần của khóa bímật phải được giữ bí mật

Trang 11

B gửi khóa công khai cho A, và giữ bí mật khóa cá nhân của mình Ở đây,

p và q giữ vai trò rất quan trọng Chúng là các phân tố của n và cho phép tính

d khi biết e Nếu không sử dụng dạng sau của khóa bí mật (dạng CRT) thì p

và q sẽ được xóa ngay sau khi thực hiện xong quá trình tạo khóa

Mã Khóa

Khóa công cộng của B

Dữ liệu cần mã hóa

Thông điệp mã hóa gửi đến B

Khóa bímật sẽ

mã hóa

Mã HóaChứng nhận khóa

công cộng

Trang 12

Hình ảnh trên thể hiện qui trình mã hóa Giả sử A muốn gửi một thông điệpđiện tử bí mật cho B và giả sử A đã có được khóa công cộng của B (có thể do

B trao đổi trực tiếp cho A hay thông qua chứng nhận khóa công cộng của B )

 Giai đoạn 1: Mã hóa thông điệp bằng một phương pháp mã hóa đối

xứng an toàn : Máy tính của A sẽ phát sinh ngẫu nhiên khóa bí mật Kđược sử dụng đề mã hóa toàn bộ thông điệp cần gửi đến cho B bằngphương pháp mã hóa đối xứng an toàn đã được chọn

 Giai đoạn 2: Mã hóa khóa bí mật K bằng một phương pháp mã hóa

bắt đối xứng sử dụng khóa công cộng của B

2.2.3 Giải mã

Giải mã đốixứng

Khóa bí mật

Giải mã bất đối tượng

Dữ liệu

Trang 13

Hình ảnh trên minh họa quá trình giải mã

 Giai đoạn 1: Giải khóa bí mật K: B sử dụng khóa riêng của mình để

giải mã khóa bí mật K bằng phương pháp mã hóa bất đối xứng mà A đãdùng để mã hóa khóa K

 Giai đoạn 2: Giải mã thông điệp A: B sử dụng khóa bí mật K để giải

mã toàn bộ thông điệp của A bằng phương pháp đối xứng mà A dùng.Giả sử B nhận c từ A và biết khóa bí mật d B có thể tìm được m từ c theocông thức sau:

Biết m, B tìm lại M theo phương pháp đã thỏa thuận trước Quá trình giải mãhoạt động vì ta có

Trang 14

Khóa công khai là cặp (e, n) Khóa bí mật là d Hàm mã hóa là:

encrypt(m) = me mod n = m17 mod 3233

với m là văn bản rõ Hàm giải mã là:

decrypt(c) = cd mod n = c2753 mod 3233

Trang 15

decrypt(855) = 8552753 mod 3233 = 123

Cả hai phép tính trên đều có thể được thực hiện hiệu quả nhờ giải thuật bìnhphương và nhân

2.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 văn bản rõ(chuyển đổi từ M sang m) sao cho không có giá trị nào của M tạo ra văn bản

mã không an toàn Nếu không có quá trình này, RSA sẽ gặp phải một số vấn

kẻ tấn công sử dụng bảng tra để tìm ra bản rõ tương ứng

Trên thực tế, ta thường gặp 2 vấn đề đầu khi gửi các bản tin ASCII ngắnvới m là nhóm vài ký tự ASCII Một đoạn tin chỉ có 1 ký tự NUL sẽ được gángiá trị m = 0 và cho ra bản mã là 0 bất kể giá trị của e và N Tương tự, một ký

tự ASCII khác, SOH, có giá trị 1 sẽ luôn cho ra bản mã là 1 Với các hệ thốngdùng giá trị e nhỏ thì tất cả ký tự ASCII đều cho kết quả mã hóa không antoàn vì giá trị lớn nhất của m chỉ là 255 và 2553 nhỏ hơn giá trị n chấp nhậnđược Những bản mã này sẽ dễ dàng bị phá mã

Trang 16

Để tránh gặp phải những vấn đề trên, RSA trên thực tế thường bao gồmmột hình thức chuyển đổi ngẫu nhiên hóa m trước khi mã hóa Quá trìnhchuyể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ăngtrong 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ấncô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).

Một số tiêu chuẩn, chẳng hạn như PKCS, đã được thiết kế để chuyển đổibản rõ trước khi mã hóa bằng RSA Các phương pháp chuyển đổi này bổ sungthêm bít vào M Các phương pháp chuyển đổi cần được thiết kế cẩn thận đểtránh những dạng tấn công phức tạp tận dụng khả năng biết trước được cấutrúc của bản rõ Phiên bản ban đầu của PKCS dùng một phương pháp đặc ứng(ad-hoc) mà về sau được biết là không an toàn trước tấn công lựa chọn bản rõthích ứng (adaptive chosen ciphertext attack) Các phương pháp chuyển đổihiện đại sử dụng các kỹ thuật như chuyển đổi mã hóa bất đối xứng tối ưu(Optimal Asymmetric Encryption Padding - OAEP) để chống lại tấn côngdạng này Tiêu chuẩn PKCS còn được bổ sung các tính năng khác để đảm bảo

an toàn cho chữ ký RSA (Probabilistic Signature Scheme for RSA - PSS)

RSA-2.2.5 Tạo chữ ký điện tử

Một phương pháp chữ kí điện tử được định nghĩa là một bộ - năm (P,A, K,

S, V) thỏa mãn các điều kiện sau:

1 P là tập hữu hạn các thông điệp

2 A là tập hợp hữu hạn các chữ kí có thể sử dụng

3 Không gian khóa K là tập hợp hữu hạn các khóa có thể sử dụng được

Ngày đăng: 18/04/2014, 10:39

HÌNH ẢNH LIÊN QUAN

Hình ảnh trên thể hiện qui trình mã hóa . Giả sử A muốn gửi một thông điệp điện tử bí mật cho B và giả sử A đã có được khóa công cộng của B (có thể do - Tìm hiểu về hệ bảo mật RSA
nh ảnh trên thể hiện qui trình mã hóa . Giả sử A muốn gửi một thông điệp điện tử bí mật cho B và giả sử A đã có được khóa công cộng của B (có thể do (Trang 12)

TỪ KHÓA LIÊN QUAN

w