Tải bản đầy đủ (.doc) (16 trang)

BÀI TẬP LỚN MẬT MÃ VÀ AN TOÀN DỮ LIỆU Chữ ký số “Bội” (Multy Signature)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 16 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

BÀI TẬP LỚN
MÔN HỌC: MẬT MÃ VÀ AN TOÀN DỮ LIỆU
ĐỀ TÀI: Chữ ký số “Bội” (Multy Signature)
Giảng viên: PGS.TS. Trịnh Nhật Tiến
Học viên: Phạm Thị Thanh Thủy
Mã học viên: 13025106
Lớp: Cao học K20 - HTTT
Hà Nội - 2014
1
MỤC LỤC
MỤC LỤC 2
1. Giới thiệu chung về mật mã 3
2. Khái niệm về ký số và một số loại chữ ký số 6
3. Chữ ký số Bội 10
15
2
1. Giới thiệu chung về mật mã
 Khái niệm mật mã:
Mật mã có lẽ là kỹ thuật được dùng lâu đời nhất trong việc đảm bảo “An toàn
thông tin”. Kỹ thuật “mật mã” là công khai cho người dùng. Điều bí mật nằm ở
“khóa” mật mã.
Hiện có nhiều kỹ thuật mật mã khác nhau với những ưu, nhược điểm riêng. Tùy
theo yêu cầu của môi trường ứng dụng mà ta dùng kỹ thuật này hay kỹ thuật khác.
Mật mã cổ điển chủ yếu dùng để “che giấu” dữ liệu. Với mật mã hiện đại, ngoài
khả năng “che giấu” dữ liệu, còn dùng để thực hiện: Ký số, tạo đại diện thông điệp,
giao thức bảo toàn dữ liệu, giao thức xác thực thực thể, giao thức xác thực tài liệu…
Theo nghĩa hẹp, mật mã chủ yếu dùng để bảo mật dữ liệu, người ta quan niệm:
Mật mã là Khoa học nghiên cứu mật mã: Tạo mã và Phân tích mã.


Phân tích mã là kỹ thuật, nghệ thuật phân tích mật mã, kiểm tra tính bảo mật của
nó hoặc phá vỡ sự bí mật của nó. Phân tích mã còn được gọi là thám mã.
Theo nghĩa rộng, mật mã là một trong những công cụ hiệu quả đảm bảo An toàn
thông tin nói chung: bảo mật, bảo toàn, xác thực, chống chối cãi…
 Khái niệm mã hóa:
Mã hóa là quá trình chuyển thông tin có thể đọc được (gọi là Bản rõ) thành thông
tin “khó” có thể đọc được theo cách thông thường (gọi là Bản mã).
Giải mã là quá trình chuyển thông tin ngược lại: từ Bản mã thành Bản rõ.
Thuật toán mã hóa hay giải mã là thủ tục tính toán để thực hiện mã hóa hay giải
mã.
3
Khóa mã hóa là một giá trị làm cho thuật toán mã hóa thực hiện theo cách riêng
biệt và sinh ra bản rõ riêng. Thông thường khóa càng lớn thì bản mã càng an toàn.
Phạm vi các giá trị có thể của khóa được gọi là không gian khóa.
Hệ mã hóa là tập các thuật toán, các khóa nhằm che giấu thông tin, cũng như làm
cho rõ nó.
• Hệ mã hóa khóa đối xứng:
o Khái niệm:
Hệ mã hóa khóa đối xứng là hệ mã hóa có khóa lập mã và khóa giải mã là “giống
nhau”, theo nghĩa biết được khóa này thì “dễ” tính được khóa kia. Vì vậy phải giữ bí
mật cả hai khóa.
Đặc biệt có một số hệ mã hóa có khóa lập mã và khóa giải mã trùng nhau (ke =
kd), như hệ mã hóa “dịch chuyển” hay DES.
o Đặc điểm:
Ưu điểm: Hệ mã hóa khóa đối xứng mã hóa và giải mã nhanh hơn hệ mã hóa khóa
bất đối xứng.
Hạn chế:
+ Hệ mã hóa khóa đối xứng chưa thật an toàn với lý do sau: khóa phải được giữ bí
mật tuyệt đối vì biết được khóa này dễ tính được khóa kia và ngược lại.
+ Vấn đề thỏa thuận khóa và quản lý khóa chung là khó khăn và phức tạp: người gửi

và người nhận phải luôn thống nhất về khóa. Việc thay đổi khóa là rất khó và dễ bị
lộ. Khóa chung phải được gửi cho nhau trên kênh an toàn.
4
o Ứng dụng:
Hệ mã hóa khóa đối xứng thường được sử dụng trong môi trường mà khóa chung có
thể dễ dàng trao chuyển bí mật, chẳng hạn trong cùng một mạng nội bộ. Hệ mã hóa
khóa đối xứng thường được sử dụng để mã hóa những bản tin lớn, vì tốc độ mã hóa
và giải mã nhanh hơn hệ mã hóa bất đối xứng.
• Hệ mã hóa khóa bất đối xứng:
o Khái niệm:
Hệ mã hóa khóa bất đối xứng là hệ mã hóa có khóa lập mã và giải mã khác
nhau (ke ≠ kd), biết được khóa này cũng khó tính được khóa kia. Hệ mã này còn
được gọi là hệ mã hóa khóa công khai.
Khóa lập mã cho công khai, gọi là khóa công khai. Khóa giải mã giữ bí mật,
gọi là khóa bí mật.
o Đặc điểm:
Ưu điểm:
+ Thuật toán viết một lần, công khai cho nhiều lần dùng, nhiều người dùng, họ chỉ
cần giữ bí mật khóa riêng của mình.
+ Khi biết các tham số ban đầu của hệ mã hóa, việc tính ra cặp khóa công khai và bí
mật phải là “dễ”.
+ Khả năng lộ khóa bí mật khó hơn vì chỉ có một người giữ.
+ Nếu thám mã biết khóa công khai và bản mã C, thì việc tìm ra bản rõ P là một bài
toán “khó”, số phép thử là vô cùng lớn, không khả thi.
Hạn chế: Mã hóa và giải mã chậm hơn hệ mã hóa khóa đối xứng.
5
o Ứng dụng:
Hệ mã hóa khóa công khai được sử dụng chủ yếu trên mạng công khai như internet,
khi mà việc trao chuyển khóa bí mật tương đối khó khăn. Đặc trưng nổi bật của hệ
mã hóa khóa công khai là cả khóa công khai và bản mã C đều có thể gửi đi trê một

kênh thông tin không an toàn.
o Ví dụ:
Mã hóa RSA, Elgamal.
2. Khái niệm về ký số và một số loại chữ ký số
 Khái niệm ký số:
“Chữ ký số” dùng để chứng thực “tài liệu số”. Người ta tạo ra “chữ ký số” trên
“tài liệu số” giống như tạo ra “bản mã” của tài liệu với “khóa lập mã”. Như vậy, ký
số trên tài liệu số là “ký” trên từng bit dữ liệu. Kẻ gian khó có thể giả mạo “chữ ký
số” nếu không biết “khóa lập mã”. Thực chất ký số trên “tài liệu số” là “mã hóa” tài
liệu số. Bản mã chính là “chữ ký số” hay “chữ ký điện tử”. Xác nhận “chữ ký” là
kiểm tra việc mã hóa trên có đúng không. Như vậy khi gửi một tài liệu số có chữ ký
trên đó, người ta phải gửi cả hai file: một file tài liệu và một file chữ ký. Nhờ đó mới
kiểm tra được có đúng chữ ký đó ký trên tài liệu đi kèm hay không. Để kiểm tra một
chữ ký số thuộc về một tài liệu số, người ta giải mã chữ ký số bằng khóa giải mã và
so sánh với tài liệu gốc.
Chữ ký số có thể ký vào tài liệu từ rất xa trên mạng công khai, có thể ký bằng thiết
bị cầm tay tại khắp mọi nơi, miễn là kết nối được mạng. Ký số được thực hiện trên
từng bit tài liệu, nên độ dài của chữ ký số ít nhất cũng bằng độ dài của tài liệu. Do đó,
thay vì ký trên tài liệu dài, người ta thường dùng “hàm băm” để tạo “đại diện” cho tài
liệu, sau đó mới “ký số” lên “đại diện này”.
6
Sơ đồ chữ ký số là bộ năm (P, A, K, S, V), trong đó:
+ P là tập hữu hạn các văn bản có thể.
+ A là tập hữu hạn các chữ ký có thể
+ K là tập hữu hạn các khóa có thể
+ S là tập các thuật toán ký
+ V là tập các thuật toán kiểm thử
 Một số loại chữ ký số:
o Chữ ký RSA:
+ Sinh khóa: Chọn p, q là số nguyên tố lớn.

7

+ Ký số:
+ Kiểm tra chữ ký:
o Chữ ký Elgamal:
+ Sinh khóa:
8
+ Ký số:
+ Xác minh chữ ký:
o Chữ ký DSS:
+ Sinh khóa:
9
+ Ký số:
+ Xác minh chữ ký:
3. Chữ ký số Bội
3.1. Đặt vấn đề
Chữ ký số được sử dụng để chứng thực các văn bản trong các giao dịch điện
tử, nhằm đáp ứng các yêu cầu về: tính xác thực, tính toàn vẹn và tính chống chối bỏ
trách nhiệm.
10
Chữ ký số được phân thành hai lớp: chữ ký đơn và chữ ký bội hay chữ ký tập
thể. Chữ ký đơn được sử dụng trong trường hợp chỉ một người ký vào một văn bản,
còn chữ ký bội được sử dụng trong trường hợp một nhóm người có quan hệ với nhau
cùng hợp tác để ký vào một văn bản.
Nhược điểm của chữ ký số đơn là khi cần ký tập thể (bao gồm nhóm n người),
thì chữ ký sẽ dài, xem như gấp n lần chữ ký của một người. Trong thực tế, chúng ta
thường gặp các hợp đồng, thỏa thuận…cần được ký bởi một vài đối tác. Vậy nên
trong một chừng mực nào đấy, chữ ký bội cũng rất phổ biến và quan trọng như chữ
ký số đơn.
Chữ ký bội là phương pháp tạo ra chữ ký số có độ dài không đổi, không phụ

thuộc vào số lượng người tham gia ký vào một văn bản, không làm giảm độ tin cậy
của chữ ký số. Chữ ký bội cũng tương tự như chữ ký đơn, nhưng để phát sinh chữ ký
bội phải có sự hợp tác của các thành viên trong nhóm ký với khóa riêng của từng
người.
Chữ ký bội được chia thành hai dạng cơ bản theo hai phương pháp ký khác
nhau: ký đồng thời và ký tuần tự, do đó các lược đồ chữ ký bội cũng được chia thành
hai dạng cơ bản là: lược đồ chữ ký bội song song và lược đồ chữ ký bội tuần tự. Với
các lược đồ thuộc loại song song, việc ký vào văn bản của các thành viên được thực
hiện một cách đồng thời, còn ngược lại trong các lược đồ tuần tự, việc ký vào văn
bản của các thành viên trong nhóm ký được thực hiện nối tiếp nhau. Trong thực tiễn,
thứ tự ký vào văn bản của các thành viên cần phải được bảo đảm theo quy định.
3.2. Bài toán Logarit rời rạc
11
Trên thực tế, bài toán Logarit rời rạc thuộc loại bài toán khó, hiện nay chưa có
thuật toán đơn định đa thức để giải nó.
Lợi thế của bài toán Logarit rời rạc trong xây dựng hệ mật là khó tìm được
logarit rời rạc, song bài toán lấy lũy thừa lại có thể tính toán hiệu quả theo thuật toán
“bình phương và nhân”. Nói cách khác, lũy thừa theo modulo p là hàm một chiều với
các số nguyên tố p thích hợp.
3.3. Lược đồ chữ ký bội dựa trên bài toán Logarit rời rạc
 Giới thiệu:
Lược đồ đa chữ ký bội ở đây được phát triển với các yêu cầu như sau:
+ Chữ ký bội được phát sinh bởi một nhóm người với các khóa riêng của từng thành
viên. Không có khả năng phát sinh đa chữ ký nếu không có đủ số lượng các thành
viên.
+ Độ dài của chữ ký bội là cố định không phụ thuộc vào số lượng người ký.
+ Chữ ký bội được thẩm tra nhờ khóa công khai chung của cả nhóm, hơn nữa khóa
công khai chung được hình thành từ các khóa công khai của mỗi thành viên theo một
luật xác định.
 Thuật toán hình thành và kiểm tra chữ ký bội:

Giả thiết rằng nhóm người có thẩm quyền ký gồm n thành viên, để ký vào văn bản M,
quá trình ký và xác minh được tiến hành như sau:
o Các tham số dùng chung:
12
Các giá trị (p, q, g) là các tham số công khai trong quá trình hình thành và kiểm
tra chữ ký.
o Hình thành khóa công khai chung cho cả nhóm:
o Hình thành đa chữ ký số:
Phương án thứ nhất:

13
+ Người đại diện cho nhóm tính phần thứ nhất của chữ ký tập thể:
14
+ Như vậy việc hình thành đa chữ ký trong lược đồ trên cần 4 bước để thực hiện.
Phương án thứ hai:
15
o Kiểm tra chữ ký số:
4. Cài đặt chương trình
16

×