1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị smartphone

70 6 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 70
Dung lượng 7,35 MB

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

Nội dung

Việc giao dịch điện từ ngày trở nên mặc nhiên, trước thông tin trao đổi qua giấ y tờ , hầu hết qua gọi, tin nhắn, mạ ng xã hội Email Các vấn đề thương mại điện tử phát triển mạnh mẽ, nhiều giao dịch thực hồn tồn qua mạng, tốn qua mạng nhiên nói chưa triệt để Một xu hướng giao dịch thông qua kênh điện tử ngày cao, xu hướng tất yếu triển khai có lẽ giới bạn nằm chiếu smartphone Có thể nói xu hướng phát triển ngày thấy vấn đề xác thực bảo mật chưa thực quan tâm cách đáng cho s ản phẩm dịch vụ Trên giới việc phát triển ứ ng dụng chữ ký s ố cho tảng thiết bị Mobile chưa thự c triển khai rộng rãi mặt ứng dụng tương tự máy tính Với tính chữ ký số: “Bả o mật”; “Xác thực người dùng”, dự kiến s ẽ nghiên cứu phát tri ển ứng dụng sử dụng ch ữ ký số để đáp ứng tính nhằm bước đầu tạo tảng “Bảo mật” “Xác thực” cho người dùng sử dụng smartphone giao dịch điển tử để nhằm mở toang cánh cửa giao dịch điện tử để người hoàn toàn t ự tin giao dịch giao d ịch điện tử giao dịch trự c tiếp Chính v ậy chúng tơi định lựa chọn đề tài “Nghiên cứu phát triển ứng dụng chữ ký số thiết bị Smartphone”

Trang 1

1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

- Nguyễn Quang Minh

TÊN ĐỀ TÀI LUẬN VĂN

Nghiên cứu và phát triển các ứng dụng chữ ký số trên các thiết bị Smartphone

Chuyên ngành : Kỹ thuật viễn thông

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC :

1 TS Nguyễn Quốc Khương

Hà Nội – 09/2016

Trang 2

2

DANH MỤC CÁC T ẾT TẮT 5ỪVI

LỜI CAM ĐOAN 7

M Ở ĐẦU 8

1.1 LÝ DO LỰA CHỌN ĐỀTÀI 8

1.2 M C TIÊU VÀ MỤ ỤC ĐÍCH CỦA NGHIÊN C U 8Ứ 1.3 NHIỆM VỤ NGHIÊN C U 9Ứ 1.4 ĐỐI TƯỢNG VÀ PH M VI NGHIÊN C U 9Ạ Ứ Chương 1 TỔNG QUAN V CH KÝ S 10Ề Ữ Ố 1.1 TÌNH HÌNH TRIỂN KHAI CH ỮKÝ SỐ 10

1.1.1 Tình hình triển khai ch ký s ữ ốtrên thế ới gi 10

1.1.2 Tình hình triển khai ch ký s tữ ố ại Việt Nam 10

1.2 CÁC KHÁI NIỆM VỀ CHỮ KÝ SỐ 12

1.3 CHỮ KÝ SỐ TRÊN THIẾT BỊ DI ĐỘNG 14

1.3.1 Nhu cầu thực tiễn 14

1.3.2 Tình hình triển khai trên th gi i 15ế ớ 1.3.3 Các vấn đề ề ỹ v k thu t công ngh 16ậ ệ Chương 2 LÝ THUYẾT V CH KÝ S 17Ề Ữ Ố 2.1 CƠ SỞ LÝ THUY T 17Ế 2.1.1 Khái niệm Ch ký s 17ữ ố 2.1.2 Cơ sở toán học của chữ ký s 18ố 2.1.3 Phân lo i Ch ký s 21ạ ữ ố 2.2 H MÃ HÓA KHÓA CÔNG KHAI RSA 23Ệ 2.2.1 Mô tả sơ lược về mã hóa RSA 23

2.2.2 Phương pháp tạo mã và gi i mã trong mã hóa công khai RSA 23ả 2.2.3 Đặc trưng của mã hóa công khai RSA 24

2.2.4 Độan toàn của mã hóa RSA 25

2.2.5 Các hình thức tấn công đối với mã hóa RSA 26

2.3 CHỮ KÝ SỐ RSA 27

2.3.1 Đặt vấn đề 27

2.3.2 Các biểu tượng 28

Trang 3

3

2.3.3 Các lo i khóa 31ạ 2.3.4 Các nguyên hàm m t mã 33ậ

2.3.5 Các lược đồmã hóa 38

3.3.6 Các lược đồ ch ký 42ữ 2.4 CHU N PKCS#11 45Ẩ 2.4.1 Giới thiệu 45

2.4.2 M c tiêu thiụ ết kế 46

2.4.3 Mô hình chung 46

2.4.4 Khung nhìn logic c a m t token 48ủ ộ 2.4.5 Người dùng 50

2.4.6 Các ứng d ng s d ng Cryptoki 51ụ ử ụ 2.4.7 M t s vộ ố ấn đề an ninh c n xem xét 51ầ Chương 3 PHÂN TÍCH THIẾT K CÁC NG D NG TRI N KHAI CH KÝ Ế Ứ Ụ Ể Ữ S TRÊN MOBILE 53Ố 3.1 THÀNH PH N KI N TRÚC NG D NG 53Ầ Ế Ứ Ụ 3.2 THIẾT KẾ CÁC MÔ HÌNH M T MÃ VÀ CH Ậ ỮKÝ SỐ 55

3.2.1 M t mã bậ ất đối xứng và đối xứng k h p 55ế ợ 3.2.2 Mô hình sử ụ d ng h tạ ầng mã khóa công khai để đăng nhập h ng.ệthố 57 3.2.3 Ký dữ liệ u 58

3.2.4 Mô hình xác thực chữ ký s 59ố 3.3 THI T K Ế ẾCHỨC NĂNG 60

3.3.1 Thi t k ế ếchức năng cho Soft Token 60

3.3.2 Thi t k ế ếchức năng cho Secured SMS 61

3.3.3 Thi t k ế ếchức năn cho Secured Email Client 61

3.3.4 Thi t k ế ếchức năng cho Signing App 61

3.4 THI T K Ế ẾKIẾN TRÚC 62

3.4.1 Ki n trúc Mobile PKI Soft Token App 62ế 3.4.2 Kiến trúc Secured SMS App 63

3.4.3 Kiến trúc Secured Email Client App 65

3.4.4 Kiến trúc Signing Apps 67

Trang 4

4

KẾT LUẬN 695.1 NH NG CÔNG VI C MÀ LUỮ Ệ ẬN VĂN ĐÃ ĐẠT ĐƯỢC 695.2 KH Ả NĂNG PHÁT TRIỂN C A LUỦ ẬN VĂN 69

Trang 5

5

DANH M C CÁC T Ụ Ừ VIẾ T T T Ắ

STT Ch viữ ết tắt Nghĩa chữ ế ắ vi t t t

1 CA Nhà cung cấ ịp d ch vụ ch ng thứ ực chữ ký s

2 CRL Danh sách số serial c a các chủ ứng thư số ị b

thu hồi, danh sách này được các nhà cung cấp

dịch vụ chữ ký s cung c p.ố ấ

3 OCSP Giao thức ki m tra chể ữ ký s ực tuyến ốtr

4 SSL Giao thức bảo mật, nó dùng cơ chế ủ c a mã

khóa công khai và mã hóa đố ứng đểi x áp

d ng b o m t kênh truy n tin.ụ ả ậ ề

5 PKCS Chuẩn m t mã h t ng mã khóa công khai ậ ạ ầ

7 PIN Mật khẩu để truy xuất vào m t thiộ ết bị chữ ký

s ố

13 DES Data Encryption Standard (Tiêu chu n Mã ẩ

hóa D u) ữliệ

15 AES Advanced Encryption Standard (Tiêu chu n ẩ

mã hóa tiên ti n) ế

16 MIME chuẩn định dạng cho thư điệ ửn t khi truyền

qua Internet

17 S/MIME chuẩn mã hóa và ký s ố cho thư điệ ửn t MIME

18 SMTP Simple Mail Transfer Protocol - giao thức

truy n tề ải thư tín đơn giản

Trang 6

6

Trang 7

7

LỜI CAM ĐOAN

Tôi xin cam đoan số ệ li u và k t qu nghiên c u trong luế ả ứ ận văn này là trung thực M i ọ

s ự giúp đỡ cho vi c th c hi n luệ ự ệ ận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được ch rõ ngu n gỉ ồ ốc rõ ràng và được phép công b ố

Hà Nội, ngày 30 tháng 09 năm 2016

Nguyễn Quang Minh

Trang 8

8

M Ở ĐẦ U 1.1 LÝ DO LỰ A CH ỌN ĐỀ TÀI

Việc giao dịch điện t càng ngày tr nên càng mừ ở ặc nhiên, trước đây mọi thông tin trao đổi qua gi y t , gi ấ ờ ờ đây hầu h t qua các cu c g i, tin nh n, m ng xã h i và ế ộ ọ ắ ạ ộEmail Các vấn đề thương mại điệ ử đã và đang phát triển t n m nh m , gi r t nhiạ ẽ ờ ấ ều giao dịch đã thực hi n hoàn toàn qua mệ ạng, thanh toán qua m ng tuy nhiên có th nói ạ ểchưa triệ ểt đ

Một xu hướng mọi giao dịch thông qua kênh điệ ửn t ngày càng cao, xu hướng t t yếu ấ

s n khai và có l c ẽtriể ẽ ảthế gi i c a b n n m trong m t chi u smartphone Có th nói ớ ủ ạ ằ ộ ế ể

một xu hướng phát triển như thế nhưng càng ngày chúng ta càng thấy các vấn đề xác thực và bảo mật chưa được th c sự ự quan tâm một cách chính đáng cho các sản phẩm

dịch vụ

Trên th gi i vi c phát tri n các ng d ng ch ký s cho n n t ng thi t b Mobile ế ớ ệ ể ứ ụ ữ ố ề ả ế ịchưa thực s ự được tri n khai r ng rãi v m t ng dể ộ ề ặ ứ ụng tương tự như máy tính Với tính năng của ch ký sữ ố: “Bảo mật”; “Xác thực người dùng”, chúng tôi dự ế ki n s ẽnghiên c u phát tri n các ng d ng s d ng ch ký s ứ ể ứ ụ ử ụ ữ ố để nó đáp ứng các tính năng

nhằm bước đầ ạu t o ra n n tề ảng “Bảo mật” và “Xác thực” cho người dùng s d ng ử ụsmartphone trong các giao dịch điể ửn t để nhằm mở toang cánh c a giao dử ịch điệ ửn t

ra để ọi ngườ m i hoàn toàn t tin giao d ch các giao dự ị ịch điệ ử như giao dịn t ch tr c ựtiếp Chính v y chúng tôi quyậ ết định l a chự ọn đề tài “Nghiên cứu và phát tri n ng ể ứ

d ng ch ký s trên thiụ ữ ố ết bị Smartphone ”

Trang 9

9

- Nghiên c u phát tri n các ng dứ ể ứ ụng để qu n lý, b o m t và xác thả ả ậ ực người dùng

cá nhân trong các giao d ch.ị

o M c tiêu t o ra các s ụ ạ ả n phẩ m

- Soft Token: ng d ng t o, quỨ ụ ạ ản lý, lưu trữ các khóa s ốchứng thư số ộ, m t cách

b o m tuân theo các chu n chu n công nghi p toàn c u ả ật ẩ ẩ ệ ầ

- Ứng d ng ký các file PDF, Office trên n n Mobile ụ ề

- Ký số và b o mả ật Email

- B o m t SMS ả ậ

- Ứng d ng tích h p phụ ợ ục vụ cho xác thực, bảo mật các giao dịch thương mại điện

t , ngân hàng, ch ng khoán, thanh toán tr c ử ứ ự tuyến

1.3 NHIỆ M V NGHIÊN C U Ụ Ứ

- Nghiên c u, h ứ ệ thống hóa cơ sở lý thuyết, các chu n công nghi p, v ch ký s ẩ ệ ề ữ ố

để áp d ng vào phát tri n các ng d ng ch ký s trên n n Mobile ụ ể ứ ụ ữ ố ề

- Mô tả, đánh giá thực tr ng, nhu c u tri n khai tri n khai áp d ng ch ký s , các ạ ầ ể ể ụ ữ ốlĩnh vực áp dụng ch ký s và kh ữ ố ả năng mở ủ c a nó

- Đề xu t và phát tri n các ng d ng, giấ ể ứ ụ ải pháp đáp ứng các yêu c u ầ

1.4 ĐỐ I TƯ Ợ NG VÀ PH M VI NGHIÊN C U Ạ Ứ

o Đố i tư ợ ng nghiên c u ứ

- Các vấn đề ả b o m t và xác thậ ực thông tin cá nhân

- Các ng d ng và giứ ụ ải pháp đáp ứng nhu c u b o m t và xác thầ ả ậ ực của cá nhân

o Phạ m vi nghiên c u ứ

- Nghiên cứu tình hình chung trên th gi i và Vi t Nam ế ớ ệ

- Thời gian trong kho ng t 2014-2016 ả ừ

Trang 10

10

Chương 1 T NG QUAN V CH KÝ S Ổ Ề Ữ Ố 1.1 TÌNH HÌNH TRI N KHAI CH KÝ S Ể Ữ Ố

1.1.1 Tình hình tri n khai ch ể ữ ký số trên th gi ế ớ i.

Chữ ký s ố đang đượ ức ng d ng vào trong các giao dụ ịch điệ ửn t ngày càng ph ổ

bi n ế ở các nước trên th giế ới Đặc bi t là ệ ở các nước có n n công ngh tiên tiề ệ ến như

M , Canada, Anh, Nh t B n, Hàn Qu c, Malaysia, Singapore, Trung Quỹ ậ ả ố ốc,…Các

gi i pháp chính ph n t ả ủ điệ ử và Thương mại điệ ử đều đượn t c ứng d ng kụ ỹ thu t ch ậ ữ

ký s ố

Tại các cường qu c công ngh thông tin, viố ệ ệc ứng d ng ch ký s ụ ữ ố đang được phát triển m nh m trong các d ch v ạ ẽ ị ụ hành chính công Trong đó, các nước châu Âu r t ấtích c c trong tri n khai áp d ng ch ký s trong Chính ph ự ể ụ ữ ố ủ điệ ửn t M t s ộ ố nước như Estonia, việ ửc s d ng chụ ứng minh thư điện t ử đã bắt đầu được cấp cho người dân năm

2002, năm 2005, tiến hành b u c n t T i Ý, vi c tri n khai chầ ử điệ ử ạ ệ ể ứng minh điệ ửn t cho người dân cũng được th c hi n t 2009 M t s ự ệ ừ ộ ố nước s d ng ch ký s trong ử ụ ữ ố

h u h t các giao dầ ế ịch điệ ửn t và tiến đến m t th ộ ị trường hoàn toàn không ti n mề ặt trong tương lại như Thụy Điển

Các nước có n n công ngh thông tin phát tri n ề ệ ể ở châu Á cũng đã bắt đầu tri n khai ể

áp d ng ch ký s vào Chính Ph ụ ữ ố ủ Điệ ửn t Th m chí Hàn Quậ ốc vượt lên đứng đầu thế ớ gi i trong Chính ph n t , h u h t các giao dủ điệ ử ầ ế ịch điệ ử ủn t c a Hàn Quốc đều s ử

d ng ch ký sụ ữ ố Đối v i Trung Quớ ốc, lượng ch ký s ữ ố được cấp ra hàng năm cho người dùng đến hàng trăm triệu ch ký s ph c v các giao d ch hành chính công và ữ ố ụ ụ ịgiao dịch điệ ửn t

1.1.2 Tình hình tri n khai ch ể ữ ký số ại Việ t t Nam

Các portal, website c a các ngân hàng, doanh nghiủ ệp thương mại điện t , các b ban ử ộngành ph n lầ ớn đã sử d ng chụ ứng thư số SSL để áp d ng b o m t kênh truyụ ả ậ ền d liệu ữ

giữa người dùng và khách hàng

T i Vi t Nam, vi c t ạ ệ ệ ổ chức tri n khai và áp d ng ch ký s ể ụ ữ ố được phân tách ra làm hai lĩnh vực, th nh t là ch ký s công c ng, th hai là ch ký s chuyên dùng Theo ứ ấ ữ ố ộ ứ ữ ố

Trang 11

11

luật quy định ch ký s công c ng s ữ ố ộ ẽ được áp d ng cho giao d ch gi a các t ch c, ụ ị ữ ổ ứ

cá nhân dân s v i nhau và vự ớ ới cơ quan nhà nước Ch ký s ữ ố chuyên dùng được cấp phát và s d ng cho khử ụ ối cơ quan chính phủ s ẽđược cấp riêng cho cơ quan ban ngành trong h ệthống c a chính ph Ch ký s ủ ủ ữ ốchuyên dùng trong các t ổchức doanh nghiệp thì s dùng riêng n i b trong các doanh nghi p mà không dùng v i giao ti p bên ẽ ộ ộ ệ ớ ếngoài

Hiện tại ở Việt Nam có 9 nhà cung c p d ch v ấ ị ụchứng th c ch ký s công cự ữ ố ộng được

B Thông Tin và Truy n Thông cộ ề ấp phép dưới h th ng RootCA qu c gia Vệ ố ố ới kho ng 450 nghìn doanh nghi p s d ng ch ký s vào trong các giao dả ệ ử ụ ữ ố ịch như khai thuế, h i quan và ch ng khoán V i kho ng 50 nghìn ch ký s ả ứ ớ ả ữ ố được c p cho cá nhân ấ

phục vụ các giao d ch ngân hàng và ch ng khoán vị ứ ới lĩnh vực chữ ký s ốcông cộng

H ng cung c p d ch v ệ thố ấ ị ụ chữ ký s chuyên dùng ph c v ố ụ ụ các cơ quan thuộc h ệthống chính tr cị ủa Ban Cơ yếu Chính ph ủ đã triển khai cung c p chấ ứng thư số cho các Bộ, ngành, địa phương Tính đến tháng 7/2013, Ban Cơ yếu Chính ph ủ đã cung

c p kho ng 15.000 chấ ả ứng thư số cho 11 Bộ, cơ quan ngang Bộ và 15 địa phương Việc cung c p, qu n lý, s d ng chấ ả ử ụ ứng thư số đã đáp ứng k p th i nhu c u c p thi t ị ờ ầ ấ ếcủa cơ quan nhà nước các c p trong viấ ệc đảm b o xác th c và b o m t thông tin phả ự ả ậ ục

v ụ lãnh đạo, điều hành Tuy nhiên, vi c tri n khai ch ký s ệ ể ữ ố còn chưa được r ng ộ

kh p, nhiắ ều cơ quan, đơn vị chưa ứng d ng ch ký s trong hoụ ữ ố ạt động tác nghi p ệTrong khi đó, để phát huy hi u qu các hoệ ả ạt động giao d ch qua mị ạng và điệ ửn t hóa quy trình làm vi c cệ ủa cơ quan nhà nước thì ch ký s phữ ố ải được tri n khai r ng rãi ể ộtheo hướng m rở ộng đối tượng và quy mô s d ng ử ụ

M t s ộ ố lĩnh vực cũng được áp d ng ch ký s mụ ữ ố ột cách m nh m t i th trư ng Vi t ạ ẽ ạ ị ờ ệNam là dùng trong các giao d ch liên ngân hàng giị ữa các ngân hàng thương mại và Ngân hàng nhà nước, trong vi c x lý các giao d ch n i b c a các nhân viên trong ệ ử ị ộ ộ ủcác h ng ngân hàng và m t s khách hàng l n cệthố ộ ố ớ ủa ngân hàng cũng được ưu tiên

s d ng d ch v ử ụ ị ụchữ ký s ký các giao dố để ịch

Trang 12

12

1.2 CÁC KHÁI NI Ệ M VỀ CHỮ KÝ S Ố

M ật mã đố ứ i x ng: Mật mã đố ứi x ng là m t mã dùng mậ ột khóa để mã hóa và dùng chính khóa đó để ả gi i mã ho c khóa d dàng tìm th y t ặ ễ ấ ừ khóa đó để ả gi i mã M t s ộ ốthuật toán c a mủ ật mã đối xứng như DES, RC2, RC4,RC5, RC6, 3-DES, IDEA, AES, CAST−128…

M t mã b ậ ất đố ứ i x ng:Mật mã bất đố ứi x ng là m t mã dùng mậ ột khóa để mã hóa và dùng một khóa để ả gi i mã Vi c biệ ết được khóa này để tìm được khóa kia thì vô cùng khó khăn Mộ ốt s thu t toán m t mã b t đ i xậ ậ ấ ố ứng như RSA, ECC, DSA

Hàm băm: Hàm băm là hàm dùng thuật toán băm để ế bi n bi n m t khế ộ ối lượng d ữ

liệ ớu l n thành m t kh i d ệộ ố ữ li u nh và duy nhỏ ất đại di n cho kh i d u lệ ố ữ liệ ớn trước khi băm qua hàm băm, dữ ệu băm là kế li t qu cả ủa hàm băm cũng không thể nào tính ngượ ạc l i đư c d liợ ữ ệu trước khi băm

Khóa riêng (Private-key): Khóa riêng hay đượ ọc g i là khóa bí m t (Private-key), ậđượ ạc t o ra t i chính thi t b ạ ế ị lưu trữ khóa (USB token, HSM vv ) do nhà cung c p ấ

d ch v CA c p Khóa này s ị ụ ấ ẽ được người dùng mã hóa d ữ liệu đã băm củ ữ ệa d li u

gốc để ạ t o ra ch ký s , khóa bí m t ch có duy nhữ ố ậ ỉ ất người dùng để ạ t o ch ký s ữ ố

biết Khóa riêng là một khóa trong m t mã bậ ất đối xứng

Khóa công khai (public-key): Khóa công khai (public-key) đượ ạ ạc t o t i chính thi t ế

b ị lưu trữ khóa (USB token, HSM vv ) do nhà cung c p d ch v CA c p Khóa này ấ ị ụ ấ

s ẽ được người ký s tố ạo rà và công khai cho người nhận, người nh n dùng khóa này ậ

để ả gi i mã ch ký s và ki m tra ch ký s ữ ố ể ữ ố xem có đúng ngườ ầi c n g i g i cho mình ử ửkhông (xác thực chữ ký s ố)

Chữ ký s : ố Chữ ký s là vi c s d ng khóa Bí mố ệ ử ụ ậ ủt c a cá nhân ho c t chặ ổ ức để thực

hi n mã hóa chu i d ệ ỗ ữliệu đạ ệi di n, d u này là k t qu c a mữliệ ế ả ủ ột hàm băm của d ữliệu nào đó như các file hoặc kh i d liố ữ ệu Sau đó dữ ệu mã hóa đó được đóng gói lithành chu n Ch ký s cùng v i Chẩ ữ ố ớ ứng thư sốđính kèm các file hoặc khố ữ liệu để i d

t o thành Ch ký s cạ ữ ố ủa một ai đó trên file hoặc khối dữ liệ u

Trang 13

13

USB Token: USB token là thi t b ph n cế ị ầ ứng dùng để t o c p khóa bí m t, công khai ạ ặ ậ

và Chứng thư số, được nhà cung c p d ch v ấ ị ụchữ ký s ố giao cho khách hàng để khách hàng có th t o c p khóa vể ạ ặ à ký lên dữ liệ ầ u c n ký

D ch v ị ụ chứ ng th ự c chữ ký s ố:Là m t lo i hình d ch v ộ ạ ị ụchứng th c ch ự ữ ký điệ ửn t

do t ổchức cung c p d ch v ấ ị ụchứng th c ch ký s c p T ự ữ ố ấ ổchứ ịc d ch v ụchứng thực chữ ký s ố là đơn vị phải được phép của nhà nước, tuân theo h th ng và quy trình ệ ốpháp lý để cung c p d ch v ch ng th c ch ký s Nhi m v c a nhà cung c p d ch ấ ị ụ ứ ự ữ ố ệ ụ ủ ấ ị

o Cung cấ ịp d ch v gia h n, t m d ng, thu h i chụ ạ ạ ừ ồ ứng thư số cho khách hàng

o Duy trì d ch v xác th c chị ụ ự ứngthư sốtrực tuyến để những người tham gia giao

dịch đảm b o tin cả ậy đúng các đố ượng đượi t c ch ng nh n tham gia các giao ứ ậ

dịch điện t ử

Danh sách chứng thư số b thu h i CRL ị ồ : Danh sách chứng thư số do một lý do nào

đó như mất khóa bí m t, b l khóa bí m t, ho c b h ng, hoậ ị ộ ậ ặ ị ỏ ặc ngườ ử ụi s d ng r i khờ ỏi

m t v trí chộ ị ức danh nào đấy…khi đó chứng thư số ẽ đượ s c thông báo cho nhà cung

c p thu h i Thông tin chấ ồ ứng thư số ị b thu h i s ồ ẽ được đưa vào danh sách CRL đểcung c p rấ ộng rãi cho môi trường mạng, như thế ột ai đó có lợ ụ m i d ng ch ký s và ữ ốchứng thư số tham gia một giao dịch nào đó thì cũng không th c hiểthự ện được CRL thông thường s ẽ được c p nh t m t ngày mậ ậ ộ ột lần

Giao th c xác th c ch ký s c tuy n OCSP ứ ự ữ ố trự ế : Giao này cho phép người dùng

kiểm tra được trạng thái ch ký s ữ ố còn được phép s d ng trong thử ụ ời điểm th c hiự ện giao d ch hay không ị Như trường h p CRL, thì vi c c p nh t s ợ ệ ậ ậ ẽ được th c hi n trong ự ệ

24 gi , vì th s ờ ế ẽ có độ trễ v ềthời gian, trong trường h p dùng d ch v OCSP thì không ợ ị ụ

có độ ễ ề ờ tr v th i gian

Trang 14

14

1.3 CHỮ KÝ S TRÊN THI T B Ố Ế Ị DI ĐỘ NG

1.3.1 Nhu cầ u th ự c tiễ n

o Ứ ng d ng x lý ch ký s ụ ử ữ ố như trê n máy tính

V i n n máy tính chúng ta d dàng th y r ng các ng d ng và thi t b ớ ề ễ ấ ằ ứ ụ ế ị lưu trữ và x ử

lý chữ ký s trên máy tính rố ất dễ dàng như thiết bị Token c ng và các ng d ng Soft ứ ứ ụToken.Tuy nhiên vớ ềi n n thi t bị di động như Smarphone và Tablet, muốế n tri n khai ểđượ ức ng d ng ch ký s ụ ữ ố trên đó thì chúng ta cần ph i tìm ki m hoả ế ặc đặt hàng các nhà s n xu t thi t b ả ấ ế ịchữ ký s chuyên bi t cung c p thi t b ố ệ ấ ế ị để lưu trữ ch ký s ữ ốtrên thiế ị di đột b ng và giao ti p và làm viế ệc được v i thi t bị di độớ ế ng M t m t chúng ta ộ ặcũng có thể xây d ng ứự ng d ng và coi thi t b ụ ế ị di động chính là Token luôn để lưu trữchữ ký s ố trên đó để đả m bảo hoàn toàn b o mả ật Chính vì vậy trong ph m vi c a đ ạ ủ ềtài này chúng tôi cũng nghiên cứu và phát tri n ng dể ứ ụng để lưu trữ ử, x lý, giao ti p ếvới ứng dụng lưu trữ ch ký s ho c thi t b ữ ố ặ ế ị lưu trữ ch ký s ữ ố để làm cơ sở phát triển các ứng d ng ch ký s khác ụ ữ ố

o Secured Email

Hiệ ạ ộ ố ứn t i m t s ng d ng s dụ ử ụng để duy t Email trên các máy tính ph n lệ ầ ớn đã hỗtrợ các tính năng ký số và mã hóa n i dung M c tiêu cộ ụ ủa chúng là để tránh gi m o ả ạemail và b o m t các n i dung email dùng ch ký s và chả ậ ộ ữ ố ứng thư số Tuy nhiên có

thể nói m t cách chính th ng trên th giộ ố ế ới chưa cho một ứng d ng nào chính th c ụ ứcung c p các ng d ng ký và mã hóa Email trên các thi t b c m tay ph bi n hiấ ứ ụ ế ị ầ ổ ế ện

t i Chính vì th trong ph m vi cạ ế ạ ủa đề tài này, chúng tôi cũng sẽ ế ti n hành nghiên cứu phát tri n ng dể ứ ụng để n hành ký s tiế ố và mã hóa được v i mớ ột ứng d ng email và ụ

nh m cung c p d ch v ằ ấ ị ụra thị trường

o Secured SMS

Trong m t môi trộ ường làm ăn kinh doanh phứ ạc t p, trong một môi trường do thám các thông tin c a nhau, nghe nén các thông tin c a nhau, r t c n thi t m t kênh phủ ủ ấ ầ ế ộ ải

đảm b o b o m t Viả ả ậ ệc đảm b o bả ảo mật không đơn thuầ ản b o m t cho cá nhân, bậ ảo

m t cho doanh nghi p và th m chí b o m t cho qu c gia Chính vì v y viậ ệ ậ ả ậ ố ậ ệc trao đổi

Trang 15

15

SMS trong làm ăn kinh doanh, thông tin mang tính chất riêng tư cá nhân, các trao đổi

n i dung chính tr ộ ị nên được đảm b o b o mả ả ật tính riêng tư cho các cá nhân, doanh nghiệp và nhà nước Hiện nay đã có một s ố ứng dụng dùng, nhưng dùng chủ yếu kênh

mã hóa đố ứi x ng Vậy đảm b o ng d ng b o mả ứ ụ ả ật tính riêng tư hoàn toàn chúng tôi phát tri n kênh mã hóa SMS dùng ch ký s cung cể ữ ố để ấp đến người dùng một ứng

d ng ch ký s ụ ữ ốthật sự tiệ ợ n l i và b o m ả ật

o Signing Apps

Trên nền ứng d ng mobile, hi n tụ ệ ại chưa có chính thức mộ ảt s n ph m nào ký s trên ẩ ốMobile, các giao dịch điệ ử đang ngày trởn t nên ph bi n, các giao dổ ế ịch không đơn thuần trên máy tính, mà có l các giao dẽ ịch điệ ử ẽ ản t s gi m d n trên máy tính mà ầđược th c hi n ch y u trên n n Mobile Chính vì v y c n thi t ph i phát tri n ng ự ệ ủ ế ề ậ ầ ế ả ể ứ

d ng ch ký s ụ ữ ốtrên nền Mobile

1.3.2 Tình hình tri n khai trên th gi i ể ế ớ

Hiệ ạn t i các qu c gia trên th giố ế ới đã và đang triển khai các ng d ng ch ký s trên ứ ụ ữ ốthiế ị di đột b ng Tuy nhiên vi c triệ ển khai chưa thực s r ng rãi, vi c tri n khai trên ự ộ ệ ể

n n tề ảng di động trên th gi i có th nói d a chính trên các gi i pháp c a Valimo ế ớ ể ự ả ủ

ph c v ụ ụ chính để giao d ch v i ngân hàng và tích hị ớ ợp vào các sim điện thoại, nhưng

gi i pháp này là gi i pháp ph ả ả ụ thuộc hoàn toàn vào các nhà m ng viạ ễn thông, đồng

thời gi i pháp này t p trung vào ký các d ng d ệả ậ ạ ữli u còn m c nguyên th y là mức ở ứ ủbinary, và m c d u này s không ti p cứ ữliệ ẽ ế ận được với người dùng cu ối

Như vậy c n ph i ký s ầ ả ố các văn bản gi y t ấ ờ để đưa ra các xác nh n và quyậ ết định điệ ửn t tri n khai trên Mobile trên toàn cể ầu dường như chưa hoặ ấc r t hi m và không ếđược công b rố ộng rãi Đồng thời các Email trao đổi v i nhau c a các s n ph m Email ớ ủ ả ẩtrên n n mobile c a toàn c u hề ủ ấ ầu như chưa có chức năng ký và mã hóa d ữliệu Như

v y có th nói trên n n tậ ể ề ảng di động, m t thi t b ộ ế ịthiết yêu c a h u h t mủ ầ ế ọi người dân trên toàn c u còn thi u kh ầ ế ả năng xác thực và b o mả ật Email, văn bản, giao d ch n u ị ếthực hiện trên mobile có th nói là còn r t yếu ể ấ

Trang 16

16

Hiệ ạ ộ ố ốc gia cũng đang đẩn t i m t s qu y r t m nh vi c phát tri n ch ký s trên nấ ạ ệ ể ữ ố ền tảng Mobile, nhưng việc đẩ ẳy h n thành một trào lưu mang tính toàn cầu thì ch c chắ ắn cũng sẽ được diễn ra trong vài năm tới Và trong quá trình nghiên c u và phát tri n ứ ểnày, chúng tôi cũng đặ đặ ấn đề ủ ất t v c a r t nhiều đơn vị trên th gi i là phát tri n m t ế ớ ể ộthành phần nào đó trong bộ ứ ng d ng c a chúng tôi ụ ủ

1.3.3 Các vấn đề ề ỹ v k thu t công ngh ậ ệ

V k ề ỹthuật công ngh , có th nói n n t ng ch ký s trên các thi t b ệ ể ề ả ữ ố ế ị di động cũng

đã được xây d ng trên cự ác nề ản t ng chính:

- Các n n t ng kề ả ỹthuật và công ngh tích h p chíp x lý ch ký s trên Sim cệ để ợ ử ữ ố ủa thi t bế ị di động

- Các n n t ng k thu t và công ngh ề ả ỹ ậ ệ để tri n khai m t thi t b ể ộ ế ị lưu trữ và x lý ch ử ữ

ký s và th c hi n k t n i vào thi t b ố ự ệ ế ố ế ị di động qua các kênh đầu c m Audio, qua ắkênh Blutooth

- M t s n n t ng s d ng thu n thi t b chính là Token, và ng d ng ph n mộ ố ề ả ử ụ ầ ế ị ứ ụ ầ ềm lưu trữ và qu n lý ch ký s ả ữ ố được cài đạt trên các thi t b ế ị

V ềchuẩn, hi n t i các chuệ ạ ẩn đố ới v i các thi t b công ngh là thi t b ph n c ng có ế ị ệ ế ị ầ ứthể nó nó tuân theo các chu n công nghi p s n có c a các thi t b ph n c ng và phẩ ệ ẵ ủ ế ị ầ ứ ần

m m chu n ch ký s ề ẩ ữ ố p như PKCS#11, PKCS#1, PKCS#15 Với thi t b mobile khi ế ịgiao ti p m t s ế ộ ốchuẩn cũng cần ph i kiả ểm soát được tuân theo như chuẩn giao tiếp

của thiết bị tương ứng như chuẩn Audio, chu n Bluetooth ẩ

V ề cơ bản các chuẩn cũng được hi p h i các nhà vi n thông toàn c u h p và chệ ộ ễ ầ ọ ấp

nhận để ạ t o thành m t chuộ ẩn chung để phụ ục v trong m i giao ti p vi n thông trên ọ ế ễtoàn cầu

Trang 17

17

Chương 2 LÝ THUY T V CH KÝ S Ế Ề Ữ Ố 2.1 CƠ SỞ LÝ THUY T Ế

2.1.1 Khái niệm Chữ ký số

Gi i thi ớ ệ u

Để ch ng th c ngu n g c hay hi u l c c a m t tài li u (ví dứ ự ồ ố ệ ự ủ ộ ệ ụ: đơn xin học, gi y báo ấ

nh p h c, ậ ọ ), lâu nay người ta dùng ch ữ ký “tay”, ghi vào phía dướ ủi c a m i tài li u ỗ ệNhư vậy người ký ph i tr c ti p “kả ự ế ý tay“ vào tài li u ệ

Ngày nay các tài liệu được s ố hóa, người ta cũng có nhu cầu ch ng th c ngu n gứ ự ồ ốc hay hi u l c c a các tài li u này Rõ ràng không thệ ự ủ ệ ể “ký tay“ vào tài li u, vì chúng ệkhông được in ấn trên gi Tài li u ấy ệ “số” ( hay tài liệu “điện tử”) là một xâu các bit (0 hay 1), xâu bít có th r t dài (n u in trên gi y có th ể ấ ế ấ ể hàng nghìn trang) “Chữ ký”

để ch ng th c m t xâu bít tài liứ ự ộ ệu cũng không thể là m t xâu bit nh ộ ỏ đặt phía dưới xâu bit tài li u Mệ ột “chữ ký” như vậy ch c ch n s b k ắ ắ ẽ ị ẻ gian sao chép để đặt dưới

một tài liệu khác bất hợp pháp

Để có được những đặc tính như trên, giao thức “ký trong thế ới điệ ử” ầ gi n t c n ph i ả

có s h c a công ngh ự ỗ trợ ủ ệ mã hóa Sơ đồ chữ ký s ố là phương pháp ký một thông báo được lưu dướ ạng điệ ửi d n t Giao thức cơ bản c a ch ký s dủ ữ ố ựa trên ý tưởng của Diffie và Hellman :

- Ngườ ửi g i (ch nhân củ ủa văn bản) ký văn bản b ng cách mã hóa nó v i khóa ằ ớ

bí mật của mình

- Người gửi chuyển văn bản đã ký cho người nh n ậ

- Người nhận văn bản ki m tra ch ký b ng vi c s d ng chìa khóa công khai ể ữ ằ ệ ử ụ

của người gử ểi đ giải mã văn bản

Trang 18

2.1.2.1 Sinh số nguyên t và phân tích th a s nguyên t ố ừ ố ố

Hai h qu và mệ ả ột ước lượng trong thuy t s h c là tiế ố ọ ền đề cho h ng khóa công ệthốkhai RSA ngày nay

H qu 1 : Sinh s nguyên t thì d Vi c tìm ra m t s nguyên t ng u nhiên v i kích ệ ả ố ố ễ ệ ộ ố ố ẫ ớ

c ỡ cho trước là dễ dàng

Nó là k t qu cế ả ủa hai điểm khác : S nguyên t vố ố ới kích thước b t k thì r t ph biấ ỳ ấ ổ ến

và việc kiểm tra số nguyên t thì không khó m chí vố –thậ ới cả ố s nguyên t rố ất lớn

Để sinh s nguyên t ngố ố ẫu nhiên, đơn giản nh t là ch vi c sinh ra m t s nguyên ấ ỉ ệ ộ ố

ng u nhiên vẫ ới độ ớn đã cho và kiể l m tra tính nguyên t ố cho đến khi m t s nguyên ộ ố

t ố được tìm th y Dấ ựa vào điều ki n s nguyên t , mệ ố ố ộ ố ỳt s k vọng được ki m tra dể ựa vào th t c a lnx( thu t toán t nhiên c a x) khi mà x là m t s n hình vứ ự ủ ậ ự ủ ộ ố điể ới độ

l n mong mu n ớ ố

Việc ki m tra m t s là s nguyên t là không d Trong th c tể ộ ố ố ố ễ ự ế, dường như việc

ki m tra tính nguyên t s yêu c u m t s khác ngoài chính s ể ố ẽ ầ ộ ố ố đó và số 1 là ước của

s nguyên c n ki m tra H u h t các h mã ố ầ ể ầ ế ệ hóa khóa công khai ngày nay đề ph thuụ ộc vào vi c sinh s nguyên t ệ ố ố

Trang 19

19

Cho p, và q là 2 s nguyên t lố ố ớn được sinh ng u nhiên.(kích c trung bình trong các ẫ ỡ

h ệ mã hóa thường là 512 bits ho c lặ ớn hơn)

H qu 2 : Phép tính nhân là d : Vệ ả ễ ới p và q cho trước, vi c tính k t qu c a phép ệ ế ả ủnhân n = pxq là d dàng ễ

Ước lượng 3 : Phân tích th a s là khó : V i m t s nguyên n là k t qu c a phép ừ ố ớ ộ ố ế ả ủnhân s nguyên t l n, vi c tìm l i các s nguyên t ố ố ớ ệ ạ ố ốthừa số p, q là rất khó

B t chấ ấp hàng trăm năm nghiên cứu trong vấn đề này, vi c phân tích ra th a s cệ ừ ố ủa

m t s nguyên l n v n m t r t m t thộ ố ớ ẫ ấ ấ ộ ời gian dài Phương pháp nhanh nhấ ần đây t g

đã nhanh hơn rất nhi u so v i nhề ớ ững cách đơn giản là tìm t t c các th a s cùng ấ ả ừ ố ở

m t thộ ời điểm Tuy nhiên, chúng v n rẫ ất đắt Cho ví d , vi c phân tích ra th a s ụ ệ ừ ốnguyên t cua mố ột số 1024 bit m t mấ ột năm với m t máy giá 10 tri u USD V i m t ộ ệ ớ ộ

s 2048 bit thì thố ời gian để hoàn thành còn g p vài t l n ấ ỉ ầ

2.1.2.2 Phép mũ hóa và khai căn modul

Như ở trên ta đã khai báo n là kết qu c a phép nhân hai s nguyên t lả ủ ố ố ớn được sinh

ng u nhiên Cho m và c là nh ng s nguyên n m trong kho ng (0,n-1) và e là m t s ẫ ữ ố ằ ả ộ ốnguyên l trong kho ng (3,n-1) và nguyên t ẻ ả ốcùng nhau với p-1 và q-1

Thao tác mã hóa và gi i mã trong h ả ệ mã hóa khóa công khai RSA được th c hi n dự ệ ựa trên 2 hệ ả và 1 ước lượ qu ng sau :

H qu ệ ả 4: Phép tính mũ hóa modul là dễ : Cho n,m và e Vi c tính c = me mod n là ệ

d dàng ễ

Giá tr me mod n chính th c là k t qu cị ứ ế ả ủa nâng lũy thừa e c a m, chia cho n và l y ủ ấphần dư Điều này có th là m t phép tính toán ph c t p liên quan t i vi c nhân (e-1) ể ộ ứ ạ ớ ệ

s m và k t qu v là m t s nguyên lố ế ảtrả ề ộ ố ớn, trước khi vi c th c hi n phép chia cho ệ ự ệ

n Tuy nhiên hai cách tối ưu hóa sau làm cho việc tính toán tr nên d dàng : ở ễ

Trang 20

20

- Nhân v i m t trình t thích h p c a các giá tr ớ ộ ự ợ ủ ị trung gian trước đó, thay vì hơn chỉ

b ng m, có th gi m s ằ ể ả ố lượng các phép nhân để không quá hai lần kích thước c a e ủtrong hệ ị nh phân

- Chia và l y phấ ần dư sau khi mỗi phép nhân gi k t qu trung gian có cùng kích ữ ế ảthước như n

H qu ệ ả 5 : Phép khai căn module – nghịch đảo của phép lũy thừa module

Cho n,e,c và nh ng th a s nguyên t p, q, vi c khôi ph c l i giái tr m sao cho c = ữ ừ ố ố ệ ụ ạ ị

me mod n là d dàng ễ

Giá tr m có th khôi ph c t c bị ể ụ ừ ởi thao tác mũ hóa modul với m t s nguyên l ộ ố ẻd

n m trong kho ng (3,n-ằ ả 1) Đặc bi t, v i s d này, bi u thệ ớ ố ể ức sau thể hiệ n cho t t c ấ ảm : m = (me)d mod n

S nguyên d này thì d dàng tính vố ễ ới e, p, q cho trước

Ước lượng 6: Phép khai căn modul lại khó m t hoàn c nh khác ở ộ ả

Cho n,e, và nhưng không biết nh ng th a s nguyên t , vi c khôi ph c l i m là khó ữ ừ ố ố ệ ụ ạkhăn

Phương pháp nhanh nhất thì có s n trong viẵ ệc tính toán khai căn modul dưới điều

ki n d a là n và e là phân tích th a s n và áp d ng h ệ ự ừ ố ụ ệquả 5 để quyết định d Th c ự

s , b t kự ấ ỳ phương thức nào quyết định d đều b chuy n v m t cách khác c a vi c ị ể ề ộ ủ ệphân tích th a s ừ ố n Đúng là có thể khi mà t n t i mồ ạ ột phương pháp mà tính toán khai căn modul mà không cần phân tích n ho c quyặ ết định d Nhưng cho đến nay chưa phương phàp nào có thể làm như vậy nhanh hơn việc phân tích th a s n ừ ố

2.1.2.3 Hàm băm

Hàm băm tiếp nhận các đầu vào với kích thước b t kấ ỳ, và đầu ra là m t kh i d li u ộ ố ữ ệ

có kích thước c nh T ố đị ừ văn bản M, ta có th d dàng tính ra bể ễ ản băm của M là H(M), nhưng từ H(M) không th tìm ra M Và m t tính ch t quan tr ng nh t c a hàm ể ộ ấ ọ ấ ủbăm là với nh nữ g văn bản khác bi t nhau dù là r t nhệ ấ ỏ, thì sau khi qua hàm băm kết

Trang 21

21

qu nhả ận được cũng phải khác nhau, ta có th gể ọi là độ nh y c m cạ ả ủa hàm băm với

s ự thay đổi của văn bản

Hình 2.1 mô tả cơ chế ủa 1 hàm băm, với dữ liệu đầu vào và đầu ra tương ứ c ng

Hình 2.1 Minh họa cách làm việc của 1 hàm băm

Một số tính chất cơ bản của hàm băm :

- (i) Có thể áp d ng vụ ới thông báo đầu vào có độ dài bất kỳ

- (ii) Tạo ra giá tr ị băm y = h(x) có độ dài c ố định

- (iii) h(x) dễ dàng tính được với bất kỳ x nào

- (iv) Tính m t chi u : V i mộ ề ớ ọi đầu ra y cho trước không th ể tìm được x’ sao cho

h(x’) bằng giá tr ị y cho trước

- (v) Tính chống xung độ ết y u : V i m i d ớ ọ ữ liệu đầu vào x1 cho trước không

thể tìm được bất kỳ giá tr x2 nào (x2 khác x1) mà h(x2) = h(x1) ị

- (vi) Tính chống xung đột mạnh : Không th ể tính toán để tìm được hai d u ữliệ

đầu vào x1 và x2 phân bi t sao cho chúng có cùng giá tr ệ ị băm (h(x1) = h(x2))

2.1.3 Phân loạ Chữ ký số i

Có nhiều lo i chạ ữ ký tùy theo cách phân loại, sau đây xin giới thiệu mộ ố cách t s

Trang 22

22

2.1.3.1 Phân loại chữ ký theo khả năng khôi phục thông điệp gốc.

Chữ ký có th khôi ph c thông đi p g c ể ụ ệ ố

Là lo i ch ạ ữ ký, trong đó người nh n có th khôi ph c lậ ể ụ ại được thông điệp gốc, đã được “ký” b i “ch ở ữ ký” này

Ví dụ: Ch ký RSA là ch ký khôi phữ ữ ục thông điệp, s trình bày trong m c sau ẽ ụ Chữ ký không th khôi phể ục thông điệp g c ố

Là lo i ch ạ ữ ký, trong đó người nh n không th khôi ph c lậ ể ụ ại được thông điệp gốc, đã được “ký” b i “ch ở ữ ký” này

Ví dụ: Chữ ký Elgamal là ch ký không th khôi ph c, sẽữ ể ụ trình bày trong m c sau ụ

2.1.3.2 Phân loại chữ ký theo m c an toàn ứ

Chữ ký“không thể ph nhủ ận”:

Để tránh vi c ch i b ch ký hay nhân b n ch ệ ố ỏ ữ ả ữ ký để ử ụ s d ng nhi u lề ần, ngườ ửi g i

chữ ký cũng tham gia trực ti p vào vi c ki m th ữ ký Điều đó đượế ệ ể ử ch c th c hi n ự ệ

b ng m t giao thằ ộ ức kiểm thử, dưới ạd ng m t giao th c m i hộ ứ ờ ỏi và trả ời l

Ví dụ: Chữ ký không ph nh (Chaum - van Antverpen), trình bày trong m c sau ủ đị ụ Chữ ký “m t lộ ần”

Để ảo đả b m an toàn, “Khóa ký” chỉ dùng 1 l n (one- time) trên 1 tài li u ầ ệ

Ví dụ: Chữ ký m ầột l n Lamport Ch ký Fail - Stop (Van Heyst & Pedersen) ữ

2.1.3.3 Phân loại chữ ký theo ứ ng dụ ng đ ặc trưng.

Chữ ký “mù” (Blind Signature)

Chữ ký “nhóm” (Group Signature)

Chữ ký “b i” (Multy Signature) ộ

Chữ ký “mù nhóm” (Blind Group Signature)

Chữ ký “mù bội” (Blind Multy Signature)

Trang 23

23

2.2 H MÃ HÓA KHÓA CÔNG KHAI RSA Ệ

2.2.1 Mô tả sơ lượ ề c v mã hóa RSA

Bài toán: A mu 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ó khoá đã mở và gi lữ ại chìa khoá A nh n chi c hậ ế ộp, cho vào đó một t gi y viờ ấ ết thư bình thường và khoá lại (lúc này ngay c ảA cũng không th ểđọ ạc l i hay sửa thông tin trong thư được n a) Sau ữ

đó A gửi chi c h p l i cho B B m h p v i chìa khoá cế ộ ạ ở ộ ớ ủa mình và đọc thông tin trong thư

Trong ví d này, chi c h p v i khoá m ụ ế ộ ớ ở đóng vai trò khoá công khai, chiếc chìa khoá chính là khoá riêng

Độ ậ m t của RSA đượ ựa trên cơ sởc d là hầu như không có khả năng khôi phục hai s ốnguyên t p và q t tích n = p.q c a chúng ít nh t là theo v i các thu t toán phân tích ố ừ ủ ấ ớ ậ

ra th a s hiừ ố ện đã biết M t khác, các s nguyên t l n ng u nhiên có th ặ ố ố ớ ẫ ể đượ ạc t o sinh nhanh chóng

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 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

2.2.2 Phương pháp tạ o mã và gi i mã trong ả mã hóa công khai RSA

Trang 24

i) S d ng khoá công khai c a B là (n, e) ử ụ ủ

ii) Biểu diễn thông điệp dưới dạng s , gi s ố nguyên m sao cho: m ố ả ửlà s ∈

[0, n-1]

iii) Tính C = m e mod n iv)

Gửi bản mã C cho B

c Giải mã

i) Dùng khoá riêng d của B tính m = C d mod n

ii) Khôi phục thông điệ ừ hàm ngượp t c của hàm s ố hoá để có P

2.2.3 Đặc trưng củ a mã hóa công khai RSA

Đặc trưng của h mã hóa công khai RSA: ệ

- Không c n ph i thi t l p m t kênh b o v ph c tầ ả ế ậ ộ ả ệ ứ ạp để truyền khoá như trong

h mã bí m ệ ật

- Cặp khoá công khai được t o ra theo mạ ột phương pháp đặc bi t có quan h vệ ệ ới nhau và được ch n trong nhi u khoá có th ọ ề ể (trong đó nếu khoá này dùng để

mã hoá thì khoá kia dùng để ả gi i mã)

- Ứng v i mớ ột cặp p, q có th ểchọn được nhiều bộ khoá công khai (n; e; d)

- Mọi người trong h ng n u nhệ thố ế ận được b n mả ật C thì cũng không thể ế bi t được b n rõ P V i vi c ch biả ớ ệ ỉ ết khoá mã hoá ke và căn cứ vào các thông tin

v ề thuật toán thì không th tìm ra khó gi i mã kd trong th i gian ch p nhể ả ờ ấ ận được (k c dùng h th ng hiể ả ệ ố ện đại nh t đ tính toán) ấ ể

Hình 2.2 mô t quá trình mã hóa và gi i mã gi a A và B s d ng thu t toán mã hóa ả ả ữ ử ụ ậcông khai RSA

Trang 25

25

Hình 2.2 Quá trình mã hóa và giải mã bằng thu t toán RSA ậ

2.2.4 Độ an toàn c a mã hóa RSA ủ

Độ an toàn c a h m t RSA th hi n qua hai y u t : ủ ệ ậ ể ệ ế ố

- Tính b o m t c a mã hóa RSA, ch y u d a vào vi c b o v khoá riêng d và ả ậ ủ ủ ế ự ệ ả ệ

3.835.341.275.459.350.000.000.000.000.000.000.000 s nguyên t ố ốgiữa 1 và số

này Gi s n u m i giây có th ả ử ế ỗ ể tính được 1012 s C n hố ầ ơn

121,617,874,031,562,000 năm (khoảng 10 tri u l n tuệ ầ ổi của vũ tr đểụ) tìm ra khóa Các cách thức tấn công mã hóa RSA:

- Phương pháp vét cạn : Thử ấ ả t t c các khóa riêng có th ể Phụ thuộc vào độdài khóa và gần như không thể

- Phương pháp phân tích toán học Phân tích n thành 2 th s nguyên t p và : ừa ố ố

q Như trên ta đã nói việc phân tích mộ ốt s ra s nguyên t là rố ố ất khó khăn, với

tốc độ ủ c a máy tính hiện nay cũng không thể đáp ứng được vi c phân tích s ệ ốnguyên t l n trong thố ớ ời gian đa thức nếu các s ố p, q được chọn là l ớn

Trang 26

26

- Xác định trực tiếp (n) không thông qua p và q

- Xác định trực tiếp d không thông qua (n)

- Phương pháp phân tích thời gian D a trên vi: ự ệc đo thời gian gi i mãả Đây là

m t cách d a vào th i gian gi i mã ộ ự ờ ả Phương pháp phân tích thời gian có th ểloạ ỏ ằi b b ng cách làm nhi u b ng cách cho th i gian gi i mã c a thông báo ễ ằ ờ ả ủbất kỳ là gần như không đổi

2.2.5 Các hình th ứ c tấn công đối vớ i mã hóa RSA

2.2.5.1 T n công trong quá trình t o khóa ấ ạ

Việc tìm ra 2 s nguyên t lố ố đủ ớn p và q thường được th c hi n b ng cách th xác ự ệ ằ ửsuất các s ng u nhố ẫ iên có độ ớ l n phù h p và p và q cợ ần được ch n không quá g n ọ ầnhau để phòng trường h p phân tích n b ng ợ ằ phương pháp phân tích Fermat Ngoài

ra, n u p-1 ho c q-1 có th s nguyên t nh ế ặ ừa ố ố ỏ thì n cũng có thể ễ d dàng b phân tích ị

và vì th p và q ế cũng cần được thử để tránh kh ả năng này

2.2.5.2 T ấn công liên quan đế n tố ộ c đ

RSA có tốc độ c hi n chthự ệ ậm hơn đáng kểso với DES và các thuật toán mã hóa đối

x ng khác Trên th c t , Bob s d ng m t thuứ ự ế ử ụ ộ ật toán mã hóa đối xứng nào đó để mã hóa văn bản c n g i và ch s d ng RSA ầ ử ỉ ử ụ để mã hóa khóa để ải mã (thông thườ gi ng khóa ngắn hơn nhiều so với văn bản)

2.2.5.3 T n công vào quá trình phân ph i khoá ấ ố

Quá trình phân ph i khóa c n ch ng lố ầ ố ại được tấn công đứng giữa (man- - -middle in theattack) Giả ử s Eve có th g i cho Bob m t khóa b t k và khi n Bob tin rể ử ộ ấ ỳ ế ằng đó là khóa (công khai) của Alice Đồng th Eve có kh ời ả năng đọc được thông tin trao đổi

gi a Bob ữ và Alice Khi đó, Eve s g i cho Bob khóa công khai c a chính mình (mà ẽ ử ủBob nghĩ rằng đó là khóa của Alice) Sau đó, Eve đọ ấ ả văn bảc t t c n mã hóa do Bob

g i, gi i mã v i khóa bí m t c a mình, gi 1 bử ả ớ ậ ủ ữ ản copy đồng th i mã hóa b ng khóa ờ ằcông khai c a Alice và g i cho Alice V nguyên t c, c ủ ử ề ắ ảBob và Alice đều không phát

hi n ra s can thi p cệ ự ệ ủa người th ba Các ứ phương pháp chống l i d ng t n công nàạ ạ ấ y

Trang 27

27

thường d a trên các ch ng th c khóa công khai (digital certificate) ho c các thành ự ứ ự ặ

ph n cầ ủa hạ ầ t ng khóa công khai (public key infrastructure - PKI)

2.2.5.4 T n công d a trên th ấ ự ờ i gian

N u k t n công nế ẻ ấ ắm đủ thông tin v ph n c ng th c hi n mã hóa và ề ầ ứ ự ệ xác định được

th i gian giờ ải mã đố ới v i một số ả b n mã l a ch n thì có ể nhanh chóng tìm ra khóa ự ọ th

d D ng t n công này có th ạ ấ ểáp dụng đối ới hệ thốv ng ch ữ ký điệ ử ử ụn t s d ng RSA

M t d ng t n công th c t : phân tích th a s RSA dùng m ng máy tính (Máy ch ộ ạ ấ ự ế ừ ố ạ ủweb dùng SSL)

Để ch ng l i t n công d a trên thố ạ ấ ự ời gian là đảm b o quá trình gi mã luôn di n ra ả ải ễtrong thời gian không đổ ấ ể văn bải b t k n mã

2.2.5.5 T n công l a ch n thích nghi b n mã ấ ự ọ ả

D ng t n công lạ ấ ựa chọn thích nghi b n mã (adaptive chosen ciphertext attack) có th ả ểthực hi n trên th c t i v i mệ ự ế đố ớ ột văn bản mã hóa bằng RSA Văn bản này được mã hóa d a trên tiêu chu n PKCS #1 v1, m t tiêu chu n chuyự ẩ ộ ẩ ển đổ ải b n rõ có kh ả năng

ki m tra tính h p l cể ợ ệ ủa văn bản sau khi gi i mã Do nh ng khi m khuyả ữ ế ết của PKCS

#1, Bleichenbacher có th c hi n m t t n công lên b n RSA dùng cho giao thểthự ệ ộ ấ ả ức SSL (tìm được khóa phiên) Do phát hi n này, các mô hình chuyệ ển đổi an toàn hơn như chuyển đổi mã hóa bất đối x ng tứ ối ưu (Optimal Asymmetric Encryption Padding) được khuy n cáo s d ng ng th i phòng nghiên c u cế ử ụ Đồ ờ ứ ủa RSA cũng đưa

ra phiên bản mới của

PKCS #1 có kh ả năng chống lại dạng t n công nói trên ấ

2.3 CHỮ KÝ S RSA Ố

2.3.1 Đặ t vấn đề

Trong trao đổi thông tin, thông điệp được truyền đi giữa bên g i và bên nh n c n có ử ậ ầcác tiêu chu n c n xác miẩ ầ nh, đó chính là xác thực Xác th c thông báo là m t k thuự ộ ỹ ật trong mật mã h c đ xác minh tính đúng đắ ủa thông báo đuợ ửọ ể n c c g i M t thông báo ộđuợc xác th c khi th a mãn các yêu c u : ự ỏ ầ

Trang 28

28

- Thông báo có nguồ ốc rõ ràng, chính xácn g

- Nội dung thông báo toàn vẹn không b ị thay đổi

- Thông báo được gửi đúng trình tự và thời điểm

Xác th c thông báo b o vự ả ệ hai bên tham gia trong quá trình trao đổi thông tin t k ừ ẻthứ ba Tuy nhiên, xác th c thông báo không có tác d ng khi bên g i và bên nh n ự ụ ử ậmuốn gây h i cho nhau: ạ

- Bên nh n gi mậ ả ạo thông báo c a bên g i ủ ử

- Bên gửi chối là đã gửi thông báo đến bên nh n ậ

Chữ ký s không nh ng giúp xác th c thông báo mà còn b o v mố ữ ự ả ệ ỗi bên kh i bên kia ỏ

Ở ph n này cung c p nhầ ấ ững đề xuất để n khai m t mã khóa công khai d a trên triể ậ ựthu t toán ậ RSA:

d S – ố mũ khóa riêng RSA

di S – ố mũ hàm CRT của thừa số ộ c ng ri, m t s ộ ố nguyên dương

e*di≡ 1 (mod(ri-1)), i=3, …, u

dP S – ố mũ hàm CRT của p, môt s nguyêố n dương

Trang 29

29

e*dP≡1(mod(p-1))

dQ S – ố mũ hàm CRT của q, m t s ộ ố nguyên dương

e*dQ≡1(mod(q-1))

e – ố mũ công khai RSA S

EM – Thông điệp được mã hóa, m t xâu hệ 8 ộ

emBits –Chiều dai theo bits của thông điệp được mã hóa EM

emLen – Chi u dài theo h 8 cề ệ ủa thông điệp được mã hóa EM

GCD ( , ) – Hàm ướ ốc s chung l n nh t c a hai s không âm ớ ấ ủ ố

Hash – Hàm băm

hLen –Chiều dài d ữliệu đầu ra theo h 8 cệ ủa hàm băm Hash

k –Chiều dài theo h 8 cệ ủa số modulus RSA n

K – Khóa riêng RSA

L – Nhãn RSAES-OAEP tùy ch n, m t chuỗ ệọ ộ i h 8

LCM – Hàm b i sộ ố chung nh nhỏ ất của m t danh sách s nguyên không âm ộ ố

m – Đạ i diện thông điệp, một số nguyên dương giữa 0 và n- 1

M – Thông điệp, m t chu i hệ 8 ộ ỗ

mask D u ra hàm MGF, m– ữliệ ột xâu hệ 8

maskLen –Chiều dài của xâu hệ 8 mask

MGF – Hàm sinh mask

mgfSeed –Nhân, từ đó mask được sinh, m t xâu h 8 ộ ệ

mLen Chi n dài theo h 8 c a m– ề ệ ủ ột thông điệp M

n S – ố modulus RSA, n= r1*r2*…*ru, u>2

Trang 30

30

(n, e) – Khóa công khai RSA

p, q Hai th– ừa số nguyên t cố ủa số modulus n RSA

qInv H s CRT, m t s – ệ ố ộ ố nguyên dương nhỏ hơn p

sLen – Chi u dài h 8 c a khóa biến thiên (salt) EMSA-ề ệ ủ PSS

ti – ệ ố H s CRT c a th a sủ ừ ố nguyên t c ng ri, mố ộ ột số nguyên dương nhỏ hơn ri

r1*r2*….*ri 1*ti≡1(mod ri), i=3, …, u

-u S c a các Th– ố ủ ừa số nguyên t c a hàm modulus RSA, u>2 ố ủ

x M– ột số nguyên không âm

X M t chu– ộ ỗi hệ 8 phù h p v i x ợ ớ

xLen – chiều dài c a chuủ ỗi hệ 8 X

0x D u ch i di n h hexa c a m t s h 8 ho c m t chu i h – ấ ỉ đạ ệ ệ ủ ộ ố ệ ặ ộ ỗ ệ 8; “0x48” biểu th ị

m t s h 8 v i giá tr ộ ố ệ ớ ị hexa 48; “(0x)48 09 0e” biểu th mộị t chu i ba s h 8 liên tiỗ ố ệ ếp

với giá trị hexa theo trình t 48, 09 và 0e ự

Trang 31

31

2.3.3 Các loạ i khóa

Hai loại khóa đượ ử ục s d ng trong các s nguyên t ố ố và lược đồ được định nghĩa trong tài li u này là ệ Khóa công khai RSAKhóa riêng RSA Khóa công khai RSA và khóa bí m t RSA t o nên c p khóa RSA ậ ạ ặ

Đặ ảc t này h cái gỗtrợ ọi là RSA đa nguyên tố ở đó số modulus có th có nhiể ều hơn hai th a s nguyên t L i ích cừ ố ố ợ ủa RSA đa nguyên tố là chi phí tính toán thấp hơn cho giải mã và ki m tra ch ký sể ữ ố, được cung c p mà thuấ ật toán CRT đượ ử ục s d ng Hiệu năng có thể đạt được trên các n n t ng b x ề ả ộ ử lý đơn tốt hơn, nhưng m t ng r t ở ộ ấ

l n trên các n n tớ ề ảng đa bộ ử lý, nơi mà các số mũ modulus bao gồ x m có th ể dược

x ửlý song song

2.3.3.1 Khóa công khai RSA

Khóa công khai RSA gồm 2 thành phần:

- n S modulus RSA, m– ố ột số nguyên dương

- e – ố mũ công khai RSA, một số nguyên dương S

M t khóa công khai h p l , s Modulus n RSA là k t qu c a ri các s nguyên t ộ ợ ệ ố ế ả ủ ố ốriêng biệt u, i=1, 2, …, u ở đó u>=2, và số mũ công khai e RSA là mộ ốt s nguyên

gi a 3 và n-1 thữ ỏa mãn GCD(e, λ(n))≡1, ở đó λ(n)≡LCM(r1 1, …, ru- -1) Theo quy

ước, hai s nguyên t ố ố đầu tiên r1 và r2 cũng có thể ám ch p và q theo trình t ỉ ự

2.3.3.2 Khóa riêng RSA

Khóa riêng RSA có thể có một trong hai đại diện

- Đại diện đầu tiên bao g m m t c p (n, d), ồ ộ ặ ở đó các thành phần có nghĩa sau đây:

n s modulus RSA, m– ố ột số nguyên dương

d s – ố mũ riêng RSA, một số nguyên dương

- Đại di n th 2 bao g m b ệ ứ ồ ộ năm (p, q, dP, dQ, qInv) và một chu i ba s (ri, di, ỗ ốti), i= 3, …, u, mot cho mỗ ối s nguyên t không trong b ố ộ năm, ở đó các thành phần có ý nghĩa sau đây:

Trang 32

32

p –Thừa số đầ u tiên, một số nguyên dương

q –Thừa số thứ hai, một số nguyên dương

dP S – ố mũ CRT của thừa số đầ u tiên, một số nguyên dương

dQ S – ố mũ CRT của thừa số thứ 2, m t s ộ ố nguyên dươn

qInv H s – ệ ố CRT đầu tiên, một số nguyên dương

ri– ừ ố ứ th a s th i, m t s ộ ố nguyên dương

di S – ố mũ CRT ủc a thừa số thứ i, một số nguyên dương

ti– ệ ố h s CRT c a th a s th i, mộ ố nguyên dương.ủ ừ ố ứ t s

Trong một khóa riêng RSA h p l v i bi u di n th nhât, s modulus n RSA là gi ng ợ ệ ớ ể ệ ứ ố ốnhư trong khóa công khai RSA tương ứng và là k t qu c a ri các s nguyên t u, ế ả ủ ố ố

i=1, 2, …, u, ở đó u>2 Số mũ khóa riêng d RSA là mộ ố nguyên dương nhỏ hơn n t s

thỏa mãn : e*d ≡ 1 (mod , λ(n)) (2.1)

Ở đó e phù hợp v i s ớ ố mũ công khai RSA và λ(n) được định nghĩa như trên

Trong m t khóa riêng RSA h p l v i bi u di n th 2, hai th a s p và q là hai thộ ợ ệ ớ ể ễ ứ ừ ố ừa

s u tiên c a s Modulus n RSA (t c là, r1 và r2), s ố đầ ủ ố ứ ố mũ dP và dQ CRT là hai sốnguyên dương nhỏ hơn p và q thỏa mãn theo trình t : ự

e*dP ≡ 1 (mod (p-1)) (2.2) e*dQ ≡ 1 (mod (q-1)) (2.3)

và h s qInv hàm CRT là mệ ố ột số nguyên dương nhỏ hơn p thỏa mãn:

q*qInv ≡ 1 (mod p) (2.4)

N u u >2, bi u di n này s bao g m m t ho c nhi u b ế ế ễ ẽ ồ ộ ặ ề ộ ba (ri, di, ti), i=3, …, u Hệ

s ri là các th a s nguyên t b xung c a s ố ừ ố ố ổ ủ ốModulus n RSA Mỗ ố mũ di CRT i s (i=3, …, u) thỏa mãn:

e*di≡ 1 (mod(ri-1)) (2.5)

Mỗi hệ ố CRT ti (i=3, …, u) là một số nguyên dương nhỏ hơn ri thỏ s a mãn

Trang 33

B n loố ại nguyên hàm được ch ra trong tài liỉ ệu này, đượ ổc t ch c theo c p: Mã hóa ứ ặ

và gi i mã; ký và ki m tra ch ký ả ể ữ

Đặ ả ềc t v các nguyên hàm th a nh n rừ ậ ằng các điều ki n c th nào có th t b ng ệ ụ ể ể đạ ằcác đầu vào, trong trường h p này là khóa các Khóa riêng và khóa công khai h p l ợ ợ ệ

2.3.4.1 Các nguyên hàm mã hóa và giải mã

M t nguyên hàm mã hóa t o ra mộ ạ ột đại di n mã hóa t mệ ừ ột đại diện thông điệp qua

một khóa công khai, và một nguyên hàm gi i mã phả ục hồ ại l i thông điệm đại diệ ừn t

đại di n mã hóa qua khóa riêng phù h p ệ ợ

M t c p nguyên hàm mã hóa và giộ ặ ải mã được s dử ụng trong các lược đồ mã hóa được định nghĩa trong tài liệu này: RSAEP/RSADP RSAEP và RSADP có toán t gi ng ử ố

hệt nhau, với các khóa khác nhau đầu vào

RSAEP

Đầu vào: (n e) Khóa công khai RSA –

m, m nguyên gi a 0 và n-1

m – Đại diện thông điệ ột số ữ

Đầu ra: c i di n mã hóa, m t s nguyên gi a 0 và n-1 – Đạ ệ ộ ố ữ

L ỗi: “Đại diện thông điệp ngoài phạm vi”

Giả đị nh: Khóa công khai RSA (n, e) hợ ệp l

Các bước:

Trang 34

Đầu ra: m i di n b– Đạ ệ ản thông điệp, m t s gi a 0 và n-1 ộ ố ữ

L ỗi: “Đại diện thông điệp ngoài phạm vi”

Giả đị nh: Khóa riêng RSA K hợ ệp l

Các bước:

1 Nếu đại di n b n mã c không n m gi a 0 và n-1, k t qu ệ ả ằ ữ ế ả “Đại di n b n mã ngoài ệ ả

phạm vi” và dừng thu t toán ậ

2 Đại diện thông điệm m được tính toán như sau:

N u b u tiên (n, d) cế ộ đầ ủa K được sử ụng, để m≡cd modn d

N u b 2 (d, p, dP, dQ, qInv) và (ri, di, ti) cế ộthứ ủa K được sử ụ d ng, x ử lý như sau:

Để m1≡ cdP mod p và m2≡ cdQ mod q

N u u>2ế , cho mi≡ cdi mod ri, i=3, …, u

Cho h = m1-m2*qInv mod p

Cho m=m2+q*h

Trang 35

đồ ký s ố được định nghĩa trong tài liệu này và được đặ ảc t ở đây: RSASP1/RSAVP1 Các toán t toán ho c chính trong m i nguyên hàm là viử ạ ỗ ệc mũ hóa như trong các nguyên hàm mã hóa và gi i mã các ph n trên RSASP1 và RSAVP1 giả ở ầ ống như RSADP và RSAEP ngo i tr tên cạ ừ ủa các đố ố đầu vào đầu ra; Chúng đượi s c phân

biệt do chúng được sử ụ d ng trong các m c tiêu khác nhau ụ

RSASP1

RSASP1 (K,m)

Đầu vào: K Khóa riêng RSA, – ở đó K có một trong các dạng sau đây

• M t c p (n, d) ộ ặ

• M t b ộ ộ năm (p, q, dP, dQ, qInv) và một ch i ba rỗ ỗng (ri, di,ti), i=3, …, u)

m – Đạ i diệ thông điện p, một số nguyên gi a 0 và n-1 ữ

Đầu ra: s i di n ch ký, m t s gi a 0 và n-1 – Đạ ệ ữ ộ ố ữ

L ỗi: “Đại diện thông điệp ngoài phạm vi”

Giả đị nh: Khóa riêng RSA K hợ ệp l

Ngày đăng: 20/05/2022, 13:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w