NGHIÊN CỨU VỀ CHỮ KÝ SỐ VÀ ỨNG DỤNG TRONG HÓA ĐƠN ĐIỆN TỬ TẠI VNPT HÀ NỘI

23 528 0
NGHIÊN CỨU VỀ CHỮ KÝ SỐ VÀ ỨNG DỤNG TRONG HÓA ĐƠN ĐIỆN TỬ TẠI VNPT HÀ NỘI

Đ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

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG NGUYỄN HUY THẮNG NGHIÊN CỨU VỀ CHỮ KÝ SỐ VÀ ỨNG DỤNG TRONG HÓA ĐƠN ĐIỆN TỬ TẠI VNPT HÀ NỘI Chuyên ngành: Hệ thống thông tin Mã số: 60.48.01.04 TÓM TẮT LUẬN VĂN THẠC SĨ Người hướng dẫn khoa học: PGS TS TRẦN ĐÌNH QUẾ HÀ NỘI – 2013 MỞ ĐẦU Thời gian gần đây, nhà cung cấp dịch vụ mạng Viễn thông nước ta ngày ý đến chất lượng dịch vụ đẩy mạnh việc chăm sóc khách hàng ngày tốt Cùng với điều đó, Internet ngày phát triển nước ta, liệu số hóa truyền tải lưu trữ dễ dàng mạng Trước việc thể loại cước ấn phẩm in chi tiết Viễn thông Hà Nội nhiều, công in chi phí dành cho in ấn lớn Nhằm tiết giảm chi phí in, kê chi tiết theo định dạng HTM đưa vào hệ thống portal Viễn thông Hà Nội giúp cho khách hàng chủ động việc tra cứu lưu trữ kê hàng tháng Lợi ích thể rõ rệt giảm nhiều kinh phí dành cho in ấn, giảm đến 2/3 chi phí dành cho in ấn phẩm Việc triển khai hóa đơn điện tử VNPT Hà Nội giúp giảm chi phí quản lý, lưu trữ, tìm kiếm hóa đơn sử dụng giảm chi phí phát hành chứng từ thu cước: hóa đơn in, thông báo cước, bảng kê chi tiết Đề tài luận văn “Nghiên cứu chữ kí số ứng dụng hóa đơn điện tử VNPT Hà Nội tập trung nghiên cứu kỹ thuật kí số, sau xây dựng chương trình có áp dụng kĩ thuật kí số qua TOKEN để kí lên file hóa đơn PDF Viễn thông Hà Nội Chương 1: Tổng quan chữ ký số Chương tập trung nghiên cứu khái quát lý thuyết chữ kí số Trong có nhìn tổng quan chữ kí số thuật toán mã hoá khóa công khai Sau có lý thuyết chữ kí số, luận văn nêu phương pháp tiếp cận thực Chương 2: Cơ sở chữ ký số Chương nghiên cứu cụ thể sở hạ tầng để tạo chữ ký số Trong nghiên cứu cụ thể mã hoá khóa công khai dùng tạo chữ ký số - từ đánh giá để chọn giải thuật tối ưu hơn, hạ tầng khoá công khai PKI, hàm băm, kỹ thuật tạo chữ ký số, PDF với chữ ký số Chương 3: Áp dụng chữ ký số cho toán in hóa đơn VT01 Viễn thông Hà Nội Chương xây dựng ứng dụng cụ thể, cài đặt ứng dụng chữ ký số cho tài liệu PDF hóa đơn VT01 Viễn thông Hà Nội 2 CHƯƠNG 1: KHÁI QUÁT VỀ CHỮ KÍ SỐ Chương tập trung nghiên cứu khái quát lý thuyết chữ kí số Trong có nhìn tổng quan chữ kí số thuật toán mã hoá khóa công khai Sau có lý thuyết chữ kí số, luận văn nêu phương pháp tiếp cận thực 1.1 Tổng quan chữ kí số 1.1.1 Thuật toán khóa công khai Mã hóa bất đối xứng thường hiểu mã hoá sử dụng khóa công khai [1] Mã hóa bất đối xứng sử dụng cặp khóa: khóa bí mật khóa công khai, miêu tả hình 1.1 Mỗi trình truyền tin sử dụng cặp khóa sử dụng linh hoạt Khóa bí mật cần phải lưu trữ riêng đảm bảo tính bảo mật, không truyền mạng Khóa công khai cung cấp miễn phí công bố tới người Hình 1.1 Hệ thống sử dụng mã hóa khóa công khai [1] Tương tự mã hoá khoá bí mật, phương pháp có thành phần sau: • Plaintext: tin gốc • Encryption Algorithm: phép biến đổi xuôi, thực biến đổi tin gốc • Public/Private keys: cặp khóa công khai/bí mật • Ciphertext: tin biến đổi • Decryption Algorithm: phép biến đổi ngược, khôi phục tin gốc Quá trình sử dụng mã hóa khóa công khai: • Bên nhận sinh cặp khóa • Khóa công khai thường chứng thực bên thứ ba tin cậy chuyển cho người gửi theo phương thức truyền thông thông thường • Bên gửi nhận khóa công khai, kiểm tra thông tin chứng thực khoá dùng khóa để mã hóa thông điệp gửi cho bên nhận • Bên nhận sử dụng khoá bí mật để giải mã thông điệp D(Kd(E(Ke,M)) = M • Thông điệp bị bên thứ ba lấy trộm, đọc nội dung 3 1.1.2 Chữ ký số Chữ ký số : Là thể chứng thực mã hóa khoá bí mật người gửi Chữ ký số thông tin kèm theo liệu (văn bản, hình ảnh, video ) nhằm mục đích xác định chủ thể liệu Quá trình tạo xác thực chữ ký số mô tả Hình 1.2 Hình 1.2 Chữ ký số 1.1.2.1 Vai trò chữ ký số Chữ ký số dùng cho văn số, cho biết toàn văn ký người ký Và người khác xác minh điều Chữ ký số tương tự chữ ký thông thường, đảm bảo nội dung tài liệu đáng tin cậy, xác, không thay đổi đường truyền cho biết người tạo tài liệu Tuy nhiên, chữ ký số khác chữ ký thường, tuỳ thuộc vào văn Chữ ký số thay đổi theo văn chữ ký thường không thay đổi Chữ ký số sử dụng để cung cấp chứng thực chủ sở hữu, tính toàn vẹn liệu chống chối bỏ nguồn gốc nhiều lĩnh vực 1.1.2.2 Ứng dụng chữ ký số Giải pháp dùng chữ ký số tối ưu có hiệu lực pháp luật, không cần in ấn tài liệu mà xác nhận tài liệu, đảm bảo tính toàn vẹn không chối bỏ Chữ ký số phát hành bên thứ ba quan chứng thực có thẩm quyền cấp phát, thu hồi, quản lý chứng số cho thực thể thực giao dịch an toàn ( Certificate Authority CA) nên đảm bảo tính khách quan Như vậy, trình tạo chữ ký số, xác nhận yêu cầu pháp lý, bao gồm xác thực người ký, xác thực tin nhắn, thành công hiệu Chính ưu điểm chữ ký số, dùng nhiều ứng dụng: Đảm bảo an ninh truyền thông, ngân hàng trực tuyến, thương mại điện tử, đảm bảo an ninh cho thư điện tử, … 1.2 Chữ ký kép Chữ ký kép sử dụng để xác minh liệu tạo thành từ phần khác đơn vị logic đơn lẻ Chữ ký kép kết nối hai tin cách an toàn, bên đọc thông tin dành riêng cho [9] Trong thương mại điện tử, trường hợp khách hàng muốn gửi thông tin đặt hàng (OI – Order Information) tới nhà cung cấp thông tin toán (Payment Information PI) tới ngân hàng Nhà cung cấp không cần biết mã số thẻ tín dụng khách hàng ngân hàng không cần thiết chi tiết đặt hàng khách hàng Khách hàng cung cấp bảo vệ tính riêng tư việc giữ hai mục tách rời Tuy nhiên, hai mục phải liên kết với theo cách mà sử dụng để giải vấn đề tranh cãi cần Liên kết yêu cầu để khách hàng chứng minh toán dành cho đặt hàng mà cho mặt hàng dịch vụ khác Có thể tham khảo hình 1.3 sau: Hình 1.3 Cấu trúc chữ ký kép [9] 1.3 Hiện trạng thực tế vấn đề in ấn hóa đơn Viễn thông Hà Nội 1.3.1 Hiện trạng in hóa đơn VT01 Hiện Viễn thông Hà Nội, việc in hóa đơn VT01 theo mẫu Bộ Tài Chính in theo quy trình sau: - Dữ liệu cước hàng tháng sau tính tổng hợp lại theo mã khách hàng sở liệu Oracle - In hóa đơn cho mã khách hàng theo khu vực xếp theo thứ tự định: Đơn vị, Mã đường thư, Số hóa đơn - Tạo file text hóa đơn (*.txt) có cấu trúc theo khu vực (ví dụ: VT1THK04.TXT; VT2CHK04.TXT; VT3PCG04.TXT; … - Bàn giao liệu hóa đơn VT01 dạng text cho nhà máy in - Sau in, hóa đơn trả cho đơn vị quản lý bán hàng chuyển đến tay đại lý thu thuê để thu tiền khách hàng 1.3.2 Một số vấn đề sai sót mắc phải Do số lượng hóa đơn hàng tháng in lớn, lên đến gần triệu khách hàng tháng, việc phát sinh sai sót khó tránh khỏi: - Tính cước sai cho khách hàng - Tổng hợp cước sai cho khách hàng - Bàn giao liệu in hóa đơn VT01 sai tháng cần in Những sai sót lại thường phát hóa đơn VT01 đến tay khách hàng Điều làm tốn nhiều chi phí công in ấn, giấy mực nhân công để thu hồi lại ấn phẩm in sai 1.5 Tổng kết chương Chữ ký số có vai trò quan trọng giao dịch điện tử Chữ ký số tạo bước tiến lớn giao dịch thương mại điện tử, đảm bảo tính an toàn tin cậy truyền thông mạng Các thông tin truyền mạng trở nên nhanh chóng, tin cậy Chữ ký số giúp cho trình làm việc mạng nhanh chóng hiệu hơn, giảm thiểu chi phí liên quan dùng chữ ký thông thường 6 CHƯƠNG 2: CƠ SỞ CHỮ KÝ SỐ Chương nghiên cứu cụ thể sở hạ tầng để tạo chữ ký số Trong nghiên cứu cụ thể mã hoá khóa công khai dùng tạo chữ ký số - từ đánh giá để chọn giải thuật tối ưu hơn, hạ tầng khoá công khai PKI, hàm băm, kỹ thuật tạo chữ ký số, PDF với chữ ký số 2.1 Thuật toán mã hoá khóa công khai RSA Thuật toán RSA phát minh năm 1978, sử dụng chế độ mã hóa khối RSA thuật toán mã hóa khóa công khai [5] Đây thuật toán phù hợp với việc tạo chữ ký điện tử đồng thời với việc mã hóa Nó đánh dấu tiến vượt bậc lĩnh vực mật mã học việc sử dụng khóa công cộng Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) khóa bí mật (hay khóa cá nhân) Mỗi khóa số cố định sử dụng trình mã hóa giải mã Khóa công khai công bố rộng rãi cho người dùng để mã hóa Những thông tin mã hóa khóa công khai giải mã khóa bí mật tương ứng Nói cách khác, người mã hóa có người biết khóa cá nhân (bí mật) giải mã 2.1.1 Sinh cặp khóa Các tham số Chọn hai số nguyên tố lớn p q Tính n = p x q m = φ(n) = (p = 1) x (q-1) Chọn e, 1≤ e ≤ m -1, cho gcd (e, m) = Tìm d cho e x d = (mod m), tức tính d = e-1 (mod m Khóa công khai (Public key) (e, n) Khoá bí mật (Private key) d, p, q) 2.1.2 Mã hóa giãi mã Với M, C số nguyên ∈ (0, n) biểu diễn dạng số nguyên rõ mã tương ứng Ta có: C = EPU (M) : mã hóa rõ với khóa PU M = DPR(EPU (M)) : giải mã mã với khóa PR (ko cho phép tính PR từ PU) Dạng mã hóa / giải mã: C = Me mod n M = cd mod n = Med mod n PU = {e, u} -> Public PR = {d, n} -> Private 2.1.3 Bảo mật RSA Độ an toàn hệ thống RSA dựa vấn đề toán học: toán phân tích thừa số nguyên tố số nguyên lớn Nếu toán khó (không tìm thuật toán hiệu để giải chúng) thực việc phá mã toàn RSA Phá mã phần phải ngăn chặn phương pháp chuyển đổi rõ an toàn Bài toán RSA toán tính bậc e môđun n (với n hợp số): tìm số m cho c = m mod n , (e, n) khóa công khai c mã Hiện phương pháp triển vọng giải toán phân tích n thừa số nguyên tố Khi thực điều này, kẻ công tìm số mũ bí mật d từ khóa công khai giải mã theo quy trình thuật toán Nếu kẻ công tìm số nguyên tố p q cho: n = pq dễ dàng tìm giá trị (p-1)(q-1) qua xác định d từ e Chưa có phương pháp tìm máy tính để giải toán thời gian đa thức (polynomial-time) Tuy nhiên người ta chưa chứng minh điều ngược lại (sự không tồn thuật toán) Có thể tham chiếu bảng sau để thấy số thao tác thời gian thực phân tích số n thành số nguyên tố theo phương pháp General Number Field Sieve (GNFS): e 64 log log log Bảng 2.1 Thử nghiệm độ bảo mật RSA Số bit n Số thao tác Thời gian 100 9,6× 108 16 phút 200 3,3 × 1012 38 ngày 300 1,3 × 1015 41 năm 400 1,7 × 1017 5313 năm 500 1,1 × 1019 3,5 × 105 năm 1024 1,3 × 1026 4,2 × 1012 năm 2048 1,5 × 1035 4,9 × 1021 năm 2.2 Cơ sở hạ tầng khóa công khai PKI hạ tầng sở khóa công khai chế bên thứ (thường nhà cung cấp chứng thực số) cung cấp xác thực định danh bên tham gia vào trình trao đổi thông tin Cơ chế cho phép gán cho người sử dụng hệ thống cặp khóa công khai/khóa bí mật Dựa cách sử dụng khóa công khai chữ ký điện tử, PKI khung sách, dịch vụ phần mềm mã hóa, đáp ứng nhu cầu bảo mật người sử dụng PKI cung cấp cặp khóa, có khóa khóa công khai (Public key), khóa lại khóa bí mật (Private key) mà người sử dụng phải giữ bí mật Hai khóa có liên quan mật thiết đến nhau, cho thông điệp mã hóa khóa công khai giải mã khóa bí mật tương ứng 2.2.1 Mô hình PKI 2.2.1.1 Mô hình phân tầng hạ tầng sở khóa công khai Mô hình tương ứng với cấu trúc phân cấp với CA gốc CA cấp CA gốc xác nhận CA cấp dưới, CA lại xác nhận CA cấp thấp Các CA cấp không cần xác nhận CA cấp Trong mô hình này, thực thể giữ khoá công khai root CA kiểm tra đường dẫn chứng thư chữ ký CA gốc Mặc dù có nhược điểm, song mô hình thích hợp với yêu cầu tổ chức phủ cấu trúc phân cấp tự nhiên sẵn có 2.2.1.2 Mô hình CA cầu Mô hình hoạt động quanh CA trung tâm với nhiều CA khác Trong mô hình này, CA cộng tác với Đây mô hình kết hợp hai mô hình CA-gốc Cross-CA Điều cung cấp cách đơn giản để quản lý CA gốc, yêu cầu cặp chứng chéo cho CA, so sánh với n2 chứng hệ thống hoàn thành 2.2.2 Chứng số X.509 X.509 chuẩn cho chứng số quốc tế sử dụng để chứng thực cho thông tin chủ thể khóa công khai tổ chức, cá nhân Khuôn dạng chứng X509 có thành phần sau: - Phiên (Version): Chỉ dạng phiên - Số hiệu (Serial Number): Số hiệu nhận dạng chứng Nó CA phát hành gán cho 9 - Tên thuật toán ký (Signature): Tên thuật toán ký CA sử dụng để ký chứng - Người phát hành (Issuer): Tên theo chuẩn X.509 CA phát hành (được trình bày chi tiết mục “Tên X.509”) o Tên tổ chức CA phát hành giấy chứng nhận: Tên phân bịêt theo chuẩn X.500 (X.500 Distinguised Name – X.500 DN) o - Hai CA không sử dụng tên phát hành Thời gian hợp lệ (Validity): Ngày/ có hiệu lực hết hạn chứng o Not – before: Thời gian chứng nhận bắt đầu có hiệu lực o Not – after: Thời gian chứng nhận hết hiệu lực o Các giá trị thời gian đo theo chuẩn thời gian quốc tế, xác đến giây - Chủ thể (Subject): Tên X.509 đối tượng nắm giữ khoá riêng (Tương ứng với khoá công khai chứng thực) - Thông tin khoá công khai chủ thể (Subject Public-key Information): Gồm có khoá công khai chủ thể với tên thuật toán sử dụng khóa công khai - Tên người phát hành (Issuer unique identifier): Là chuỗi bit tuỳ chọn, sử dụng để tên rõ ràng CA phát hành, trường hợp tên gán cho thực thể khác thời gian - Tên chủ thể (Subject unique indentifier): Là chuỗi bit tuỳ chọn, sử dụng để tên rõ ràng chủ thể, trường hợp tên gán cho thực thể khác thời gian - Extensions: Chứa 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 Được đưa X.509 phiên ba - Signature: o Chữ ký điện tử tổ chức CA áp dụng o ký Tổ chức CA sử dụng khóa bí mật có kiểu quy định trường thuật toán chữ o Chữ ký bao gồm tất phần khác giấy chứng nhận Î CA chứng nhận cho tất thông tin khác giấy chứng nhận không cho tên chủ thể khóa công cộng 10 2.3 Các hàm băm (Hash Functions) Hàm băm tiếp nhận đầu vào với kích thước bất kỳ, đầu khối liệu có kích thước cố định [5] Từ văn M, ta dễ dàng tính băm M H(M), từ H(M) tìm M Và tính chất quan trọng hàm băm với văn khác biệt dù nhỏ, sau qua hàm băm kết nhận phải khác nhau, ta gọi độ nhạy cảm hàm băm với thay đổi văn 2.3.1 Cơ sở hàm băm Định nghĩa: Một hàm băm H lấy đầu vào thông tin X có kích thước biến thiên sinh kết có độ dài cố định, gọi cốt thông điệp 2.3.2 Một số đặc tính băm Tính chất 1: Một hàm băm h có tính phi đụng độ cao với điện x cho trước, tìm điện x’ # x mà h(x’) = h (x) [10] Tính chất 2: Một hàm băm h có tính đụng độ cao tìm điện x x’ cho x # x’ h(x’) = h(x) [10] Tính chất 3: Một hàm băm h có tính chiều với cốt điện z cho trước tìm điện x cho h(x) == z [10] Một cách tổng quát, giả sử hàm băm có n giá trị băm khác nhau, có k giá trị băm từ k thông tin khác chọn ngẫu nhiên, xác suất để không xảy đụng độ là: 1, ì … 1 Do đó, xác suất để xảy đụng độ epsilo, ta có: 1 Giả sử gọi xác suất 11 Suy ra: k2 – k ≈ 2n Suy k ≈ Theo công thức giá trị e gần với nhỏ nên k tỉ lệ với √ Với ε = 0.5 ta có k = 1.1774√ 2.4 Chữ ký số 2.4.1 Quá trình tạo kiểm tra chữ ký số   Quá trình sử dụng chữ ký số thực theo giai đoạn: Tạo chữ ký kiểm tra chữ ký số Có thể dùng khoá công khai khoá bí mật để thực khâu Hai trình tạo kiểm tra trình bày cụ thể tiếp sau Các bước tạo chữ ký: • Dùng giải thuật băm để tính message digest thông điệp cần truyền Kết ta message digest • Sử dụng khóa bí mật người gửi để mã hóa message digest thu bước Thông thường bước ta dùng giải thuật RSA Kết thu gọi digital signature thông điệp ban đầu Công việc gọi “ký” vào thông điệp Sau ký vào thông điệp, thay đổi thông điệp bị phát giai đoạn kiểm tra Ngoài ra, việc ký đảm bảo người nhận tin tưởng thông điệp xuất phát từ người gửi khác • Gộp digital signature vào thông điệp ban đầu gửi đến người nhận Các bước kiểm tra: • Tách message ban đầu chữ ký số • Dùng khóa công khai người gửi (khóa thông báo đến người) để giải mã chữ ký số thông điệp • Dùng giải thuật (MD5 SHA) băm thông điệp ban đầu • So sánh chuỗi băm kết thu bước Nếu trùng nhau, ta kết luận thông điệp không bị thay đổi trình truyền thông điệp người gửi 2.4.2 Các loại hệ chữ ký 2.4.2.1 Hệ chữ ký RSA Dựa vào ưu điểm hệ mã RSA, thiết lập sơ đồ chữ ký dựa toán phân tích thừa số nguyên tố độ an toàn chữ ký cao Việc thiết lập sơ đồ xác 12 thực chữ ký RSA đơn giản, ta cần đảo ngược hàm mã hóa giải mã Sau sơ dồ chữ ký RSA: Cho n = p*q p,q số nguyên tố Đặt p = A = Zn định nghĩa: K = {(n,p,q,a,b) : n = p*q, p số nguyên tố, ab ≡ (mod Ø (n))} Các giá trị n b công khai, p,q,a bí mật Với K = (n, p, q, a, b) ta xác định: Sigk(x) = xa mod n Và Verk(x,y) = TRUE Ù x ≡ yb (mod n) với x, y € Zn [10] 2.4.2.2 Hệ chữ ký DSA Hệ chữ ký DSA dựa vào thuật toán chữ ký số (DSA) - chuẩn phủ liên bang hoa kỳ FIPS đề cho chữ ký số [7] Sinh khóa Việc tạo khóa gồm hai bước Bước thứ lựa chọn tham số cho thuật toán chia sẻ người sử dụng khác hệ thống: • Chọn hàm băm mã hóa H • Chọn kích thước khóa L Đây thước đo định sức mạnh mã hóa khóa DSS chuẩn ràng buộc L bội số 64 512≤L≤1024 Sau đó, FIPS 186-2 xác định L 1024 Không lâu sau, NIST 800-57 đề nghị độ dài khóa 2048 (hoặc 3072) để thời gian an toàn đến năm 2010 (hoặc 2030), sử dụng tương ứng với giá trị băm q dài • Chọn số nguyên tố q số bit với đầu H • Chọn số nguyên tố p độ dài L bit cho p–1 bội q Tức p=qz–1 với số nguyên z • Chọn g = h(p-1)/q mod p với h (1

Ngày đăng: 05/11/2016, 14:37

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan