Chữ ký RSA

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ó. Một ví dụ cho trường hợp này là tấn công đồng hình (homomorphism attack): tiếp tục ví dụ như ở trên, một kẻ lừa đảo gửi 1.000.000 đồng vào tài khoản của a, chặn gói tin (a,b) mà chi nhánh gửi về trung tâm rồi gửi gói tin (a,b3) thay thế để lập tức trở thành triệu phú!Nhưng đó là vấn đề bảo mật của chi nhánh đối với trung tâm ngân hàng không hẳn liên quan đến tính toàn vẹn của thông tin gửi từ người gửi tới chi nhánh, bởi thông tin đã được băm và mã hóa để gửi đến đúng đích của nó tức chi nhánh, vấn đề còn lại vấn đề bảo mật của chi nhánh tới trung tâm của nó.

doc23 trang | Chia sẻ: lvcdongnoi | Lượt xem: 4105 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Chữ ký RSA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lời Cám Ơn Để có được một bài báo cáo bổ ích, hiệu quả, hoàn chỉnh và đạt kết quả tốt đẹp trước hết nhóm em xin gửi tới toàn thể các thầy cô khoa công nghệ thông tin lời chúc sức khỏe, lời chào chân trọng và lời cám ơn sâu sắc nhất. Với sự quan tâm, dạy dỗ chỉ bảo tận tình chu đáo của các thầy cô, sự giúp đỡ nhiệt tình của các bạn, đến nay nhóm em đã có thể hoàn thành bài báo cáo, đề tài: Chữ Ký RSA. Để có được kết quả này nhóm em xin đặc biệt gửi lời cám ơn chân thành nhất tới cô giáo bộ môn “an toàn bảo mật thông tin” đã quan tâm giúp đỡ, vạch kế hoạch hướng dẫn nhóm em hoàn thành một cách tốt nhất bài báo cáo trong thời gian qua. Với điều kiện thời gian có hạn cũng như kinh ghiệm còn hạn chế của một sinh viên nên bài báo cáo sẽ không tránh khỏi những thiếu sót. Nhóm em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các thầy cô cùng toàn thể các bạn để nhóm em có điều kiện bổ sung, nâng cao ý thức của mình, phục vụ tốt hơn công tác thực tế sau này. Mục Lục Lời mở đầu 3 Chương I: Tổng quan về bảo mật 4 I. Giới thiệu chung về bảo mật thông tin 4 1. Mở đầu về bảo mật thông tin......................................................................................................4 2. Nguy cơ và hiểm họa đối với hệ thống thông tin.......................................................................6 3. Phân loại tấn công phá hoại an toàn...........................................................................................6 II. Dịch vụ cơ chế tấn công 7 Các dịch vụ an toàn...................................................................................................................7 Các cơ chế an toàn....................................................................................................................7 Tấn công phá hoại an ninh.......................................................................................................8 III. Mục tiêu và nguyên tắc chung của an toàn bảo mật......................................................................8 Chương II: Giới thiệu về ngành chữ ký điện tử.......................................................................................9 Giới thiệu..........................................................................................................................................9 Lịch sử ngành chữ ký điện tử.....................................................................................................11 Các ưu điểm của chữ ký điện tử................................................................................................12 Khả năng xác định nguồn gốc..............................................................................................12 Tính toàn vẹn.........................................................................................................................13 Tính không thể phủ nhận.....................................................................................................13 Thực hiện chữ ký số khóa công khai........................................................................................13 Một vài chữ ký điện tử................................................................................................................14 Chương III: Chữ ký RSA............................................................................................................15 Giới thiệu chữ ký RSA.....................................................................................................15 Thuật toán...................................................................................................................................15 Ví dụ............................................................................................................................................16 Chuẩn chữ ký số(bản cái tiến của chữ ký RSA)..........................................................18 Lời mở đầu Trong mật mã vấn đề bảo mật luôn đi đôi với vấn đề xác thực thông tin, đặc biệt trong hệ thống mã khoá công khai vấn đề xác thực là vô cùng quan trọng. Để giải quyết được vấn đề xác thực người ta đưa ra một cách vừa đơn giản vừa hiệu quả là sử dụng chữ kí số. Việc sử dụng chữ kí số ngày càng có nhiều ứng dụng trong thực tế, không chỉ giới hạn trong Ngành Công Nghệ Thông Tin , Ngành Mật Mã mà còn được áp dụng trong một số lĩnh vực khác như trong lĩnh vực Ngân Hàng để xác thực người gửỉ, người nhận, lĩnh vực Viễn thông để sử dụng các thẻ thông minh. Với mật mã khoá công khai việc tạo ra chữ kí số và ứng dụng vào các tài liệu, các văn bản điện tử là vô cùng quan trọng. Chữ kí thường ( Chữ kí viết tay ) thì có thể giả mạo được , vậy thì chữ kí số phải đảm bảo những yêu cầu gì để có thể tạo cơ sở pháp lý trong thời đại Thông tin – Tin học hoá. Chữ kí số phải có những tính năng sau : Người nhận văn bản đã kí phải có thể xác minh được bất kì chữ kí hợp lệ nào của người gửi. Chữ kí không thể giả mạo được Người đã kí thông báo thì không thể từ chối phủ nhận nó về sau được Mục đích của bài báo cáo là giới thiệu về “ chữ kí số Elgamal “ , đây là một trong những sơ đồ mạnh vào bậc nhất hiện nay, và đã được nhiều nước trên thế giới ứng dụng , đặc biệt là tại Mỹ đã có bản cải tiến của sơ đồ này và đã được Viện tiêu chuẩn và Công nghệ quốc gia Mỹ (NIST) chấp nhận làm chuẩn chữ kí số . Điểm mạnh và an toàn của sơ đồ chữ kí số Elgamal là dựa trên tính khó giải của bài toán tìm Logarithm rời rạc trên trường hữu hạn Zp , đây là một bài toán mà cho đến nay chưa có một thuật toán nào để giải nó, song bài toán ngược lấy luỹ 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 , luỹ 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. Chương I TỔNG QUAN VỀ BẢO MẬT Giới thiệu chung về bảo mật thông tin Mở đầu về bảo mật thông tin Ngày nay với sự phát triển bùng nổ của công nghệ thông tin, hầu hết các thông tin của doanh nghiệp như chiến lược kinh doanh, các thông tin về khách hàng, nhà cung cấp, tài chính, mức lương nhân viên,…đều được lưu trữ trên hệ thống máy tính. Cùng với sự phát triển của doanh nghiệp là những ṇ̃i hỏi ngày càng cao của môi trường kinh doanh yêu cầu doanh nghiệp cần phải chia sẻ thông tin của ḿnh cho nhiều đối tượng khác nhau qua Internet hay Intranet. Việc mất mát, rò rỉ thông tin có thể ảnh hưởng nghiêm trọng đến tài chính, danh tiếng của công ty và quan hệ với khách hàng. Các phương thức tấn công thông qua mạng ngày càng tinh vi, phức tạp có thể dẫn đến mất mát thông tin, thậm chí có thể làm sụp đổ hoàn toàn hệ thống thông tin của doanh nghiệp. Vì vậy an toàn và bảo mật thông tin là nhiệm vụ rất nặng nề và khó đoán trước được, nhưng tựu trung lại gồm ba hướng chính sau: - Bảo đảm an toàn thông tin tại máy chủ - Bảo đảm an toàn cho phía máy trạm - Bảo mật thông tin trên đường truyền đứng trước yêu cầu bảo mật thông tin, ngoài việc xây dựng các phương thức bảo mật thông tin th́ người ta ñă ñưa ra các nguyên tắc về bảo vệ dữ liệu như sau: - Nguyên tắc hợp pháp trong lúc thu thập và xử lư dữ liệu. - Nguyên tắc đúng đắn. - Nguyên tắc phù hợp với mục đích. - Nguyên tắc cân xứng. - Nguyên tắc minh bạch. - Nguyên tắc được cùng quyết định cho từng cá nhân và bảo đảm quyền truy cập cho người liên quan. - Nguyên tắc không phân biệt ñối xử. - Nguyên tắc an toàn. - Nguyên tắc có trách niệm trước pháp luật. - Nguyên tắc giám sát độc lập và hình phạt theo pháp luật. - Nguyên tắc mức bảo vệ tương ứng trong vận chuyển dữ liệu xuyên biên giới. Ở đây chúng ta sẽ tập trung xem xét các nhu cầu an ninh và đề ra các biện pháp an toàn cũng như vận hành các cơ chế để đạt được các mục tiêu đó. Nhu cầu an toàn thông tin: An toàn thông tin đă thay đổi rất nhiều trong thời gian gần đây. Trước kia hầu như chỉ có nhu cầu bảo mật thông tin, nay đòi hỏi thêm nhiều yêu cầu mới như an ninh máy chủ và trên mạng. Các phương pháp truyền thống được cung cấp bởi các cơ chế hành chính và phương tiện vật lý như nơi lưu trữ bảo vệ các tài liệu quan trọng và cung cấp giấy phép được quyền sử dụng các tài liệu mật đó. Máy tính đòi hỏi các phương pháp tự động để bảo vệ các tệp và các thông tin lưu trữ. Nhu cầu bảo mật rất lớn và rất đa dạng, có mặt khắp mọi nơi, mọi lúc. Do đó không thể không đề ra các qui trình tự động hỗ trợ bảo đảm an toàn thông tin. Việc sử dụng mạng và truyền thông đòi hỏi phải có các phương tiện bảo vệ dữ liệu khi truyền. Trong ñó có cả các phương tiện phần mềm và phần cứng, đòi hỏi có những nghiên cứu mới đáp ứng các bài toán thực tiễn đặt ra. Các khái niệm: An toàn máy tính: tập hợp các công cụ được thiết kế để bảo vệ dữ liệu và chống hacker. An toàn mạng: các phương tiện bảo vệ dữ liệu khi truyền chúng. An toàn Internet: các phương tiện bảo vệ dữ liệu khi truyền chúng trên tập các mạng liên kết với nhau. Mục đích của môn học là tập trung vào an toàn Internet gồm các phương tiện để bảo vệ, chống, phát hiện, và hiệu chỉnh các phá hoại an toàn khi truyền và lưu trữ thông tin. Nguy cơ và hiểm họa đối với hệ thống thông tin Các hiểm họa đối với hệ thống có thể được phân loại thành hiểm họa vô tình hay cố ý, chủ động hay thụ động. Hiểm họa vô tình: khi người dùng khởi động lại hệ thống ở chế độ đặc quyền, họ có thể tùy ý chỉnh sửa hệ thống. Nhưng sau khi hoàn thành công việc họ không chuyển hệ thống sang chế độ thông thường, vô tình để kẻ xấu lợi dụng. Hiểm họa cố ý: như cố tình truy nhập hệ thống trái phép. Hiểm họa thụ động: là hiểm họa nhưng chưa hoặc không tác động trực tiếp lên hệ thống, như nghe trộm các gói tin trên đường truyền. Hiểm họa chủ động: là việc sửa đổi thông tin, thay đổi tình trạng hoặc hoạt động của hệ thống. Đối với mỗi hệ thống thông tin mối đe dọa và hậu quả tiềm ẩn là rất lớn, nó có thể xuất phát từ những nguyên nhân như sau: Từ phía người sử dụng: xâm nhập bất hợp pháp, ăn cắp tài sản có giá trị Trong kiến trúc hệ thống thông tin: tổ chức hệ thống kỹ thuật không có cấu trúc hoặc không đủ mạnh để bảo vệ thông tin. Ngay trong chính sách bảo mật an toàn thông tin: không chấp hành các chuẩn an toàn, không xác định rõ các quyền trong vận hành hệ thống. Thông tin trong hệ thống máy tính cũng sẽ dễ bị xâm nhập nếu không có công cụ quản lý, kiểm tra và điều khiển hệ thống. Nguy cơ nằm ngay trong cấu trúc phần cứng của các thiết bị tin học và trong phần mềm hệ thống và ứng dụng do hăng sản xuất cài sẵn các loại 'rệp' điện tử theo ý đồ định trước, gọi là “bom điện tử”. Nguy hiểm nhất đối với mạng máy tính mở là tin tặc, từ phía bọn tội phạm. Phân loại tấn công phá hoại an toàn: Các hệ thống trên mạng có thể là đối tượng của nhiều kiểu tấn công: Tấn công giả mạo là một thực thể tấn công giả danh một thực thể khác. Tấn công giả mạo thường được kết hợp với các dạng tấn công khác như tấn công chuyển tiếp và tấn công sửa đổi thông báo. Tấn công chuyển tiếp xảy ra khi một thông báo, hoặc một phần thông báo được gửi nhiều lần, gây ra các tác động tiêu cực. Tấn công sửa đổi thông báo xảy ra khi nội dung của một thông báo bị sửa đổi nhưng không bị phát hiện. Tấn công từ chối dịch vụ xảy ra khi một thực thể không thực hiện chức năng của mình, gây cản trở cho các thực thể khác thực hiện chức năng của chúng. Tấn công từ bên trong hệ thống xảy ra khi người dùng hợp pháp cố tình hoặc vô ý can thiệp hệ thống trái phép. Còn tấn công từ bên ngoài là nghe trộm, thu chặn, giả mạo người dùng hợp pháp và vượt quyền hoặc lách qua các cơ chế kiểm soát truy nhập. Tấn công bị động: Do thám, theo dõi đường truyền để nhận được nội dung bản tin hoặc theo dõi luồng truyền tin. Tấn công chủ động: Thay đổi luồng dữ liệu để giả mạo một người nào đó, lặp lại bản tin trước, thay đổi ban tin khi truyền, từ chối dịch vụ. Dịch vụ cơ chế tấn công Nhu cầu thực tiến dẫn đến sự cần thiết có một phương pháp hệ thống xác định các yêu cầu an ninh của tổ chức. Trong đó cần có tiếp cận tổng thể xét cả ba khía cạnh của an toàn thông tin: bảo vệ tấn công, cơ chế an toàn và dịch vụ an toàn. Sau đây chúng ta xét chúng theo trình tự ngược lại: Các dịch vụ an toàn. Đây là công cụ đảm bảo an toàn của hệ thống xử lý thông tin và truyền thông tin trong tổ chức. Chúng được thiết lập để chống lại các tấn công phá hoại. Có thể dùng một hay nhiều cơ chế an toàn để cung cấp dịch vụ. Thông thường người ta cần phải tạo ra các liên kết với các tài liệu vật lý: như có chữ ký, ngày tháng, bảo vệ cần thiết chống khám phá, sửa bậy, phá hoại, được công chứng, chứng kiến, được ghi nhận hoặc có bản quyền. Các cơ chế an toàn Từ các công việc thực tế để chống lại các phá hoại an ninh, người ta đặt hệ thống và sắp xếp lại tạo thành các cơ chế an ninh khác nhau. đây là cơ chế được thiết kế để phát hiện, bảo vệ hoặc khôi phục do tấn công phá hoại. Không có cơ chế đơn lẻ nào đáp ứng được mọi chức năng yêu cầu của công tác an ninh. Tuy nhiên có một thành phần đặc biệt nằm trong mọi cơ chế an toàn đó là: kỹ thuật mã hoá. Tấn công phá hoại an ninh Ta xác định rõ thế nào là các hành động tấn công phá hoại an ninh. đó là mọi hành động chống lại sự an toàn thông tin của các tổ chức. An toàn thông tin là bàn về bằng cách nào chống lại tấn công vào hệ thống thông tin hoặc phát hiện ra chúng. Trên thực tế có rất nhiều cách và nhiều kiểu tấn công khác nhau. Thường thuật ngữ đe doạ và tấn công được dùng như nhau. Cần tập trung chống một số kiểu tấn công chính: thụ động và chủ động. Mục tiêu và nguyên tắc chung của an toàn bảo mật Ba mục tiêu của an toàn bảo mật thông tin: Tính bí mật: Tài sản của hệ thống chỉ được truy cập bởi những người có thẩm quyền. Các loại truy cập gồm có: đọc (reading), xem (viewing), in ấn (printing), sử dụng chương trình, hoặc hiểu biết về sự tồn tại của một đối tượng trong tổ chức.Tính bí mật có thể được bảo vệ nhờ việc kiểm soát truy cập (theo nhiều kiểu khác nhau) hoặc nhờ các thuật toán mã hóa dữ liệu. Kiếm soát truy cập chỉ có thể được thực hiện với các hệ thống phần cứng vật lý. Còn đối với các dữ liệu công cộng thì thường phương pháp hiệu quả là các phương pháp của mật mã học. Tính toàn vẹn dữ liệu: tài sản của hệ thống chỉ được thay đổi bởi những người có thẩm quyền. Tính sẵn dùng: tài sản luôn sẵn sàng được sử dụng bởi những người có thẩm quyền. Hai nguyên tắc của an toàn bảo mật thông tin: Việc thẩm định về bảo mật phả i là khó và cần tính tới tất cả các tình huống , khả năng tấn công có thể được thực hiện. Tài sản đựợc bảo vệ cho tới khi hết giá trị sử dụng hoặc hết ý nghĩa bí mật. Chương II Giới Thiệu Về Ngành Chữ Ký Điện Tử Giới thiệu Hằng ngày, chúng ta vẫn thường hay dùng chữ ký để xác minh một vấn đề, hay xác nhận quyền của mình đối với một vật thông những giấy tờ hoặc hợp đồng nào đó. Chẳng hạn như tên một bức điện nhận tiền từ ngân hàng, hay những hợp đồng ký kết mua bán, chuyển nhượng… Những chữ ký đó là chữ ký viết tay. Những yếu tố nào đã làm nên “sức thuyết phục” của nó ? Về mặt lý tưởng: Chữ ký là bằng chứng thể hiện người ký có chủ định ký văn bản Chữ ký thể hiện “chủ quyền ”, nó làm cho người nhận văn bản biết rằng ai đích thị là người đã ký văn bản Chữ ký không thể “tái sử dụng được” , tức là nó là phần của văn bản mà không thể sao chép sang văn bản khác Văn bản đã ký không thể thay đổi được Chữ ký không thể giải mạo và cũng là thứ không thể chối bỏ Trong cuộc sống, mọi thứ không diễn ra theo đúng “mô hình lý tưởng” nêu trên, nhưng với khả năng kiểm định sát sao thì việc làm khác đi không phải là dễ. Chúng ta có lý do để mang mô hình này vào thế giới máy tính, nhưng có những khó khăn hiển nhiên: các dòng thông tin trên máy tính được sao chép một cách quá dễ dàng, hình ảnh của chữ ký tay của một người nào đó dù khó bắt chước tới đâu cũng dễ dàng sao chép từ văn bản này sang văn bản khác… Để có các đặc tính như đã mô tả trên , giao thức ký trong thế giới điện tử cần tới sự hỗ trợ của công nghệ mã hóa. Đó là chữ ký điện tử(electronic signature) Về căn bản, chữ ký điện tử cũng giống như chữ viết tay. Chúng ta dùng nó để xác nhận lời hứa hay cam kết của mình và sau đó không thể rút lại được. Chữ ký điện tử không đòi hỏi phải sử dụng giấy mực, nó gắn đặc điểm nhận dạng của người ký vào một bản cam kết nào đó. Có được một bản chứng nhận điện tử cũng giống như dùng bằng lái xe để xác nhận nhận dạng của mình. Bạn có thể thi lấy được bằng lái xe tại Hà Nội những nó lại cho phép bạn điều khiển phương tiện tại TP HCM. Tương tự như vậy, bản chứng nhận điện tử là vật để khẳng định nhân dạng của bạn trên Internet với những người chấp nhận nó. Chữ ký điện tử (tiếng anh: electronic signature) 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. Hai khái niệm chữ ký số (digital signature) và chữ ký điện tử (electronic signature) thường được dùng thay thế cho nhau mặc dù chúng không hoàn toàn có cùng nghĩa. Chữ ký số chỉ là một tập con của chữ ký điện tử (chữ ký điện tử bao hàm chữ ký số) Tuy nhiên các chữ ký thỏa mãn hai điều kiện cơ bản sau: Không thể giả mạo. Nếu P ký thông bao M băng chữ ký S(P,M) thì không một ai có thể tạo được cặp [M,S(M,P)] Xác thực. Nếu R nhận được cặp [M,S(M,P)] được coi là của R thì R có thể kiểm tra được rằng chữ ký có thực sự là của P hay không? Chỉ có P mới có thể tạo ra được chữ ký này và chữ ký được “gắn chặt” với M. Hai yêu cầu đầu tiên này là những trở ngại chính trong giao dịch qua máy tính. Hai tính chất bổ trợ sau là những tính chất mong muốn đối với giao dịch được hoàn tất nhờ chữ ký số: + không thể thay đổi. Sau khi được phát M không thể thay đổi bởi S, R, hoặc bởi một kẻ thu trộm nào. +không thể sử dụng lại. Một thông báo trước đó được đưa ra sẽ ngay lập tức bị R phát hiện. Một sơ đồ chữ ký số thường chứa hai thành phần: thuật toán ký và thuật toán xác minh. Người A có thể ký bức điện x dùng thuật toán an toàn. Chữ ký 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 hay FALSE tùy thuộc vào việc chữ ký được xác minh như thế nào. Lịch sử 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 đó. Ta cũng có thể sử dụng định nghĩa rộng hơn, bao hàm cả mã nhận thực, hàm băm và các thiết bị bút điện tử. Chữ ký số khóa công khai (hay hạ tầng khóa công khai) là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi người sử dụng một cặp khóa công khai - bí mật và qua đó có thể ký các văn bản điện tử cũng như trao đổi các thông tin mật. Khóa công khai thường được phân phối thông qua chứng thực khóa công khai. Quá trình sử dụng chữ ký số bao gồm 2 quá trình: tạo chữ ký và kiểm tra chữ ký. 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. Con người đã sử dụng các hợp đồng dưới dạng điện tử từ hơn 100 năm nay với việc sử dụng mã Morse và điện tín. Vào năm 1889, tòa án tối cao bang New Hampshire (Hoa kỳ) đã phê chuẩn tính hiệu lực của chữ ký điện tử. Tuy nhiên, chỉ với những phát triển của khoa học kỹ thuật gần đây thì chữ ký điện tử mới đi vào cuộc sống một cách rộng rãi. Vào thập kỷ 1980, các công ty và một số cá nhân bắt đầu sử dụng máy fax để truyền đi các tài liệu quan trọng. Mặc dù chữ ký trên các tài liệu này vẫn thể hiện trên giấy nhưng quá trình truyền và nhận chúng hoàn toàn dựa trên tín hiệu điện tử. Hiện nay, chữ ký điện tử có thể bao hàm các cam kết gửi bằng email, nhập các số định dạng cá nhân (PIN) vào các máy ATM, ký bằng bút điện tử với thiết bị màn hình cảm ứng tại các quầy tính tiền, chấp nhận các điều khoản người dùng (EULA) khi cài đặt phần mềm máy tính, ký các hợp đồng điện tử online. Các ưu điểm của chữ ký điện tử 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. Tất nhiên là chúng ta không thể đảm bảo 100% là văn bản không bị giả mạo vì hệ thống vẫn có thể bị phá vỡ. Vấn đề nhận thực đặc biệt quan trọng đối với các giao dịch tài chính. Chẳng hạn một chi nhánh ngân hàng gửi một gói tin về trung tâm dưới dạng (a,b), trong đó a là số tài khoản và b là số tiền chuyển vào tài khoản đó. Một kẻ lừa đảo có thể gửi một số tiền nào đó để lấy nội dung gói tin và truyền lại gói tin thu được nhiều lần để thu lợi (tấn công truyền lại gói tin). 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ó. Một ví dụ cho trường hợp này là tấn công đồng hình (homomorphism attack): tiếp tục ví dụ như ở trên, một kẻ lừa đảo gửi 1.000.000 đồng vào tài khoản của a, chặn gói tin (a,b) mà chi nhánh gửi về trung tâm rồi gửi gói tin (a,b3) thay thế để lập tức trở thành triệu phú!Nhưng đó là vấn đề bảo mật của chi nhánh đối với trung tâm ngân hàng không hẳn liên quan đến tính toàn vẹn của thông tin gửi từ người gửi tới chi nhánh, bởi thông tin đã được băm và mã hóa để gửi đến đúng đích của nó tức chi nhánh, vấn đề còn lại vấn đề bảo mật của chi nhánh tới trung tâm của nó. 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. Thực hiện chữ ký số khóa công khai 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 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. Toàn bộ quá trình gồm 3 thuật toán: Thuật toán tạo khóa Thuật toán tạo chữ ký số Thuật toán kiểm tra chữ ký số 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. Một vài chữ ký điện tự Full Domain Hash, RSA-PSS ..., dựa trên RSA. Chuẩn chữ ký điện tử DSA. Chữ ký số ECDSA. Hệ chữ ký điện tử ElGamal. Undeniable signature (chữ ký chống chối bỏ). Chữ ký số SHA (thông thường là SHA-1). Hệ chữ ký điện tử RSA. Chương III Chữ ký ELGAMAL Giới thiệu chữ ký ELGAMAL Hệ chữ ký ElGammal được đưa ra vào 1985. Một phiên bản sửa đổi hệ này được Học viện Quốc gia tiêu chuẩn và kỹ thuật (NIST) đưa ra như một chuẩn của chữ ký điện tử. Sơ đồ chữ ký ElGama được thiết kế với mục đích dành riêng cho chữ ký số, điểm mạnh của nó là cùng số nguyên tố p trong cùng một sơ đồ thì với R là ngẫu nhiên nên ta có thể có nhiều chữ ký số. Điều này có nghĩa là có nhiều chữ ký hợp lệ trên bức điện cho trước bất kỳ. Thuật toán xác minh phải có khả năng chấp nhận bất kỳ chữ ký hợp lệ nào khi xác thực chữ ký đó. Thuật toán Sinh khóa: chọn một số nguyên tố lớn p. chọn phần tử sinh α. chọn ngẫu nhiên KsÎ Zp và tính Kp= αKs mod p công khai Kp, p, α. Ký: Chọn ngẫu nhiên r sao cho UCLN(r,p-1)= 1 Tính r-1: r*r-1 º 1 mod (p-1) Yếu tố xác thực hóa: y= eKp(x,r) = (γ, δ). Trong đó γ, δ được tính: γ = αr mod p δ = (x - Ks*γ)*r-1 mod (p - 1) Xác thực: Bên B tính: Z= (Kp)γ * γδ mod p, nếu Z = αx mod p là đúng, Z ≠ αx mod p là sai. Nếu chữ ký được thiết lập đúng thì xác minh sẽ thành công vì: (Kp)γ * γδ º (αKs)γ * (αr)δ mod p º αx mod p Bên B tính chữ ký bằng cách dùng cả giái trị mật Kp lẫn số ngẫu nhiên mật r(giá trị để ký bức điện). Việc xác minh có thể thực hiện duy nhất bằng thông tin công khai. Ví dụ Ký chuỗi 3CNTK8. Đổi chuỗi ký tự trên ra hệ thập phân theo bảng mã ASCII ta có: 51 67 78 84 75 56 Sinh khóa: Chọn p = 11 Chọn α = 2 Chọn Ks = 8 ==> Kp = αKs mod p = 28 mod 11 = 3 Ký: Chọn r = 9 Tính r-1 mod(p-1) = 9-1 mod 10 = 9 Tính γ = αr mod p = 29 mod 11 = 6 δ1 = (x1 - Ks*γ)*r-1 mod (p - 1) = (51- 8*6)*9 mod 10 = 7 δ2 = (67 – 8*6)*9 mod 10 = 1 δ3 = (78 – 8*6)*9 mod 10 = 0 δ4 = (84 – 8*6)*9 mod 10 = 4 δ5 = (75 – 8*6)*9 mod 10 = 3 δ6 = (56 – 8*6)*9 mod 10 = 2 Xác nhận: Z= (Kp)γ * γδ mod p, nếu Z= αx mod p là đúng, Z≠ αx mod p là sai. Z1 = (Kp)γ * γδ1 mod p = 36 * 67 mod 11 = 2 αx1 mod p = 251 mod 11 = 2 ==> Z1 = αx1 (đúng). Z2 = 36 * 61 mod 11 = 7 αx2 mod p = 267 mod 11 = 7 ==> Z2 = αx2 (đúng). Z3 = 36 * 60 mod 11 = 3 αx3 mod p = 278 mod 11 = 3 ==> Z3 = αx3 (đúng). Z4 = 36 * 64 mod 11 = 5 αx4 mod p = 284 mod 11 = 5 ==> Z4 = αx4 (đúng). Z5 = 36 * 63 mod 11 = 10 αx5 mod p = 275 mod 11 = 10 ==> Z5 = αx5 (đúng). Z6 = (Kp)γ * γδ6 mod p = 36 * 62 mod 11 = 9 αx6 mod p = 256 mod 11 = 9 ==> Z6 = αx6 (đúng). Chuẩn chữ ký số(bản cái tiến của chữ ký Elgamal) Chuẩn chữ kí số ( DSS) là phiên bản cải tiến của sơ đồ chữ ký Elgamal. Nó được công bố trong Hồ sơ liên bang Mỹ vào ngày 19/5/1994 và được chấp nhận làm chuẩn vào 1/12/1994 tuy đã được đề xuất từ 8/1991. Trước hết ta sẽ nêu ra những thay đổi của nó so với sơ đồ Elgamal và sau đó sẽ mô tả cách thực hiện nó. Trong nhiều tình huống, thông báo có thể được mã và giải mã chỉ một lần nên nó phù hợp cho việc dùng với hệ mật bất kì (an toàn tại thời điểm được mã). Song trên thực tế, nhiều khi một bực điện được dùng làm tài liệu đối chứng, chẳng hạn như bản hợp đồng hay một chúc thư và vì thế có thể cần xác minh chữ kí sau nhiều năm kể từ lúc bức điện được kí. Bởi vậy, điều quan trọng là có phương án dự phòng liên quan đến sự an toàn của sơ đồ chữ kí khi đối mặt với hệ thống mã. Vì sơ đồ Elgamal không an toàn hơn bài toán logarithm rời rạc nên cần dùng modulo p lớn. Chắc chắn là p cần ít nhất 512 bít và nhiều người nhất trí là p nên lấy = 1024 bít để có độ an toàn tốt. Tuy nhiên, khi chỉ lấy modulo p = 512 thì chữ kí sẽ có 1024 bít. Đối với nhiều ứng dụng dùng thẻ thông minh thì lại cần có chữ kí ngắn hơn. DSS cải tiến sơ đồ Elgamal theo hướng sao cho một bước điện 160 bít được kí bằng chữ kí 320 bít song lại dùng = 512 bít. Khi đó hệ thống làm việc trong nhóm con Zp* kích thước 2160. Độ mật của hệ thống dựa trên sự an toàn của việc tìm các logarithm rời rạc trong nhóm con Zp*. Sự thay đổi đầu tiên là thay dấu “-“ bằng dấu “+” trong định nghĩa d. Vì thế : d = (x+ag)k-1 mod (p-1) thay đổi này kéo theo sự thay đổi điều kiện xác minh như sau: axbg º gd (mod p) (1) Nếu UCLN(x+ag,p -1) =1 thì d-1 mod (p-1) tồn tại và ta có thể thay đổi điều kiện (6.1) như sau: ax d-1bg d-1 º g (mod p) (2) Đây là thay đổi chủ yếu trong DSS. Giả sử q là số nguyên tố 160 bít sao cho q½(q-1) và a là căn bậc q của 1 modulo p. ( Dễ dàng xây dựng được một a như vậy: Cho a0 là phần tử nguyên thuỷ của Zp và định nghĩa a = a0(p-1)/q mod p). Khi đó b và g cũng sẽ là căn bậc q của một. Vì thế các số mũ bất kì của a, b và g có thể rút gọn theo modulo q mà không ảnh hưởng đến điều kiện xác minh (2). Điểm rắc rối ở đây là g xuất hiện dưới dạng số mũ ở vế trái của (2) song không như vậy ở vế phải. Vì thế, nếu g rút gọn theo modulo q thì cũng phải rút gọn toàn bộ vế trái của (2) theo modulo q để thực hiện phép kiểm tra. Nhận xét rằng, sơ đồ (1) sẽ không làm việc nếu thực hiện rút gọn theo modulo q trên (1). DSS được mô tả đầy đủ như sau : Chuẩn chữ kí số Giả sử p là số nguyên tố 512 bít sao cho bài toán logarithm rời rạc trong Zp không giải được, cho p là số nguyên tố 160 bít là ước của (p -1). Giả thiết a Î Zp là căn bậc q của 1 modulo p ; Cho P = Zp*, A = Zq x Zp và định nghĩa: K = { ( p, q, a, a, b ): b º aa(mod p) } các số p, q, a và b là công khai, còn a mật. Với K = ( p, q, a, a, b ) và với một số ngẫu nhiên (mật ) k, 1 £ k £ q-1, ta định nghĩa: sigk(x,k) = (g,d) trong đó g = (ak mod p) mod q và d = (x + ag) k -1 mod q Với x ÎZp* và g, d Î Zq, quá trình xác minh sẽ hoàn thành sau các tính toán: e1 = x d-1 mod q e2 = g d-1 mod q verk (x, g, d) = true Û ( a b mod p ) mod q = g Chú ý cần có d º 0 (mod q) vì giá trị d-1 mod q cần thiết để xác minh chữ kí (điều này tương tự với yêu cầu USCLN(d, p-1 ) = 1 khi biến đổi (1) thành (2). Nếu Bob tính d º 0 (mod q) theo thuật toán chữ kí, anh ta sẽ loại đi và xây dựng chữ kí mới với số ngẫu nhiên k mới. Cần chỉ ra rằng, điều này có thể không gây vấn để trên thực tế: xác suất để d º 0 (mod q) chắc sẽ xảy ra vào cỡ 2-160 nên nó sẽ hầu như không bao giờ xảy ra. Dưới đây là một ví dụ minh hoạ nhỏ. Ví dụ: Giả sử q = 101, p = 78q+1 = 7879. 3 là phần tử nguyên thuỷ trong Z7879 nên ta có thể lấy: a = 378 mod 7879 = 170 Giả sử a= 75, khi đó : b = aa mod 7879 = 4576 Bây giờ giả sử Bên A muốn kí bức điện x = 1234 và anh ta chọn số ngẫu nhiên k = 50, vì thế: k -1 mod 101 = 99 khi đó: g = (17050mod 7879) mod 101 = 2518 mod 101= 94 và d = ( 1234 +75 ´b 94 ) 99 mod 101 = 97 Chữ kí ( 94,97 ) trên bức điện 1234 được xác minh bằng các tính toán sau : d-1 = 97-1 mod 101 = 25 e1 = 1234 ´ 25 mod 101 = 45 e2 = 94 ´ 25 mod 101 = 27 ( 17045456727 mod 7879 ) mod 101 = 2518 mod 101 = 94 Vì thế chữ kí hợp lệ. Khi DSS được đề xuất năm 1991 , đã có một vài chỉ trích đưa ra. Một ý kiến cho rằng , việc xử lý lựa chọn của NIST là không công khai. Tiêu chuẩn đã được Cục an ninh Quốc Gia (NSA) phát triển mà không có sự tham gia của khối Công nghiệp Mỹ. Bất chấp những ưu thế của sơ đồ, nhiều người vẫn đóng chặt cửa không chấp nhận. Còn những chỉ trích về mặt kỹ thuật thì chủ yếu là về kích thước modulo p bị cố định = 512 bít. Nhiều người muốn kích thước này có thể thay đổi được để nếu cần, có thể dùng kích thước cỡ lớn hơn . Đáp ứng những đòi hỏi này, NIST đã chọn tiêu chuẩn cho phép có nhiều cỡ modulo , nghĩa là cỡ modulo bất kì chia hết cho 64 trong phạm vi từ 512 đến 1024 bít. Một phàn nàn khác về DSS là chữ kí được tạo ra nhanh hơn việc xác minh nó. Trong khi đó , nếu dùng RSA làm sơ đồ chữ kí với số mũ xác minh công khai nhỏ hơn ( chẳng hạn 3 ) thì có thể xác minh nhanh hơn nhiều so với việc tạo lập chữ kí. Điều này dẫn đến hai vấn đề liên quan đến những ứng dụng của sơ đồ chữ kí: 1.Bức điện chỉ được kí một lần, song nhiều khi lại cần xác minh chữ kí nhiều lần trong nhiều năm. Điều này lại gợi ý nhu cầu có thuật toán xác minh nhanh hơn. 2.Những kiểu máy tính nào có thể dùng để kí và xác minh? Nhiều ứng dụng, chẳng hạn các thẻ thông minh có khả năng sử lý hạn chế lại liên lạc với máy tinh mạnh hơn. Vì thế có nhu cầu thử thiết kế một để sơ đồ có thể thực hiện trên thẻ một vài tính toán. Tuy nhiên, có những tình huống cần thẻ thông minh tạo chữ kí, trong những tình huống khác lại cần thẻ thông minh xác minh chữ kí. Vì thế khó có thể đưa ra giải pháp xác định ở đây. Sự đáp ứng của NIST đối với yêu cầu về số lần tạo/xác minh chữ kí thực ra không có vấn đề gì ngoài yêu cầu về tốc độ, miễn là cả hai có thể thực hiện đủ nhanh. Kết Luận Dựa trên mục đích và nhiệm vụ của đề tài , bài báo cáo đã giới thiệu về “ Sơ đồ chữ kí Elgamal “ , các yêu cầu và mục đích sử dụng sơ đồ , một số bản cải tiến của sơ đồ Elgamal. Một lần nữa , em xin chân thành cảm ơn cô giáo bộ môn “an toàn và bảo mật thông tin” đã tận tình hướng dẫn và giúp đỡ nhóm em trong suốt quá trình làm bài báo cáo, nhóm em cũng xin cảm ơn các thầy cô giáo trong khoa Công nghệ thông tin đã tạo mọi điều kiện giúp đỡ nhóm em hoàn thành bào báo cáo này , cảm ơn tất cả các bạn đã có ý kiến đóng góp cho bài báo cáo này.

Các file đính kèm theo tài liệu này:

  • docChữ ký RSA.doc