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

Nghiên cứu về chữ ký số và ứng dụng trong hệ thống nộp thuế qua mạng

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

Trang 1

LOI MỞ ĐẦU

Giao dịch điện tử ra đời giúp cho các lĩnh vực khoa học và đời sông phát

triển mạnh mẽ hơn Ngày nay, giao dịch điện tử dang được phát triển mạnh mẽ,

được ứng dụng cho nhiều lĩnh vực khác nhau và ngày càng khăng định được vai trò của mình.Tuy nhiên, có nhiều vấn đề nảy sinh với các giao dịch điện tử, như thông tin giao dịch bị thay đối, bị đánh cắp, bị giả mạo Các van dé này dẫn đến giao

dịch không thực hiện chính xác, thông tin không được bảo đảm tính toàn vẹn, tính

xác thực và cũng có thể gây thiệt hại cho các bên thực hiện giao dịch Do đó, cần

phải có các giải pháp để bảo đảm an toàn cho giao dịch điện tử.

Thông tư 180/2010/TT-BTC của Bộ Tài Chính công nhận tính pháp lý của

hình thức giao dịch điện tử sử dụng chữ ký số giữa người nộp thuế và cơ quan Thuế Như vậy, khi kê khai, nộp tờ khai và nộp thuế qua mạng có dùng chữ ký số,

các hồ sơ thuế điện tử có giá trị tương đương như các hồ sơ thuế được gửi trực tiếp tới cơ quan thuế.

Hình thức nộp thuế qua mạng được thực hiện theo Chỉ thị số 24/CT-TT ngày

05/08/2014 của Thủ tướng Chính phủ về tăng cường cải cách và thủ tục hành chính trong lĩnh vực thuế, hải quan Quyết định số 1201/QĐ-TCT ngày 06/08/2014 của

Tổng cục Thuế ban hành kèm theo kế hoạch đây mạnh cải cách thủ tục hành chính

tạo thuận lợi cho doanh nghiệp và người dân.

Dựa trên nền tảng mật mã học, chữ ký số (Digital signature) đã được nghiên cứu và ứng dụng khá rộng rãi trong thương mại điện tử và nhiều lĩnh vực khác Chữ ký số có khả năng bảo đảm tính toàn vẹn và xác thực dữ liệu, và khi kết hợp với chứng chỉ số giúp xác định được danh tính của cá nhân, công ty, tô chức trong việc

xác thực các bên tham gia giao dịch trên Internet.

Đề tài "Nghiên cứu về chữ ký số và ứng dụng trong hệ thong nộp thuế qua mạng" nhằm nghiên cứu và thử nghiệm các kỹ thuật, các giao thức bảo đảm an toàn giao dịch, an toàn dữ liệu trên đường truyền và ứng dụng trong hệ thống nộp thuế

qua mạng.

Trang 2

Luận văn được trình bày thành 3 chương như sau:

Chương 1 Tổng quan về chữ ký số và ứng dụng

Chương này tập trung nghiên cứu khái quát lý thuyết chữ kí số Trình bày định nghĩa và vai trò chữ ký số Trong đó sẽ có cái nhìn tổng quan về chữ kí số và ứng dụng chữ ký số.

Chương 2 Cơ sở mã hóa cho chữ ký số

Chương này nghiên cứu cụ thé về cơ sở hạ tang cơ bản dé tạo chữ ký số.

Trong đó nghiên cứu cụ thê về mã hoá khóa công khai dùng trong tạo chữ ký số - từ đó đánh giá dé chọn ra giai thuat tối ưu hon, hạ tầng khoá công khai PKI, hàm băm,

kỹ thuật tạo chữ ký số

Chương 3 Ứng dụng chữ ký số trong hệ thống nộp thuế qua mạng

Chương này sẽ ứng dụng Nộp thuế điện tử qua mạng, cài đặt chữ ký số cho các chứng từ trong hệ thống Nộp thuế qua mạng

Trang 3

CHƯƠNG 1 TONG QUAN VE CHỮ KÝ SO VÀ UNG

1.1 Giới thiệu về chữ ký số

1.1.1 Khái niệm chữ ký điện tw

Chữ ký điện tử (electronic signature) không phải là hình thức số hóa chữ ký

viết tay rồi kèm theo một thông điệp mà là thông tin đi kèm theo dữ liệu (văn bản:

word, excel, pdf ; hình ảnh; video ) nhằm mục đích xác định người chủ của dữ

liệu đó.

1.12 Khái niệm chữ ký số

Chữ ký số là một chuỗi dữ liệu liên kết với một văn bản hay một thông điệp

và thực thé tạo ra văn ban hay thông điệp đó Chữ ký số trên một văn bản điện tử có thê hiểu như là chữ ký tay được đóng dấu trên văn bản giấy Chữ ký số là dạng chữ ký đảm bảo an toàn, duy nhất và không thê giả mạo.

Các thuật toán chữ ký số cho phép xác định nguồn gốc, bảo đảm tính toàn

vẹn dữ liệu của thông điệp được truyền di, đồng thời nó cũng bảo đảm tính không

phủ nhận của thực thể đã ký thông điệp.

1.L3 Định nghĩa hình thức chữ ký số

Một so đồ chữ ký số là một bộ 5 (P, A, K, S, V) thỏa mãn những điều kiện sau:

1) P là tập hữu hạn các thông điệp có thé

2) A là tập hữu hạn các chữ ký có thé.

3) K là tập không gian khoá (tập hữu han các khoá có thé).

4) Với mỗi khoá KE Z tồn tại một thuật toán ký sigx © S và một thuật toán

xác minh very © V Mỗi sigx: P > A và verg: P x A > {TRUE, FALSE} là những

ham sao cho mỗi thông điệp x © P và mỗi chữ ký y © A thoả mãn phương trình dưới

Trang 4

Với mỗi K © K hàm sigg và verx là các hàm thời gian đa thức, verg sẽ là hàm công

khai, sigx là hàm bí mật Người thứ ba không thé dé dang tính toán dé giả mạo chữ

ký của người gửi trên thông điệp x Điều đó có nghĩa là nếu cho trước x thì chỉ có

người nhận mới có thé tính được chữ ký y để xác minh xem ver(x,y) có bang TRUE

hay không.

1.1.4 Vai trò của chữ ký số

Tính toàn vẹn: thông tin không thể bị thay đổi mà không bị phát hiện

Tính không thé chối bỏ: người gửi hoặc nhận sau này không thé chối bỏ việc

đã gửi hoặc nhận thông tin.

Khả năng xác định nguồn gốc: người gửi (hoặc người nhận) có thé khang định

thông tin là của người gửi.

1.1.5 Phân loại chữ ký số

Có hai cách chính dé phân loại chữ ký số.

Cách 1: Phân loại theo khả năng khôi phục thông điệp gốc 1) Chữ ký có thé khôi phục thông điệp gốc:

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

Cách 2: Phân loại chữ ký theo mức an toàn.

1) Chữ ký “không thé phủ nhận”: 2) Chữ ký “một lần”:

1.2 Mô hình ký và kiểm tra chữ ký số

1.2.1 Quá trình ký

Quá trình ký thông điệp được minh họa trên Hình 1.3, gồm các bước sau:

Bước 1: Dùng giải thuật băm dé tính bản tóm lược của thông điệp cần truyền

đi Kết quả ta được một bản tóm lược.

Bước 2: Sử dụng khóa riêng của người gửi dé 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: Mã hóa ban tóm lược bằng khóa riêng dé tạo ra chữ ký Sau khi đã tạo chữ ký, mọi sự thay đổi trên thông điệp sẽ bị phát hiện trong giai đoạn kiểm tra.

Trang 5

Ngoài ra, chữ ký 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 chứ không phải là ai khác.

Bước 4: Gộp chữ ký số vào thông điệp ban đầu và gửi đến người nhận.

"Thông điệp dữ liệu

Khoa bí mật |

Giắn với thông

điệp dữ liệu

"Thông điệp dữ liệuđược ký sô

Hình 1.1 Quá trình tạo chữ ký số

12.2 Quá trình kiểm tra

Quá trình kiểm tra chữ ký số được minh họa trên Hình 1.4, gồm các bước

Đánh số bước tương tự ở trên Tach thông điệp ban đầu va chữ ky số.

Dùng khóa công khai của người gửi (khóa này được thông báo đến mọi

người) để giải mã chữ ký số của thông điệp.

Dùng giải thuật (MD5 hoặc SHA) băm thông điệp ban đầu.

So sánh 2 chuỗi băm kết quả thu được ở 2 bước trên Nếu trùng nhau, ta kết

luận thông điệp này không bị thay đổi trong quá trình truyền và thông điệp này là

của người gui.

Trang 6

ma "Thông điệp dŒ liệu

duoc ky sé

Kha c6ng khai Qs" Cc Tach

Th6ng diép da& liệu:

N6i dung "¬.n diép bị thay ciối

Hình 1.2 Quá trình kiếm tra chữ ký số

1.3 Các ứng dụng của chữ ký số

1.3.1 Xác thực các văn bản và giao dịch điện tw

13.2 Sử dụng chữ ký số trong trong các giao thức bảo mật SSL/TLS và

1.3.2.1 Kiểm tra chữ ký số của CA trong SSL/TLS

1.3.2.2 Xác thực thông điệp trong các giao thức bảo mật PGP

1.4 Tổng kết chương 1

Chữ ký số tạo ra một bước tiến lớn trong các giao dịch thương mại điện tử,

bảo đảm tính an toàn và tin cậy trong truyền thông trên mạng.

Chương 1 đã trình bày tổng quan về khái niệm chữ ký số, phân loại, vai trò, lợi ích khi áp dụng chữ ký số trong truyền thông trên Internet.

Chương 1 cũng mô tả cụ thé quy trình thực hiện ký và ứng dụng trong các lĩnh vực cụ thể của chữ ký SỐ.

Trang 7

CHƯƠNG 2 CƠ SỞ MÃ HÓA CHO CHỮ KÝ SO

2.1 Khái quát về mã hóa khóa công khai

2.1.1 Giới thiệu chung

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 một dạng khác, mà một người không có thâm quyền, không có phương

tiện giải mã thì không thé đọc hiểu được.

Giải mã dữ liệu là quá trình ngược lại, là việc 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 Có thé mô tả quy trình thực

hiện mã hóa dữ liệu và giải mã dữ liệu như Hình 2.1.

Khóa mã hóa « Hệ thông quản lý > Khóa giải mã

waa k mA mã hé Dữ liệu

Dữ liệu gốc Mã hóa Dữ liệu mã hóa Giải mã sốc

_— (Bản mã) |

Hình 2.1 Quy trình thực hiện mã hóa dữ liệu và giải ma dữ liệu

Sau đây là một số khái niệm và kí hiệu liên quan về van đề mã hóa dữ liệu :

- E (Encryption - Mã hóa): Là quá trình chuyền đổi dữ liệu gốc thành dữ liệu được mã hóa sao người khác không thé đọc hiểu.

- D (Decryption - Giải mã): Là quá trình ngược lại của mã hóa, biến đôi dữ liệu đã được mã hóa thành dạng gốc ban đầu.

- M (Message - Thông điệp), bản sốc hay ban rõ (Plaintext): Là tệp dữ liệu

chưa được mã hóa hoặc đã được giải mã.

- C (Ciphertext -Bản đã mã hóa, bản mã): Tép dữ liệu đã được mã hóa.

- K (Key - Khóa): Là dãy các bít 0, 1, thường được biéu diễn dạng xâu ký tự,

- KP (Public Key - Khóa công khai, KS (Private Key — Khóa riêng)

Theo quy ước, khi mã hóa thì C = E(M) va khi giải mã thi M = D(C) =D(E(M)).

Trang 8

2.1.1.1 Mã hóa khóa công khai

Mã hóa khóa công khai (Public key cryptography) là một dạng mã hóa cho

phép người sử dụng trao đổi các thông tin mật mà không cần phải trao đổi các khóa

dùng chung bí mật trước đó Điều này được thực hiện bằng cách sử dụng một cặp

khóa có quan hệ toán học với nhau là khóa công khai và khóa riêng.

Hệ thống mã hóa khóa công khai có thê sử dụng với các mục đích:

Mã hóa: Quá trình thực hiện như minh họa trên Hình 2.2.

Tạo chữ ký SỐ: Quá trình thực hiện như minh họa trên Hình 2.3.

Khi A muốn truyền tin cho B, A sẽ sử dụng khóa KP của B dé mã hóa bản tin

và gửi bản mã tới cho B, B sẽ sử dụng khóa bí mật của mình đê giải mã và đọc bản

Hình 2.2 Mô hình mã hóa dựa trên mã khóa khóa công khai

Văn ban mã hóa = E(KP, Văn bản gốc) ,Văn bản gốc = D(KS, E(KP,Văn ban

Hình 2.3 Mô hình tạo chữ ký số mã khóa khóa công khai

Văn bản mã hóa = E(KS,Văn bản gốc) ,Văn bản gốc = D(KS, E(KP,Văn bản

2.1.2 Hàm băm

Trong ngành mật mã học, một hàm băm mật mã (Cryptographic hash

function) là một hàm băm với một số tính chất bảo mật nhất định để phù hợp việc sử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, chăng hạn như chứng

Trang 9

thực (authentication) và kiểm tra tính toàn vẹn của thông điệp (message integrity) Một hàm băm nhận đầu vào là một xâu ký tự (hay thông điệp) có độ dài tùy ý và tạo ra kết quả là một xâu ký tự có độ dài cố định, đôi khi được gọi là bản tóm lược

(message digest).

Trong lĩnh vực mã hóa thông tin, mã băm được xem như đặc trưng thu gon

của một chuỗi bit tùy ý và dùng dé nhận ra chuỗi bit đó Hàm băm chính là công cụ để tạo ra chữ ký số và bảo đảm an toàn đữ liệu.

2.2 Thuật toán mã hóa RSA

2.2.1 Tổng quan về RSA

Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện công nghệ Massachusetts (MIT) Tên của thuật toán lấy từ 3 chữ cái đầu của tên 3 tác giả.

Trong mật mã học, RSA là một thuật toán mã hóa khóa công khai Đây là

thuật toán đầu tiên phù hợp với việc tạo ra chữ kí điện tử đồng thời với việc mã hóa Nó đánh dấu một sự tiễn bộ vượt bậc của lĩnh vực mật mã hoc trong việc sử dụng khóa công khai RSA đang được sử dụng phổ biến trong thương mại điện tử và

được cho là bảo đảm an toàn với điều kiện độ dài khóa đủ lớn.

Thuật toán RSA sử dụng một cặp khóa: khóa công khai và khóa riêng.

2.2.2 Thuật toán RSA

2.2.2.1 Quá trình tạo khóa

Cặp khóa cua RSA được sinh theo phương pháp sau:[6]

- Bước 1: Chon 2 số nguyên tô đủ lớn p và q với p, g, 2 số này là ngẫu nhiên

và độc lập với nhau

- Bước 2: Tính: n = pq

- Bước 3: Tinh: O(n) = (p-1)(q-1) với Ø(m)là giá trị ham số Ơle

- Bước 4: Chon một số ngẫu nhiên e với 1<e<@(n), sao cho gcd(e, Ø(m)) = 1

- Bước 5: Tính d sao cho đe = 1(mod ø(n)) => d =e '!mod Ø(n).

Trang 10

Kết thúc quá trình tạo khóa ta có KP = {e, n} là khóa công khai, còn KS = {d, n} được gọi là khóa riêng Các số nguyên t6 p, q sẽ bị xóa khi kết thúc quá trình

tạo khóa.

2.2.2.2 Quá trình mã hóa

Khi A muốn gửi cho B thông điệp một cách bí mật, thì trước hết A cần phải

thực hiện theo các bước như sau:

- Bước 1: Nhận khóa công khai KP = (n, e) từ B

2.2.3 Độ an toàn cua hệ mật mã RSA

Ta nhận thấy hệ mật mã RSA có khóa công khai (n, e) đã biết và giả sử có bản

mã c= m®mod n cũng được công khai, vậy thi từ đó chúng ta có thé tìm được

thông điệp Vậy nên việc giữ bí mật khóa riêng có đảm bảo an toàn được hay khônglà do độ khó của việc tính @(n).

2.3 Thuật toán băm MDS, SHA1

2.3.1 Thuật toán MDS

Thuật toán MDS được Ron Rivest đưa ra năm 1991, trong đó đầu vào cần có những khối 512 bít, được chia thành 16 khối con 32 bít Đầu ra của thuật toán là một thiết lập của 4 khối 32 bít dé tạo thành một ham Bam 128 bít duy nhất.

Chúng ta có 4 hàm phi tuyến, mỗi hàm này được dùng cho mỗi vòng lặp:

FŒX,Y,Z)=(X A Y) v (AX) AZ)G(X,Y,Z)=(X AZ) v (Y a (AZ))H(X,Y,Z)=X®@® Y ®Z

I(X,Y,Z)= Y ® (X v(—⁄2)

Trang 11

với A là AND, v là OR, ¬ là NOT, ® là XOR và X, Y, Z được thiết kế sao cho chúng độc lập và ngang bằng nhau.

2.3.2 Thuật toán SHAI

Năm 1995, tổ chức NIST cùng NSA đã thiết kế ra thuật toán hàm băm an toàn (SHA) sử dụng cho chuẩn chữ ký số DSS SHA được thiết kế dựa trên những nguyên tac của MD4/MD5, tạo ra 160-bit giá trị băm.

Ham băm SHA-1 với giá trị băm có kích thước là 160 bít, được dùng dé tính giá trị băm của thông điệp có kích thước tối đa là bít.

SHA-1 xác lập bốn hàm phi tuyến như sau:

ƒ#(ŒX.Y,Z)=(X A Y) Vv (AX) A Z) với 0<t< 19#(ŒX.Y,Z)=X ®Y OZ với 20<t<39

#(ŒX.Y,Z)=(X A Y)v(XA Z)v(Y A Z) với 40<t<59

#@Œ.,Y,Z)=X ®Y OZ với 60 <t< 79.

2.3.3 Tính bao mật của ham bam

2.4 Các giải thuật chữ ký số 2.4.1 Giải thuật chữ ký số RSA

2.4.1.1 Quá trình tạo khóa

Cho n=p*q, trong đó p, q là các số nguyên tố Đặt P = A = Zạ, ta có định nghĩa sau: K = {(n,p,q,e,d):n = p*q,pva q là các số nguyên tố, p khác q, ed=

1(mod ø(n)) Với KP = {n, e} là công khai, khóa bí riêng KS = {d, n}; n,e là công

khai và p, q, d là bí mật.

2.4.1.2 Quá trình tạo chữ ký

Với K = {(n,p, q,e,đ):n = p * q,p và q là các số nguyên tố }, ta có: y =sigx(x) = x* mod n

2.4.1.3 Quá trình kiểm tra chữ ký

Nếu: 0er„(x,y) =true © x = yỶ(mod n) với x, y € Z, thì thông điệp đã

ký là xác thực [6]

Trang 12

2.4.2 Giải thuật chữ ký số DSA

2.5 Hạ tang khóa công khai PKI

2.5.1 Giới thiệu PKI

PKI (Public Key Infastructure) là hạ tầng cơ sở khóa công khai PKI là cơ chế để cho một bên thứ 3 (nhà cung cấp chứng chỉ số) cung cấp và xác thực định danh các bên tham gia vào quá trình trao đổi thông tin Cơ chế này cũng cho phép gán cho mỗi người sử dụng trong hệ thống một cặp khóa công khai/khóa riêng Các quá trình này thường được thực hiện bởi một phần mềm đặt tại trung tâm và các phần mềm phối hợp khác tại các địa điểm của người dùng Khóa công khai thường

được phân phối trong chứng thực khóa công khai (chứng chỉ số).

2.5.2 Các thành phan cia PKI

Các thành phan co ban của một hệ thống PKI gồm: e Tổ chức chứng thực (Certificate Authority)

e Trung tâm đăng ký (Registration Authority)

e Hệ thống lưu trữ (Certificate Repository và Archive)

e May chủ an ninh

e_ Thực thé cuối (PKI-enabled applications va PKI users)

Mô hình và hoạt động của PKI:

May khách hỗ trợ chứng chi Người nhận dữ liệu

(VPN Client, trình duyệt) Ù (Máy chủ web, VPN Gateway)

Ký, mã hóa kiểm tra, giải hóa

Hình 2.4 Mô hình xây dựng PKI cơ bản

Trang 13

- PKI cung cấp một cặp khóa, trong đó có một khóa là khóa công khai (Public key) dé có thé sử dụng dịch vụ, khóa còn lại là khóa riêng (Private key) ma người sử dụng phải giữ bí mật Hai khóa này có liên quan mật thiếtđến nhau, sao

cho một thông điệp được mã hóa bởi khóa mã hóa công khai thì chỉ giải mã được

bởi một khóa riêng tương ứng.

2.6 Chuan chứng chỉ số X509

Chứng chỉ X.509 v3 là định dang chứng chỉ được sử dụng phô biến và được hầu hết các nhà cung cấp sản phẩm PKI triển khai.

Chứng chỉ công khai X.509 được Hội viễn thông quốc (ITU) đưa ra lần đầu

tiên 1988 như là một bộ phận của dịch vụ thư mục X.500 Chứng chỉ X.509 được sử

dụng dé chứng thực cho thông tin chủ thé và khóa công khai của các tổ chức, cá nhân Khuôn dạng chứng chỉ X509 có các thành phần cơ bản như sau:

- Phiên bản (Version); Số hiệu (Certificate Serial Number); Tên thuật toán

ký (Signature Algrithm ID); Tên CA phát hành (Issuer); Thời gian hợp lệ (Validity

Period); Chủ thể (Subject);Théng tin về khoá công khai của chủ thé (Subject

Public-key Information); Tên duy nhất của người phát hành (Issuer unique identifier); Tên duy nhất của chủ thể (Subject unique indentifier); (Extensions): Chứa các thông tin

bổ sung cần thiết mà người thao tác CA muốn đặt vào chứng nhận.

2.7 Tổng kết chương 2

Chương 2 đã trình bày khát quát về mã hóa, khái niệm về hệ thống mã hoá khoá công khai Chương cũng trình bày chi tiết hệ thống mã hoá khoá công khai,

thuật toán mã hoá, giải mã,giới thiệu vê hàm băm.

Ngày đăng: 07/04/2024, 12:05

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w