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

Nghiên cứu giải pháp an ninh thông tin dựa trên hướng tiếp cận sinh trắc học kết hợp mã công khai PKI với đặc điểm vân tay

87 11 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 87
Dung lượng 1,6 MB

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

Nội dung

Luận văn được chia thành 4 chương và phần phụ lục Chương 1: Tổng quan về an ninh thông tin Chương 2: Nghiên cứu một số thuật toán mã hóa với khóa công khai Chương 3: Tìm hiểu dấu vân ta

Trang 1

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

-

LUẬN VĂN THẠC SĨ KHOA HỌC

NGHIÊN CỨU GIẢI PHÁP AN NINH THÔNG TIN DỰA TRÊN HƯỚNG TIẾP CẬN SINH TRẮC HỌC KẾT HỢP MÃ CÔNG KHAI PKI VỚI ĐẶC ĐIỂM VÂN TAY

NGÀNH : CÔNG NGHỆ THÔNG TIN

MÃ SỐ :

TRẦN TUẤN VINH

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS-NGUYỄN THỊ HOÀNG LAN

HÀ NỘI 2005

Trang 2

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

-

LUẬN VĂN THẠC SĨ KHOA HỌC

NGHIÊN CỨU GIẢI PHÁP AN NINH THÔNG TIN DỰA TRÊN HƯỚNG TIẾP CẬN SINH TRẮC HỌC KẾT HỢP MÃ CÔNG KHAI PKI VỚI ĐẶC ĐIỂM VÂN TAY

Trang 3

Trước hết, tôi xin trân trọng gửi lời cảm ơn tới trường Đại học Bách khoa

Hà nội và trường Đại học Sư phạm Hà nội 2 đã tạo mọi điều kiện thuận lợi cho tôi trong thời gian học tập, nghiên cứu và hoàn thành luận văn tốt nghiệp Tôi cũng xin gửi lời cảm ơn sâu sắc tới PGS.TS Nguyễn Thị Hoàng Lan, người đã trực tiếp hướng dẫn và giúp đỡ tôi trong quá trình học tập cũng như quá trình thực hiện luận văn

Tôi xin gửi lời cảm ơn chân thành tới các thầy, cô giáo khoa Công nghệ thông tin, cũng như các thầy, cô giáo khác đã giảng dạy tôi trong thời gian học tập cao học Xin cảm ơn những bạn bè đồng nghiệp đã đóng góp ý kiến cho bản luận văn của tôi

Trần Tuấn Vinh Cao học CNTT – 2003

MỤC LỤC

Trang

MỞ ĐẦU 3

Trang 4

1.1.1 Mật mã 5

1.1.2 Dấu tin 6

1.1.3 Đánh dấu ẩn 9

1.1.4 Dấu vân tay 12

1.2 PKI và sinh trắc học với an ninh thông tin 13

1.2.1 PKI (Public Key Infrastructure) 14

1.2.2 Sinh trắc học (Biometrics) 21

Chương 2: NGHIÊN CỨU MỘT SỐ THUẬT TOÁN MÃ HÓA VỚI KHÓA CÔNG KHAI 28

2.1 Nguyên tắc chung của mã hoá với khoá công khai 28

2.2 Giao thức trao đổi khóa của Diffie – Hellman 28

2.3 Hệ mật mã RSA 29

2.4 Hệ mật mã Knapsack 32

2.5 Chữ ký số 34

Chương 3: TÌM HIỂU DẤU VÂN TAY VÀ CÁC ĐẶC TRƯNG 38

3.1 Vài nét về lịch sử dấu vân tay 38

3.2 Các đặc trưng của dấu vân tay 40

Chương 4: GIẢI PHÁP AN NINH THÔNG TIN KẾT HỢP GIỮA PKI VÀ ĐẶC ĐIỂM VÂN TAY 48

4.1 Điểm yếu của mã hóa với khóa công khai và sự chứng thực khóa 48

4.2 Giải pháp an toàn thông tin dựa trên sự kết hợp giữa dấu vân tay và PKI 48

4.2.1 Đặt vấn đề 48

4.2.2 Nội dung 49

4.2.3 Môi trường cài đặt ứng dụng và kết quả thực nghiệm 68

4.2.4 Ý nghĩa ứng dụng 70

KẾT LUẬN 71

TÀI LIỆU THAM KHẢO 73

PHỤ LỤC 76

DANH MỤC CÁC HÌNH VÀ BẢNG

Hình 1 – 1 Hệ thống dấu tin[11]

Hình 1 – 2 Hệ thống đánh dấu ẩn[11]

Hình 1 – 3 Hệ mật mã dùng khóa đối xứng[18]

Trang 5

Hình 3 – 1 Một số loại dấu vân tay

Hình 3 – 2 Vùng mẫu (Pattern Area)

Hình 3 – 3 Các đường mẫu

Hình 3 – 4 Vân tay dạng hình quai

Hình 3 – 5 Vân tay dạng hình cung

Hình 3 – 6 Vân tay dạng vòng xoắn

Hình 3 – 7 Ví dụ về điểm delta và điểm core

Hình 3 – 8 Số đường vân

Hình 3 – 9 Điểm kết thúc đường vân

Hình 3 – 10 Điểm rẽ nhánh của đường vân

Hình 3 – 16 Biểu diễn các điểm minutiae

Hình 3 – 17 (a) Ảnh vân tay, (b) Ảnh vân tay với hướng của cấu trúc đường vân Hình 4 – 1 Vùng ảnh và vùng nền trong ảnh vân tay

Hình 4 – 2 8 hướng của một điểm

Hình 4 – 3 Minh hoạ biên và xương của đối tượng

Hình 4 – 4 Quá trình làm mảnh

Hình 4 – 5 Điểm xương

Hình 4 – 6 Sơ đồ khối của quá trình trích chọn các điểm đặc trưng ảnh

Hình 4 – 7 Sơ đồ khối của quá trình mã hoá với khoá được trích từ vân tay Hình 4 – 8 Quá trình trích chọn đặc trưng của vân tay

Hình 4 – 9 Đặc trưng của vân tay được chuyển thành số nguyên lớn

Bảng 1 – 1: So sánh các kỹ thuật sinh trắc học[16]

Trang 6

Trong bối cảnh mà chúng ta đang sống hiện nay, một xã hội công nghệ thông tin với lĩnh vực truyền thông đa phương tiện phát triển rất mạnh mẽ Trong đó, những thông tin của chúng ta trao đổi trên mạng luôn tiềm ẩn những nguy cơ đe dọa tới sự an toàn và những thông tin đó cũng có thể là chủ

đề quan tâm chính của những kẻ xâm nhập bất hợp pháp Chúng ta cần phải đảm bảo an ninh bằng cách áp dụng hàng loạt các kỹ thuật để bảo vệ thông tin, dữ liệu khi nó được chuyển qua các kênh không được bảo vệ Trong trường hợp cụ thể này, an ninh đồng nghĩa với sự mã hoá An ninh mà chúng

ta đòi hỏi sẽ được thực hiện qua việc áp dụng các kỹ thuật khác nhau

Mặc dù mật mã có nguồn gốc từ lĩnh vực quân sự, nhưng nó sớm trở thành một công cụ không thể thiếu trong xã hội thương mại rộng lớn Bên cạnh những lĩnh vực này, ngày nay, mật mã còn được mở rộng, áp dụng cho toàn bộ lĩnh vực về quyền của cá nhân Quyền cá nhân được hiểu như là một nhân tố cơ bản của xã hội hiện đại

Nhân tố quan trọng nhất ảnh hưởng tới sự phát triển của an ninh thông tin chính là thương mại điện tử Đối với thương mại điện tử, an ninh không phải

là một đặc trưng chỉ để trang trí mà nó là một điều kiện thiết yếu, bạn không thể có một ứng dụng thương mại điện tử mà không có sự an ninh tương ứng

Trong thực tế, theo các phân tích quan trọng thì trở ngại chính của việc phát triển thương mại điện tử là khó khăn trong thực hiện các công cụ an ninh tương thích cho nó

Trong lĩnh vực truyền thông đa phương tiện với những sản phẩm được số hóa, vấn đề đặt ra cho an ninh không chỉ là mã hóa mà còn phải đảm bảo được bản quyền, chống sao chép bất hợp pháp và đặc biệt là xác nhận được chính xác chủ thể

Trang 7

Trong luận văn này, tôi xin trình bày một giải pháp an ninh thông tin dựa trên hướng tiếp cận sinh trắc học kết hợp mã công khai PKI (Public Key Infrastructure) với đặc điểm vân tay và xây dựng ứng dụng thực nghiệm cho giải pháp này

Luận văn được chia thành 4 chương và phần phụ lục

Chương 1: Tổng quan về an ninh thông tin

Chương 2: Nghiên cứu một số thuật toán mã hóa với khóa công khai Chương 3: Tìm hiểu dấu vân tay và các đặc trưng

Chương 4: Giải pháp an ninh thông tin kết hợp mã công khai PKI và đặc

điểm vân tay

Phụ lục: Một số đoạn mã của ứng dụng thực nghiệm

Tôi xin cam đoan những kết quả trình bày trong luận văn là do sự nghiên

cứu của bản thân dưới sự hướng dẫn trực tiếp của PGS.TS - Nguyễn Thị

Hoàng Lan

Trang 8

Chương 1

TỔNG QUAN VỀ AN NINH THÔNG TIN

1.1 Một số kỹ thuật an ninh thông tin

Ngày nay, trong lĩnh vực truyền thông đa phương tiện, vấn đề đảm bảo an ninh thông tin được quan tâm đặc biệt, truyền thông bao gồm mã hoá bảo mật thông tin (cryptography) và đảm bảo an ninh khi thông tin được chuyển đi,

mà bản chất của việc đảm bảo an ninh này nằm trong việc ẩn thông tin (information hiding) Sau đây là một số kỹ thuật phục vụ cho việc đảm bảo an ninh thông tin

1.1.1 Mật mã

Trong an ninh thông tin, cryptography – nghệ thuật mật mã – đóng một vai trò quan trọng Đó là một công cụ để đảm bảo bí mật trong trao đổi thông tin, được dùng rộng rãi trong các cuộc chiến tranh, thông tin tình báo, ngoại giao Mật mã là việc “nguỵ trang” văn bản (thông tin nói chung) thành một dạng khác để cho những người “ngoài cuộc” không thể đọc được, phục vụ cho nhu cầu trao đổi thông tin, dữ liệu Trong những thập kỷ gần đây, sự cải tiến về mật mã đã tạo ra hàng loạt các ứng dụng quan trọng Nó được dùng để xác nhận người sử dụng máy tính, đảm bảo tính toàn vẹn và sự tin cậy của truyền thông điện tử, và giữ an ninh cho các thông tin nhạy cảm Từ công nghệ ứng dụng đảm bảo bí mật quân sự, mật mã đã trở thành công nghệ chìa khoá cho tất cả các thành viên trong xã hội thông tin có liên quan tới vấn đề

an ninh thông tin

Người Hi Lạp đã dùng phép mã chuyển vị từ 400 năm trước công nguyên Người ta dùng một dải băng dài và quấn quanh một khối hình trụ rồi viết chữ lên trên đó theo cách thức thông thường (từ trái sang phải và từ trên xuống

Trang 9

dưới) Mẩu tin chuyển đi dưới dạng dải băng và chỉ có thể đọc ra được khi biết được bán kính của thiết diện khối trụ (và cuốn lại dải băng quanh khối trụ như khi đã viết lên) Hoàng đế Caesar đã từng sử dụng phép mã thay thế trong quân sự, trong đó mỗi ký tự được thay thế bởi ký tự đứng sau nó 3 vị trí trong bảng chữ cái alphabet – nghĩa là chữ A được thay bằng chữ D, chữ B được thay bằng chữ E,… Việc giải mã được thực hiện bằng cách thay thế ngược lại Trong thực tế, mã hoá không thể đảm bảo an ninh cho truyền thông Trong thời kỳ Phục hưng, một số tác giả đã tập trung vào các phương pháp để

ẩn thông tin hơn là mã hoá chúng, cho dù các kỹ thuật mã hoá hiện đại đã bắt đầu phát triển vào thời kỳ đó Bởi vì, ẩn thông tin không gợi nên sự nghi ngờ cho những kẻ tò mò Sở thích này vẫn còn tồn tại cho đến ngày nay

Các kỹ thuật ẩn thông tin gần đây trở nên quan trọng trong một số lĩnh vực ứng dụng Tranh ảnh, video, âm thanh số được cung cấp có sự phân biệt nhờ vào các dấu ẩn không thể nhận biết được, nó có thể chứa một thông tin bản quyền, số seri ẩn hoặc trực tiếp ngăn chặn sao chép bất hợp pháp Các hệ thống truyền thông quân sự cũng phát triển việc sử dụng các kỹ thuật truyền thông tin an toàn, ngoài việc che dấu nội dung bằng cách mã hoá, nó còn che dấu cả người gửi, người nhận và sự tồn tại của thông tin

1.1.2 Dấu tin

Dấu tin đại diện cho những kỹ thuật cho phép truyền dữ liệu, thông tin bí mật bằng cách nhúng hay ẩn chúng vào trong dữ liệu khác mà không gây ra bất cứ sự nghi ngờ nào Các phương pháp dấu tin thường dựa vào giả thiết về

sự tồn tại của giao tiếp bí mật mà bên thứ ba không được biết, sử dụng trong giao tiếp giữa những thành viên thực sự tin cậy Những phương pháp dấu tin nhìn chung không vững chắc, có nghĩa là thông tin ẩn có thể không khôi phục lại được sau khi dữ liệu bị sửa đổi

Trang 10

Các hệ thống dấu tin thường bao gồm một hệ chèn thông tin và một hệ trích chọn Hình 1 – 1 là một hệ thống khái quát

Hệ thống chèn bao gồm một tệp dữ liệu chủ, một tệp chứa thông điệp cần chèn được chuẩn bị trước, một khoá tuỳ chọn Hệ thống thực hiện chèn thông

Trang 11

điệp vào trong dữ liệu chủ, tạo ra tệp dữ liệu chủ được che đậy (covert host) Covert host sau đó được lưu trữ hay chuyển đi Hệ thống trích chọn thực hiện ngược lại Nó đưa vào covert host và khoá tuỳ chọn rồi lấy ra thông điệp, có thể thay đổi covert host để gỡ bỏ thông điệp Nhiều hệ thống dấu tin có một hình thức mã hoá nào đó được xây dựng sẵn, nó sẽ thực hiện mã hoá và giải

mã một cách tự động các thông điệp Một hệ thống dấu tin hoàn chỉnh gồm có

sự quản lý dữ liệu chủ và khoá Hầu hết các hệ thống dấu tin thông thường sử dụng những định dạng ảnh và audio khác nhau làm tệp dữ liệu chủ Những tệp này thường rất lớn, nó cung cấp băng thông cần thiết để thực hiện chèn một cách chính xác Các hệ video cũng được sử dụng để khai thác kích thước lớn của các tệp và các dòng dữ liệu video Một số hệ thống dấu tin không sử dụng tệp dữ liệu chủ, nhưng nó phát sinh ra covert host dựa vào nội dung của thông điệp Một hệ thống dấu tin thành công phải đảm bảo rằng covert host là

vô hại Mức độ của che giấu phụ thuộc vào khả năng của sự đe dọa nhận thức được Mỗi tác giả của thuật toán dấu tin đều khẳng định một số cấp độ của tính ẩn đối với nhận thức, đó là sự thay đổi của dữ liệu chủ có thể thấy được hoặc nghe được Những tác động – như các hình tạo ra không tự nhiên trong ảnh hay những tiếng huýt, tiếng kêu lạ khác trong âm thanh – cần phải tránh Tuy thế, nhiều thuật toán để lại những ký hiệu nhận dạng mà kẻ tấn công có thể khai thác chúng bằng những công cụ đặc biệt

Một kẻ tấn công dấu tin nhằm mục đích phát hiện ra có tồn tại thông điệp hay không, nếu có sẽ trích chọn và khai thác nó Việc phát hiện đòi hỏi có sự nhận dạng ký hiệu hay xác nhận được sự bất bình thường trong tệp

Trang 12

lý và phương pháp mã hoá thì cũng không thể có được khoá giải mã thích hợp Để đảm bảo tính vững chắc dù cho có những thay đổi nhỏ, thông tin ẩn được phân phối dư thừa trên rất nhiều mẫu của dữ liệu chủ, có nghĩa là dấu ẩn

có thể khôi phục từ một phần nhỏ dữ liệu được đánh dấu, nhưng sự khôi phục

sẽ tốt hơn nếu có nhiều dữ liệu chủ được đánh dấu dùng để khôi phục Trong thực tế, những phương pháp đánh dấu ẩn có thể nhúng lượng thông tin vào trong dữ liệu chủ ít hơn các phương pháp dấu tin để đảm bảo tính vững chắc Dấu tin và đánh dấu ẩn là hai phương pháp bổ sung cho nhau

Các hệ thống đánh dấu ẩn số thương mại xuất hiện nhiều trong các ứng dụng Một số là các ứng dụng độc lập trong khi một số khác có sẵn những mở rộng để có thể kết hợp với các ứng dụng khác Một số thực hiện công việc trực tiếp với máy tính của người sử dụng trong khi một số khác tồn tại như là các dịch vụ web Nhìn chung, các hệ thống đánh dấu ẩn có một modul để chèn một dấu ẩn và một modul để phát hiện dấu ẩn Khi các thuật toán đánh dấu ẩn bị thay đổi, thì thông thường có một modul trích chọn để trả về đối tượng ở trạng thái ban đầu Các dấu ẩn có thể được người sử dụng thiết kế hoặc được phát sinh “on the fly” để đáp ứng nội dung dữ liệu, dấu thời gian (timestamp) hay các khoá Một số nhà cung cấp cung cấp những dịch vụ đăng

ký để quản lý các dấu ẩn; những dịch vụ này được thực hiện bởi nhà cung cấp hay chạy trên trang web của người sử dụng Để làm cho dấu ẩn có hiệu lực,

Trang 13

các nhà cung cấp cung cấp các dịch vụ tìm kiếm có thể quét trên web đối với ảnh đã đánh dấu

Những yêu cầu đối với kỹ thuật đánh dấu ẩn khác so với dấu tin Các dấu

ẩn mạnh về mã hoá do đó chúng không thể bị giả mạo Một số dấu ẩn được thiết kế để có thể phát hiện bằng mắt thường, trong khi những dấu ẩn khác được thiết kế ẩn Một số dễ dàng phát hiện được bằng các bộ dò tìm của các nhà cung cấp, một số khác lại đòi hỏi phải có khoá để phát hiện và nhận dạng chúng Một số dấu ẩn cần có những yêu cầu nào đó của dữ liệu gốc để phát hiện dấu ẩn, một số thì không Quan trọng nhất là một dấu ẩn phải chống lại được những thay đổi của dữ liệu Các bộ dò tìm dấu ẩn thường đo độ mạnh của dấu ẩn Các dấu ẩn được phát hiện bằng cách trích chọn và thu thập thông tin về dấu ẩn, sau đó so sánh nó với dữ liệu gốc Sự so sánh sử dụng không gian metric đồng dạng

.

X X sim X X

X X

=Giá trị của sim(X,XP

*

P

) nằm trong khoảng (0, 1), càng gần 1 thì dấu ẩn tìm được càng giống dấu ẩn gốc Nếu độ mạnh vượt quá một ngưỡng nào đó thì dấu ẩn được phát hiện Một dấu ẩn ảnh phải chống lại được sự thay đổi tỉ lệ, cắt bỏ, lọc và các kỹ thuật khác mà không làm thay đổi ảnh Những kỹ thuật này có thể làm giảm độ mạnh của dấu ẩn, nhưng những người sử dụng dấu ẩn

hi vọng rằng dấu ẩn vẫn còn đủ, nếu như ảnh giữ lại được giá trị thương mại,

để đảm bảo sự nhận dạng Dấu ẩn audio, video và tài liệu có những yêu cầu tương tự

Trang 14

Hình 1 – 2 Hệ thống đánh dấu ẩn[11]

Trang 15

Kẻ tấn công dấu ẩn tìm cách gỡ bỏ dấu ẩn, chèn một dấu ẩn giả vào, hoặc gây khó khăn cho người dò tìm Nhiều dấu ẩn bị đánh bại dễ dàng bằng các thao tác thông thường có sẵn trong các gói (package) xử lý ảnh, âm thanh StirMark và Unzign là hai công cụ để gỡ bỏ các dấu ẩn của ảnh Một công cụ khác là khảm (mosaic) dùng để chia ảnh thành các phần nhỏ hơn, vì thế làm cho việc tìm kiếm dấu ẩn của các robot bị thất bại Mặc dù các công cụ này có thể có mục đích xấu, nhưng chúng cũng là động cơ thúc đẩy cải tiến các thuật toán đánh dấu ẩn Các tác giả kiểm tra các kỹ thuật thực hiện như thế nào khi

bị tấn công bằng các công cụ này và thiết kế các thuật toán nhằm đánh bại chúng

1.1.4 Dấu vân tay

Dấu vân tay là thuật ngữ biểu thị những ứng dụng đặc biệt của đánh dấu

ẩn Chúng có liên quan tới những ứng dụng bảo vệ bản quyền, trong đó thông tin về người tạo ra và người nhận dữ liệu số được nhúng như những dấu ẩn Những dấu ẩn cá nhân là những mã duy nhất ngoài hàng loạt mã được gọi là

“fingerprint” hay “label”

Các hệ thống dấu vân tay hầu hết đồng nhất với các hệ thống đánh dấu ẩn Một dấu vân tay được thêm vào đối tượng mỗi lần nó được sao chép vì thế bản sao được nhận dạng là duy nhất Các dịch vụ đăng ký và nhận dạng theo dõi không chỉ người sở hữu mà còn cả bản sao chính xác Những yêu cầu này đối với dấu tay giống như đối với dấu ẩn, và các phương pháp tấn công cũng tương tự Sự khác nhau chính giữa các kỹ thuật là ở chỗ phát sinh và quản lý dấu vân tay

Trang 16

1.2 PKI và sinh trắc học với an ninh thông tin

Trong nhiều thế kỷ qua, vai trò của mã hóa là để bảo vệ thông tin riêng tránh khỏi sự tò mò; ngày nay, và tiếp tục về sau, vai trò của mã hóa được thể hiện dưới một cách nhìn khác hơn Thực tế, nó cung cấp những giải pháp kỹ thuật cho một vấn đề cốt yếu đối với tương lai của một xã hội thông tin: cho phép sử dụng những tài liệu điện tử ở mức độ như các tài liệu truyền thống,

có độ tin cậy hợp pháp Trở ngại cần vượt qua có quan hệ với sự thiếu an ninh bên trong các kênh truyền thông tin, điều này dẫn tới sự không chắc chắn về nhận dạng người gửi và xác thực thông tin nhận được Mật mã có thể khôi phục độ tin cậy đối với truyền thông mạng và góp phần xây dựng một xã hội dựa trên truyền thông số Bên cạnh dùng mật mã để che dấu, chúng ta sử dụng mật mã để đảm bảo chắc chắn(GUARANTEES), cung cấp độ tin cậy và xác thực cho thông tin số

Những khía cạnh của truyền thông trong đó các kỹ thuật mật mã, những công cụ để đảm bảo và tin cậy thực tế là gì? Chúng ta phân biệt lại hai dịch vụ

cơ bản này của mật mã cung cấp

Đầu tiên là tính riêng tư, cho đến bây giờ nó vẫn được coi là chủ yếu Thứ hai là những gì chúng ta gọi là xác thực, đó là tất cả các dịch vụ có liên quan tới tính đảm bảo mà có thể đạt được thông qua mật mã về sự xác nhận các thông tin và người gửi chúng Các dịch vụ đảm bảo cung cấp độ tin cậy mà toàn bộ quá trình gửi và nhận thông tin là hợp pháp và được thực hiện bởi bất kỳ ai có quyền đó Chúng ta có thể chia các dịch vụ đó thành ba loại chính như sau:

- Nhận diện (IDENTIFICATION): độ tin cậy về nhận dạng người gửi

Trang 17

- Cho phép (AUTHORISATION): độ tin cậy về tính hợp pháp của hoạt động

- Xác thực (AUTHENTICATION): độ tin cậy về tính xác thực và sự toàn vẹn của thông tin

Trong môi trường máy tính, thuật toán mã hóa và giải mã dùng khóa mã

để thực hiện những biến đổi toán học này Khóa có chức năng là một tham số vào để biến đổi văn bản gốc thành văn bản mã hóa và ngược lại

Mật mã với khóa đối xứng

Khi hệ thống sử dụng một khóa cho cả mã hóa và giải mã, thì gọi là khóa

bí mật đối xứng Hình 1 – 3 minh họa quá trình mật mã dùng khóa đối xứng

Trang 18

Hình 1 – 3 Hệ mật mã dùng khóa đối xứng[18]

Một nhược điểm của hệ thống khóa đối xứng là khi các hệ thống mật mã tăng về phạm vi và tính phức tạp, ví dụ như số lượng các thành viên tăng, thì

nó trở nên khó khăn và tốn nhiều chi phí cho quản lý, phân phối và đảm bảo

an ninh cho các khóa

Mật mã với khóa công khai

Mật mã với khóa công khai hay mật mã phi đối xứng là một nhánh của mật mã hiện đại, trong đó các thuật toán mã hóa sử dụng một cặp khóa Mật

mã với khóa công khai được phân biệt với mật mã khóa đối xứng truyền thống sử dụng cùng một khóa cho cả mã hóa và giải mã Cặp khóa trong mật

mã khóa công khai bao gồm một khóa bí mật và một khóa công khai, cả hai khóa này đều có thể dùng để mã hóa hoặc giải mã dữ liệu Một người sử dụng

Trang 19

đưa khóa công khai của mình cho những người khác, và giữ lại khóa bí mật của mình Dữ liệu được mã với khóa công khai có thể được giải mã chỉ với một khóa bí mật tương ứng và ngược lại

Hệ khóa phi đối xứng không có những hạn chế như của hệ khóa đối xứng, bởi vì, khóa công khai được tạo sẵn một cách rộng rãi để bất kỳ người nào cũng có thể dùng nó Trong hệ thống này chỉ có khóa bí mật cần phải giữ bí mật

Hình 1 – 4 thể hiện việc sử dụng khóa công khai và khóa bí mật

Trang 20

Hàm băm (Hash function)

Hàm băm – hiểu theo nghĩa đơn giản là hàm cho tương ứng một mảng dữ liệu lớn với một mảng dữ liệu nhỏ hơn – được dùng rộng rãi trong nhiều ứng dụng khác nhau của tin học, không chỉ riêng phạm vi mật mã học Những hàm băm có thuộc tính nhất định, có khả năng ứng dụng trong công nghệ mật

mã và trong lĩnh vực đảm bảo tính toàn vẹn của dữ liệu, được gọi là hàm băm mật mã

Chữ ký số (Digital Signature)

Chữ ký số là quá trình mật mã khóa công khai trong đó, người ký “ký” một thông điệp bằng cách để cho những người khác có thể kiểm tra được thông điệp đó là của chính anh ta ký chứ không phải ai khác, và thông điệp đó

Trang 21

không bị sửa chữa từ khi anh ta ký nó Quá trình ký số cho kết quả là một chuỗi bits để người nhận thông điệp kiểm tra xác nhận người ký và tính toàn vẹn của thông điệp Bất kỳ thuật toán ký số nào cũng có thể phát sinh một chuỗi bits Những thuật toán này có đặc điểm chung là thông tin riêng được

sử dụng để tạo ra một chữ ký và thông tin công khai được dùng để kiểm tra các chữ ký Một khóa bí mật phải chắc chắn là duy nhất đối với người sử dụng nó Nếu người sử dụng một khóa bí mật dùng nó để mã hóa một tài liệu

số, thì mã hóa này có thể coi là giống một chữ ký trên giấy Điều đó có nghĩa

là tài liệu có một “dấu” mà chỉ có người chủ của nó mới có thể tạo ra Trong nhiều thuật toán, người chủ không ký vào toàn bộ văn bản mà chỉ là phần đặc trưng của văn bản đó

Để thực hiện ký số trước tiên cần có một mã băm (digest message), một khóa bí mật để mã hóa mã băm và một khóa công khai để giải mã mã băm Thủ tục ký số tiến hành như sau:

- A lấy đặc trưng của văn bản (bằng cách dùng hàm băm một chiều, có sẵn trong hệ thống, để tạo ra mã băm của văn bản);

- A dùng khoá riêng của mình để mã hoá “đặc trưng của văn bản” đã được lấy ra, vì thế có được “MAC” – Message Authentication Code;

- Bước tiếp theo là tuỳ ý Nếu thấy cần thiết A có thể mã hoá văn bản (sử dụng mã đối xứng);

- A gửi cho B cả văn bản gốc (đã mã hoá hoặc không mã hoá) và “đặc trưng văn bản” đã “ký” (có chứa MAC);

- Khi B nhận văn bản (cùng với “đặc trưng” đã ký) thì tiến hành thực hiện rút ra đặc trưng của văn bản mới nhận (bằng hàm băm một chiều

có sẵn của hệ thống mà A đã sử dụng), đồng thời cho giải mã “đặc

Trang 22

trưng đã ký” (sử dụng khoá công khai của A) và so sánh hai “đặc trưng với nhau” Nếu thấy chúng khớp nhau thì chứng tỏ văn bản nhận được

có nội dung không bị thay đổi so với khi ký

1.2.1.2 Infrastructure – Chữ I trong PKI

Các thành phần của PKI bao gồm:

Xác nhận chủ thể (Certification Authority-CA)

Xác nhận chủ thể là một thành viên tạo ra và “ký” một tài liệu hay một tệp chứa tên người sử dụng và khóa công khai của anh ta Bất kỳ ai cũng có thể kiểm tra tệp đã được CA ký, bằng cách dùng khóa công khai của CA Sự tin cậy ở khóa công khai của người sử dụng có thể được dùng một cách đệ

Trang 23

quy Một người có thể có một chứng nhận chứa khóa công khai của CA được

ký bởi một CA trước đó mà anh ta tin tưởng Một ứng dụng rộng rãi hơn của chứng thực số không chỉ bao gồm tên và khóa công khai mà còn những thông tin khác nữa Sự kết hợp đó cùng với chữ ký tạo thành một sự chứng thực mở rộng Những thông tin khác bao gồm, ví dụ địa chỉ thư điện tử, quyền để ký những tài liệu bằng một giá trị cho trước, hay quyền để ký các chứng nhận khác

Cơ sở dữ liệu (Database)

Cơ sở dữ liệu là một cấu trúc lưu trữ dữ liệu mà ở đó CA giữ thông tin được yêu cầu cho các thao tác bên trong của CA

Kho (Repository)

Kho là một hệ thống dùng để chứa và phân phối các chứng nhận số và các thông tin có liên quan được cung cấp như là một cơ sở dữ liệu được tập trung một cách có logic, đáng tin cậy Nó thường được cung cấp bằng một server ở

xa dựa vào giao thức truy nhập thư mục nhẹ (Lightweight Directory Access Protocol), một thư mục X.500 hoặc thư mục khác

Quyền đăng ký (Registration Authority)

Quyền đăng ký (RA) là một thành phần của PKI có chức năng tách rời với CA RA hỗ trợ CA trong việc ghi lại hay kiểm tra thông tin cần thiết để phát sinh các xác nhận khóa công khai, hoặc các chức năng quản lý xác nhận khác

Timestamp Server (TS) và Data Validation and Certification Server (DVCS)

TS ký lên một chuỗi hoặc một tệp dữ liệu để xác nhận rằng chuỗi hay tệp

dữ liệu đó đã tồn tại một thời điểm cụ thể DVSC xác nhận tính đúng đắn của

Trang 24

dữ liệu và sau đó ký vào đó TS và DVCS là các thành phần tùy chọn của PKI

- Tính chất chung (universality), nghĩa là mọi người đều có đặc điểm đó

- Tính duy nhất (uniqueness), nghĩa là không tồn tại hai người có cùng đặc điểm đó

- Tính cố định (permanence), nghĩa là đặc điểm đó không biến đổi theo thời gian

- Tính khả thu thập (Collectability), nghĩa là đặc điểm đó có thể được đo bằng định lượng

Trong thực tế, có một số điều kiện quan trọng khác:

- Sự thực thi (performance), nó được xem như khả năng nhận dạng chính xác có thể đạt được trong những điều kiện làm việc và ảnh hưởng của các nhân tố môi trường

- Tính khả chấp nhận (acceptability), cho thấy con người đang sẵn sàng chấp nhận hệ thống sinh trắc học đó ở mức độ nào

- Sự phá vỡ (circumvention), đó là mức độ đánh lừa hệ thống bằng các

kỹ thuật

Trang 25

Sinh trắc học là công nghệ phát triển rất nhanh và được sử dụng rộng rãi trong lĩnh vực pháp lý như nhận dạng tội phạm và ngày nay, nó phát triển mạnh mẽ trong phạm vi rất rộng của các ứng dụng khác như:

- An ninh cho ngành ngân hàng (banking security) với việc chuyển tiền điện tử, máy rút tiền tự động, thẻ tín dụng,…

- Kiểm soát truy cập vật lý (physical access control) như kiểm tra ra vào sân bay,…

- An ninh hệ thống thông tin (information system security), như truy cập

cơ sở dữ liệu thông qua quyền đăng nhập

- Hải quan và nhập cư (customs and immigration) như INSPASS cho phép làm thủ tục nhập cư nhanh hơn dựa vào dạng bàn tay

- Các hệ ID quốc gia (national ID system) cung cấp một ID duy nhất cho mỗi công dân và tích hợp các dịch vụ của chính phủ khác

- Đăng ký cử tri và lái xe (voter and driver registration) cung cấp những điều kiện thuận lợi cho các cử tri và các lái xe

Hiện nay, có một số kỹ thuật sinh trắc học chính được sử dụng rộng rãi hay đang trong thử nghiệm được giới thiệu một cách ngắn gọn sau đây:

- DNA: DeoxyriboNucleic Acid (DNA) là mã một chiều duy nhất và tốt

nhất đối với mỗi cá nhân, ngoại trừ trường hợp các cặp sinh đôi đồng trứng mới có mẫu DNA giống nhau Tuy nhiên, nó được sử dụng hầu hết trong các ứng dụng thuộc lĩnh vực pháp lý để nhận dạng con người

Có một vài vấn đề hạn chế tính hiệu quả của biện pháp sinh trắc học này đối với các lĩnh vực khác là:

Trang 26

o Tính ô nhiễm và nhạy cảm (contamination and sensitivity): dễ dàng đánh cắp một mẫu DNA của một người nào đó để sử dụng cho những mục đích trong tương lai

o Vấn đề nhận dạng tự động theo thời gian thực: các công nghệ ngày nay để đối sánh DNA đòi hỏi các phương pháp hoá học phức tạp và cồng kềnh liên quan tới các kỹ năng của chuyên gia

o Vấn đề riêng tư: thông tin về tính nhạy cảm của một người với một căn bệnh nào đó có thể thu được từ mẫu DNA và có một mối lo ngại là việc sử dụng sai mục đích và không có định hướng của thông tin mã gen có thể dẫn đến sự phân biệt đối xử

- Dấu vân tay: Dấu vân tay là mẫu các đường vân và các rãnh trên đầu

mỗi ngón tay Dấu vân tay được dùng để nhận dạng con người trong nhiều thế kỷ và có độ chính xác rất cao Các mẫu được trích ra bằng cách tạo một dấu mực của đầu ngón tay trên giấy Ngày nay, các mẫu này được thu nhận bằng những bộ cảm biến cung cấp ảnh số Nhận dạng dấu vân tay được thực hiện bằng ảnh ban đầu thông qua quét trực tiếp ngón tay, cho ngón tay tiếp xúc trực tiếp với một thiết bị đọc mà có thể kiểm tra các thuộc tính hợp lệ như nhiệt độ và xung tần Do ngón tay khi đặt lên thiết bị quét, bề mặt có thể bị mờ đi sau khi được dùng lại, làm giảm độ nhạy và độ tin cậy của thiết bị quét Các bộ cảm biến bán dẫn đã khắc phục vấn đề này và những khó khăn kỹ thuật khác, bởi

vì, bản thân các chip silicon đã là bộ cảm biến Các thiết bị bán dẫn sử dụng điện dung để thu lại những đường vân và tạo ra ảnh số Trong các

hệ thống kiểm tra thời gian thực, ảnh thu bằng các bộ cảm biến được modul trích chọn đặc trưng dùng để tính toán các giá trị đặc trưng Các giá trị đặc trưng tương ứng với các vị trí và định hướng theo một số

Trang 27

điểm giới hạn nào đó, gọi là các điểm đặc trưng cục bộ (minutiae) Quá trình đối sánh bao gồm so sánh các mẫu đặc trưng cục bộ hai chiều được trích chọn từ dấu vân tay của người sử dụng với mẫu có sẵn Một vấn đề đối với các hệ thống nhận dạng dấu vân tay là chúng đòi hỏi một khối lượng tính toán rất lớn

- Tai: Chúng ta đã biết hình dạng của tai và cấu trúc mô sụn của vành tai

là khác nhau Các đặc điểm của tai cũng chưa thể là duy nhất đối với mỗi cá nhân Cách tiếp cận nhận dạng tai là dựa vào đối sánh khoảng cách các điểm nhô lên trên vành tai tính từ một vị trí làm mốc nào đó trên tai

- Khuôn mặt: Khuôn mặt là một trong những biện pháp sinh trắc học khả

chấp nhận nhất, bởi vì, nó là một trong những phương pháp phổ biến của nhận dạng mà con người sử dụng với những tác động bằng hình ảnh Hơn nữa, phương pháp áp dụng với ảnh khuôn mặt thu được khó

có thể xâm phạm Cải trang khuôn mặt là một vấn đề trong các ứng dụng nhận dạng không được giám sát Cần phải phát triển các kỹ thuật nhận dạng khuôn mặt mà có thể chịu được những ảnh hưởng của sự lão hoá, sự biểu hiện và những biến đổi của khuôn mặt trong môi trường ảnh, và sự biến đổi trong các trạng thái của khuôn mặt đối với camera

- Nhiệt độ cơ thể: Nhiệt phát ra từ cơ thể con người là một đặc trưng của

mỗi cá nhân và có thể dùng camera hồng ngoại thu lại một cách kín đáo dưới dạng ảnh thông thường Kỹ thuật này được sử dụng để nhận dạng một cách bí mật và để phân biệt các cặp sinh đôi Một hệ thống dựa vào biểu đồ nhiệt (thermogram) là không thể tiếp xúc và không thể xâm nhập, nhưng sự cảm nhận ở những môi trường không được kiểm soát, ở

Trang 28

đó có những bề mặt phát nhiệt của vùng lân cận với cơ thể như lò sưởi, ống xả xe hơi,…có thể ảnh hưởng tới ảnh thu được

- Dáng đi: Dáng đi là cách đi riêng biệt của mỗi người, đó là một sinh

trắc học không gian và thời gian phức tạp Dáng đi không được coi là điều kiện đặc biệt để phân biệt, nhưng nó là một đặc điểm đủ để kiểm tra trong một số ứng dụng có độ an toàn thấp Dáng đi là sinh trắc học hành vi và không phải là bất biến, nhất là trong một thời gian dài, do những thay đổi lớn về trọng lượng của cơ thể, những thương tổn chính ảnh hưởng tới các khớp xương hay não hoặc do nghiện rượu Những gì thu được của dáng đi cũng giống như đối với khuôn mặt, do đó nó có thể là một sinh trắc học khả chấp nhận Bởi vì các hệ thống dựa trên dáng đi sử dụng một cảnh quay người đi bộ để xác định những di chuyển khác nhau của mỗi khớp nối

- Hình dạng bàn tay và ngón tay: Một số đặc trưng của bàn tay (như độ

dài các ngón tay) là tương đối bất biến và là riêng biệt đối với mỗi cá nhân Hệ thống thu nhận ảnh cần có ảnh của toàn bộ bàn tay với các ngón tay mở rộng Các hệ thống dựa trên hình dạng của bàn tay thường được dùng để kiểm tra và không so sánh được với các ứng dụng nhận dạng khác Các hệ thống dựa vào hình dạng ngón tay (được xác định bằng chỉ một hoặc hai ngón tay) có thể được sử dụng nhiều hơn vì kích thước của nó nhỏ

- Võng mạc mắt: Nhận dạng võng mạc mắt tạo ra một “chữ ký của mắt”

từ cấu trúc mạch của võng mạc, nó được xem là một đặc trưng của một

cá nhân và mỗi mắt tương ứng Vì được bảo vệ trong mỗi con mắt nên võng mạc không thể thay đổi hoặc sao chép được một cách dễ dàng, đây là một trong những sinh trắc học an toàn nhất

Trang 29

- Tiếng nói: Những đặc trưng của giọng nói mỗi người dựa vào các đặc

điểm vật lý tạo âm thanh như: thanh âm, miệng, khoang mũi và môi Các đặc điểm này là bất biến, chỉ có một phần thay đổi theo thời gian vì tuổi tác, trạng thái cảm xúc, hay do phẫu thuật các kỹ thuật nhận dạng tiếng nói được phân chia theo hai hướng tiếp cận:

o Automatic Speaker Verification (AVS)

o Automatic Speaker Identification (AVI)

Nhận dạng tiếng nói phân biệt một cá nhân nào đó bằng cách đối sánh các đặc điểm cụ thể với các mẫu được lưu trữ trong cơ sở dữ liệu

Hệ thống tiếng nói phải học tiếng nói của mỗi người ở nhiều thời điểm khác nhau Trích chọn đặc trưng bằng cách đo formant hay các đặc điểm âm thanh duy nhất của thanh âm mỗi người Các thuật toán đối sánh mẫu được dùng trong nhận dạng tiếng nói tương tự như trong nhận dạng khuôn mặt

- Chữ ký: Chữ ký là cách biểu diễn vật chất đơn giản của những biến đổi

do tay của con người tạo ra Cách mà con người dùng để ký tên được coi như là một đặc điểm của mỗi cá nhân Chữ ký là một sinh trắc học hành vi có thay đổi theo thời gian và bị ảnh hưởng bởi các điều kiện vật

lý và cảm xúc của chủ thể Hơn nữa, với hình dạng của chữ ký, hệ thống nhận dạng chữ ký cũng có thể đo được áp lực và vận tốc ký

- Ngoài ra, còn một số sinh trắc học khác được thể hiện trong bảng so sánh các kỹ thuật sinh trắc học (Bảng 1 – 1)

Trang 31

Trần Tuấn Vinh - Luận văn thạc sĩ khoa học - Chuyên ngành Công nghệ thông tin

Chương 2

NGHIÊN CỨU MỘT SỐ THUẬT TOÁN MÃ HÓA

2.1 Nguyên tắc chung của mã hoá với khoá công khai

Giả sử trong một hệ thống đang xét có n cá thể cùng trao đổi các thông tin mật Mỗi cá thể chọn cho mình một khoá lập mã k và một công thức mã hoá

ERkR được thông báo công khai Như vậy, có n khoá lập mã công khai kR1R, kR2R, …,

kRnR Khi cá thể thứ i muốn gửi thông báo cho cá thể thứ j, thông báo được mã

hoá bằng khoá lập mã E k j của cá thể thứ j (đã thông báo công khai) và gửi đi

D là các khoá giải mã và lập mã của cùng một cá thể thứ j Các

cá thể trong hệ thống, nếu nhận được văn bản mật, cũng không thể nào giải

mã, vì việc biết khoá lập mã E k jkhông cho phép tìm ra khoá giải mã D k jtrong thời gian chấp nhận được

2.2 Giao thức trao đổi khoá của Diffie-Hellman

Như chúng ta đã biết, vấn đề trao đổi khoá giữa các cá thể sử dụng các hệ

mã đối xứng là vô cùng nan giải Giao thức của Diffie-Hellman là một giải pháp cho vấn đề này và được thực hiện một cách đơn giản như sau

Trang 32

Nếu A và B cùng muốn có một con số để làm khoá chung (cho một hệ mã đối xứng nào đó) thì họ có thể chọn ngay con số k k A B

M =g Cả hai người, A và

B, có thể tính ra con số này một cách dễ dàng (bằng cách lấy số mà người kia

đã công bố công khai nâng lên luỹ thừa với bậc bằng khoá bí mật của mình) Điều này thú vị là ngoài A và B không còn ai có khả năng tính ra được con số

M này, vì muốn tính được phải biết một trong hai số kRARhoặc kRBR, mà ta đã biết việc tính logarit rời rạc là không khả thi

Nếu nhu cầu trao đổi thông tin là lớn thì A và B không nên dùng con số M

nói trên để làm khoá cho mọi cuộc trao đổi thông tin mật (vì có thể bị lộ trước các công cụ thám mã ngày càng mạnh) Khi đó, A và B có thể sử dụng chung những con số khác nhau cho những lần trao đổi thông tin khác nhau Muốn

vậy, A chọn ngẫu nhiên một số x và gửi cho B giá trị X=gP

trong khi người ngoài cuộc thì không thể biết được gì ngoài các số X, Y mà từ

đó không thể nào tính được K (trong thời gian chấp nhận được)

Các nguyên tắc của mã hoá với khoá mã công khai được cụ thể hoá bằng

hệ mã khoá công khai RSA, phát minh năm 1978 bởi Rivest, Shamir và Adleman

2.3 Hệ mật mã RSA

Thuật toán

Hệ RSA được xây dựng trên cơ sở mã mũ, trong đó khoá lập mã là cặp (e,

n) , gồm số mũ e và modul n Số n được dùng ở đây là tích của hai số nguyên

Trang 33

Trần Tuấn Vinh - Luận văn thạc sĩ khoa học - Chuyên ngành Công nghệ thông tin

tố rất lớn nào đó, n =pq, còn e được chọn sao cho (e, φ(n)) =1, với φ(n) là giá

trị hàm Euler của n (trong trường hợp này ta biết rằng φ(n)= (p-1)(q-1)) Để

mã hoá một thông báo, trước tiên ta chuyển nó sang dạng số và nhóm thành các khối với độ dài lớn nhất có thể (tuỳ thuộc khả năng tính toán và tốc độ yêu cầu) với một số chẵn chữ số Để mã hoá một khối P trong văn bản, ta tính

cho thấy việc giải mã một khối trong văn bản mật cũng chính là việc nâng lên

luỹ thừa bậc d rồi rút gọn theo modul n Cặp (d, n) được gọi là khoá giải mã

Bây giờ ta chỉ ra rằng, hệ mã RSA thoả mãn các nguyên tắc của hệ mã hoá công khai nói ở mục trên Trước tiên, ta chú ý rằng, mỗi cá thể phải chọn

hai số nguyên tố lớn p và q, cỡ chừng 100 chữ số thập phân Điều này có thể

làm trong ít phút nhờ máy tính với một phần mềm tính toán số học đủ tốt Khi

các số nguyên tố p và q đã được chọn, số mũ e dùng để mã hoá sẽ được lấy sao cho (e, φ(pq)) =1 Nói chung, nên chọn e là số nguyên tố tuỳ ý không nhỏ quá Số e được chọn nhất thiết phải thoả mãn 2P

e

P

> n = pq Nếu điều kiện này

Trang 34

không được thoả mãn thì có thể xảy ra khả năng PP

Trang 35

Trần Tuấn Vinh - Luận văn thạc sĩ khoa học - Chuyên ngành Công nghệ thông tin

đối xứng được mã bằng RSA sẽ được gửi một cách an toàn đến cho người nhận để làm công cụ giải mã

2.4 Hệ mật mã KNAPSACK

Hệ mật mã Knapsack được xây dựng dựa trên độ phức tạp của bài toán balô Bài toán balô được phát biểu như sau: Cho một tập n số nguyên dương A= {aR 1 R, aR 2 R,…, aR n R} và một số nguyên dương C Hãy xác định xem có hay không một tập con của A có tổng bằng C Bài toán được chứng minh thuộc lớp NP-khó, vì với một tập con bất kỳ của A, dễ dàng kiểm tra để thấy được tổng các phần tử của tập con đó có bằng C không Tuy nhiên, việc tìm một tập con có tổng bằng C thì khó hơn, vì có 2P

Giải bài toán với vectơ balô siêu tăng

Cho một vectơ siêu tăng V = (aR 1 R, aR 2 R,…, aR n R), trong đó, mỗi phần tử aR i R

thoả mãn: aR i R >

1

1

i j j

a

=

Trong trường hợp này, ta có thuật toán đơn giản sau:

Mỗi phần tử aR i R sẽ có hai trạng thái: được chọn (bR i R= 1) hoặc không được chọn (bR i R= 0):

for(i = n; i>0; i) if( C >= aR i R){

Trang 36

bR i R= 1; C = C – aR i R;}

else bR i R = 0;

Chứng minh tính đúng đắn thuật toán trên

Định lý 1 Nếu bài toán balô siêu tăng có nghiệm thì thuật toán trên trả về

- Chọn ngẫu nhiên một vectơ siêu tăng A = {aR 1 R,aR 2 R, aR n R};

- Chọn ngẫu nhiên một số q, sao cho q lớn hơn tổng tất cả các phần tử của vectơ siêu tăng A cộng lại;

- Chọn ngẫu nhiên một số r, sau đó xác định số s sao cho

r*s (mod q) = 1;

Trang 37

Trần Tuấn Vinh - Luận văn thạc sĩ khoa học - Chuyên ngành Công nghệ thông tin

- Sinh dãy E như sau: eR i R = aR i R*r (mod q) với i=1 n;

- Mỗi khối B = {bR 1 R, bR n R} đươc mã hoá thành một số C như sau:

C = ∑=

=

n i

- Với mỗi khối C, xác định D = C*s (mod q);

- Giải bài toán balô với vectơ siêu tăng A và tổng D, ta thu được một khối nhị phân B gồm n bit nhị phân Khôi phục bản rõ từ dãy nhị phân này

2.5 Chữ ký số (Digital Signature)

Có một câu hỏi được đặt ra là: Trong một hệ thống nhiều cá thể tham gia, các khoá lập mã lại được công khai, làm sao có thể tránh được trường hợp một cá thể nào đó “mạo danh” một cá thể khác để gửi thông báo cho một cá thể thứ ba? Nói cách khác, làm sao có thể “ký tên” dưới các thông báo điện

tử, để người nhận biết đích xác mình nhận thông báo của ai và để người gửi không thể thoái thác trách nhiệm về bản thông báo của mình đã gửi đi? Đây chính là vấn đề xác nhận chủ thể trong cơ chế trao đổi thông tin điện tử Vấn

đề này có tầm quan trọng đặc biệt, nó được hình thành mà trong đó phương pháp mã hoá công khai có một vai trò quan trọng Ta biết rằng, trong hệ thống

mã hoá với khoá công khai, mọi người đều có thể biết được “khoá công khai” của từng cá thể (để mã hoá bản tin cần gửi), nhưng ngược lại, không ai ngoài

cá thể đó biết được “khoá bí mật” dùng để giải mã văn bản Như vậy, khoá bí mật của từng cá thể có thể xem như là đặc trưng của cá thể đó Ta cũng biết rằng, trong hệ mã RSA, hai khoá bí mật và công khai có vai trò đối xứng nhau, theo nghĩa cái này được dùng để lập mã thì cái kia được dùng để giải

Trang 38

mã, và ngược lại Như vậy, nếu một cá thể dùng khoá bí mật của mình để mã hoá một văn bản thì mọi người có thể giải mã được bằng khoá công khai mà anh ta đã công bố Đồng thời, mọi người cũng biết đích xác người đã mã hoá văn bản chính là chủ nhân của khoá công khai đã được dùng để giải mã (vì ngoài anh ta ra, không còn ai có khoá bí mật đã được dùng để lập mã)

Như vậy, một khi cá thể A đã dùng khoá bí mật của mình để mã hoá văn bản và gửi cho cá thể B thì xem như A đã tự khẳng định trước B rằng chính mình đã phát đi văn bản đó, và nếu như văn bản là của A tạo ra thì cũng có thể xem như là anh ta đã “ký” vào văn bản của mình Rõ ràng, không ai có thể

“giả mạo” chữ ký của A được vì không thể có khoá bí mật của A Cũng như việc ký văn bản thông thường việc “ký văn bản điện tử” cũng chỉ có tác dụng khẳng định chủ thể của văn bản, mà không bao hàm khả năng giữ bí mật nội dung văn bản, vì mọi người đều có thể đọc được nội dung văn bản nhờ khoá công khai mà chủ nhân của nó đã ban bố khắp nơi Muốn giữ được bí mật của văn bản “đã ký” để chuyển cho một cá thể B nào đó thì sau khi “ký” bằng khoá bí mật của mình, cá thể A cần phải mã hóa tiếp “văn bản đã ký” bằng chìa công khai của B Điều này đảm bảo cho không ai ngoài B có thể mở được văn bản đã ký

Những phân tích trên đây cho thấy phương pháp mã hoá công khai đem lại một công cụ lợi hại để “ký văn bản điện tử”

Chữ ký số, trong lĩnh vực thông tin điện tử, cũng tương tự như chữ ký tay truyền thống trong các văn bản, nhưng tính bảo mật cao hơn rất nhiều với những yếu tố tạo nên sức thuyết phục:

- Chữ ký là bằng chứng thể hiện người ký có chủ định khi ký văn bản

Trang 39

Trần Tuấn Vinh - Luận văn thạc sĩ khoa học - Chuyên ngành Công nghệ thông tin

- Chữ ký thể hiện “chủ quyền”, nó làm cho người nhận văn bản biết rằng người đã ký văn bản là ai

- Chữ ký không thể tái sử dụng, có nghĩa là nó là một phần của văn bản

mà không thể sao chép sang các văn bản khác

- Văn bản đã ký không thể thay đổi được

- Chữ ký không thể giả mạo và cũng là thứ không thể chối bỏ (người đã

ký văn bản không thể phủ nhận việc mình đã ký văn bản và người khác không thể tạo ra chữ ký đó)

Để có những đặc tính đã mô tả trên, giao thức “ký trong thế giới điện tử” cần tới sự hỗ trợ của công nghệ mã hoá

Ở đây, chúng ta xem xét một số giao thức sử dụng mã khoá công khai Thứ nhất, là giao thức dựa trên ý tưởng của Diffie và Hellman:

- Người gửi (chủ sở hữu văn bản) ký văn bản bằng cách mã hoá nó với khoá 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 khoá công khai của người gửi để giải mã văn bản

Rõ ràng với giao thức này, không ai có thể làm giả được “chữ ký” vì chỉ

có duy nhất người gửi có khoá bí mật đã dùng để “ký” (mã hoá); Chữ ký thể hiện chủ nhân của nó phải là người giữ khoá bí mật đã dùng để mã hoá (kiểm tra bằng cách cho giải mã bằng khoá công khai của người đó); Chữ ký không thể “tái sử dụng”, vì không ai sử dụng được khoá riêng bí mật của người gửi (để ký một văn bản khác); Văn bản đã ký không thể thay đổi được nội dung (nếu đã mở ra để thay đổi thì không thể mã hoá lại bằng khoá bí mật của

Trang 40

người “đã ký” được nữa); Người “đã ký” không thể thoái thác “chữ ký” của mình vì ngoài anh ta thì không có ai có khoá đã dùng để ký văn bản

Giao thức thứ hai dựa trên khoá công khai và hàm băm một chiều Như chúng ta đã biết, trong thực tiễn triển khai, tốc độ mã hoá với khoá công khai

là rất chậm, cho nên nếu ký một văn bản dài thì việc dùng khoá công khai trực tiếp là không khả thi Một cách để giảm tải trong công đoạn này là dùng hàm băm một chiều để lấy ra mã băm, hay còn gọi là đặc trưng của văn bản (do khả năng “đại diện duy nhất” và “phản ánh trung thực” mọi sự thay đổi của văn bản) Đặc trưng của mọi văn bản (dài hay ngắn) cũng chỉ là một xâu số nhị phân không lớn (thường không dài hơn 256 bit) Vấn đề “đặc trưng” của văn bản không thể thay đổi cũng đồng nghĩa với việc bản thân văn bản không

bị thay đổi Từ đó, chúng ta có một giao thức phù hợp cho việc ký các văn bản cỡ lớn

Ngoài việc tăng tốc độ ký lên hàng nghìn lần, giao thức trên còn có một

số ưu thế khác Những chữ ký có dung lượng nhỏ (so với bản mã của toàn bộ văn bản) làm cho kho dữ liệu (lưu trữ văn bản và chữ ký) nhỏ đi gần một nửa Các kho lưu trữ bản quyền văn bản có thể chỉ cần lưu trữ chữ ký (cùng với dấu thời gian) mà không cần lưu trữ toàn bộ văn bản, nhưng vẫn khẳng định được người có quyền sở hữu văn bản đó (và thời gian ra đời của nó), và như thế các tác giả có thể đăng ký bản quyển tác phẩm mà vẫn giữ được bí mật nội dung của tác phẩm (cho đến khi họ cần công khai trước cơ quan có thẩm quyền)

Ngày đăng: 28/02/2021, 00:06

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