Tài liệu Vai trò của chìa khóa trong các giải pháp bảo mật và an toàn thông tin

  • Số trang: 78 |
  • Loại file: PDF |
  • Lượt xem: 220 |
  • Lượt tải: 0
hoanggiang80

Đã đăng 20010 tài liệu

Mô tả:

Vai trò của chìa khóa trong các giải pháp bảo mật và an toàn thông tin
Nguyễn Thị Hiền 1 Luận văn thạc sỹ MỤC LỤC MỤC LỤC............................................................................................................... 1 DANH MỤC HÌNH................................................................................................ 4 CÁC KÝ HIỆU VÀ CỤM TỪ VIẾT TẮT........................................................... 6 MỞ ĐẦU ................................................................................................................. 7 Chương 1 – Vai trò chìa khóa trong các giải pháp bảo mật và an toàn thông tin .................................................................................................................................. 9 1.1 Vai trò của chìa khóa trong các giải pháp bảo mật và an toàn thông tin ........ 9 1.1.1 Trong hệ mã khóa đối xứng...................................................................... 9 1.1.2 Trong hệ mã khóa công khai .................................................................... 10 1.1.3 Trong sơ đồ xưng danh và xác nhận danh tính......................................... 10 1.1.4 Trong hệ xác nhận và chữ ký điện tử ....................................................... 11 1.2 Vấn đề an toàn khóa trong các giải pháp bảo mật........................................... 11 1.2.1 Hệ mã khóa công khai ............................................................................. 11 1.2.2 Hệ mã khóa đối xứng................................................................................ 13 1.2.3 Trong môi trường truyền tin công cộng ................................................... 14 Chương 2 – Các giao thức an toàn khóa trong trao đổi, phân phối và chuyển vận khóa .................................................................................................................. 16 2.1 Nhu cầu thỏa thuận, chuyển vận và phân phối khóa .................................. 16 2.2 An toàn khóa trong các giao thức trao đổi.................................................. 18 2.2.1 Trao đổi khóa Diffie-Hellman.............................................................. 18 2.2.2 Trao đổi khóa STS................................................................................ 20 2.2.3 Thỏa thuận khóa MTI........................................................................... 22 Nguyễn Thị Hiền 2 Luận văn thạc sỹ 2.2.4 Giao thức Shamir ................................................................................. 24 2.2.5 Giao thức trao đổi khóa mã hóa EKE .................................................. 25 2.2.6 Sơ đồ Girault ........................................................................................ 28 2.3 An toàn khóa trong các giao thức phân phối khóa ..................................... 31 2.3.1 Sơ đồ phân phối khóa Blom................................................................. 32 2.3.2 Hệ phân phối khóa Kerberos................................................................ 34 2.3.3 Hệ phân phối khóa Diffie-Hellman ..................................................... 36 2.3.4 An toàn khóa trong các sơ đồ chia sẻ bí mật........................................ 37 2.4 An toàn khóa trong các giao thức chuyển vận khóa................................... 39 2.4.1 Giao thức không sử dụng chữ ký ......................................................... 40 2.4.2 Giao thức có sử dụng chữ ký................................................................ 40 2.4.3 Giao thức lai ......................................................................................... 42 Chương 3 - Kỹ thuật quản trị và kiểm tra việc sử dụng khóa........................... 46 3.1 Quản trị khóa .............................................................................................. 46 3.2 Các kỹ thuật quản trị................................................................................... 46 3.2.1 Các kỹ thuật phân phối khóa bí mật..................................................... 46 3.2.2 Kỹ thuật phân phối khóa công khai...................................................... 50 3.3 Kỹ thuật kiểm tra việc sử dụng khóa .......................................................... 58 3.3.1 Tách biệt khóa và ràng buộc khóa........................................................ 58 3.3.2 Kỹ thuật điều khiển việc sử dụng khóa ................................................ 59 3.4 Quản lý khóa trong hệ thống đa vùng......................................................... 60 3.4.1 Quan hệ tin cậy giữa hai vùng.............................................................. 61 3.4.2 Mô hình tin cậy với nhiều TA .............................................................. 62 Nguyễn Thị Hiền 3 Luận văn thạc sỹ 3.5 Vòng đời khóa ............................................................................................ 64 Chương 4 - Một số cách tổ chức các dịch vụ quản trị khóa ............................... 67 4.1 Giới thiệu......................................................................................................... 67 4.2 Giao thức socket an toàn SSL ......................................................................... 67 4.2.1 Kiến trúc SSL ........................................................................................... 68 4.2.2 Giao thức SSL Record .............................................................................. 69 4.2.3 Giao thức SSL Change Cipher Spec......................................................... 70 4.2.4 Giao thức Alert ......................................................................................... 71 4.2.5 Giao thức Handshake................................................................................ 71 4.3 Cơ sở hạ tầng khóa công khai PKI.................................................................. 74 4.3.1 Tổng quan PKI.......................................................................................... 75 4.3.2 Các dịch vụ PKI........................................................................................ 75 NHẬN XÉT VÀ KẾT LUẬN ................................................................................ 77 TÀI LIỆU THAM KHẢO ..................................................................................... 78 Nguyễn Thị Hiền 4 Luận văn thạc sỹ DANH MỤC HÌNH Hình 2.1: Giao thức Diffie-Hellman ...................................................................... 19 Hình 2.2: Giao thức STS......................................................................................... 20 Hình 2.3: Thỏa thuận khóa MTI ........................................................................... 22 Hình 2.4: Giao thức Shamir .................................................................................. 24 Hình 2.5: Giao thức EKE ....................................................................................... 26 Hình 2.6: Sơ đồ TA cấp khóa công khai tự xác thực cho các thành viên .......... 29 Hình 2.7: Sơ đồ Girault .......................................................................................... 29 Hình 2.8: Sơ đồ phân phối khóa Blom .................................................................. 32 Hình 2.9: Hệ phân phối khóa Kerberos ................................................................ 34 Hình 2.10: Giao thức phân phối khóa Diffie-Hellman ....................................... 37 Hình 2.11: Sơ đồ ngưỡng Shamir .......................................................................... 38 Hình 2.12: Giao thức Beller-Yacobi 4-lần qua ..................................................... 43 Hình 2.13: Giao thức Beller-Yacobi 2-lần qua ..................................................... 45 Hình 3.1: Giao thức chuyển văn bản có KTC ...................................................... 48 Hình 3.2: Cây nhị phân........................................................................................... 52 Hình 3.3: Cây xác thực ........................................................................................... 53 Hình 3.4: Các vùng riêng biệt ................................................................................ 62 Hình 3.5: Mô hình tin cậy có thứ bậc chặt chẽ..................................................... 63 Hình 3.6: Mô hình tin cậy ngược thứ bậc ............................................................. 64 Hình 3.7: Mô hình tổng quát.................................................................................. 64 Hình 4.1: Chồng giao thức SSL ............................................................................. 68 Hình 4.2: Hoạt động giao thức SSL Record ......................................................... 69 Nguyễn Thị Hiền 5 Luận văn thạc sỹ Hình 4.3: Hoạt động giao thức Handshake .......................................................... 71 Hình 4.4: Kỹ thuật kết khối an toàn gói tin Internet........................................... 75 Nguyễn Thị Hiền 6 Luận văn thạc sỹ CÁC KÝ HIỆU VÀ CỤM TỪ VIẾT TẮT 2 - lầnqua: 2 – pass (giao thức gồm 2 lần chuyển văn bản giữa các bên) (tương tự như vậy với 3-lần qua và 4-lần qua) x || y: để chỉ xâu nối x và y. CA: Certificate Authority - Ủy quyền chứng chỉ. CBC: Cipher Block Chaining. CSDL: Cơ sở dữ liệu. EKE: Encrypted Key Exchange. KDC: Key Distribution Center – Trung tâm phân phối khóa. KTC: Key Translation Center – Trung tâm chuyển khóa . PKI: Public Key Infrastructure - Cơ sở hạ tầng khóa công khai. SSL: Secure Socket Layer - Tầng socket an toàn. STS: Station To Station. TA: Trust Authority – Ủy quyền tin cậy. TMĐT: Thương mại điện tử. Nguyễn Thị Hiền 7 Luận văn thạc sỹ MỞ ĐẦU Hiện nay, ở các nước phát triển cũng như đang phát triển, mạng máy tính và Internet đang ngày càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của xã hội, và một khi nó trở thành phương tiện làm việc trong các hệ thống thì nhu cầu bảo mật thông tin được đặt lên hàng đầu. Nhu cầu này không chỉ có ở các bộ máy An ninh, Quốc phòng, Quản lý Nhà nước, mà đã trở thành cấp thiết trong nhiều hoạt động kinh tế xã hội: tài chính, ngân hàng, thương mại…thậm chí trong cả một số hoạt động thường ngày của người dân (thư điện tử, thanh toán tín dụng,…). Do ý nghĩa quan trọng này mà những năm gần đây công nghệ mật mã và an toàn thông tin đã có những bước tiến vượt bậc và thu hút sự quan tâm của các chuyên gia trong nhiều lĩnh vực khoa học, công nghệ. Một điểm đặc biệt của công nghệ bảo mật hiện đại là không dựa vào khả năng giữ bí mật của phương pháp (công nghệ), vì nó thường không chỉ một người nắm giữ, nói chung thường là nhóm đông người biết, mà khả năng giữ bí mật tuyệt đối của cả một nhóm người là không thể, vì thế bí mật chỉ có thể giữ bởi một người mà lợi ích của anh ta gắn liền với bí mật đó. Chính vì vậy, trong mã hóa hiện đại, người ta luôn giả thiết rằng phương pháp mã hóa thông tin là cái không thể giữ được bí mật, chúng sẽ được công khai, còn việc thực hiện thì cho phép thay đổi theo một tham số do từng người sử dụng tự ấn định (mỗi giá trị của tham số sẽ xác định một cách mã hóa riêng), việc lập mã và giải mã chỉ có thể được thực hiện khi biết được tham số đó. Tham số như vậy được gọi là “chìa khóa” và đó là thông tin duy nhất cần phải giữ bí mật. Tóm lại, một hệ mã hiện đại cần phải dựa trên nguyên tắc: chốt tính bảo mật vào chìa khóa, chứ không phải vào phương pháp (thuật toán). Luận văn sẽ nghiên cứu và xác định rõ vai trò của chìa khóa trong các giải pháp bảo mật và an toàn thông tin. Trên cơ sở nghiên cứu và phân tích các giải pháp an toàn khóa trong việc phân phối, trao đổi, chuyển vận khóa, cũng như các phương thức quản lý nhằm mang lại hiệu quả cao nhất trong quá trình thực hiện các giao thức đó. Luận văn gồm có bốn chương: Nguyễn Thị Hiền 8 Luận văn thạc sỹ Mở đầu Chương 1: Vai trò chìa khóa trong các giải pháp bảo mật và an toàn thông tin. Chương 2: Các giao thức an toàn khóa trong trao đổi, phân phối và chuyển vận khóa. Chương 3: Kỹ thuật quản trị và kiểm tra việc sử dụng khóa. Chương 4: Một số cách tổ chức các dịch vụ quản trị khóa. Kết luận Nguyễn Thị Hiền 9 Luận văn thạc sỹ Chương 1 – VAI TRÒ CHÌA KHÓA TRONG CÁC GIẢI PHÁP BẢO MẬT VÀ AN TOÀN THÔNG TIN 1.1. Vai trò của chìa khóa trong các giải pháp bảo mật và an toàn thông tin Mật mã hay các giải pháp bảo mật được sử dụng để bảo vệ tính bí mật của thông tin khi chúng được truyền trên các kênh truyền thông công cộng. Giả sử nếu một người U muốn gửi cho người V một văn bản p, để bảo mật U lập cho p một bản mật mã c bằng một phương pháp Toán học nào đó, và thay vì gửi cho V văn bản p, U gửi cho V văn bản c. V nhận được c thực hiện giải mã để thu được p. Để U biến p thành c và V biến c thành p, U và V phải thống nhất sử dụng chung một hệ mã khóa nào đó: hệ mã khóa đối xứng hoặc hệ mã khóa công khai. 1.1.1. Trong hệ mã khóa đối xứng Hoạt động của hệ mã này được mô tả như sau: Nếu U và V là hai người dùng sử dụng hệ mã khóa đối xứng (đôi khi nó còn được gọi là hệ mã khóa bí mật) để gửi tin cho nhau. U dùng thuật toán E và khóa K lập mật mã (từ đây trở đi ta sẽ gọi tắt là mã hóa) cho văn bản M muốn gửi cho V, rồi gửi cho V bản mã: c = EK(M). Thuật toán mã hóa E sinh ra các output khác nhau phụ thuộc vào giá trị khóa K. Ở đầu bên kia V sau khi nhận được bản mã c, sẽ sử dụng thuật toán giải mã D và chính khóa K để thu được bản rõ M (việc giải bản mã thành bản rõ từ nay sẽ được gọi là giải mã). Hệ mã loại này có tên là hệ mã khóa đối xứng vì khóa lập mã và khóa giải mã là một, U và V chỉ có thể truyền tin được với nhau nếu cả hai cùng biết khóa K. Tính an toàn của hệ mã phụ thuộc vào hai yếu tố: thuật toán phải đủ mạnh để không thể giải mã được văn bản nếu đơn thuần chỉ dựa vào bản rõ, và tính an toàn khóa, chứ không phải là an toàn thuật toán, tức là nếu biết bản mã và thuật toán mã hóa nhưng không biết khóa vẫn không thể tìm được bản rõ. Nói cách khác, ta không cần giữ bí mật thuật toán mà chỉ cần giữ bí mật chìa khóa. Việc giữ bí mật chìa khóa trở thành điểm mấu chốt của hệ mã khóa loại này, nếu vì lý do nào đó mà khóa bị lộ thì tất cả những văn bản hai bên trao đổi với nhau cũng sẽ bị lộ. Nguyễn Thị Hiền 1.1.2. 10 Luận văn thạc sỹ Trong hệ mã khóa công khai Để sử dụng hệ mã khóa đối xứng yêu cầu hai bên trước khi truyền tin phải có chung một giá trị khóa, giá trị này cần phải giữ bí mật và điều này không thuận tiện trong môi trường truyền thông công cộng như hiện nay. Vì thế người ta đã đưa ra cách mã hóa khác, cho phép các bên trong hệ thống có thể truyền tin cho nhau bằng cách công bố công khai thông tin cần cho việc lập mã, khiến cho người gửi và người nhận không cần quy ước trước với nhau, và cũng không có những bí mật chung. Bên nhận được bản mã sử dụng khóa bí mật của mình giải mã để thu được văn bản gốc. Khóa K của mỗi người dùng gồm hai phần K = ( K ' , K " ) trong đó K ' là phần công khai, còn giữ bí mật K " . Mã hóa được thực hiện rất dễ dàng, bất kỳ người nào cũng có thể làm được, còn việc giải mã rất khó khăn nếu như không có khóa riêng, còn nếu có nó thì việc giải mã cũng dễ như việc mã hóa. Việc giữ bí mật khóa trong hệ mã khóa công khai không còn là vấn đề nữa, vì mỗi người có một khóa riêng chỉ có chính anh ta biết mà thôi nên khả năng anh ta làm lộ gần như là không có. Vì vậy đối với những hệ mã loại này tính an toàn chúng nằm trong khả năng không bị lộ của chìa khóa bí mật từ những thông tin công khai tất cả mọi người đều có, mà điều này thì lại phụ thuộc vào độ khó của bài toán nào đó ví như: việc tính tích hai số nguyên tố lớn n = p.q: dễ dàng nhân hai số nguyên tố lớn p, q để thu được tích n của chúng, nhưng bài toán sẽ là khó nếu cho giá trị tích n, xác định các nhân tử nguyên tố p, q của nó. Hay như bài toán nếu có số nguyên tố p, một phần tử nguyên thủy α theo mod p, ta dễ dàng tính được β = α x mod p ∈ Z *p , với x là giá trị bất kỳ. Nhưng nếu ngược lại biết β, α , p khó tìm được số nguyên x ( 0 ≤ x ≤ p − 2 ) sao cho α x ≡ β (mod p) . Tuy nhiên, đến nay chưa có chứng minh bằng Toán học nào chỉ ra rằng đây thực sự là các bài toán khó, hoặc không thể giải trong thời gian chấp nhận được. 1.1.3. Trong sơ đồ xưng danh và xác nhận danh tính Xưng danh và xác nhận danh tính là thuật ngữ ngày nay đang được nhắc đến rất nhiều, nó đảm bảo rằng bên nhận văn bản đúng là bên ta định nhằm tới, hay chắc Nguyễn Thị Hiền 11 Luận văn thạc sỹ chắn rằng các thao tác trên văn bản là do bên được phép thực hiện. Cho đến giữa những năm 1970 [4] người ta vẫn còn cho rằng xưng danh và xác nhận danh tính với mã hóa thực chất là cùng một mục tiêu an toàn thông tin. Nhưng cùng với sự khám phá ra hàm băm, chữ ký điện tử, người ta nhận ra rằng đó là hai mục tiêu an toàn thông tin hoàn toàn độc lập. Xưng danh và xác nhận danh tính rất cần thiết trong các hoạt động thông tin, đặc biệt là khi các hoạt động này thông qua mạng. Mục tiêu an toàn của việc xưng danh là bảo đảm sao cho khi “nghe” một chủ thể U nào đó xưng danh với chủ thể V, bất kỳ ai khác U cũng không thể sau đó mạo nhận mình là U, kể cả chính V. Nói cách khác, U muốn chứng minh để bên kia V xác nhận danh tính của mình mà không để lộ bất kỳ thông tin gì về mình. Việc xưng danh thường phải thông qua một giao thức hỏi - đáp nào đó, nhờ đó V có thể xác nhận danh tính của U, V hỏi U, U trả lời để chứng tỏ cho V biết là U có sở hữu một bí mật riêng nào đó. Vấn đề an toàn của sơ đồ xưng danh là phải đảm bảo để sau khi U xưng danh với V, thì bất kỳ người nào khác không thể mạo nhận mình là U kể cả V. Nói cách khác, U không để lộ một thông tin gì về bí mật mà U có ngoài thông tin duy nhất là U sở hữu bí mật đó. Sự an toàn của sơ đồ xưng danh cũng nằm trong tính khó giải của các bài toán nào đó, hay dựa trên hàm một chiều nào đó. 1.1.4. Trong hệ xác nhận và chữ ký điện tử Như ta đã nói ở trên bài toán bảo mật được đáp ứng bằng các giải pháp mật mã. Tuy nhiên giờ đây người nhận còn muốn kiểm thử tính xác thực nguồn gốc của thông tin, cũng như chắc chắn là thông tin đã không bị thay đổi trong quá trình truyền đi, và nhất là cần ràng buộc danh tính của bên đã gửi thông tin đi để sau đó anh ta không thể thoái thác là mình không gửi văn bản đó. Những yêu cầu này được đáp ứng bằng cách sử dụng chữ ký điện tử. Chữ ký điện tử có cùng mục đích như chữ ký viết tay, tuy nhiên nếu chữ ký viết tay dễ dàng giả mạo được thì chữ ký điện tử lại rất khó giả mạo, cộng thêm nó chứng nhận nội dung của thông tin cũng như là danh tính của người gửi. Nguyễn Thị Hiền 12 Luận văn thạc sỹ Sơ đồ chữ ký điện tử cơ bản được mô tả như dưới đây: 1. Người gửi (chủ nhân của văn bản) tạo chữ ký trên văn bản bằng khóa riêng của mình; 2. Người gửi chuyển văn bản cùng chữ “ký” cho người nhận; 3. Người nhận văn bản sử dụng chìa khóa công khai của người gửi kiểm thử chữ ký trên văn bản nhận được. Chữ ký không thể làm giả được vì chỉ có duy nhất người gửi có chìa khóa bí mật để ký, và cũng không ai giả mạo được vì không có khóa bí mật. Văn bản đã ký không thể thay đổi nội dung được nữa. Người đã ký thì không thể thoái thác “chữ ký” của mình. Bài toán xác nhận với chữ ký điện tử, theo nghĩa nào đó, có thể xem là “đối ngẫu” với bài toán mã hóa bằng hệ mã công khai. Và vì thế nên sự an toàn của các sơ đồ ký cũng giống như thuật toán mã khóa công khai phụ thuộc vào độ khó của bài toán nào đó. 1.2. Vấn đề an toàn khóa trong các giải pháp bảo mật 1.2.1. Hệ mã khóa công khai Việc tính toán lập mã được công bố công khai (để mọi người trong mạng có thể thực hiện được). Việc giải mã thì chỉ có người có chìa khóa riêng, bí mật mới có thể thực hiện được. Quá trình để U gửi thông tin cho V sử dụng hệ mã với khóa công khai như sau: (1) U và V thống nhất với nhau về hệ mã công khai sẽ sử dụng; (2) V gửi khóa công khai của mình cho U (hoặc U lấy được khóa công khai của V từ cơ sở dữ liệu công khai đặt ở một nơi nào đó); (3) U sử dụng khóa công khai của V để mã hóa văn bản rồi gửi cho V; (4) V dùng khóa bí mật của mình để giải mã văn bản nhận được từ U. Nguyễn Thị Hiền 13 Luận văn thạc sỹ Với những hệ mã khóa loại này phải đảm bảo dù kẻ tấn công có biết thuật toán và khóa công khai K không biết khóa bí mật vẫn khó tìm được cách giải mã. Trong trường hợp dữ liệu công khai được các bên lấy từ một máy chủ nào đó ở xa, giao thức chỉ an toàn nếu giải quyết được trường hợp sau đây: • Tấn công giữa dòng Nếu một kẻ W có khả năng tráo đổi chìa khóa trên cơ sở dữ liệu (CSDL) khóa công khai thì người đó dễ dàng thu được toàn bộ thông tin mà U gửi cho V. Muốn làm được việc này, anh ta chỉ việc lấy khóa công khai của mình tráo vào khóa công khai của V; khi U lấy chìa này để mã hóa thông tin gửi cho V, sẽ bị W thu được và giải mã; sau khi đọc xong thông tin anh ta sẽ mã hóa bằng khóa công khai của V rồi gửi cho V; V vẫn nhận thông tin mà U gửi nhưng không biết là W đã nghe trộm toàn bộ thông tin này. Vẫn bằng cách này W cũng nghe được toàn bộ thông tin mà V gửi cho U. Điểm yếu của hệ thống là khi U lấy chìa công khai của V để mã hóa thông tin mà không biết chìa khóa đó có thực sự là của V hay không? Đặt ra yêu cầu ở đây là phải khắc phục được tình trạng này. Thêm nữa, nếu giả thiết rằng không một kẻ tấn công nào có thể truy nhập được vào CSDL trên máy chủ, thì khả năng U nhận được một khóa “giả mạo” từ trung tâm vẫn có thể xảy ra nếu như W thu được các văn bản trên đường chuyển về cho U. 1.2.2. Hệ mã khóa đối xứng Quá trình truyền tin của hai bên U và V sử dụng hệ mã khóa đối xứng có thể được mô tả như sau: 1. U và V thỏa thuận về hệ mã khóa 2. U và V thỏa thuận khóa dùng chung 3. U sử dụng thuật toán và khóa đã thỏa thuận mã hóa văn bản M muốn gửi cho V Nguyễn Thị Hiền 14 Luận văn thạc sỹ 4. U gửi cho V bản mã hóa đó 5. V giải mã văn bản nhận được từ U bằng thuật toán và khóa đã thỏa thuận với U để thu được bản rõ M. W nào đó trên đường truyền muốn có được văn bản M, nếu anh ta nghe đường truyền ở bước (4), anh ta sẽ phải có gắng phân tích bản mã để thu được bản rõ. Tuy nhiên giờ đây chúng ta có rất nhiều thuật toán để không cho phép W thực hiện mong muốn của mình. Nhưng W không chịu lùi bước, anh ta cố gắng nghe đường truyền từ bước (2), và nếu như hai người không có một biện pháp bảo vệ nào cho khóa thì những gì mà V có được thì W cũng có. Việc mã hóa thông tin bằng hệ mã đối xứng sử dụng chìa khóa chung cho cả hai công việc lập mã và giải mã, đặt ra yêu cầu là làm thế nào để hai bên có thể có chung một giá trị bí mật, không có bên nào khác có thể biết được. Ta vừa nói rằng với những hệ mã đối xứng thì giai đoạn U và V thống nhất với nhau về chìa khóa chung sẽ sử dụng là khâu yếu nhất. Nếu chìa khóa này mà bị lộ không những kẻ gian biết được thông tin hai bên trao đổi với nhau mà còn có thể đóng giả “bên này” để đánh lừa “bên nọ”. Giải pháp đơn giản nhất là sử dụng khóa phiên chỉ có hiệu lực trong khoảng thời gian nhất định. Tuy nhiên đó không phải là cách làm hay, và không khắc phục tận gốc vấn đề. Giải quyết bài toán này càng khó khăn hơn khi ta biết rằng việc trao đổi khóa một cách tuyệt mật (có giá trị hơn dữ liệu) trong môi trường công cộng là vô cùng khó. 1.2.3. Vấn đề an toàn khóa trong môi trường truyền thông công cộng Chúng ta đang tiến đến thế giới của hàng tỷ máy tính kết nối với nhau, nhờ đó chúng ta có thể mua hàng trên Internet, gửi số thẻ tín dụng, tham gia thị trường chứng khoán, kiểm tra tài khoản trong ngân hàng, và thực hiện các giao dich thông qua Internet, thậm chí có thể ký các hợp đồng kinh tế qua mạng. Những công việc liên quan đến chính lợi ích kinh tế của chúng ta. Do đó, vấn đề làm sao để bảo vệ tính bí mật và an toàn của thông tin ngày càng to lớn và phổ biến hơn bao giờ hết. Nguyễn Thị Hiền 15 Luận văn thạc sỹ Hãy hình dung như thế này, mong muốn trao đổi các văn bản với nhau một cách an toàn (tin cậy, toàn vẹn, xác thực và không thể thoái thác) được thỏa mãn bằng cách sử dụng thuật toán mã hóa và công nghệ chữ ký điện tử. Nếu sử dụng thuật toán mã hóa khóa đối xứng (thông thường các thuật toán khóa đối xứng nhanh hơn khoảng từ 30-100 lần so với các thuật toán phi đối xứng tương đương) thì khóa đối xứng được thống nhất và trao đổi với nhau bằng cách nào đó chỉ có hai bên tham gia trao đổi mới biết mà thôi. Những phương pháp để hai bên nào đó thống nhất một khóa chung một cách an toàn để sử dụng mã hóa sau này sẽ được nói đến ngay trong chương hai của luận văn. Có một giải pháp cho vấn đề trên là người ta sẽ sử dụng hệ mã khóa công khai để trao đổi khóa đối xứng với nhau, tức là nếu U muốn thống nhất với V khóa dùng chung K nào đó, U sẽ dùng khóa công khai K’ của V để mã hóa K, sau đó gửi bản mã cho V, V sẽ dùng khóa riêng của mình để thu được K. Nếu thế thì yêu cầu đặt ra ở đây là chúng ta sẽ phân phối khóa công khai như thế nào, hay làm thế nào để khẳng định trong môi trường mạng rằng U đúng là đã có khóa công khai thực sự của V. Từ đó nảy sinh yêu cầu quản trị khóa và kiểm tra việc sử dụng khóa và đó là vấn đề sẽ được trình bày trong chương ba của luận văn. Nguyễn Thị Hiền 16 Luận văn thạc sỹ Chương 2 - CÁC GIAO THỨC AN TOÀN KHÓA TRONG TRAO ĐỔI, PHÂN PHỐI VÀ CHUYỂN VẬN KHÓA 2.1. Nhu cầu thỏa thuận, chuyển vận và phân phối khóa Các hệ mã khóa công khai có nhiều điểm ưu việt hơn so với hệ mã khóa đối xứng vì chúng không cần thiết lập một kênh truyền an toàn để trao đổi khóa bí mật. Tuy nhiên điểm yếu của các hệ mã khóa công khai là chậm hơn nhiều so với các hệ mã khóa đối xứng, thêm nữa hệ mã khóa công khai rất nhạy cảm với tấn công chọn bản rõ tức là nếu bản mã C = E(P), trong đó P là bản rõ, thì người thám mã chỉ phải thực hiện mã hóa tất cả các bản rõ có thể rồi so sánh kết quả thu được với C (điều này làm được là do khóa mã hóa được công khai), bằng cách này anh ta không thể xác định được khóa bí mật nhưng vẫn có thể thu được P. Vì vậy, trên thực tế hệ mã khóa đối xứng vẫn đang là công cụ chính trong mã hóa dữ liệu (nhất là khi làm việc với những văn bản lớn). Thêm nữa, trong rất nhiều giao thức mật mã, đặc biệt là những giao thức có sự tham gia của bên thứ ba, thường đòi hỏi các bên có một chìa khóa bí mật chung để làm tiền đề cho quá trình trao đổi chìa khóa phiên làm việc hay trao đổi chìa khóa công khai dùng trong hệ mã công khai. Vấn đề đặt ra ở đây là làm sao để trao đổi các giá trị bí mật đó một cách an toàn. Trong chương này, luận văn sẽ đi vào chi tiết một vài cách tiếp cận để giải quyết vấn đề trên. Trước tiên ta sẽ xem xét một vài khái niệm cơ bản sẽ được nói đến. Giao thức là một thuật toán có sự tham gia của nhiều bên, được xác định chính xác bởi một chuỗi các bước hoạt động của các bên tham gia nhằm đạt được mục tiêu xác định. Một vài sơ đồ, giao thức trong chương này có sự tham gia của một cơ quan được uỷ thác (ký hiệu là TA) chịu trách nhiệm kiểm tra các thông tin về danh tính người dùng, chọn và chuyển khóa,.v.v. Nguyễn Thị Hiền 17 Luận văn thạc sỹ Ngoài nhiệm vụ thiết lập một giá trị khóa chung cho hai bên, đôi khi các bên còn đòi hỏi giao thức cung cấp tính xác thực, các khả năng xác thực mà giao thức có thể là: Xác thực khóa (key authentication) là khả năng giao thức cho phép một bên đuợc bảo đảm rằng ngoại trừ đúng bên đúng với thông tin danh tính đã xác định trước thì không một ai khác có thể tính được giá trị bí mật. Điều này có nghĩa là nếu U (V) muốn thiết lập, hoặc chuyển cho V (U) khóa bí mật bằng cách sử dụng một giao thức có khả năng xác thực khóa thì sau khi kết thúc giao thức U chắc chắn rằng chỉ có V mới có thể thu được giá trị đó. Xác thực khóa đôi khi còn được gọi là xác thực khóa ẩn (implicit key authentication) Xác nhận khóa (key confirmation) là khả năng giao thức cho phép một bên chắc chắn rằng bên kia đã có giá trị bí mật. Nghĩa là sau khi kết thúc giao thức U chắc chắn rằng V đã thu được giá trị bí mật K. Xác thực khóa hiển (explicit key authentication) Giao thức có khả năng xác thực khóa và xác nhận khóa thì được gọi là giao thức xác thực khóa hiển. Xác thực thực thể (entity authentication) là quá trình cho phép một bên được đảm bảo về danh tính của bên kia, và thực sự bên kia đã tham gia vào hoạt động của giao thức. Các giao thức có thể chỉ cung cấp xác thực thực thể đơn phương (tức là chỉ cho phép xác thực theo một chiều hoặc là U về V, hoặc là V về U). Các giao thức có thể bị tấn công dưới dạng các hình thức sau: Tấn công thụ động (còn gọi là tấn công bị động – passive attack): quan sát, nghe trộm quá trình thực hiện giao thức nhưng không làm ảnh hưởng tới giao thức và không thay đổi được thông tin giao dịch. Nguyễn Thị Hiền 18 Luận văn thạc sỹ Tấn công chủ động (active attack): tìm cách thay đổi giao thức (theo hướng có lợi cho mình), thay đổi thông tin, xóa thông tin thực, tạo thông tin giả, tham gia vào giao dịch. 2.2. An toàn khóa trong các giao thức trao đổi Giao thức trao đổi khóa là quá trình thực hiện mà nhờ đó hai (hay nhiều) bên cùng nhau thiết lập khóa bí mật dùng chung thông qua quá trình truyền thông trên một kênh công cộng. Sau một số bước trao đổi gói tin cho nhau, U và V sẽ có chung một giá trị K. Bài toán an toàn khóa đặt ra trong các giao thức này là: − Mức thứ nhất là nếu W thu được các gói tin U, V gửi cho nhau vẫn không thể xác định được giá trị khóa chung K đó. − Mức thứ hai là ngoài việc giao thức đảm bảo an toàn mức một thì giao thức phải có tính xác thực ẩn. − Mức thứ ba là mức thứ hai, ngoài ra cả hai bên chắc chắn về bên sẽ dùng chung khóa với mình, và thực sự đã có các giá trị khóa đó. Tức là giao thức xác thực hiển và xác thực thực thể. 2.2.1. Trao đổi khóa Diffie-Hellman 2.2.1.1. Giao thức Đây là giao thức đơn giản nhất cung cấp một chìa khóa chung cho U và V để hai bên có thể sử dụng hệ mã khđối xứng nào đó [6]. Số nguyên tố p và phần tử nguyên thuỷ α ∈ Zp* được công khai (hoặc U chọn để truyền thông với V). Hoạt động của giao thức được trình bày như trong Hình 2.1 dưới đây: Nguyễn Thị Hiền Luận văn thạc sỹ 19 Hình 2.1 Giao thức Diffie-Hellman 1. U tính X = α a mod p rồi gửi cho V. U 2. V lấy ngẫu nhiên aV sao cho 0 ≤ aV ≤ p − 2 . 3. V tính Y = α a mod p rồi gửi cho U. V 4. U tính khóa chung K = Y aU = (α aV ) aU mod p= α au aV = mod p V cũng tính được K = X aV = (α aU ) aV mod p= α au aV mod p Giá trị aU và aV được chọn lại mỗi khi thực hiện giao thức nên đảm bảo tính mới (freshness) cho khóa K. 2.2.1.2. Giao thức là an toàn với tấn công thụ động Khi kẻ tấn công W nghe lén trên đường truyền, anh ta có thể thu được giá trị X và Y. Liệu rằng từ hai giá trị này anh ta có thể tính được K không? Cách đơn giản nhất là anh ta đi tìm aU hoặc aV, muốn thế thì W phải giải được bài toán Diffie-Hellman trong trường Z *p , mà bài toán này đến nay vẫn còn là khó giải với p lớn bất kỳ. Bài toán Diffie-Hellman: Biết α x mod p và α y mod p , với x, y được lấy ngẫu nhiên trong Zp-1. Tính α xy mod p . 2.2.1.3. Giao thức bị tấn công giữa dòng αa α a′ U U α a' V U W αa V V W là một kẻ tấn công giữa dòng, nhận được các gói tin U và V gửi cho nhau rồi thay thế bằng các giá trị do W đưa ra như trong sơ đồ trên. Nguyễn Thị Hiền Luận văn thạc sỹ 20 ′ U aV Sau khi thực hiện xong giao thức, U chia sẻ khóa bí mật K ' = α a ′ V aU V thiết lập khóa K " = α a mod p với W, còn mod p với W. Khi U mã hóa văn bản gửi cho V, chỉ có W có thể giải mã được, còn V thì không thể. Nguợc lại, khi V gửi cho U, thì cũng chỉ có W có thể giải mã được. U và V cứ tưởng là đang trao đổi thông tin với nhau, chứ không phải là với W. 2.2.2. Thỏa thuận khóa Station to Station (STS) 2.2.2.1. Giao thức STS Giao thức do Difie, Van Oorschot, và Wiener đưa ra [6]. Đây là giao thức thỏa thuận khóa có xác thực (xác thực thực thể và xác thực khóa) dựa trên trao đổi khóa Diffie-Hellman, nó khắc phục vấn đề tấn công giữa dòng trong giao thức trên. Ngoài số nguyên tố p và phần tử sinh α công khai của hệ thống, mỗi người dùng U còn có thuật toán ký sigU cùng với thuật toán kiểm thử verU. Giao thức này có sự tham gia của bên thứ ba TA có sơ đồ ký với thuật toán ký sigTA, thuật toán kiểm thử công khai là verTA. Mỗi cá thể U sẽ có chứng chỉ: C(U) = (ID(U), verU, sigTA(ID(U)), verU) trong đó ID(U) là thông tin xác định danh tính của U. Hoạt động của giao thức được trình bày như trong Hình 2.2 dưới đây: Hình 2.2 Giao thức STS 1. U sinh ngẫu nhiên aU, 0 ≤ aU ≤ p-2 2. U tính X = α aU mod p rồi gửi cho V. 3. V lấy ngẫu nhiên aV, 0 ≤ aV ≤ p-2 4. V tính Y = α aV mod p sau đó tính
- Xem thêm -