Một số vấn đề về giả mạo và xác thực chữ ký
Trang 1Lời cảm ơn
Để hoàn thành bài tập lớn này, tôi đã nhận đ−ợc sự nhiệt tình quan
tâm chỉ dẫn của thầy giáo Hoàng Văn Dũng từ lúc nhận đề tài cho tới
lúc hoàn thành
Tôi xin gửi lời cảm ơn sâu sắc tới thầy giáo Hoàng Văn Dũng đã
xem xét và góp ý, hiệu đính một cách cụ thể nội dung của đề tài cùng
với các thầy cô và bạn bè đã quan tâm, động viên, giúp đỡ tôi hoàn
thành bài tập lớn này
Cuối cùng, mặc dù đã có nhiều cố gắng nh−ng chắc chắn đề tài
còn nhiều sai sót Mong đ−ợc sự góp ý cũng nh− thông cảm từ phía
thầy cô và bạn bè
Sinh viên thực hiện:
Đinh Thị Thanh Thái
Trang 2Mục lục
Lời cảm ơn 1
Phần một: Mở Đầu 3
I Lí do chọn đề tài 3
II Mục đích nghiên cứu 4
III Phương pháp nghiên cứu 4
IV Phạm vi nghiên cứu 5
Phần hai: Nội dung nghiên cứu 6
Chương I lý thuyết chung về chữ ký điện tử 6
I một số vấn đề về mật m∙ học 6
1 Khái niệm 6
2 Một số ứng dụng của mật mã học 7
3.Sự cần thiết của bảo mật dữ liệu trong thương mại điện tử 8
4 Một số dạng tấn công của giao thức mật mã 9
II một số vấn đề về Chữ ký điện tử 10
1 Khái niệm 10
2.Tính chất của chữ ký điện tử 11
3 Vai trò của chữ ký điện tử đối với thương mại điện tử 12
4 Quy trình ký và xác thực chữ ký điện tử 13
5 Giới thiệu một số hệ chữ ký cơ bản 17
Chương II Giả mạo chữ ký điện tử và phương pháp xác thực chữ ký điện tử 26
I Những trường hợp giả mạo chữ ký điện tử 26
II Các kiểu tấn công chữ ký điện tử 27
III tấn công ngày sinh attacks birthday 29
IV Phương pháp Xác thực chữ ký điện tủ 30
Chương VI Một số ứng dụng của chữ ký điện tử 34
I ứng dụng của chữ ký điện tử trong giao dịch mail 35
II ứng dụng chữ ký điện tử trong hoạt động ngân hàng 44
Phần ba Kết luận 47
Tài liệu tham khảo 49
Trang 3Phần một Mở Đầu
I Lí do chọn đề tμi
Trao đổi thông tin là nhu cầu thiết yếu trong hoạt động của con
người Với sự phát triển như vũ bão của khoa học, đặc biệt là mạng
máy tính và truyền thông nên việc trao đổi thông tin không còn giới
hạn về không gian, thời gian Tuy nhiên, việc trao đổi thông tin hiện
nay đã nảy sinh ra nhiều vấn đề như: thất lạc thông tin, nội dung bị
thay đổi, bị giả mạo chữ kí…
Vì thế mà vấn đề An toàn thông tin luôn là vấn đề cấp thiết và
được nhiều người quan tâm
An toàn thông tin phải đảm bảo các yêu cầu:
9 Đảm bảo tin cậy: Nội dung thông tin không bị tiết lộ
9 Tính toàn vẹn: Nội dung thông tin không bị thay đổi
9 Tính xác thực: không có sự mạo nhận hợp pháp trong quá
trình trao đổi
Trong cuộc sống hàng ngày, ta cần dùng chữ ký để xác nhận các
văn bản tài liệu nào đó và có thể dùng con dấu với giá trị pháp lý cao
hơn đi kèm với chữ ký
Cùng với sự phát triển nhanh chóng của công nghệ thông tin,
các văn bản tài liệu được lưu dưới dạng số, dễ dàng được sao chép, sửa
đổi Nếu ta sử dụng hình thức chữ ký truyền thống như trên sẽ rất dễ
dàng bị giả mạo chữ ký Vậy làm sao để có thể ký vào các văn bản, tài
liệu số như vậy? Câu trả lời đó là sử dụng chữ ký điện tử! Chữ ký điện
tử đi kèm với các thông tin chủ sở hữu và một số thông tin cần thiết
khác sẽ trở thành Chứng chỉ điện tử
Trang 4Cùng với sự phát triển chữ ký điển tử và ứng dụng rộng rãi của
chữ ký điện tử trong thương mại điện tử và giao dịch thì cũng nảy sinh
những vấn đề về “an toàn thông tin” như: giả mạo chữ ký, giả mạo nội
dung đã ký…
Chính vì thế mà tôi chọn đề tài “Một số vấn đề về giả mạo và
xác thực chữ ký điện tử” làm nội dung nghiên cứu trong học phần “
Lí thuyết mật m∙ và an toàn thông tin” này
II Mục đích nghiên cứu
Bài tập lớn này được trình bày với mục đích cung cấp những
kiến thức cần thiết liên quan đến vấn đề về mật mã học và chữ ký điện
tử như: Các khái niệm cơ bản cũng như quy trình ký và xác thực chữ
ký, một số sơ đồ chữ ký cơ bản, sự cần thiết phải bảo mật dữ liệu…
Quan trọng hơn, tôi còn tìm hiểu và cung cấp một số kiến thức
về giả mạo và xác thực chữ ký điện tử như: các trường hợp giả mạo
chữ ký, các kiểu tấn công chữ ký điện tử….Từ đó, đưa ra biện pháp để
ngăn chặn giả mạo một cách hiệu quả
Bên cạnh đó, tôi còn tìm hiểu và đưa ra một số ứng dụng của
chữ ký điện tử trong thực tế để cho thấy được tầm quan trọng của chữ
ký điện tử trong các giao dịch
Bài tập lớn này sẽ là một tài liệu tham khảo hữu ích cho những
ai quan tâm đến vấn đề trên
III Phương pháp nghiên cứu
Sử dụng phương pháp nghiên cứu lí thuyết bằng cách thu thập và
phân tích tài liệu trong các giáo trình, bài giảng, các trang web và
Trang 5sách tam khảo Từ đó tổng hợp và trình bày những vấn đề liên quan
đến đề tài
IV Phạm vi nghiên cứu
- Những kiến thức cơ bản về mật mã học
- Các vấn đề về chữ ký điện tử
- Một số vấn đề về giả mạo và và xác thực chữ ký điện tử
- Một số ứng dụng của chữ ký điện tử trong thực tế
Trang 6Phần hai Nội dung nghiên cứu
Chương I lý thuyết chung về chữ ký
điện tử
I một số vấn đề về mật m∙ học
1 Khái niệm
Mã hóa dữ liệu là sử dụng một phương pháp biến đổi dữ
liệu từ dạng bình thường sang dạng khác mà người không có thẩm
quyền, không có phương tiện giải mã không thể đọc hiểu được
Giải mã dữ liệu là quá trình ngược lại của mã hóa dữ liệu,
tức là sử dụng một phương pháp biến đổi dữ liệu đã được mã hóa về
dạng thông tin ban đầu
Thuật toán mã hóa là các thủ tục tính toán sử dụng để mã
hóa và giải mã thông tin
Kẻ tấn công là một người (hay hệ thống) thực hiện nhiều
phương pháp khác nhau nhằm phân tích bản mã để làm hại hệ thống
Giao thức mật mã (protocol) là một chuỗi các bước thực
hiện trong đó có ít nhất hai bên tham dự, được thiết kế để thực hiện
một nhiệm vụ nào đó
Khóa giải mã
Giải mã
Dữ liệu gốc
Trang 7Quy trình m∙ hóa và giải m∙ dữ liệu
2 Một số ứng dụng của mật m∙ học
Khi công nghệ thông tin ngày càng phát triển thì các ứng dụng
trên máy tính đều sử dụng tới các thuật toán hay các giao thức mật
mã học Từ các ứng dụng cho các máy tính cá nhân cho tới các
chương trình hệ thống hoặc các hệ điều hành hoặc các ứng dụng
mạng hoặc các hệ cơ sở dữ liệu đều có sử dụng các thuật toán mã hóa
mật khẩu người dùng bằng một hệ mật mã hoặc một hàm băm
Đặc biệt với sự phát triển mạnh mẽ của thương mại điện tử các
mô hình chữ ký điện tử ngày càng đóng vai trò tích cực cho một môi
trường an toàn cho người dùng Điều đó cho thấy tầm quan trọng của
mật mã học trong cuộc sống
* Các lĩnh vực ứng dụng của mật m∙ học:
- Bảo mật (Confidentiality): Che dấu nội dung của các thông điệp
được trao đổi trong một phiên truyền thông hoặc giao dịch hoặc các
thông điệp trên một hệ thống máy tính (các file, các dữ liệu trong
một cơ sở dữ liệu…)
- Xác thực hóa (Authentication): Đảm bảo nguồn gốc của một
thông điệp, người dùng
- Toàn vẹn (Integrity): Đảm bảo chỉ có các tổ chức đã được xác
thực hóa mới có thể thay đổi các tài sản của hệ thống cũng như các
thông tin trên đường truyền
- Dịch vụ không thể từ chối (Non-Repudiation): Các bên đã được
xác thực không thể phụ nhận việc tham gia vào một giao dịch hợp lệ
- Ngoài ra còn có các dịch vụ quan trọng khác chẳng hạn như chữ
ký điện tử, dịch vụ chứng thực danh tính (Indentification) cho phép
thay thế hình thức xác thực hóa người dùng dựa trên các mật khẩu
Trang 8bằng các kỹ thuật mạnh hơn hoặc dịch vụ thương mại điện tử cho
phép tiến hành các giao dịch an toàn trên các kênh truyền thông tin
không an toàn như Internet (theo [2] [3])
3 Sự cần thiết của bảo mật dữ liệu trong
thương mại điện tử
Trước kia, khi công nghệ thông tin chưa được phát triển thì các
giao dịch của người mua và người bán là trực tiếp Chính vì thế khó có
thể lừa đảo
Ngày nay, với sự phát triển như vũ bão của hệ thống máy tính
thì các giao dịch trực tiếp ngày càng suy giảm, thay vào đó là các giao
dịch từ xa Tức là bên mua và bên bán không cần gặp trực tiếp mà có
thể giao dịch trên mạng thông qua máy vi tính Như vậy cần thiết kế
những thủ tục, những giao thức làm việc tương ứng cho máy tính để
có thể thay thế cho các thủ tục trong đời thường Chính vì thế mà
nguy cơ bị lừa đảo, gây mất thông tin và tài sản là rất cao
Các hình thức lừa đảo rất đa dạng và tăng cao theo sự phát triển
của công nghệ như:
- Ăn trộm các thông tin cá nhân nhạy cảm (số tài khoản, thẻ tín
dụng…)
- Giả mạo các bên giao dịch
- Lừa đảo trong quá trình giao dịch và thanh toán
Vì thế yêu cầu về bảo mật dữ liệu ngày càng được coi trọng để
ngăn chặn các trường hợp nêu trên
Có rất nhiều biện pháp bảo mật được áp dụng trong thực tế Tuy
nhiên việc sử dụng chữ ký điện tử nhằm xác thực thông tin giữa các
bên mua và bán hay giao dịch điện tử giữa hai bên là có hiệu quả
nhất
Trang 94 Một số dạng tấn công của giao thức mật m∙
Theo [4] ta có một số dạng tấn công của giao thức mật mã đối với
thương mại điện tử như sau:
* Dạng tấn công thụ động: Kẻ phá hoại chỉ đứng ngoài nghe
trộm chứ không can thiệp hay ảnh hưởng gì đến giao thức Mục đích
của nó chỉ là quan sát và thu lượm thông tin Tuy nhiên, thông tin
nghe trộm chỉ ở dạng mã hóa, do đó cần phải biết cách phân tích,
giải mã thì mới dùng được
* Dạng tấn công chủ động: Kẻ phá hoại chỉ là một thế lực trong
mạng, nắm nhiều khả năng và phương tiện để có thể chủ động tấn
công can thiệp, gây ảnh hưởng phức tạp tới giao thức Nó có thể đóng
giả với một cái tên khác can thiệp vào giao thức bằng những thông
báo kiểu mới, xóa bỏ những thông báo đang phát trên đường truyền
thay thế thông báo thật bằng thông báo giả, ngắt ngang các kênh
thông tin hay sửa chữa vào các kho thông tin trên mạng Các khả
năng khác nhau này là phụ thuộc vào tổ chức mạng và vai trò của kẻ
phá hoại trên mạng
Kẻ tấn công trong tấn công thủ động chỉ thu lượm thông tin từ
các bên tham gia vào giao thức, thông qua thu nhập các thông báo
truyền tin giữa các bên để phân tích giải mã Trong khi đó kẻ tấn
công chủ động có thể gây ra các tác hại rất phức tạp và đa dạng Kẻ
tấn công có thể có mục đích đơn thuần thu thập được thông tin mà nó
quan tâm ngoài ra nó có thể gây ra các phá hoại khác như phá hoại
đường truyền truy nhập vào những hệ thống thông tin mà chỉ dành
cho những người có đủ thẩm quyền
Kẻ phá hoại trong tấn công chủ động rất nguy hiểm, đặc biệt là
trong các giao thức mà các bên khác nhau không nhất thiết phải tin
Trang 10nhau Hơn nữa, kẻ phá hoại không chỉ là những người bên ngoài mà
còn có thể là một số cá nhân hợp pháp trong hệ thống thậm chí có thể
ngay cả những người quản trị mạng Ngoài ra, còn có thể là nhiều cá
nhân liên kết với nhau thành một nhóm kẻ phá hoại làm tăng lên sự
nguy hiểm cho giao thức
II một số vấn đề về Chữ ký điện tử
1 Khái niệm
Sơ đồ chữ ký điện tử là một phương pháp ký một văn bản hay
lưu bức điện dưới dạng điện tử Chẳng hạn một bức điện có chữ ký
được lưu hành trên mạng máy tính Chữ ký điện tử từ khi ra đời đã có
nhiều ứng dụng rộng rãi trong các giao dịch thương mại từ việc xác
minh chữ ký cho đến các thẻ tín dụng, các sơ đồ định danh và các sơ
đồ chia sẻ bí mật…
Một sơ đồ chữ ký số thường chứa hai thành phần là: thuật toán
ký sig() và thuật toán xác minh Ver() B có thể ký một bức điện x dùng
thuật toán ký an toàn( bí mật) Kết quả chữ ký y = Sig(x) nhận được
có thể kiểm tra bằng thuật toán xác minh công khai Ver Khi cho trước
cặp (x, y), thuật toán xác minh cho giá trị TRUE hoặc FALSE tùy
thuộc vào chữ ký được thực thi như thế nào
Vậy thế nào là chữ ký điện tử ? Một số định nghĩa sau:
• Là một định danh điện tử được tạo ra bởi máy tính được các tổ
chức sử dụng nhằm đạt tính hiệu và có hiệu lực như là chữ ký tay
• Là một cơ chế xác thực hóa cho phép người tạo ra mới máy tính
đươc các tổ chức sử dụng nhằm đạt được tính hiệu quá và các hiệu
lực như là chữ ký tay
Trang 11• Là một cơ chế xác thực hóa cho phép người tạo ra thông điệp
đính kèm một mã số vào thông điệp giống như là một chữ ký lên một
văn bản bình thường
Các chữ ký điện tử được sinh và sử dụng bởi các hệ chữ ký(sơ
đồ) điện tử dưới đây là định nghĩa một hệ chữ ký điện tử:
Định nghĩa: Một sơ đồ chữ ký số là bộ 5 ( P,A,K,S,V) thỏa mản các
điều kiện dưới đây:
P là tập hữu hạn các bức điện(thông điệp) có thể
A là tập hữu hạn các chữ kí có thể
K không gian khóa là tập hữu hạn các khóa có thể
Với mỗi k thuộc K tồn tại một thuật toán kí sigk ∈ S và một
thuật toán xác minh Verk ∈ V Mỗi sigk: P → A và Verk: P ìa → {
true, false} là những hàm sao cho mỗi thông điệp x ∈ P và mỗi chữ ký
y ∈ a thỏa mãn phương trình:
Ver = True nếu y = Sig(x)
False nếu y ≠ Sig(x)
Với mỗi k thuộc K hàm sigk và Verk là các hàm có thời gian đa
thức Verk sẽ là hàm công khai, sigk là bí mật Không thể dẽ dàng
tính để giả mạo chữ ký của B trên thông điệp x nghĩa là x cho trước,
chỉ có B mới có thể tính được y để Verk = True
2 Tính chất của chữ ký điện tử
9 Cần phải phụ thuộc vào nội dung ký
9 Cần sử dụng thông tin đặc trưng duy nhất đối với người gửi:
• Để chống cả giả mạo và từ chối
9 Cần phải tương đối dễ dàng tạo ra
Trang 129 Dễ dàng đoán nhận và kiểm chứng
9 Không thể tính toán giả mạo được:
• Với bản tin mới và chữ ký đã có
• Với chữ ký giả mạo cho 1 bản tin
9 Có thể lưu trữ cất chữ ký điện tử
3 vai trò của chữ ký điện tử đối với thương mại
điện tử
Ngày nay, các hình thức giao dịch thông qua các phương tiện
điện tử của các cá nhân và các tồ chức đang ngày càng trở nên phổ
biến, các giao dịch bằng hình thức này được gọi là giao dịch điện tử
Giao dịch điện tử bao gồm rất nhiều hình thức phong phú và đa dạng
như việc gửi, nhận và cung cấp dữ liệu, thông tin qua mạng, ký kết các
hợp đồng, thanh toán điện tử, hóa đơn, chứng từ điện tử…
Một yếu tố rất quan trọng trong giao dịch điện tử là việc chứng
thực xác nhận tính nguyên bản của dữ liệu và xác định danh tính người
gửi bằng việc sử dụng chứng thực điện tử và chữ ký điện tử Như vậy,
việc áp dụng chữ ký điện tử trong các giao dịch sẽ chứng thực và kiểm
tra được tính toàn vẹn của thông điệp, văn bản cần trao đổi Chữ ký
điện tử là mô hình đảm bảo an toàn dữ liệu khi truyền trên mạng và
được sử dụng để tạo chứng nhận điện tử trong các giao dịch điện tử
qua mạng Internet
Các doanh ngiệp khi áp dụng chữ ký điện tử đó là tăng tính cạnh
tranh; tiết kiệm thời gian và tiền bạc không chỉ cho doanh nghiệp mà
còn cho cả xã hội.Việc ứng dụng chữ ký điện tử sẽ đem lại cho doanh
nghiệp, tổ chức rất nhiều lợi ích như: Tiết kiệm chi phí giấy tờ, thời
Trang 13gian luân chuyển trong hoạt động quản lý công văn, giấy tờ, thư điện
tử; giúp đẩy nhanh các giao dịch qua mạng trong khi vẫn đảm bảo độ
an toàn và bảo mật thông tin…
Tóm lại, chữ ký điện tử là một thành phần không thể thiếu trong
giao dịch thương mại điện tử, là nền tảng để đảm bảo an ninh trong
lĩnh vực thương mại điện tử Với sự phát triển mạnh mẽ của công nghệ
thì các lĩnh vực áp dụng chữ ký điện tử đã rộng khắp hơn, hiệu quả
hơn Nâng cao chất lượng cho các giao dịch điện tử, thương mại điện
tử
4 Quy trình ký vμ xác thực chữ ký điện tử
Chữ ký điện tử hoạt động dựa trên hệ thống mã hóa khóa công
khai Hệ thống mã hóa này gồm hai khóa là khóa bí mật (private key)
và khóa công khai (public key)
Mỗi chủ thể có một cặp khóa như vậy Chủ thể sẽ giữ khóa bí
mật, khóa công khai của chủ thể sẽ được đưa ra công cộng để bất cứ
ai cũng biết
Nguyên tắc của hệ thống mã hóa khóa công khai là nếu ta mã
hóa bằng khóa bí mật thì chỉ có khóa công khai mới có thể giải mã
thông tin được và ngược lại Nếu ta sử dụng khóa công khai để mã hóa
thì chỉ có khóa bí mật mới có thể giải mã được
a Quy trình ký gửi chữ ký điện tử (mã hóa)
Khi một người muốn gửi cho ai đó một văn bản quan trọng đòi
hỏi văn bản phải được ký xác nhận chính danh người gửi văn bản thì
người gửi văn bản cần thực hiện quy trình ký chữ ký điện tử
Bước 1: Từ bản tin điện tử, ta dùng giải thuật băm để thay đổi
thông điệp cần truyền đi, kết quả thu được một bản tóm lược
(Message Digest) Dùng giải thuật băm MD5 (Message Digest 5) ta
Trang 14được bản mã có chiều dài 128 bit, nếu dùng giải thuật băm SHA
(Secure Hash Algorithm) ta có chiều dài 160 bit
Bước 2: Sử dụng khóa bí mật (Private key) của người gửi để mã
hóa bản tóm lược thu được ở bước 1 Thông thường ở bước này ta
dùng giải thuật RSA, kết quả thu được gọi là chữ ký điện tử của thông
điệp ban đầu
Bước 3: Gộp chữ ký điện tử vào bản tin ban đầu Việc này gọi là
ký xác nhận vào thông điệp Sau khi đã ký xác nhận vào thông điệp,
mọi sự thay đổi trên thông điệp sẽ bị phát hiện trong giai đoạn kiểm
tra Ngoài ra việc xác nhận này bảo đảm người nhận tin tưởng thông
điệp này xuất phát từ người gửi
Trang 15b Quy trình xác thực chữ ký điện tử (giải mã)
Sau khi nhận được một văn bản có đính kèm chữ ký của người
gửi, người nhận văn bản phải giải mã trở lại văn bản trên và kiểm tra
xem văn bản này đã bị thay đổi bởi một người thứ ba chưa và chữ ký
đính kèm trên văn bản có đúng của người gửi hay không
Bước 1: Bản tin điện tử có đính kèm chữ ký của người gửi sau
khi nhận được sẽ được tách riêng phần chữ ký và phần văn bản nguyên
Bản tin điện tử
Hàm băm
Bản tin tóm lược
Khóa bí mật của người gửi
Mã hóa
Chữ ký điện tử (CKĐT)
Gắn CKĐT vào bản tin điện tử
Bản tin rõ đã
ký
Gửi dữ liệu
đi
Trang 16vẹn Sử dụng khóa công khai (Public key) của người gửi để giải mã
chữ ký điện tử Kết quả thu được là bản tin tóm lược
Bước 2: Dùng giải thuật băm MD5 ( hoặc SHA) để băm văn bản
đã tách phần chữ ký điện tử Kết quả thu được là bản tin tóm lược thứ
hai
Bước 3: So sánh hai bản tin tóm lược thu được ở bước 1 và 2
Nếu trùng nhau thì kết luận thông điệp này không bị thay đổi trong
quá trình truyền tin và xác nhận thông điệp này của người gửi
Trang 17Dựa vào ưu điểm của hệ mã RSA, nếu thiết lập được sơ đồ chữ
ký dựa trên bài toán phân tích thừa số nguyên tố thì độ an toàn của
Khóa công khai của
người gửi
Giải mã
Bản tin tóm lược 2
Bản tin đã ký
Tách bản tin và CKĐT
Bản tin điện tử CKĐT
Hàm băm
Bản tin tóm lược 1
Trang 18chữ ký sẽ rất cao Việc thiết lập sơ đồ xác thực chữ ký RSA rất đơn
giản, ta chỉ cần đảo ngược hàm mã hóa và giải mã
Ver k (x, y) = True ⇔x ≡ y b (mod n) với x, y ∈ Z n
Thông thường, chữ ký được kết hợp với hàm mã hóa công khai
Giả sử A muốn gửi một bức điện đã được mã hóa và đã được ký đến
cho B, với bản rõ x cho trước A sẽ tính toán chữ ký của mình y = SigA
(x) Sau đó, mã hóa cả x và y sử dụng khóa công khai eB của B, kết
quả nhận được là z = eB (x, y) Bản mã z sẽ được gửi đến B Khi B
nhận được z, đầu tiên B phải tiến hành giải mã với hàm giải mã dB của
mình để nhận được (x, y) Sau đó, B dùng hàm xác minh công khai
của A để kiểm tra xem VerA (x, y) = True hay không?
Song nếu đầu tiên A mã hóa x rồi mới ký lên bản mã nhận được
thì khi đó A sẽ tính :
Y = SigA (eB (x))
A sẽ truyền cặp (z, y) tới B, B giải mã z và nhận được x Sau đó xác
minh chữ ký y trên x nhờ dùng hàm VerA Một vấn đề nảy sinh nếu A
truyền cặp (x, y) kiểu này thì một người thứ 3 C có thể thay chữ ký y
của A bằng chữ ký của chính mình:
y’ = SigC ( eB(x))
Trang 19Chú ý rằng, C có thể ký lên bản mã eB (x) ngay cả khi C không
biết bản rõ x Khi đó, nếu C truyền cặp (z, y’) đến B, chữ ký của C
được B xác minh bằng VerC và do đó B cho rằng bản rõ x xuất phát từ
C Do đó ta nên “ký trước khi mã hóa”
b Hệ chữ ký ELGAMAL
Hệ chữ ký Elgamal được đưa ra vào năm 1985 Hệ chữ ký
Elgamal được thiết kế riêng biệt cho mục đích chữ ký trái ngược với
RSA thường được sử dụng cho cả mục đích mã hóa công khai và chữ
ký
Hệ chữ ký Elgamal là không xác định, nghĩa là có rất nhiều giá
trị chữ ký cho cùng một bức điện cho trước Thuật toán xác minh phải
có khả năng nhận bất kỳ giá trị nào như là việc xác thực
Trong đó giá trị p, α và β là công khai còn a là bí mật
Với K = (P, α , a, β) và chọn một số ngẫu nhiên k ∈ Z p-1 * , định
nghĩa:
Sig k (x, k) = (γ , δ ) trong đó δ k = ( x – a*γ ) k -1 mod (p-1)
Với x, γ ∈ Z p * và δ ∈ Z p-1 , định nghĩa:
Ver (x, γ , δ ) = True ⇔ β γ γ δ ≡ α x (mod p)
Nếu chữ ký là đúng thì việc xác nhận thành công khi:
β γ γ δ ≡ α aγ α k δ (mod p)
≡ α x (mod p)
Trong đó: aγ + kδ ≡ x (mod p – 1)
Trang 20B sẽ tính toán chữ ký bằng việc sử dụng cả giá trị bí mật a (một
phần của khóa) và một số bí mật ngẫu nhiên k (giá trị để ký bức điện)
Việc xác minh có thể thực hiện đ−ợc chỉ với các thông tin đ−ợc công
Giả sử kẻ thứ 3 C muốn giả mạo chữ ký của B trên bức điện x
mà không biết số bí mật a Nếu C chọn một giá trị γ và cố gắng tìm
δ , C phải tính một hàm logarit rời rạc logγ α xβ − γ Mặt khác, nếu đầu
tiên C chọn δ để tìm γ thì C phải tính β γ γ δ ≡ α x (mod p) Cả 2
việc này đều không thể thực hiện đ−ợc
Tuy nhiên có một lí thuyết mà C có thể ký lên bức điện ngẫu
nhiên bằng cách chọn đồng thời γ , δ và x Cho i, j là số nguyên với 0
≤ j, j ≤ p – 2 và UCLN (j, p-1) = 1 Sau đó tính:
γ = α i βj mod p
δ = - γ j-1 (mod p -1)
x = - γ ij-1 (mod p -1)
Nh− vậy ta xem (γ ,δ) là giá trị chữ ký cho bức điện x Việc
xác minh sẽ đ−ợc thực hiện nh− sau:
Trang 21β γ γ δ ≡ β αi β j (α i
β j )ưαi βj j (mod p) ≡ β αiβjα -ij ư1αiβ j β i j
β α
ư (mod p) ≡ α -ij ư1αiβ j (mod p)
≡ α -γ ij ư1
(mod p) ≡ α x (mod p)
Một phương pháp thứ 2 có thể giả mạo chữ ký là sử dụng lại chữ
ký của bức điện trước đó, nghĩa là với cặp (γ ,δ ) là giá trị chữ ký của
bức điện x, nó sẽ được C ký cho nhiều bức điện khác Cho h, i và j là
các số nguyên trong đó 0 ≤ i, j ; h ≤ p – 2 và UCLN (hγ - j δ , p – 1)
mod p và do đó là cặp giá trị chữ ký của bức điện x’
Điều thứ 3 là vấn đề sai lầm của người ký khi sử dụng cùng một
giá trị k trong việc ký hai bức điện khác nhau Cho (γ ,δ1) là chữ ký
Trang 22trªn bøc ®iÖn x1 vµ (γ ,δ 2) lµ ch÷ ký trªn bøc ®iÖn x2 ViÖc kiÓm tra sÏ
Trang 23Tháng 8/ 1991, NIST đã đưa ra thuật toán chữ ký điện tử DSA là
cơ sở cho chuẩn chữ ký điện tử Đây là một biến thể của thuật toán
Algammal
• Chọn một số nguyên tố q với 2159 < q < 2160
• Chọn t sao cho 0 ≤ t ≤ 8 và chọn một số nguyên tố p trong đó
2511+ 64t < p < 2512 +64t và q/(p – 1)(hay q là ước nguyên tố của p – 1)
• Tạo ra một số α duy nhất cho q trong trường Zp*
- chọn giá trị g ∈ Zp* và tính α = g(p – 1)/q mod p
- Nếu α = 1 thì chọn lại giá trị g cho phù hợp
• Chọn một số nguyên ngẫu nhiên a để 1≤ a ≤ q – 1
• Tính y = αa mod p
• Như vậy, khóa để ký là (p, q, α, y) được công khai còn a là
khóa bí mật
* Chuẩn chữ ký điện tử
Chuẩn chữ ký điện tử DSS được sửa đổi từ hệ chữ ký Algammal
Sử dụng một khóa công khai để kiểm tra tính toàn vẹn của dữ liệu
nhận được và đồng nhất với dữ liệu của người gửi
Chữ ký DSS là một dạng chữ ký kèm thông điệp, tức là chữ ký
phải gửi kèm với thông điệp mà bản thân chữ ký không chứa thông
điệp
DSS cũng có thể sử dụng bởi người thứ 3 để xác định tính xác
thực của chữ ký và dữ liệu trong nó
Trong rất nhiều trường hợp, một bức điện có thể được mã hóa và
giải mã một lần vì việc nó đáp ứng cho việc sử dụng của bất kỳ hệ
thống bảo mật nào được biết là an toàn lúc bức điện được mã hóa Nói
cách khác, một bức điện được ký đảm nhiệm chức năng như một văn
bản hợp pháp, chẳng hạn như các bản hợp đồng Vì vậy nó cũng giống
như việc cần thiết để xác minh chữ ký sau rất nhiều năm bức điện được
Trang 24ký Điều này rất quan trọng cho việc phòng ngừa về độ an toàn cho
chữ ký được đưa ra bởi một hệ thống bảo mật Vì hệ chữ ký
Algammal không đảm nhận được điều này, việc thực hiện này cần một
giá trị lớn modulo p Tất nhiên p nên có ít nhất 512-bit và nhiều người
cho rằng độ dài của p nên là 1024 bit nhằm chống lại việc giả mạo
trong tương lai
Tuy nhiên, ngay cả một thuật toán modulo 512 bit dùng để ký
cũng phải thực hiện việc tính toán đến 1024 bit
DSS đã sửa đổi hệ chữ ký Algammal cho phù hợp theo cách này
một cách khéo léo, để mỗi 160 bit bức điện được ký sử dụng cho một
chữ ký 320 bit Nhưng việc tính toán được thực hiện với 512 bit
modulo p Cách này được thực hiện nhờ việc chia nhỏ ZP* thành các
Đây chính là sự đổi mới của DSS Cho q là một số nguyên tố 160 bit
sao cho q/(p – 1) và α là một số thứ q của 1 mod p thì β và γ cũng là
số thứ q của 1 mod p Do đó α,β và γ có thể được tối giản trong
modulo p mà không ảnh hưởng gì đến việc xác minh chữ ký
• Sơ đồ chữ ký:
Cho p là một số nguyên tố 512 bit trong trường logarit rời rạc Z P ;
q là một số nguyên tố 160 bit và q chia hết (p – 1)