1. Trang chủ
  2. » Công Nghệ Thông Tin

Tiểu luận môn An toàn bảo mật thông tin

15 471 0

Đ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 15
Dung lượng 67,58 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

An toàn và Bảo mật thông tin An toàn và Bảo mật thông tinAn toàn và Bảo mật thông tinAn toàn và Bảo mật thông tinAn toàn và Bảo mật thông tinAn toàn và Bảo mật thông tinAn toàn và Bảo mật thông tinAn toàn và Bảo mật thông tinAn toàn và Bảo mật thông tinAn toàn và Bảo mật thông tinAn toàn và Bảo mật thông tin

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÀI TẬP NHÓM

BỘ MÔN

AN TOÀN VÀ BẢO MẬT THÔNG TIN

Giáo viên hướng dẫn: PGS.TS Nguyễn Xuân Huy

Nhóm học viên thực hiện : 1 Lê Mạnh Đoan

2 Nguyễn Thị Thúy Nga

Thái Nguyên, tháng 9 năm 2016

Trang 2

BÀI TẬP MÔN AN TOÀN VÀ BẢO MẬT THÔNG TIN

Câu 1: Mô tả mật mã dịch vòng, lấy ví dụ với đoạn văn bản trên 10 kí tự

và khóa trên 3 số.

Trả lời:

Mật mã dịch vòng mã hóa đoạn văn bản với bộ chữ cái 26 chữ cái (không tính dấu cách) Tức là ta tiến hành thay thế mỗi chữ trong bản tin bằng chữ đứng

sau nó K vị trí trong bảng chữ cái, trong đó K là khóa

Mật mã dịch vòng là bản mật mã có khóa K

K có thể nhỏ hơn 0 và có thể có nhiều trị

Bản mật mã có thể có số có thể là chữ

+ Với khóa K ngắn ta dịch chuyển trong dãy bảng chữ cái theo chỉ số của khóa

K với những kí tự cần mã giống nhau theo khóa K ngắn thì thu được bản mã

giống nhau

+ Với khóa K dài ta dịch chuyển trong dãy bảng chữ cái theo từng chỉ số của

khóa K với những kí tự cần mã hóa giống nhau theo khóa K dài thì thu được bản

mã khác nhau

Ví dụ: Mật mã “HỌC VIÊN ĐANG LÀM BÀI TẬP LỚN”, với khóa K=1,2,3,4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

Bản mật mã cần mã hóa “HOJC VIEEN DDANG LAMFBAIFTAAJPLOWNS”

Bản mật mã sau khi đã mã hóa :

IQMG@WKHIO@FGEOI@OENH@EEJL@WEBLS@PPYQW

Câu 1a :

Mật mã 1 : “MỆT

QUÁ” Khóa K=1

Giải mật mã : “MEETJ QUAS”

Giải mật mã 1 theo kiểu mật mã dịch vòng ta được : NFFUK@RVBT

Mật mã 2 : “NFFUK@RVBT”

Trang 3

V L M C

Giải mật mã 2 theo mật mã chuồng heo ta được :

Câu 2: : Chủ tịch Hội đồng thi trung ương W cần gửi đề thi T cho cơ sở S Hãy

cho biết (điền vào chỗ trống) những chi tiết cần làm:

1 W dùng khóa … để kí vào đề thi … và thu được bản T1

2 W dùng phần mềm N để nén … và thu được T2

3 W dùng khóa … để mã hóa … và thu được T3

4 … dùng … để nén … và thu được T4

5 … gửi … cho S

Sau khi nhận được … S làm:

Gợi ý: RW, CW, RS, CS

Trả lời:

1 W dùng khóa Rw để kí vào đề thi T và thu được bản T1

2 W dùng phần mềm N để nén T1 và thu được T2.

3 W dùng khóa Cs để mã hóa T2 và thu được T3.

4 W dùng N để nén T3 và thu được T4

5 W gửi T4 cho S.

Sau khi nhận được T4 S làm:

1 S dùng phần mềm N để giải nén T4 thu được T3’

2 S dùng khóa Rs để giải mã T3’ thu được T2’

3 S dùng phần mềm N để giải nén T2’ thu được T1’

4 S dùng khóa Cw để giải T1’ thu được bản rõ T’

Trang 4

Câu 3: Dùng Sàng Eratosthenes để xác định các số nguyên tố trong khoảng

1 200?

Trả lời:

Thuật toán:

1 Viết từ 1 đến N (i = 1 ->N)

2 Xóa 1

3 Tìm tiếp i chưa xóa Nếu

i2 > N thì dừng

i2 < N thì xóa các bội của i tình từ i2

Xác định các số nguyên tố trong khoảng từ 1 200

Trang 5

Bài 4 A kí văn bản T với nội dung vay nợ B Sau đó A chối bỏ chữ kí B phải

làm gì?

Bài làm

1 B kiện A ra toàn và gửi văn bản T (có chữ ký của A) đến tòa

2 Tòa: yêu cầu cơ quan giám định G thực hiện giám định chữ ký của A trong văn bản B G thực hiện:

- Lấy chữ ký của A vào văn bản T1

- So sánh chữ ký của A trong hai văn bản T và T1

- Gửi kết quả giám định đến tòa để đưa ra kết luận

Bài 5 C giả mạo chữ kí của A để kí vào văn bản T rồi gửi cho B Theo ý

anh/chị:

C đã làm gì

B cần làm gì để biết được sự thật

Bài làm

- C muốn gửi văn bản T cho B C sẽ làm như sau:

1 Soạn thảo văn bản T

2 Giả mạo chữ ký của A và ký lên T (C sẽ sử dụng khóa riêng của mình

RC), thu được T1= RC(T)

3 Sử dụng khóa công khai của B để mã hóa T1, thu được T2=CB(T1)

4 Gửi T2 cho B

- B nhận được T2 và thực hiện:

1 Dùng khóa bí mật của mình để giải mã T2, thu được T’1=RB(T2)

2 Sử dụng khóa công khai của người gửi (của C) để giải T’1, thu được bản

rõ T’= CC(T’1)

- Để biết được sự thật B phải gửi tới cơ quan giám định T2, T’ để giám định Cơ quan giám định, thực hiện:

1 Sử dụng khóa bí mật của B để giải mã T2, thu được T3=RB(T2)

2 Sử dụng khóa công khai của A để giải T3, thu được bản rõ T4=CA(T3)

3 So sánh hai bản rõ T4 và T’

4 Đưa ra kết luận

Trang 6

Bài 6 Ban tổ chức B của một hội thi công bố danh sách D các thí sinh trúng

giải của hội thi.

Hãy điền vào chỗ … để biết các công việc cần làm

Ban tổ chức cần làm:

1 Băm bản rõ D để thu được bản băm D1

2 Dùng khóa riêng RB / chung CB của trưởng ban tổ chức kí vào … để thu được D2

3 Công bố … và … trên mạng

Thí sinh T sẽ làm gì để:

- Biết kết quả thi

- Tin rằng những thông tin trên mạng là có thẩm quyền

Bài làm

- Ban tổ chức làm:

1 Băm bản rõ D để thu được bản băm D1

2 Dùng khóa riêng RB của trưởng ban tổ chức kí vào D1 để thu được D2

3 Công bố D và D2 trên mạng

- Thí sinh T sẽ làm:

1 Tải D và D2 về để biết kết quả thi (D chính là kết quả thi)

2 Để tin thông tin đúng thẩm quyền

2.1 Thí sinh dùng CB (khóa công khai của trưởng ban tổ chức) để giải mã D2 và thu được D3

2.2 Thí sinh băm bản rõ D thu được D4=h(D)

2.3 Thí sinh so sánh D4 và D3, nếu:

D4 = D3tin rằng thông tin trên mạng là có thẩm quyền

D4 ≠ D3không tin rằng thông tin trên mạng không có thẩm quyền

Bài 7 Mật mã khóa công khai RSA: Tạo khóa, mã, giải mã?

Bài làm

* Hệ mã mật mã RSA: là hệ mã hóa công khai được đề xuất bởi Ron

Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT) Tên của thuật toán lấy từ 3 chữ cái đầu của tên 3 tác giả

Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa 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

Trang 7

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

Thuật toán RSA được dùng để tạo chữ ký số cho văn bản

* Tạo khóa: Tạo ra 1 cặp khóa gồm khóa (khóa bí mật và khóa công khai)

không trùng với các cặp khóa khác

1 Chọn 2 số nguyên tố p và q (p ≠ q), lựa chọn ngẫu nhiên và độc lập

2 Tính n = p.q

3 Xác định giá trị hàm số Ơle: ϕ(n) = (p – 1)(q – 1)

4 Chọn một số tự nhiên C sao cho 1 < C < ϕ(n) và là số nguyên tố cùng nhau với ϕ(n)

5 Xác định R thỏa mãn RC ≡ 1 (RC mod ϕ(n) = 1)

Khi đó: - Khóa công khai gồm: n (mô đun) và C (số mũ công khai – số mũ mã hóa)

- Khóa bí mật gồm: n (mô đun) và R (số jux bí mật – mũ giải mã)

* Mã hóa: Giả sử A muốn gửi thông tin M cho B.

- Đầu tiên A chuyển M thành một số m < n theo một hàm có thể

đảo ngược (từ m có thể xác định lại được M) được thỏa thuận trước

- Lúc này B có m và biết n cũng như C do B gửi A sẽ tính T là bản

mã hóa của m theo công thức: = (0 ≤ m < n)

- A gửi T cho B

* Giải mã: B nhận T từ A và biết khóa bí mật R.

- B có thể tìm được m từ T theo công thức: =

- 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ó:≡ ( ) ≡ ( )

- Do CR ≡ 1 (mod p – 1) và CR ≡ 1 (mod q – 1) nên

- Do p, q là hai số nguyên tố cùng nhau, ta có:

Trang 8

Bài 8 Chữ ký số: Định nghĩa, chữ ký số trong RSA, ký, xác thực, hàm băm

trong ký số?

Bài làm

a Định nghĩa chữ ký số (Digital Signature)

Chữ ký số là chữ ký điện tử dựa trên kỹ thuật má hóa với khóa công khai Chữ

ký số không gắn liền theo kiểu vật lý vào tài liệu như chữ ký thông thường mà là thông tin được mã hóa bằng khóa riêng của người gửi, được gửi kèm theo văn

bản nhằm đảm bảo cho người nhận định danh, xác thực đúng nguồn gốc và tính toàn vẹn của tài liệu nhận được

Chữ ký số khóa công khai là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi người sử dụng một cặp khóa công khai - bí mật và qua đó có thể ký các văn bản điện tử cũng như trao đổi các thông tin mật

Sơ đồ chữ ký là bộ năm (P, A, K, S, V ), trong đó:

P là tập hữu hạn các văn bản có thể.

A là tập hữu hạn các chữ ký có thể.

K là tập hữu hạn các khoá có thể.

S là tập các thuật toán ký.

V là tập các thuật toán kiểm thử.

Với mỗi khóa ∈ có thuật toán ký ∈ , : → , có thuật toán kiểm tra chữ ký ∈ , : ∗ → { ú , }, đú , }, thoả mãn điều

kiện sau:

Với mọi x  P, y  A:

( , ) = {

, ế ≠( )

Chữ ký số chia thành 2 loại:

- Chữ ký kèm thông điệp (message appendix): được sử dụng nhiều nhất trong thực tế Nó dựa trên các hàm băm mã hoá hơn là dựa trên hàm băm bất kỳ, và ít bị lỗi khi bị tấn công theo kiểu giả mạo Chữ ký loại này đòi hỏi thông điệp gốc là tham số quan trọng nhất cho quá trình kiểm tra chữ ký

- Chữ ký khôi phục thông điệp (message recovery): có thể khôi phục được thông điệp gốc từ chính bản thân chữ ký Nó được dùng để ký trên các thông điệp ngắn

Trang 9

b Chữ ký số trong RSA

- Chữ ký số RSA (Rivest, Shamir, Adleman) là loại chữ ký khôi phục thông điệp Sơ đồ chữ ký RSA có độ phức tạp tính toán phụ thuộc vào việc giải quyết bài toán lũy thừa theo modulo các số rất lớn

- Sơ đồ thuật toán chữ ký RSA:

Bước 1 Tạo cặp khóa (bí mật, công khai) (a, b)

Bước 2 Ký số:

Chữ ký trên x  P là y = Sig k (x) = x a (mod n), y  A (R1) Bước 3 Kiểm tra chữ ký:

Verk (x,y) = đúng  x  y b(mod n) (R2)

Thuật toán tạo cặp khoá bí mật, công khai:

Input 2 số nguyên tố lớn phân biệt p và q

Output Cặp (n,b) là khóa công khai

Cặp (n,a) là khóa bí mật

Thuật toán

Chọn bí mật số nguyên tố lớn p và q, tính n = p* q, công khai n, đặt P=C= Z n

Tính bí mật (n) = (p-1).(q-1) Chọn khóa công khai b < (n),nguyên tố với

(n) Khóa bí mật a là phần tử nghịch đảo của b theo mod (n) tức là a*b 1(mod (n)).

Tập cặp khóa (bí mật, công khai):

- Ví dụ minh họa:

Bước 1 Tạo khoá (bí mật, công khai)

1 Chọn 2 số nguyên tố p=11, q=3.

2 n = p*q = 11*3 = 33

3 (n) = (p-1)(q-1) = 10.2 = 20

4 Chọn b = 3, gcd(b, (n)) = gcd(3, 20) = 1

5 Tính a:

5.1 (n) = (b*a-1)*k

5.2 Tập các ước số của (n) là k i = 1, 2, 4, 5, 10,

20 Khi k i = 1 => a = 7

Khi k i = 4, 10 => a không đồng dư với b theo mod (n) =>

loại Khi k i = 2, 5, 20 => a không nguyên => loại

6 Khoá công khai = (n, b) = (33, 3)

Trang 10

Khoá bí mật = (n, a) = (33,

7) Bước 2 Ký số

Chữ ký trên x= 3

y = Sig k (x) = x a (mod n) = 37 mod 33 = 837 mod 33 = 12 , y  A Bước 3 Kiểm tra chữ ký:

Verk (x,y) = đúng xyb(mod n)3123(mod 33)

c Ký:

Dùng khóa bí mật (tổ chức cung cấp dịch vụ chứng thực chữ ký số) cung cấp để ký lên tệp văn bản

d Xác thực: Để xác thực được văn bản có phải do người A ký hay không thì

dùng khóa công khai của A để giải mã

Một số cách phân loại “xác thực số” như

sau: Cách 1: Phân loại theo đối tượng cần xác thực

- Xác thực Dữ liệu: Văn bản, hình ảnh, âm thanh

+ Xác thực Thông điệp(Message Authentication)

+ Xác thực Giao dịch(Transaction Authentication)

+ Xác thực Khóa (Key Authentication)

- Xác thực Thực thể: Người dùng, thiết bị đầu cuối

+ Xác thực Thực thể (Entity Authentication)

Cách 2: Phân loại theo công việc cần xác thực.

- Xác thực Thông điệp (Message Authentication)

- Xác thực Giao dịch(Transaction Authentication)

- Xác thực Thực thể(Entity Authentication)

- Xác thực Khóa (Key Authentication)

Cách 3: Phân loại theo đặc điểm xác thực.

- Xác thực bảo đảm định danh nguồn gốc (Identification of Source)

- Xác thực bảo đảm toàn vẹn dữ liệu (Data Integrity)

- Xác thực bảo đảm tính duy nhất (Uniqueness)

- Xác thực bảo đảm tính phù hợp về thời gian (Timeliness)

Trang 11

Tổng kết các loại xác thực

Type of Authentication Identification Data Timeliness or

of Source Integrity Uniqueness

-e Hàm băm trong ký số:

- Hàm băm: là hàm biến đổi file h(f) s, tức là biến đổi một file kích thước

tùy ý thành một chuỗi có chiều dài cố định 128 bít

h(f) = s

- Tính chất:

f ≠ g: h(f) ≠ h(g)

biết s không khôi phục được

f - Sơ đồ ký sử dụng hàm băm:

+ Giả sử A cần ký văn bản T và gửi cho B, A thực hiện:

1 Dùng hàm băm để băm T: h(T) = b

2 A ký vào bản băm b: RA(b) = k

3 Gửi T, k cho B (bản gốc và bản ký) sử dụng khóa công khai của B:

CB(T,k) = T’, k’

+ B nhận được T’, k’, thực hiện:

1 Sử dụng khóa riêng để giải mã T’, k’

RB(T’) = T1 đọc nội dung bản rõ T1

RB(k’) = k1

2 Sử dụng khóa công khai của A để mã hóa k1: CA(k1) = b1

3 Dùng hàm băm để băm T1: h(T1) = b2

4 So sánh b1 và b2: giống/khác

Trang 12

Bài 9 Phân biệt các quy trình A có bản tin T: gửi thường cho B,

gửi bảo mật cho B, ký và phơi, ký và gửi thường cho B, ký và

gửi mật cho B?

Bài làm

Qui trình A gửi B:

1 Gửi thường: là gửi mà không cần mã hóa, ai cũng có thể đọc được nội

dung A có thể đưa đồ cần gửi trực tiếp cho B hoặc gửi gián tiếp qua một phương tiện nào đó

2 Gửi bảo mật: Là tin đã được người gửi mã hóa bằng khóa công khai

của người nhận và gửi đi cho người nhận A lấy khóa công khai (CB) của B mã hóa rồi gửi cho B

3 Ký và phơi: Mã hóa bản tin bằng khóa bí mật của mình rồi đẩy lên

mạng hay một nơi nào đó để ai quan tâm vào đó mà lấy

4 Ký và gửi thường: Người gửi tin ký vào nội dung bản tin rồi gửi cho

người nhận

5 Ký và gửi mật: Người gửi tin dùng khóa bí mật của mình ký vào nội

dung bản tin sau đó dùng khóa công khai của người nhận mã hóa rồi gửi cho người nhận

Bài 10 Chọn những mệnh đề đúng hoặc giải thích cách

làm: a) Kí điện tử là đặt khóa vào văn bản.

Mệnh đề sai Chữ ký điện tử là thông tin đì kèm theo dữ liệu nhằm xác định người gửi dữ liệu đó Thực hiện ký là sử dụng khóa bí mật để mã hóa văn bản cần gửi đi

c) Mật mã cổ là mật mã đối xứng

Mệnh đề đúng

d) Mật mã hiện đại với khóa công khai là mật mã bất đối xứng.

Mệnh đề đúng

e) Mã đối xứng là mã biết cách mã hóa thì suy ra cách giải mã và ngược lại.

Mệnh đề đúng

f) RSA là mật mã vừa dùng để kí và để gửi.

Mệnh đề đúng

g) Khi tạo 2 khóa R, C cho hệ RSA có thể chọn bất kì một trong 2 khóa làm khóa mật, khóa thứ hai sẽ là khóa công khai.

Mệnh đề đúng

Trang 13

h) Nếu trót lộ khóa mật thì nên làm gì?

Trang 14

Nên yêu cầu tổ chức cấp khóa cấp lại khóa mới, lúc này phải cấp lại cả khóa bí mật và khóa công khai

i) Nếu 2 người cùng muốn kí vào 1 văn bản thì làm gì?

Trường này việc ký sẽ sử dụng chữ ký bội (hay chữ ký tập thể)

Chữ ký bội là phương pháp tạo ra chữ ký số có độ dài không đổi, không phụ thuộc vào số lượng người tham gia ký vào một văn bản, không làm giảm độ tin cậy của chữ ký số Tuy nhiên, để phát sinh chữ ký bội phải có sự hợp tác của các thành viên trong nhóm với khóa riêng của từng người

Chữ ký bội được chia thành hai dạng cơ bản theo hai phương pháp ký khác nhau: ký đồng thời và ký tuần tự Do đó, lược đồ chữ ký bội cũng chia thành hai dạng

cơ bản: lược đồ chữ ký bội song song và lược đồ chữ ký bội tuần tự

Giả sử A, B cùng muốn ký vào văn bản T:

- Sử dụng lược đồ ký song song: Cả A và B cùng sử dụng khóa riêng

và thực hiện ký vào văn bản T một cách đồng thời

- Sử dụng lược đồ ký tuần tự: A và B thực hiện nối tiếp nhau ký vào văn bản T, thứ tự ký của các thành viên vào văn bản cần phải được bảo đảm theo quy định Trong trường hợp này thực hiện:

1 A dùng khóa riêng ký vào T được T1 = RA(T)

2 B dùng khóa riêng ký vào T1 được T2 = RB(T1)

k) Khóa số thường dài hàng chục chữ số? Nhớ ra sao?

Để nhớ khóa số với chữ số rất dài (là những số nguyên tố lớn) Trong ký số điện tử người ta sinh ra 1 thiết bị gọi là Token dùng để lưu khóa bí mật Khi ký chỉ cần cắm vào máy và chọn ký lên bản tin cần ký

Trang 15

TÀI LIỆU THAM KHẢO [1] Nguyễn Xuân Huy: Học liệu an toàn và bảo mật thông tin

[2] Hồ Văn Canh, Nguyễn Viết Thế: Nhập môn phân tích thông tin có bảo mật NXB Hà Nội T&T, 2010

[3] Phan Đình Diệu: Lý thuyết mật mã và an toàn thông tin Đại học quốc gia Hà Nội, 2002

[3].Douglas R Stinson Cryptography Theory and practice.CRC Press 1995 [4] A Menezes, P VanOorschot, and S Vanstone.Handbook of

Applied Cryptography CRC Press 1996

[5] Nik Goots, Boris Izotov, Alex Moldovyan and Nik Moldovyan, “Modern CryptographyProtect Your Data with Fast Block Ciphers”, A-LIST Publishing , 2003

[6] Whitfield Diffie, Martin E Hellman, “New Directions in Cryptography”, IEEE transactions on information theory, Vol IT-22, No 6, November 1976

[7] Randy Nichols (LANAKI), “Classical cryptography course”, 1995 http://www.forturecity.com/course/LANAKI.html

Ngày đăng: 20/04/2017, 10:55

TỪ KHÓA LIÊN QUAN

w