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

Bài giảng mật mã hóa hiện đại chương 4

15 396 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 669,78 KB

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

Nội dung

Bài giảng, mật mã hóa hiện đại, chương 4

Trang 1

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

TS Phạm Việt Hà

MẬT MÃ HÓA HIỆN ĐẠI

Chương 4: Hệ mật khóa công khai

MẬT MÃ HÓA HIỆN ĐẠI

Chương 4: Hệ mật khóa công khai

4 Hệ mật khoá công khai

4.1 Hệ mật RSA 4.2 Hạ tầng khóa công khai PKI

Trang 2

Trang3 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

4.1 Hệ mật RSA

 RSA là mã công khai được sáng tạo bởi Rivest, Shamir & Adleman ở MIT (Trường Đại học Công nghệ Massachusetts) vào năm 1977

 RSA là mã công khai được biết đến nhiều nhất và sử dụng rộng rãi nhất hiện nay

 RSA dựa trên các phép toán lũy thừa trong trường hữu hạn các số nguyên theo modulo nguyên tố Cụ thể, mã hoá hay giải mã là các phép toán luỹ thừa theo modulo số rất lớn

 Việc thám mã, tức là tìm khoá riêng khi biết khoá công khai, dựa trên bài toán khó làphân tích một số rất lớn đó ra thừa số nguyên tố Nếu không có thông tin gì, thì ta phải lần lượt kiểm tra tính chia hết của số

đó cho tất cả các số nguyên tố nhỏ hơn căn của nó Đây là việc làm không khả thi!

4.1 Hệ mật RSA

 Người ta chứng minh được rằng, phép lũy thừa cần O((log n)3) phép toán, nên có thể coi lũy thừa là bài toán dễ

 Cần chú ý rằng ở đây ta sử dụng các số rất lớn khoảng 1024 bit, tức là cỡ

10350

 Tính an toàn dựa vào độ khó của bài toán phân tích ra thừa số các số lớn Bài toán phân tích ra thừa số yêu cầu O(elogn log logn) phép toán, đây là bài toán khó

Trang 3

Trang5 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

Khởi tạo khoá RSA

• Mỗi người sử dụng tạo một cặp khoá công khai – riêng như sau:

– Chọn ngẫu nhiên 2 số nguyên tố lớn p và q

– Tính số làm modulo của hệ thống: N = p.q

• Ta đã biết Ф(N)=(p-1)(q-1)

• Và có thể dùng Định lý Trung Hoa để giảm bớt tính toán

• Chọn ngẫu nhiên khoá mã e

• Trong đó 1<e< Ф(N), gcd(e,Ф(N))=1

• Giải phương trình sau để tìm khoá giải mã d sao cho

• e.d=1 mod Ф(N) với 0≤d≤ Ф(N)

• In khoá mã công khai KU={e,N}

• Giữ khoá riêng bí mật KR={d,p,q}

4.1 Hệ mật RSA

Sử dụng RSA

• Để mã hoá mẩu tin, người gủi:

– Lấy khoá công khai của người nhận KU={e,N}

– Tính C=Memod N, trong đó 0≤M<N

• Để giải mã hoá bản mã, người sở hữu nhận:

– Sử dụng khóa riêng KR={d,p,q}

– Tính M=Cdmod N

• Lưu ý rằng bản tin M < N, do đó khi cần chia khối bản rõ

Trang 4

Trang7 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

4.1 Hệ mật RSA

Cơ sở của RSA

• Theo Định lý Ole

– a(n) mod N = 1 trong đó gcd(a,N)=1

– Ta có N=p.q

– Ф(N)=(p-1)(q-1)

– e.d=1 mod Ф(N)

– e.d=1+k.Ф(N) đối với một giá trị k nào đó

• Suy ra

– Cd= (Me)d= M1+k.(N)= M1.(M(n))k suy ra

– CdmodN = M1.(1)kmodN = M1modN = M modN

4.1 Hệ mật RSA

Ví dụ

• Chọn các số nguyên tố: p=17& q=11.

Tính n = pq, n = 17×11=187

Tính Ф(n)=(p–1)(q-1)=16×10=160

Chọn e : gcd(e,160)=1; Lấy e=7

Xác định d: de=1 mod 160 và d < 160

• Giá trị cần tìm là d=23, vì 23×7=161= 10×160+1

• In khoá công khai KU={7,187}

• Giữ khoá riêng bí mật KR={23,17,11}

Trang 5

Trang9 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

 Ví dụ áp dụng mã RSA trên như sau:

• Cho mẩu tin M = 88 (vậy 88<187)

• Mã C = 887mod 187 = 11

• Giải mã M = 1123 mod 187 = 88

• Có thể dùng định lý phần dư Trung Hoa để giải mã cho nhanh như sau:

– Tính 1123mod 11 = 0

– Tính 1123mod 17 = (-6)23mod 17 = (-6)16(-6)4(-6)2(-6) mod 17 =

c1= 3

Vì (-6)2mod 17 = 2, nên (-6)4mod 17 = 4, (-6)8mod 17 = -1, (-6)16mod 17 = 1

– 11-1mod 17 = (-6)-1mod 17 = 14 nên 11(11-1mod 17) = 11(14 mod 17) = c2= 154

– Vậy M = (3.154) mod 187 = 462 mod 187 = 88

4.1 Hệ mật RSA

Mã hiệu quả:

• Mã sử dụng lũy thừa của khoá công khai e, nếu giá trị của e nhỏ thì tính toán sẽ nhanh, nhưng dễ bị tấn công Thường chọn e nhỏ hơn hoặc bằng 65537 (216-1), tức là độ dài khoá công khai là 16 bit

Chẳng hạn trong ví dụ trên ta có thể lựa chọn e = 23 hoặc e = 7

• Ta có thể tính mã hoá nhanh, nếu biết n=pq và sử dụng Định lý phần

dư Trung Hoa với mẩu tin M theo các Modulo p và q khác nhau Nếu khoá công khai e cố định thì cần tin tưởng rằng khi chọn n ta luôn có gcd(e,Ф(n)) = 1 Loại bỏ mọi p, q mà làm cho Ф(n) không nguyên tố cùng nhau với e

Trang 6

Trang11 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

4.1 Hệ mật RSA

Giải mã hiệu quả:

• Có thể sử dụng Định lý phần dư Trung Hoa để tính theo mod p và q, sau

đó kết hợp lại để tìm ra bản rõ Vì ở đây người sử dụng khoá riêng biết được p và q, do đó có thể sử dụng kỹ thuật này

• Nếu sử dụng định lý phần dư Trung Hoa để giải mã thì hiệu quả là nhanh gấp 4 lần so với giải mã tính trực tiếp

4.1 Hệ mật RSA

Sinh khoá RSA

• Người sử dụng RSA cần phải xác định ngẫu nhiên 2 số nguyên tố rất lớn

p, q thông thường khoảng 512 bit

• Sau khi chọn được một khoá e hoặc d nguyên tố cùng nhau với Ф(n), dễ dàng tính được khoá kia chính là số nghịch đảo của nó qua thuật toán Euclide mở rộng

Trang 7

Trang13 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

An toàn của RSA

• Trên thực tế có nhiều cách tấn công khác nhau đối với mã công khai RSA như sau:

– Tìm kiếm khoá bằng phương pháp vét cạn, phương pháp này không khả thi với kích thước đủ lớn của các số

– Tấn công bằng toán học dựa vào độ khó việc tính Ф(n) bằng cách phân tích n thành hai số nguyên tố p và q hoặc tìm cách tính trực tiếp Ф(n)

– Trong quá trình nghiên cứu việc thám mã người ta đề xuất kiểu tấn công thời gian trong khi giải mã, tức là căn cứ vào tốc độ mã hoá và giải mã các mẩu tin cho trước mà phán đoán các thông tin

về khoá

4.2 Hạ tầng khóa công khai

 Bob có một khóa đơn bí mật

 Nếu Alice muốn gửi cho Bob một bản tin bí mật

• Bob gửi cho Alice một bản ghi về khóa bí mật của mình

• Alice mã hóa bản tin với khóa bí mật của Bob

• Bob giải mã bản tin với khóa bí mật của mình

Vấn đề đặt ra:

• Làm sao Bob có thể gửi khóa bí mật cho Alice?

• Nếu trong trường hợp Alice là thám mã?

• Nếu Alice, Bob, Charley, và Dan cần trao đổi thông tin? Khi đó cần n! khóa

Trang 8

Trang15 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

4.2 Hạ tầng khóa công khai

 Bob có đồng thời 2 khóa

 Một khóa để mã hóa và chỉ có duy nhất một khóa khác có thể giải mã

 Bob giữ khóa riêng bí mật (Private Key)

 Bob chia sẻ khóa công khai (Public Key)

 Nếu Alice cần gửi cho Bob một bản tin

• Bob gửi cho Alice một bản ghi của Public Key

• Alice mã hóa bản tin với Khóa công khai của Bob

• Bob giải mã bản tin với khóa riêng bí mật của mình

4.2 Hạ tầng khóa công khai

 Bob có đồng thời 2 khóa

 Ưu điểm:

• Bob có thể phân phối khóa công khai

• Nếu Alice là một thám mã thì cũng không thể làm ảnh hưởng đến Bob với khóa công khai (không thể tìm ra khóa riêng nếu chỉ biết khóa công khai)

• Bob chỉ cần một cặp khóa cho tất cả các giao dịch

• Bob có thể ký chữ ký điện tử lên bản tin được

mã hóa với khóa riêng bí mật

 Vấn đề:

• Làm thế nào Alice thực sự biết được Alice đang

sử dụng khóa công khai của Bob

Trang 9

Trang17 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

 Tổ chức cấp chứng thư số (CA) là một bên thứ

3 đáng tin cậy

 Tổ chức cấp chứng thư số (CA) cấp các chứng thư số

 Hạ tầng thiết bị của hệ thống cung cấp chứng thư số được gọi là hạ tầng khóa công khai PKI

 Một chứng thư số bao gồm:

• Khóa công khai của Bob

• Tên, địa chỉ và các thông tin của Bob

• Ngày hết hạn và số serial

• Tên tổ chức cấp chứng thư số,…

 Một chứng thư số được ký bởi khóa riêng bí mật của CA để đảm bảo tính bảo mật

 Mọi cá nhân đều có khóa công khai của CA

Public Private

4.2 Hạ tầng khóa công khai

• Nhận thực: chống lại các truy nhập không phép, có thể tích hợp vào trang web, truy nhập từ xa, mạng không dây

• Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã được

• Tạo chữ ký số: cho phép kiểm tra một văn bản có phải đã được tạo với một khóa bí mật nào đó hay không

 Chữ ký điện tử:

• Người gửi sẽ mã hoá đoạn mã bǎm (hash - một dạng rút gọn của thông điệp nguyên bản - với một số thuật toán (ví dụ như MD5, SHA-1 )) bằng khoá riêng của mình và người nhận sẽ dùng khoá công khai của người gửi để giải đoạn mã bǎm của người gửi, sau đó so sánh với đoạn mã bǎm của thông điệp nhận được

• Nếu trùng nhau thì người nhận có thể tin rằng thông điệp nhận được không bị thay đổi trong quá trình truyền tải trên mạng và xuất phát từ người gửi xác định Cách thực hiện này được gọi là chữ ký điện tử-chữ kí số

Trang 10

Trang19 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

4.2 Hạ tầng khóa công khai

Chữ ký điện tử:

Quá trình tạo chữ kí số

• Đoạn dữ liệu cần được bảo mật được đưa qua hàm băm (hashing), kết quả của hàm băm là một đoạn bit đảm bảo 2 tính chất:

– tính duy nhất: mỗi một đoạn dữ liệu khác nhau thì sẽ có một đoạn bit khác nhau, không trùng lặp, có độ dài không đổi

– tính một chiều: từ đoạn bit đặc trưng này, không suy ngược lại được nối dung đoạn văn bản

• Đoạn bit đặc trưng này được mã hoá bằng khoá bí mật của người gửi và được đính kèm vào "văn bản", rồi gửi đến người nhận – đoạn bit được mã hoá này chính là chữ ký số (digital signature)

-BEGIN SIGNATURE -IQB1AwUBMVSiA5QYCuMfgNYjAQFAKgL/ZkBfbeNEsbthba4BlrcnjaqbcKgNv+

a5kr4537y8RCd+RHm75yYh5xxA1ojELwNhhb7cltrp2V7LlOnAelws4S87UX80c LBtBcN6AACf11qymC2h+Rb2j5SU+rmXWru+=QFMx

-END

SIGNATURE -4.2 Hạ tầng khóa công khai

Tiến trình ký:

Trang 11

Trang21 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

Kiểm tra chữ kí:

 Từ phía người nhận, khi nhận được "văn bản" kèm chữ ký số, tiến trình kiểm tra sẽ như sau:

• Lấy đoạn dữ liệu gốc, đưa qua hàm băm đã nói ở trên, thu được một đoạn bit là kết quả băm

• Lấy đoạn bit được mã hoá (chữ ký số), giải mã bằng khoá công khai của người gửi, thu được đoạn bit đặc trưng

• So sánh đoạn bit vừa thu được với đoạn bit thu được trong bước 1, nếu 2 đoạn trùng nhau và tin rằng khoá công khai chắc chắn là do người gửi phát hành thì kết luận:

– dữ liệu nhận được có tính toàn vẹn (vì kết quả băm là duy nhât, một chiều)

– dữ liệu nhận được là do chính người gửi gửi đi vì chỉ duy nhất người gửi mới có khoá bí mật phù hợp với khoá công khai đã được sử dụng để giải mã Như vậy tính chống từ chối và tính xác thực được kiểm tra và xác nhận Lúc này người nhận tin rằng, khoá công khai đó đại diện hợp pháp cho người gửi

4.2 Hạ tầng khóa công khai

Tiến trình kiểm tra chữ ký:

Trang 12

Trang23 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

4.2 Hạ tầng khóa công khai

Chứng thư số:

 Để giải quyết câu hỏi "khoá công khai có đúng là của người gửi văn bản không

và khoá công khai này lấy ở đâu để có thể tin cậy được?", vấn đề được giải quyết như sau:

• Xây dựng một hệ thống tập trung có thể cấp phát cặp khoá riêng - công khai cho toàn bộ người tham gia giao dịch

• Chuyển giao phần khoá bí mật cho người sở hữu và đảm bảo rằng chỉ duy nhất anh ta biết được khoá này

• Gắn liền thông tin cá nhân (tên, số nhân dạng có nhân, chức vụ, đơn vị công tác, và một số thông tin khác) của người sở hữu cặp khoá vào phần khoá công khai để tạo thành một file dữ liệu – đây chính là phần nội dung của chứng thư số

• Để đảm bảo tính toàn vẹn và có thể tin cậy dữ liệu nhận được, hệ thống phát hành sử dụng khoá riêng của mình tạo và đính kèm một chữ ký điện tử lên file

dữ liệu nói trên Đoạn nội dung (chứa thông tin cá nhân và khoá công khai của người sở hữu) có đính kèm chữ ký số của hệ thống phát hành cặp khoá được gọi là chứng thư số của người sở hữu cặp khoá

4.2 Hạ tầng khóa công khai

Chứng thư số:

 Hệ thống cấp khoá và chứng thực rằng cặp khoá đó đại diện cho người tham gia giao dịch được gọi là hệ thống chứng thực số (Certificate Authority - CA) Như vậy, các vấn đề sau được giải quyết:

• Khi có chứng thư số, ta có được khoá công khai của người giao dịch, khoá công khai này được đính kèm với thông tin cá nhân (tên, số nhân dạng có nhân, chức vụ, đơn vị công tác, và một số thông tin khác) của người giao dịch

• Việc chứng thực rằng khoá công khai này là hợp lệ và là đại diện cho người tham gia giao dịch được chứng thực bởi hệ thống CA

• Tất cả các bên giao dịch muốn kiểm tra tính đúng đắn, hợp lệ về nội dung của chứng thư số đều xuất phát từ việc tin cậy vào chữ ký số của CA trên chứng thư số (điều này cũng hoàn toàn tự nhiên như khi ta xem xét 1 chứng minh thư nhân dân để tin cậy vào một cá nhân, ta tin cậy vào chữ ký và dấu của người ký chứng minh thư đó)

Trang 13

Trang25 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

Quy trình cấp chứng thư số:

 Để lấy được chứng thư số bạn cũng cần phải thực hiện các công việc đăng ký

 Nơi có thể chứng nhận những thông tin của bạn là chính xác được gọi là Tổ chức cấp chứng thư số (Certificate Authority viết tắt là CA), một tổ chức có thẩm quyền xác nhận chỉ danh và cấp các chứng thư số

 Họ có thể là một thành phần thứ ba đứng độc lập hoặc các tổ chức tự vận hành phần mềm cấp chứng thư số của mình Các phương pháp để xác định chỉ danh phụ thuộc vào các chính sách mà CA đặt ra

 Chính sách lập ra phải đảm bảo việc cấp chứng thư số phải đúng đắn, ai được cấp

và mục đích dùng vào việc gì

 Thông thường, trước khi cấp một chứng thư số, CA sẽ công bố các thủ tục cần phải thực hiện cho các loại chứng thư số

4.2 Hạ tầng khóa công khai

Lợi ích sử dụng chứng thư số:

 Mã hoá và giải mã: cho phép hai đối tác giao thiệp với nhau có thể che giấu thông tin mà họ gửi cho nhau Người gửi mã hoá các thông tin trước khi gửi chúng đi, người nhận sẽ giải mã trước khi đọc Trong khi truyền, các thông tin sẽ không bị lộ

 Chống lại sự giả mạo: cho phép người nhận có thể kiểm tra thông tin có bị thay đổi hay không Bất kỳ một sự thay đổi hay thay thế nội dụng của thông điệp gốc đều sẽ bị phát hiện

 Xác thực: cho phép người nhận có thể xác định chỉ danh của người gửi

 Không thể chối cãi nguồn gốc: ngăn chặn người gửi chối cãi nguồn gốc tài liệu mình đã gửi

Trang 14

Trang27 © 2009 | CCIT/RIPT

VIỆN KHOA HỌC KỸ THUẬT BƯU ĐIỆN TRUNG TÂM TƯ VẤN ĐẦU TƯ CHUYỂN GIAO CÔNG NGHỆ

4.2 Hạ tầng khóa công khai

Chứng thư số bị thu hồi:

 Các chứng chỉ có chứa ngày hết hạn hiệu lực (trong trường thời gian hiệu lực), tuy nhiên đôi khi cần thu hồi (ngắt hiệu lực) của một chứng chỉ trước thời gian vì một vài lý do nào đó Người phát hành chứng chỉ (CA) cần một phương tiện để cập nhật thông tin trạng thái chứng chỉ của mọi chứng chỉ cho người dùng Một phương tiện hữu hiệu là danh sách chứng chỉ thu hồi chuẩn X.509 (CRL)

 Danh sách chứng chỉ thu hồi X.509 được bảo vệ bởi chữ ký số của CA phát hành

Những người dùng sẽ chắc chắn rằng nội dung của CRL không bị thay đổi bằng cách xác thực chữ ký trên CRL đó Các chứng chỉ chứa một tập hợp các trường chuẩn và một tập các trường mở rộng tuỳ chọn

4.2 Hạ tầng khóa công khai

Chứng thư số bị thu hồi:

 Thông thường một chứng chỉ bị thu hồi vì những lý do sau:

• Tạm giữ: Người dùng quên chỗ để smart card hoặc token của họ Nếu người dùng tìm thấy card, chứng chỉ có thể được chuyển về trạng thái tin cậy Nếu người dùng không tìm thấy người quản trị có thể thu hồi vĩnh viễn

• Khoá bị tấn công: Khoá ký hay mã hoá riêng bị lấy cắp hay đang nghi có thể

bị tấn công, khoá công khai sẽ bị thu hồi để đảm bảo an ninh

• Thay đổi thuộc tính: Một số thông tin thuộc tính thay đổi mặc dù không có vấn đề về an ninh Ví dụ chính sách hệ thống của Công ty thay đổi kéo theo thay đổi về doanh nghiệp chẳng hạn sẽ kéo theo các chứng chỉ hiện thời liên quan bị thu hồi và được thay thế bởi các chứng chỉ mới

• Thay thế: Cặp khoá được thay thế bởi một cặp mới theo chính sách của Công

ty Người quản trị có thể thu hồi các chứng chỉ cũ khi chúng được thay thế bởi các chứng chỉ mới

• Dừng vận hành: Thu hồi các chứng chỉ của người dùng nào đó mặc dù không

có vấn đề về an ninh Ví dụ người dùng nghỉ công tác trong tổ chức

Ngày đăng: 22/04/2015, 19:14

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm