Tìm hiểu chữ ký số và công nghệ mã hóa RSA

29 1.3K 1
Tìm hiểu chữ ký số và công nghệ mã hóa RSA

Đ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

K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA Môn học : An toàn và bảo mật hệ thống thông tin Đề tài : Tìm hiểu chữ ký số và công nghệ mã hóa RSA GVHD : Ths Trương Hoài Phan Nhóm 14 • Thái Lý Bằng K094061104 • Phạm Tuấn Minh K094061157 • Lưu Thanh Hải K094061135 • Hoàng Anh Giang K094061118 • Ngô Thị Hải Linh K094061148 1 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA A)Chữ ký số 3 1.Định nghĩa 3 2.Cách tạo chữ ký số 3 3.Chứng thực chữ ký số 4 4.Đặc tính của chữ ký số 4 5.Ứng dụng chữ ký số 5 -Chứng thư số 6 -Ứng dụng chứng thư số 6 • Chứng thư số cho cá nhân 7 • Chứng thư số cho tổ chức – doanh nghiệp 8 • Chứng thư số SSL cho Web Server 8 • Chứng thư số Code Signing 9 B)Mã hóa RSA 12 1.Giới thiệu tổng quan về mã hóa RSA 12 2.Thuật toán RSA 12 3.Ứng dụng RSA vào chữ ký số 21 4.Các cách Hacker tấm công và giải pháp 22 -Tấn công quá trình tạo khóa 23 -Tấn công quá trình phân phối khóa 23 -Tấn công dựa trên thời gian 23 -Tấn công lựa chọn thích nghi bản mã 24 C)Tài liệu tham khảo 26 A) Chữ ký số 1. Định nghĩa 2 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA Chữ ký điện tử là dữ liệu dưới dạng điện tử (từ, chữ, số, kí hiệu, âm thanh hoặc các hình thức khác), gắn liền hoặc kết hợp một cách logic với thông điệp dữ liệu, có khả năng xác nhận người ký thông điệp và xác nhận sự chấp thuận của người đó đối với nội dung thông điệp dữ liệu được ký. (Slide TTDT) Một số định nghĩa khác có liên quan sưu tầm trên Internet: “Chữ ký điện tử” là thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video ) nhằm mục đích xác định người chủ của dữ liệu đó. Chữ ký điện tử được sử dụng trong các giao dịch điện tử. Xuất phát từ thực tế, chữ ký điện tử cũng cần đảm bảo các chức năng: xác định được người chủ của một dữ liệu nào đó: văn bản, ảnh, video, dữ liệu đó có bị thay đổi hay không. Khái niệm chữ ký điện tử - mặc dù thường được sử dụng cùng nghĩa với chữ ký số nhưng thực sự có nghĩa rộng hơn. Chữ ký điện tử chỉ đến bất kỳ phương pháp nào (không nhất thiết là mật mã) để xác định người chủ của văn bản điện tử. Chữ ký điện tử bao gồm cả địa chỉ telex và chữ ký trên giấy được truyền bằng fax. "Chữ ký số" là một dạng chữ ký điện tử được tạo ra bằng sự biến đổi một thông điệp dữ liệu sử dụng hệ thống mật mã không đối xứng theo đó người có được thông điệp dữ liệu ban đầu và khoá công khai của người ký có thể xác định được chính xác: a) Việc biến đổi nêu trên được tạo ra bằng đúng khoá bí mật tương ứng với khoá công khai trong cùng một cặp khóa; b) Sự toàn vẹn nội dung của thông điệp dữ liệu kể từ khi thực hiện việc biến đổi nêu trên. (Nghị định số 26/2007/NĐ-CP) 2)Cách tạo chữ ký số Chữ ký số khóa công khai dựa trên nền tảng mật mã hóa khóa công khai. Để có thể trao đổi thông tin trong môi trường này, mỗi người sử dụng có một cặp khóa: một công khai và một 3 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA bí mật. Khóa công khai được công bố rộng rãi còn khóa bí mật phải được giữ kín và không thể tìm được khóa bí mật nếu chỉ biết khóa công khai. Xét ví dụ sau: Bob muốn gửi thông tin cho Alice và muốn Alice biết thông tin đó thực sự do chính Bob gửi. Bob gửi cho Alice bản tin kèm với chữ ký số. Chữ ký này được tạo ra với khóa bí mật của Bob. Khi nhận được bản tin, Alice kiểm tra sự thống nhất giữa bản tin và chữ ký bằng thuật toán kiểm tra sử dụng khóa công cộng của Bob. Bản chất của thuật toán tạo chữ ký đảm bảo nếu chỉ cho trước bản tin, rất khó (gần như không thể) tạo ra được chữ ký của Bob nếu không biết khóa bí mật của Bob. Nếu phép thử cho kết quả đúng thì Alice có thể tin tưởng rằng bản tin thực sự do Bob gửi. Thông thường, Bob không mật mã hóa toàn bộ bản tin với khóa bí mật mà chỉ thực hiện với giá trị băm của bản tin đó. Điều này khiến việc ký trở nên đơn giản hơn và chữ ký ngắn hơn. Tuy nhiên nó cũng làm nảy sinh vấn đề khi 2 bản tin khác nhau lại cho ra cùng một giá trị băm. Đây là điều có thể xảy ra mặc dù xác suất rất thấp. • Tạo cặp khóa - thuật toán RSA • Tạo bảng tóm tắt thông điệp từ thông điệp gốc – hàm băm • Tạo chữ ký số (qua khóa công khai hoặc bí mật) - thuật toán RSA 3)Chứng thực chữ ký số •Giải mã chữ ký số - thuật toán RSA •Tạo thông điệp tóm tắt từ thông điệp gốc – hàm băm 4 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA •So sánh kết quả giải mã với thông điệp tóm tắt 4) Đặc tính của chữ ký số a) Khả năng xác định nguồn gốc Các hệ thống mật mã hóa khóa công khai cho phép mật mã hóa văn bản với khóa bí mật mà chỉ có người chủ của khóa biết. Để sử dụng chữ ký số thì văn bản cần phải được mã hóa bằng hàm băm (văn bản được "băm" ra thành chuỗi, thường có độ dài cố định và ngắn hơn văn bản) sau đó dùng khóa bí mật của người chủ khóa để mã hóa, khi đó ta được chữ ký số. Khi cần kiểm tra, bên nhận giải mã (với khóa công khai) để lấy lại chuỗi gốc (được sinh ra qua hàm băm ban đầu) và kiểm tra với hàm băm của văn bản nhận được. Nếu 2 giá trị (chuỗi) này khớp nhau thì bên nhận có thể tin tưởng rằng văn bản xuất phát từ người sở hữu khóa bí mật b) Tính toàn vẹn Cả hai bên tham gia vào quá trình thông tin đều có thể tin tưởng là văn bản không bị sửa đổi trong khi truyền vì nếu văn bản bị thay đổi thì hàm băm cũng sẽ thay đổi và lập tức bị phát hiện. Quá trình mã hóa sẽ ẩn nội dung của gói tin đối với bên thứ 3 nhưng không ngăn cản được việc thay đổi nội dung của nó. 5 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA c) Tính không thể phủ nhận Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó là do mình gửi. Để ngăn ngừa khả năng này, bên nhận có thể yêu cầu bên gửi phải gửi kèm chữ ký số với văn bản. Khi có tranh chấp, bên nhận sẽ dùng chữ ký này như một chứng cứ để bên thứ ba giải quyết. Tuy nhiên, khóa bí mật vẫn có thể bị lộ và tính không thể phủ nhận cũng không thể đạt được hoàn toàn 5)Ứng dụng chữ ký số Hiện nay, Chính phủ đang áp dụng chữ ký số vào trong quy trình triển khai cấp giấy phép lái xe điện tử. Chữ ký số được dùng để ký phê duyệt danh sách trúng tuyển những thí sinh đã thi qua và đủ điều kiện được cấp giấy phép lái xe. Đồng thời, chữ ký số cũng được ký lên ảnh chữ ký số để xác nhận đó là chữ ký của người có thẩm quyền cấp giấy phép lái xe (ảnh chữ ký số là ảnh được scan chữ ký số của người có thẩm quyền ký quyết định cấp giấy phép lái xe cho người đủ điều kiện được cấp, ảnh này sẽ được in ở góc phải giấy phép lái xe – thay cho chữ ký tay như giấy phép lái xe đang được dùng phổ biến hiện nay). Tại thời điểm này, giấy phép lái xe mới cũng đã và đang được đưa vào thử nghiệm tại 6 tỉnh: Bắc Ninh, Đà Nẵng, Thái Nguyên, Hà Nội, Tp. Hồ Chí Minh, Cần Thơ. Trong lĩnh vực Thương mại điện tử, ứng dụng chữ ký số cũng rất tiềm năng. Điển hình trong giao dịch Thương mại điện tử là lĩnh vực ngân hàng điện tử (Internet Banking), mua sắm trực tuyến (Online Shopping), kinh doanh chứng khoán trực tuyến (Online Stock Trading) Tuy nhiên, trong số gần 50 ngân hàng, hơn 100 công ty chứng khoán cũng như hàng nghìn website bán hàng trực tuyến ở Việt Nam, hầu hết chưa sử dụng chữ ký số trong các hoạt động giao dịch điện tử với khách hàng. Tại sao một lĩnh vực “màu mỡ” như vậy mà chưa thể áp dụng triệt để chữ ký số vào? Nguyên nhân chính dẫn tới thực trạng chưa tương xứng với thực tế tiềm năng này một phần do việc các tổ chức cung cấp CA ở Việt Nam hình thành muộn so với các nước khác. Tới năm 2005, chúng ta mới ban hành “Luật giao dịch điện tử” và mãi 2 năm sau đó mới có quy định cụ thể về việc thành lập các nhà cung cấp dịch vụ CA (trong đó có FPT-CA được MIC cấp phép tháng 7/2010). Chứng thư số là gì? Để thực hiện được các giao dịch an toàn qua mạng, các bên tham gia cần phải có “chứng thư số”. Chứng thư số là một cấu trúc dữ liệu chứa các thông tin cần thiết để thực hiện các 6 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA giao dịch an toàn qua mạng. Chứng thư số được lưu giữ trên máy tính dưới dạng một tập tin (file). Nội dung chứng thư số bao gồm: · Tên chủ thể chứng thư số. · Khoá công khai. · Một số thông tin khác như, tên của CA cấp chứng chỉ số đó, hạn dùng, thuật toán ký · Chữ ký số của CA cấp chứng thư số đó. Mục đích của chứng thư số dùng để nhận diện một đối tượng khi tham gia giao dịch trên mạng o Chứng thư số có thể được xem như là một “chứng minh thư” sử dụng trong môi trường máy tính và Internet. o Chứng thư số được tạo bởi nhà cung cấp dịch vụ chứng thực (CA), trong đó chứa public key của người dùng và các thông tin của người dùng theo chuẩn X.509. Token là thiết bị điện tử xác thực người dùng. Token thường có dạng móc chìa khóa hoặc USB với màn hình tinh thể l†ng và nút nhấn tạo mã bí mật. Mỗi Token có một số series duy nhất gồm 8 hoặc 10 ký tự ở mặt dưới của Token và được gắn duy nhất với một khách hàng. Khi nhấn nút trên Token một dãy các mã số ngẫu nhiên sẽ xuất hiện (gồm 06 chữ số hiện ra trên màn hình phía trên Token) và thay đổi liên tục trong một khoảng thời gian nhất định (30 giây hoặc 60 giây). Mỗi một mã số của Token chỉ có hiệu lực duy nhất đối với một giao dịch tại một thời điểm nhất định và một khách hàng cụ thể. Chuỗi số được tạo ra theo thuật toán rất phức tạp mà cho đến nay chưa có trường hợp b‡ khóa thành công nào. Ứng dụng chứng thư số để làm gì? Với chứng thư số người dùng có thể: · Xác định danh tính người dùng khi đăng nhập vào một hệ thống (xác thực). · Ký số các tài liệu Word, PDF hay một tệp liệu. · Mã hóa thông tin để đảm bảo bí mật khi gửi và nhận trên mạng. · Thực hiện các kênh liên lạc trao đổi thông tin bí mật với các thực thể trên mạng như thực hiện kênh liên lạc mật giữa người dùng với webserver. 7 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA • Chứng thư số cho cá nhân Gói chứng thư cá nhân cơ bản cho phép thuê bao sử dụng chứng thư để ký số và mã hóa nội dung gửi đi khi sử dụng địa chỉ Email đã đăng ký với nhà cung cấp dịch vụ. Khi sử dụng dịch vụ này, người nhận email của thuê bao sẽ nhận biết rằng, nội dung thư họ vừa nhận từ đúng địa chỉ email của thuê bao và duy trì được tính bảo mật đường truyền. Ngoài ra, thuê bao có thể sử dụng chứng thư cho các hoạt động giao dịch điện tử khác như xác thực (client authentication), mã hóa giao dịch.Gói chứng thư cá nhân cơ bản cho phép thuê bao sử dụng chứng thư để ký số và mã hóa nội dung gửi đi khi sử dụng địa chỉ Email đã đăng ký với nhà cung cấp dịch vụ. Khi sử dụng dịch vụ này, người nhận email của thuê bao sẽ nhận biết rằng, nội dung thư họ vừa nhận từ đúng địa chỉ email của thuê bao và duy trì được tính bảo mật đường truyền. Ngoài ra, thuê bao có thể sử dụng chứng thư cho các hoạt động giao dịch điện tử khác như xác thực (client authentication), mã hóa giao dịch. • Chứng thư số cho tổ chức - doanh nghiệp Tổ chức, doanh nghiệp sử dụng để ký số trên các văn bản điện tử thay thế cho chữ ký tay của giám đốc và con dấu của tổ chức, doanh nghiệp trong các nghiệp vụ văn bản nội bộ hoặcvới bên ngoài và với cơ quan nhà nước. -Sử dụng cho các dịch vụ hành chính công điện tử như: khai báo thuế trực tuyến, kê khai hải quan,… -Sử dụng bảo vệ giao dịch email, ký và mã hóa thư điện tử. -Xác thực tổ chức, doanh nghiệp đăng nhập các hệ thống giao dịch trực tuyến trong ứng dụng thương mại điện tử, chính phủ điện tử, thanh toán trực tuyến, giao dịch chứng khoán và internet banking. • Chứng thư số SSL cho Web Server Chứng thư SSL nhằm đảm bảo bảo mật đường truyền đối với các dữ liệu mật, nhạy cảm trên các trang web, mạng internet và các mạng Intranet. 8 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA Giao thức bảo mật - SSL (Secure Sockets Layers) là một giao thức an ninh được sử dụng để bảo mật thông tin trong quá trình truyền dữ liệu trên mạng Internet. Khi thực hiện kết nối bảo mật bởi SSL, người dùng sẽ thấy các trình duyệt chuyển đổi http thành https, xuất hiện ổ khóa vàng và thanh địa chỉ chuyển màu xanh (trong trường hợp chứng thư EV SSL). Dữ liệu được truyền qua SSL mang lại cho website cung cấp dịch vụ và người dùng Internet: · Bảo mật dữ liệu: dữ liệu được mã hóa và chỉ người nhận đích thực mới có thể giải mã; · Toàn vẹn dữ liệu: dữ liệu không bị thay đổi bởi tin tặc; · Chống chối b†: đối tượng thực hiện gửi dữ liệu không thể phủ nhận dữ liệu của mình; • Chứng thư số Code Signing Code Signing cho phép nhà phát triển phần mềm có thể ký số lên các sản phẩm và giải pháp của họ. Người dùng khi tải các phần mềm trên mạng từ các nhà cung cấp sẽ không phải lo lắng về xuất xứ cũng như tính toàn vẹn của phần mềm đó. 9 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA Code Signing Certificate sẽ tạo ra một "v† bọc số" giúp nhà sản xuất đảm bảo được tính nguyên vẹn của phần mềm được phân phối bởi họ, và xác nhận tính nguyên vẹn đó khi người dùng nhận được phần mềm (thông qua thiết bị lưu trữ hoặc tải về Internet). Đảm bảo nội dung mà bạn cung cấp là đáng tin cậy Các nhà sản xuất sẽ "ký tên" vào nội dung của phần mềm bằng một private-key và chuyển thành một hash. Hệ thống phân phối phần mềm sẽ dùng một public-key để giải mã "chữ ký" trong phần mềm nhận được thành một hash khác. Sau đó các hash này sẽ được so sánh với nhau. Nếu trùng khớp, hệ thống sẽ tự động chấp nhận phần mềm. Nếu không đúng, hệ thống sẽ cảnh báo người dùng. Do đó, một khi không nhận được cảnh báo, người dùng sẽ luôn được đảm bảo rằng họ đã nhận được một sản phẩm đáng tin cậy, và nguyên vẹn từ nhà sản xuất. Giảm thiểu các cảnh báo lỗi bảo mật Thông thường, khi người dùng chạy một phần mềm được tải về từ Internet mà không được nhà sản xuất xác nhận bằng một Code Signing Certificate hoặc bằng một Code Signing Certificate tự cấp thì hệ thống sẽ hiển thị một bảng cảnh báo lỗi như sau: Thông báo lỗi khi phần mềm không được "ký tên" Việc "đóng dấu" vào phần mềm của mình bằng một Code Signing Certificate được xác thực bởi một CA có uy tín (như VeriSign, Thawte, Comodo, ) sẽ gia tăng độ tin cậy của người dùng đối với phần mềm của bạn lên nhiều lần. Khi đó, các cảnh báo lỗi bảo mật cũng sẽ không còn xuất hiện nữa. 10 [...]... số và công nghệ mã hóa RSA B) Mã hóa RSA 1) Giới thiệu tổng quan về mã hóa RSA Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân) Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa... n, môđun, và • e, số mũ công khai (cũng gọi là số mũ mã hóa) Khóa bí mật bao gồm: • n, môđun, xuất hiện cả trong khóa công khai và khóa bí mật, và 13 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA d, số mũ bí mật (cũng gọi là số mũ giải mã) • Một dạng khác của khóa bí mật bao gồm: • p and q, hai số nguyên tố chọn ban đầu, • d mod (p-1) và d mod (q-1) (thường được gọi là dmp1 và dmq1), •... mod 3233 ≡ 123 Kết quả là một số với 8072 chữ số Đó mới chỉ với hai số P =61 và Q =53 24 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA 3) Ứng dụng vào chữ ký số Thuật toán RSA còn được dùng để tạo chữ ký số cho văn bản Giả sử Alice muốn gửi cho Bob một văn bản có chữ ký của mình Để làm việc này, Alice tạo ra một giá trị băm (hash value) của văn bản cần ký và tính giá trị mũ d mod n của... q = 53 . 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA A )Chữ ký số 3 1.Định nghĩa 3 2.Cách tạo chữ ký số 3 3.Chứng thực chữ ký số 4 4.Đặc tính của chữ ký số 4 5.Ứng dụng chữ ký số 5 -Chứng thư số. BREW® 11 K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA B) Mã hóa RSA 1) Giới thiệu tổng quan về mã hóa RSA Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá. K09406-Nhóm 14: Tìm hiểu chữ ký số và công nghệ mã hóa RSA Môn học : An toàn và bảo mật hệ thống thông tin Đề tài : Tìm hiểu chữ ký số và công nghệ mã hóa RSA GVHD : Ths Trương Hoài

Ngày đăng: 10/05/2015, 04:24

Từ khóa liên quan

Mục lục

  • 5)Ứng dụng chữ ký số

  • Hiện nay, Chính phủ đang áp dụng chữ ký số vào trong quy trình triển khai cấp giấy phép lái xe điện tử. Chữ ký số được dùng để ký phê duyệt danh sách trúng tuyển những thí sinh đã thi qua và đủ điều kiện được cấp giấy phép lái xe. Đồng thời, chữ ký số cũng được ký lên ảnh chữ ký số để xác nhận đó là chữ ký của người có thẩm quyền cấp giấy phép lái xe (ảnh chữ ký số là ảnh được scan chữ ký số của người có thẩm quyền ký quyết định cấp giấy phép lái xe cho người đủ điều kiện được cấp, ảnh này sẽ được in ở góc phải giấy phép lái xe – thay cho chữ ký tay như giấy phép lái xe đang được dùng phổ biến hiện nay). Tại thời điểm này, giấy phép lái xe mới cũng đã và đang được đưa vào thử nghiệm tại 6 tỉnh: Bắc Ninh, Đà Nẵng, Thái Nguyên, Hà Nội, Tp. Hồ Chí Minh, Cần Thơ.

  • Trong lĩnh vực Thương mại điện tử, ứng dụng chữ ký số cũng rất tiềm năng. Điển hình trong giao dịch Thương mại điện tử là lĩnh vực ngân hàng điện tử (Internet Banking), mua sắm trực tuyến (Online Shopping), kinh doanh chứng khoán trực tuyến (Online Stock Trading)... Tuy nhiên, trong số gần 50 ngân hàng, hơn 100 công ty chứng khoán cũng như hàng nghìn website bán hàng trực tuyến ở Việt Nam, hầu hết chưa sử dụng chữ ký số trong các hoạt động giao dịch điện tử với khách hàng. Tại sao một lĩnh vực “màu mỡ” như vậy mà chưa thể áp dụng triệt để chữ ký số vào? Nguyên nhân chính dẫn tới thực trạng chưa tương xứng với thực tế tiềm năng này một phần do việc các tổ chức cung cấp CA ở Việt Nam hình thành muộn so với các nước khác. Tới năm 2005, chúng ta mới ban hành “Luật giao dịch điện tử” và mãi 2 năm sau đó mới có quy định cụ thể về việc thành lập các nhà cung cấp dịch vụ CA (trong đó có FPT-CA được MIC cấp phép tháng 7/2010).

  • Chứng thư số là gì?

  • Ứng dụng chứng thư số để làm gì?

  • Chứng thư số SSL cho Web Server

    • Ví dụ

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

    • Phân phối khóa

    • Tấn công dựa trên thời gian

    • Tấn công lựa chọn thích nghi bản mã

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

Tài liệu liên quan