Luận văn được chia thành 4 chương và phần phụ lục Chương 1: Tổng quan về an ninh thông tin Chương 2: Nghiên cứu một số thuật tốn mã hóa với khóa cơng khai Chương 3: Tìm hiểu dấu vân tay
Dấu tin
Dấu tin là kỹ thuật cho phép truyền tải dữ liệu và thông tin bí mật bằng cách ẩn chúng trong dữ liệu khác mà không gây nghi ngờ Các phương pháp này dựa trên giả thuyết về giao tiếp bí mật giữa các bên tin cậy, không cho phép bên thứ ba can thiệp Tuy nhiên, những phương pháp dấu tin thường không vững chắc, dẫn đến việc thông tin ẩn có thể không được khôi phục sau khi dữ liệu bị sửa đổi.
Các hệ thống dấu tin thường bao gồm một hệ chèn thông tin và một hệ trích chọn Hình 1 – 1 là một hệ thống khái quát
Hình 1 – 1 Hệ thống dấu tin [11]
Hệ thống chèn bao gồm tệp dữ liệu chủ, tệp chứa thông điệp cần chèn và một khoá tuỳ chọn, thực hiện việc chèn thông điệp vào dữ liệu chủ để tạo ra tệp dữ liệu chủ được che đậy (covert host) Covert host này có thể được lưu trữ hoặc chuyển đi, và hệ thống trích chọn thực hiện việc lấy ra thông điệp từ covert host Nhiều hệ thống dấu tin tích hợp mã hoá tự động cho thông điệp, với sự quản lý dữ liệu chủ và khoá Các định dạng ảnh và âm thanh thường được sử dụng làm tệp dữ liệu chủ do kích thước lớn, cung cấp băng thông cần thiết cho việc chèn chính xác Hệ thống video cũng khai thác kích thước lớn của tệp và dòng dữ liệu Một số hệ thống không cần tệp dữ liệu chủ mà phát sinh covert host từ nội dung thông điệp Để thành công, hệ thống dấu tin phải đảm bảo covert host là vô hại, với mức độ che giấu phụ thuộc vào khả năng nhận thức của mối đe doạ Các tác giả thuật toán dấu tin khẳng định rằng sự thay đổi của dữ liệu chủ có thể thấy hoặc nghe được, và cần tránh các hình ảnh hay âm thanh không tự nhiên Tuy nhiên, nhiều thuật toán vẫn để lại dấu hiệu nhận dạng mà kẻ tấn công có thể khai thác bằng công cụ đặc biệt.
Đánh dấu ẩn
Đánh dấu ẩn có đặc điểm vững chắc chống lại các tấn công, khiến cho việc phá hủy dấu ẩn trở nên khó khăn ngay cả khi kẻ tấn công biết về sự tồn tại và nguyên lý thuật toán của nó Theo luật Kerkhoffs trong mật mã, một hệ thống an ninh vẫn an toàn ngay cả khi kẻ tấn công nắm rõ phương pháp mã hóa, miễn là không có được khóa giải mã thích hợp Để duy trì tính vững chắc, thông tin ẩn được phân phối dư thừa trên nhiều mẫu dữ liệu chủ, cho phép khôi phục dấu ẩn từ một phần nhỏ dữ liệu, nhưng hiệu quả khôi phục sẽ cao hơn với nhiều dữ liệu chủ được đánh dấu Thực tế cho thấy, các phương pháp đánh dấu ẩn có khả năng nhúng thông tin vào dữ liệu chủ ít hơn so với các phương pháp dấu tin, nhằm đảm bảo tính vững chắc Dấu tin và đánh dấu ẩn là hai phương pháp bổ sung cho nhau.
Các hệ thống đánh dấu ẩn số thương mại ngày càng phổ biến trong các ứng dụng, bao gồm cả ứng dụng độc lập và các mở rộng tích hợp Chúng có thể hoạt động trực tiếp trên máy tính của người dùng hoặc dưới dạng dịch vụ web Thông thường, các hệ thống này bao gồm một module để chèn dấu ẩn và một module để phát hiện chúng Khi thuật toán đánh dấu ẩn thay đổi, sẽ có một module trích chọn để khôi phục đối tượng về trạng thái ban đầu Dấu ẩn có thể được thiết kế bởi người dùng hoặc được tạo ra tự động để phù hợp với nội dung dữ liệu và các yếu tố khác như dấu thời gian Nhiều nhà cung cấp cung cấp dịch vụ đăng ký để quản lý dấu ẩn, có thể được thực hiện bởi nhà cung cấp hoặc chạy trên trang web của người dùng Để đảm bảo hiệu quả của dấu ẩn, các nhà cung cấp cũng cung cấp dịch vụ tìm kiếm có khả năng quét web để phát hiện các hình ảnh đã được đánh dấu.
Kỹ thuật đánh dấu ẩn có những yêu cầu khác biệt so với dấu tin, với khả năng mã hóa mạnh mẽ giúp ngăn chặn việc giả mạo Một số dấu ẩn có thể phát hiện bằng mắt thường, trong khi những dấu khác hoàn toàn ẩn Một số dấu ẩn dễ dàng nhận diện qua các bộ dò tìm, trong khi số khác cần khóa để phát hiện Một số dấu ẩn yêu cầu dữ liệu gốc để nhận diện, nhưng một số thì không Điều quan trọng là dấu ẩn phải chịu được sự thay đổi của dữ liệu Các bộ dò tìm thường đo độ mạnh của dấu ẩn và phát hiện chúng thông qua việc trích xuất thông tin, sau đó so sánh với dữ liệu gốc bằng không gian metric đồng dạng.
Nếu X là dấu ẩn gốc và X P * P là dẩu ẩn tìm được, thì metric đồng dạng sim(X, X P * ) được cho bởi công thức P
Giá trị của sim (X, X P *) nằm trong khoảng (0, 1), với giá trị càng gần 1 thì dấu ẩn tìm P càng giống với dấu ẩn gốc Khi độ mạnh vượt qua một ngưỡng nhất định, dấu ẩn sẽ được phát hiện Dấu ẩn ảnh cần phải chịu được các biến đổi như thay đổi tỉ lệ, cắt bỏ, lọc và các kỹ thuật khác mà không làm thay đổi hình ảnh Mặc dù những kỹ thuật này có thể làm giảm độ mạnh của dấu ẩn, nhưng người sử dụng vẫn kỳ vọng rằng dấu ẩn vẫn đủ mạnh để duy trì giá trị thương mại và đảm bảo sự nhận dạng Các dấu ẩn trong audio, video và tài liệu cũng có những yêu cầu tương tự.
Hình 1 – 2 Hệ thống đánh dấu ẩn [11]
Các kẻ tấn công dấu ẩn thường tìm cách xóa bỏ hoặc thay thế dấu ẩn bằng một dấu ẩn giả, hoặc gây khó khăn cho quá trình dò tìm Tuy nhiên, nhiều dấu ẩn có thể bị phá vỡ dễ dàng bằng các thao tác thông thường có sẵn trong các gói xử lý ảnh và âm thanh Các công cụ như StirMark và Unzign được sử dụng để loại bỏ dấu ẩn khỏi ảnh, trong khi kỹ thuật khảm chia ảnh thành các phần nhỏ hơn, khiến việc tìm kiếm dấu ẩn của các robot trở nên khó khăn Mặc dù các công cụ này có thể được sử dụng cho mục đích xấu, nhưng chúng cũng thúc đẩy sự cải tiến của các thuật toán đánh dấu ẩn, khuyến khích các tác giả kiểm tra và thiết kế các thuật toán mới để đánh bại chúng.
Dấu vân tay
Dấu vân tay là một thuật ngữ chỉ các ứng dụng đặc biệt của việc đánh dấu ẩn, liên quan đến bảo vệ bản quyền Thông tin về người tạo ra và người nhận dữ liệu số được nhúng dưới dạng dấu ẩn, tạo thành các mã duy nhất ngoài những mã thông thường.
Các hệ thống dấu vân tay chủ yếu tương đồng với các hệ thống đánh dấu ẩn, trong đó mỗi lần sao chép, một dấu vân tay mới được gán cho đối tượng, giúp nhận diện bản sao là duy nhất Các dịch vụ đăng ký và nhận dạng không chỉ theo dõi người sở hữu mà còn cả các bản sao chính xác Những yêu cầu đối với dấu tay tương tự như dấu ẩn, và các phương pháp tấn công cũng giống nhau Sự khác biệt chính giữa các kỹ thuật nằm ở cách phát sinh và quản lý dấu vân tay.
PKI và sinh trắc học với an ninh thông tin
PKI (Public Key Infrastructure)
1.2.1.1 Public Key – Chữ P, K trong PKI
Mật mã (cryptography) là quá trình chuyển đổi văn bản gốc thành dạng mã hóa và ngược lại thông qua giải mã Trước khi có máy tính cơ học và điện tử, việc này được thực hiện thủ công bằng các phương pháp thay thế và chuyển vị Dù thực hiện bằng tay hay máy tính, các quy trình này đều liên quan đến toán học và được gọi là thuật toán mật mã.
Trong lĩnh vực máy tính, thuật toán mã hóa và giải mã sử dụng khóa mã để thực hiện các biến đổi toán học Khóa đóng vai trò quan trọng như một tham số, giúp chuyển đổi văn bản gốc thành văn bản mã hóa và ngược lại.
Mật mã với khóa đối xứng
Khóa bí mật đối xứng được sử dụng trong hệ thống khi cùng một khóa được áp dụng cho cả mã hóa và giải mã Hình 1 – 3 minh họa rõ ràng quá trình mật mã sử dụng khóa đối xứng.
Hình 1 – 3 Hệ mật mã dùng khóa đối xứng [18]
Mật mã với khóa công khai
Mật mã với khóa công khai, hay còn gọi là mật mã phi đối xứng, là một nhánh của mật mã hiện đại sử dụng cặp khóa để mã hóa và giải mã dữ liệu Khác với mật mã khóa đối xứng truyền thống, trong đó cùng một khóa được sử dụng cho cả hai quá trình, mật mã khóa công khai bao gồm một khóa bí mật và một khóa công khai Người sử dụng chia sẻ khóa công khai với người khác trong khi giữ khóa bí mật cho riêng mình Dữ liệu mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng, và ngược lại, đảm bảo tính bảo mật trong giao tiếp.
Hệ thống khóa phi đối xứng không gặp phải những hạn chế của hệ khóa đối xứng, vì khóa công khai được tạo ra và sử dụng rộng rãi Trong mô hình này, chỉ có khóa bí mật cần được bảo mật, giúp tăng cường tính bảo mật và khả năng chia sẻ thông tin.
Hình 1 – 4 thể hiện việc sử dụng khóa công khai và khóa bí mật
Hình 1 – 4 Hệ mật mã dùng khóa công khai [18]
Hàm băm là một hàm chuyển đổi một mảng dữ liệu lớn thành một mảng dữ liệu nhỏ hơn, được sử dụng phổ biến trong nhiều ứng dụng tin học, không chỉ trong lĩnh vực mật mã Các hàm băm có những thuộc tính nhất định, cho phép ứng dụng trong công nghệ mật mã và đảm bảo tính toàn vẹn của dữ liệu, được gọi là hàm băm mật mã.
Chữ ký số ( Digital Signature)
Chữ ký số là quá trình mật mã khóa công khai, cho phép người ký xác nhận thông điệp của mình và đảm bảo rằng thông điệp không bị sửa đổi Quá trình này
- A lấy đặc trưng của văn bản (bằng cách dùng hàm băm một chiều, có sẵn trong hệ thống, để tạo ra mã băm của văn bản);
- A dùng khoá riêng của mình để mã hoá “đặc trưng của văn bản” đã được lấy ra, vì thế có được “MAC” – Message Authentication Code;
- Bước tiếp theo là tuỳ ý Nếu thấy cần thiết A có thể mã hoá văn bản (sử dụng mã đối xứng);
- A gửi cho B cả văn bản gốc (đã mã hoá hoặc không mã hoá) và “đặc trưng văn bản” đã “ký” (có chứa MAC);
Khi B nhận văn bản cùng với "đặc trưng" đã ký, B sẽ rút ra đặc trưng của văn bản mới nhận bằng hàm băm một chiều của hệ thống mà A đã sử dụng Đồng thời, B giải mã "đặc trưng đã ký" bằng khóa công khai của A và so sánh hai đặc trưng với nhau Nếu hai đặc trưng khớp nhau, điều này chứng tỏ nội dung văn bản nhận được không bị thay đổi so với lúc ký.
Hình 1 – 6 Ví dụ chữ ký số [18]
Các thành phần của PKI bao gồm:
Xác nhận chủ thể (Certification Authority -CA)
Xác nhận chủ thể là một thành viên tạo ra và "ký" tài liệu chứa tên người sử dụng cùng khóa công khai của họ Bất kỳ ai cũng có thể kiểm tra tệp đã được CA ký bằng khóa công khai của CA Sự tin cậy vào khóa công khai của người sử dụng có thể được sử dụng một cách đệ quy, thông qua chứng nhận chứa khóa công khai của CA được ký bởi một CA mà người dùng tin tưởng Ứng dụng rộng rãi của chứng thực số không chỉ bao gồm tên và khóa công khai mà còn chứa các thông tin bổ sung Sự kết hợp này cùng với chữ ký tạo thành một chứng thực mở rộng, bao gồm thông tin như địa chỉ email, quyền ký tài liệu với giá trị nhất định, hoặc quyền ký các chứng nhận khác.
Cơ sở dữ liệu (Database)
Cơ sở dữ liệu là một cấu trúc lưu trữ dữ liệu mà ở đó CA giữ thông tin được yêu cầu cho các thao tác bên trong của CA
Kho là hệ thống tập trung đáng tin cậy, dùng để chứa và phân phối các chứng nhận số và thông tin liên quan, được cung cấp như một cơ sở dữ liệu logic Hệ thống này thường được cung cấp thông qua một máy chủ từ xa, dựa trên giao thức truy nhập thư mục nhẹ (LDAP) hoặc các thư mục khác như X.500.
Quyền đăng ký (Registration Authority)
Quyền đăng ký (RA) là một phần quan trọng của hạ tầng khóa công khai (PKI), hoạt động độc lập với cơ quan cấp chứng thư số (CA) RA hỗ trợ CA trong việc ghi chép và xác minh thông tin cần thiết để phát hành các xác nhận khóa công khai, cũng như thực hiện các chức năng quản lý xác nhận khác.
Timestamp Server (TS) và Data Validation and Certification Server (DVCS)
TS ký chuỗi hoặc tệp dữ liệu để xác nhận sự tồn tại của chúng tại một thời điểm nhất định DVSC xác nhận tính chính xác của dữ liệu trước khi ký Cả TS và DVSC đều là các thành phần tùy chọn trong PKI.
Sinh trắc học (Biometrics)
Theo lý thuyết, mọi đặc điểm vật lý hoặc hành vi của con người đều có thể được sử dụng để nhận diện, miễn là chúng đáp ứng các điều kiện nhất định.
- Tính chất chung (universality), nghĩa là mọi người đều có đặc điểm đó
- Tính duy nhất (uniqueness), nghĩa là không tồn tại hai người có cùng đặc điểm đó
- Tính cố định (permanence), nghĩa là đặc điểm đó không biến đổi theo thời gian
- Tính khả thu thập (Collectability), nghĩa là đặc điểm đó có thể được đo bằng định lượng
Trong thực tế, có một số điều kiện quan trọng khác:
Sự thực thi (performance) được hiểu là khả năng nhận dạng chính xác trong các điều kiện làm việc khác nhau, đồng thời chịu ảnh hưởng từ các yếu tố môi trường.
- Tính khả chấp nhận (acceptability), cho thấy con người đang sẵn sàng chấp nhận hệ thống sinh trắc học đó ở mức độ nào
- Sự phá vỡ (circumvention), đó là mức độ đánh lừa hệ thống bằng các kỹ thuật
Sinh trắc học là công nghệ đang phát triển nhanh chóng và được áp dụng rộng rãi trong lĩnh vực pháp lý, đặc biệt trong nhận dạng tội phạm Hiện nay, công nghệ này còn mở rộng ra nhiều ứng dụng khác, cho thấy tiềm năng to lớn của nó trong các lĩnh vực đa dạng.
- An ninh cho ngành ngân hàng (banking security) với việc chuyển tiền điện tử, máy rút tiền tự động, thẻ tín dụng,…
- Kiểm soát truy cập vật lý (physical access control) như kiểm tra ra vào sân bay,…
- An ninh hệ thống thông tin (information system security), như truy cập cơ sở dữ liệu thông qua quyền đăng nhập
- Hải quan và nhập cư (customs and immigration) như INSPASS cho phép làm thủ tục nhập cư nhanh hơn dựa vào dạng bàn tay
- Các hệ ID quốc gia (national ID system) cung cấp một ID duy nhất cho mỗi công dân và tích hợp các dịch vụ của chính phủ khác
- Đăng ký cử tri và lái xe (voter and driver registration) cung cấp những điều kiện thuận lợi cho các cử tri và các lái xe
Hiện nay, một số kỹ thuật sinh trắc học chính đang được sử dụng phổ biến hoặc đang trong giai đoạn thử nghiệm, bao gồm nhận diện vân tay, nhận diện khuôn mặt, quét mống mắt và giọng nói Những công nghệ này không chỉ nâng cao độ bảo mật mà còn cải thiện trải nghiệm người dùng trong nhiều lĩnh vực khác nhau.
DNA, hay DeoxyriboNucleic Acid, là mã di truyền độc nhất cho mỗi cá nhân, trừ trường hợp các cặp sinh đôi đồng trứng có mẫu DNA giống nhau Nó chủ yếu được ứng dụng trong lĩnh vực pháp lý để xác định danh tính con người.
Có một số vấn đề hạn chế hiệu quả của biện pháp sinh trắc học, bao gồm: tính ô nhiễm và nhạy cảm, khi mà mẫu DNA của một người có thể dễ dàng bị đánh cắp để sử dụng cho các mục đích không chính đáng; vấn đề nhận dạng tự động theo thời gian thực, do các công nghệ hiện tại yêu cầu phương pháp hoá học phức tạp và kỹ năng chuyên gia; và vấn đề riêng tư, khi thông tin nhạy cảm về sức khỏe có thể bị lạm dụng, dẫn đến nguy cơ phân biệt đối xử.
Dấu vân tay là mẫu các đường vân và rãnh trên đầu mỗi ngón tay, được sử dụng để nhận dạng con người với độ chính xác cao từ nhiều thế kỷ trước Hiện nay, các mẫu vân tay được thu nhận qua cảm biến số, cho phép quét trực tiếp ngón tay và kiểm tra các thuộc tính như nhiệt độ và xung tần Tuy nhiên, bề mặt ngón tay có thể bị mờ sau khi sử dụng nhiều lần, làm giảm độ nhạy của thiết bị quét Các bộ cảm biến bán dẫn đã khắc phục vấn đề này bằng cách sử dụng điện dung để thu lại vân tay và tạo ra ảnh số Trong quá trình nhận dạng, các giá trị đặc trưng được tính toán từ các điểm giới hạn gọi là minutiae, và hệ thống so sánh các mẫu này với mẫu có sẵn Một thách thức lớn đối với các hệ thống nhận dạng dấu vân tay là yêu cầu tính toán rất cao.
Tai có hình dạng và cấu trúc mô sụn vành tai khác nhau ở mỗi cá nhân Đặc điểm tai không hoàn toàn duy nhất, và phương pháp nhận dạng tai dựa vào việc so sánh khoảng cách giữa các điểm nhô lên trên vành tai từ một vị trí mốc xác định.
Khuôn mặt là một trong những biện pháp sinh trắc học được chấp nhận rộng rãi do tính phổ biến trong nhận dạng hình ảnh Phương pháp này khó bị xâm phạm khi sử dụng ảnh khuôn mặt, nhưng cải trang khuôn mặt vẫn là thách thức trong các ứng dụng nhận dạng không giám sát Do đó, cần phát triển các kỹ thuật nhận dạng khuôn mặt có khả năng chịu đựng sự lão hóa, biểu cảm và biến đổi môi trường, cũng như các thay đổi trong trạng thái khuôn mặt khi tiếp xúc với camera.
Dáng đi là cách di chuyển đặc trưng của mỗi người, phản ánh sinh trắc học không gian và thời gian phức tạp Mặc dù không phải là yếu tố chính để phân biệt, dáng đi vẫn là đặc điểm có thể được kiểm tra trong các ứng dụng an toàn thấp Là một hình thức sinh trắc học hành vi, dáng đi không cố định và có thể thay đổi do biến động trọng lượng, chấn thương khớp hoặc tác động của rượu Dữ liệu thu thập từ dáng đi tương tự như thông tin từ khuôn mặt, cho phép nó được coi là một phương pháp sinh trắc học khả thi Các hệ thống sử dụng dáng đi hoạt động bằng cách phân tích chuyển động của từng khớp nối trong cảnh quay người đi bộ.
Hình dạng bàn tay và ngón tay là những đặc trưng riêng biệt và tương đối bất biến của mỗi cá nhân, như độ dài các ngón tay Hệ thống thu nhận ảnh yêu cầu hình ảnh toàn bộ bàn tay với các ngón tay mở rộng, trong khi các hệ thống dựa trên hình dạng bàn tay thường được sử dụng để kiểm tra mà không thể so sánh với các ứng dụng nhận dạng khác Ngược lại, các hệ thống dựa vào hình dạng ngón tay, chỉ cần một hoặc hai ngón tay, có thể được ứng dụng rộng rãi hơn do kích thước nhỏ gọn của chúng.
Võng mạc mắt tạo ra một "chữ ký của mắt" từ cấu trúc mạch, đóng vai trò là đặc trưng riêng biệt cho mỗi cá nhân Vì võng mạc được bảo vệ trong mỗi con mắt, nên nó không thể thay đổi hoặc sao chép dễ dàng, khiến nó trở thành một trong những phương pháp sinh trắc học an toàn nhất.
Giọng nói của mỗi người có những đặc trưng riêng biệt dựa trên các yếu tố vật lý tạo âm thanh như thanh âm, miệng, khoang mũi và môi Những đặc điểm này thường không thay đổi, chỉ có một phần có thể biến đổi theo thời gian do tuổi tác, trạng thái cảm xúc hoặc phẫu thuật Các kỹ thuật nhận dạng tiếng nói được phân chia thành hai hướng tiếp cận chính: Xác thực người nói tự động (Automatic Speaker Verification - ASV) và Nhận dạng người nói tự động (Automatic Speaker Identification - ASI).
Nhận dạng tiếng nói là quá trình phân biệt một cá nhân thông qua việc so sánh các đặc điểm âm thanh cụ thể với các mẫu đã được lưu trữ trong cơ sở dữ liệu.
NGHIÊN CỨU MỘT SỐ THUẬT TOÁN MÃ HÓA VỚI KHÓA CÔNG KHAI
Nguyên tắc chung của mã hoá với khoá công khai
Trong một hệ thống thông tin, các cá thể trao đổi thông tin mật cần lựa chọn một khoá lập mã và một công thức mã hoá k để bảo vệ dữ liệu Việc này đảm bảo an toàn và bảo mật cho thông tin được truyền tải giữa các cá nhân.
E R k R đã được công khai, cho phép tạo ra n khoá lập mã công khai k 1 R R , k R 2 R , …, k R n R Khi một cá thể muốn gửi thông báo đến cá thể thứ i j, thông báo sẽ được mã hoá bằng khoá lập mã E k j của cá thể j (đã được công khai) và sau đó được gửi đi.
C= E k j(P) Để giải mã thông báo này, cá thể thứ chỉ cần dùng khoá giải mã (bí mật j của mình) D k j k j
D là các khóa mã hóa và giải mã của cùng một cá thể thứ j Trong hệ thống, các cá thể nếu nhận được văn bản mật cũng không thể giải mã, vì việc biết khóa mã hóa E k j không giúp tìm ra khóa giải mã D k j trong thời gian chấp nhận được.
2.2 Giao thức trao đổi khoá của Diffie-Hellman
Vấn đề trao đổi khóa giữa các cá nhân sử dụng hệ mã đối xứng rất phức tạp Giao thức Diffie-Hellman cung cấp một giải pháp hiệu quả cho vấn đề này, với cách thực hiện đơn giản.
Nếu A và B muốn có một khóa chung cho hệ mã đối xứng, họ có thể chọn con số M = g^k^k^A^B.
B, có thể tính ra con số này một cách dễ dàng (bằng cách lấy số mà người kia đã công bố công khai nâng lên luỹ thừa với bậc bằng khoá bí mật của mình) Điều này thú vị là ngoài A và B không còn ai có khả năng tính ra được con số
M này, vì muốn tính được phải biết một trong hai số k R A R hoặc k R B R , mà ta đã biết việc tính logarit rời rạc là không khả thi
Khi nhu cầu trao đổi thông tin mật giữa A và B tăng cao, việc sử dụng con số M làm khóa cho mọi cuộc trao đổi không còn an toàn do khả năng bị lộ trước các công cụ thám mã hiện đại Thay vào đó, A và B nên sử dụng các con số khác nhau cho từng lần trao đổi A có thể chọn ngẫu nhiên một số và gửi đến B giá trị x X=g P x P, trong khi B cũng chọn ngẫu nhiên một số và gửi cho A giá trị y Y=g P y P Nhờ đó, cả hai bên có thể dễ dàng tính toán được một con số chung.
K=Y P x P =(g P y P ) P x P =(g P x ) P P y P =X P y P , trong khi người ngoài cuộc thì không thể biết được gì ngoài các số X, Y mà từ đó không thể nào tính được (trong thời gian chấp nhận được).K
Nguyên tắc mã hóa với khóa mã công khai được thể hiện qua hệ mã khóa công khai RSA, được phát minh vào năm 1978 bởi Rivest, Shamir và Adleman.
Hệ RSA dựa trên mã mũ với khoá lập mã là cặp (e, n), trong đó n là tích của hai số nguyên tố lớn p và q, và e được chọn sao cho (e, φ(n)) = 1 Giá trị φ(n) được tính theo công thức φ(n) = (p-1)(q-1) Để mã hoá thông điệp, trước tiên chuyển đổi thông điệp thành dạng số và nhóm thành các khối có độ dài tối đa phù hợp với khả năng tính toán Để mã hoá một khối P trong văn bản, thực hiện các phép toán cần thiết.
Quá trình giải mã không cần phải "khai căn bậc e modul n" của khối văn bản mã nếu biết số nghịch đảo d của e modul φ(n), với điều kiện thỏa mãn ed ≡ 1 (mod φ(n)) Nghịch đảo này tồn tại khi (e, φ(n)) = 1.
D(C) = C^P mod n, với điều kiện (P, n) = 1 Xác suất để P và n không nguyên tố cùng nhau là rất nhỏ, chỉ xảy ra khi P là bội của p hoặc q Thông thường, các "khối văn bản" có độ dài nhỏ hơn đáng kể so với p và q, do đó điều kiện (P, n) = 1 thường luôn được thỏa mãn Công thức này cho thấy việc giải mã một khối trong văn bản mật tương đương với việc nâng lên lũy thừa bậc và rút gọn theo mod n Cặp (d, n) được gọi là khóa giải mã.
Hệ mã RSA đáp ứng các nguyên tắc của mã hóa công khai, bắt đầu bằng việc mỗi cá nhân cần chọn hai số nguyên tố lớn p và q, mỗi số có khoảng 100 chữ số thập phân, quá trình này có thể thực hiện nhanh chóng nhờ vào phần mềm tính toán Sau khi chọn p và q, số mũ mã hóa e được xác định sao cho (e, φ(pq)) = 1, và thường chọn e là một số nguyên tố không quá nhỏ Điều kiện cần thiết là e phải lớn hơn n = pq, nếu không, có nguy cơ tìm ra p bằng cách khai căn thông thường bậc e của C Khi điều kiện này được thoả mãn, mã hóa sẽ tạo ra văn bản không trùng lặp với C.
Ta cần phải chứng tỏ rằng, việc biết khoá lập mã (e, n) không dẫn đến việc tìm được khoá giải mã (d, n)
Để tìm nghịch đảo d của e trong modulo φ(n), trước tiên cần xác định φ(n) Việc xác định φ(n) không đơn giản hơn so với phân tích số, vì khi đã biết n và φ(n), ta có thể phân tích n thành tích của hai số nguyên tố p và q.
Từ công thức đó ta tìm được p và q
Phương pháp mã hoá RSA đã cách mạng hóa công nghệ an ninh thông tin điện tử, tuy nhiên, tốc độ mã hoá của nó khá chậm, làm cho việc mã hoá khối lượng dữ liệu lớn trở nên không khả thi Để khắc phục vấn đề này, RSA được kết hợp với các hệ mã hoá đối xứng nhanh như DES hoặc IDEA Trong mô hình này, DES hoặc IDEA mã hoá toàn bộ văn bản bằng một khoá đối xứng bí mật, trong khi RSA mã hoá khoá đối xứng này Khoá đối xứng có kích thước nhỏ (vài trăm bit), giúp giảm thời gian mã hoá so với việc mã hoá toàn bộ văn bản Nhờ vào tính an toàn cao, khoá đối xứng được mã hóa bằng RSA có thể được gửi an toàn đến người nhận để giải mã.
Hệ mật mã Knapsack được phát triển dựa trên độ phức tạp của bài toán balô, trong đó bài toán này yêu cầu xác định xem có tồn tại một tập con của tập hợp số nguyên dương A = {a1, a2, , an} có tổng bằng một số nguyên dương C hay không Bài toán này thuộc lớp NP-khó, vì mặc dù việc kiểm tra tổng của một tập con bất kỳ có bằng C hay không là dễ dàng, nhưng việc tìm ra tập con đó lại khó khăn hơn do số lượng tập con lên đến 2^n, dẫn đến độ phức tạp O(2^n).
Hệ mật mã RSA
Hệ thống RSA dựa trên mã hóa mũ với khóa lập mã là cặp (e, n), trong đó n là tích của hai số nguyên tố lớn p và q Để đảm bảo tính bảo mật, số mũ e được chọn sao cho (e, φ(n)) = 1, với φ(n) là giá trị hàm Euler, được tính bằng (p-1)(q-1) Để mã hóa thông điệp, trước tiên, thông điệp được chuyển đổi thành dạng số và chia thành các khối có độ dài tối đa, tùy thuộc vào khả năng tính toán và tốc độ yêu cầu, với mỗi khối có số chữ số chẵn Mỗi khối P trong văn bản sẽ được mã hóa theo quy trình xác định.
Quá trình giải mã không cần phải “khai căn bậc e modul n” của khối văn bản mã nếu biết số nghịch đảo d của e modul φ(n), với điều kiện ed ≡ 1(mod φ(n)) Nghịch đảo này tồn tại khi (e, φ(n))=1.
D(C) = C^P mod n ≡ (P^P e^P) mod d ≡ P^P de^P mod n, với điều kiện (P, n) = 1 Xác suất để P và n không nguyên tố cùng nhau là rất nhỏ, chỉ xảy ra khi P là bội của p hoặc q Thông thường, các “khối văn bản” có độ dài nhỏ hơn p và q, vì vậy điều kiện (P, n) = 1 thường luôn đúng Công thức trên cho thấy rằng việc giải mã một khối trong văn bản mật tương đương với việc nâng lên lũy thừa rồi rút gọn theo mod n Cặp (d, n) được gọi là khóa giải mã.
Hệ mã RSA đáp ứng các nguyên tắc của hệ mã hoá công khai, yêu cầu mỗi cá nhân chọn hai số nguyên tố lớn p và q, mỗi số khoảng 100 chữ số thập phân, quá trình này có thể thực hiện nhanh chóng bằng máy tính Sau khi chọn p và q, số mũ mã hoá e được xác định sao cho (e, φ(pq)) = 1, với e là một số nguyên tố không quá nhỏ Điều kiện quan trọng là 2^P * e > n = pq; nếu không, có nguy cơ tìm ra P bằng cách khai căn bậc e của C Khi điều kiện này được thoả mãn, mã hoá sẽ tạo ra một văn bản không trùng lặp với C.
Ta cần phải chứng tỏ rằng, việc biết khoá lập mã (e, n) không dẫn đến việc tìm được khoá giải mã (d, n)
Để tìm nghịch đảo d của e trong mô-đun φ(n), trước tiên cần xác định φ(n) Việc xác định φ(n) không dễ dàng hơn so với việc phân tích, vì khi đã biết n và φ(n), ta có thể phân tích n thành tích của hai số nguyên tố p và q.
Từ công thức đó ta tìm được p và q
Phương pháp mã hoá RSA đã cách mạng hóa công nghệ an ninh thông tin điện tử, mặc dù tốc độ mã hoá của nó chậm, không phù hợp cho việc mã hoá khối dữ liệu lớn Tuy nhiên, RSA đã mở ra những ứng dụng độc đáo, đặc biệt khi kết hợp với hệ mã hoá đối xứng nhanh như DES hoặc IDEA Trong phương pháp này, DES hoặc IDEA mã hoá toàn bộ văn bản bằng một khoá đối xứng bí mật, trong khi RSA mã hoá khoá bí mật đó Khoá này có kích thước nhỏ (vài trăm bit), giúp giảm thời gian mã hoá so với mã hoá toàn bộ văn bản Nhờ tính an toàn cao, khoá đối xứng được mã hoá bằng RSA có thể được gửi an toàn đến người nhận để giải mã.
Hệ mật mã Knapsack
Hệ mật mã Knapsack được phát triển dựa trên độ phức tạp của bài toán balô, trong đó cho một tập n số nguyên dương A = {a1, a2, …, an} và một số nguyên dương C, mục tiêu là xác định xem có tồn tại một tập con của A có tổng bằng C hay không Bài toán này thuộc lớp NP-khó, vì việc kiểm tra tổng của một tập con bất kỳ để xem có bằng C hay không là dễ dàng, nhưng việc tìm ra tập con đó lại khó khăn hơn, do có đến 2^n tập con có thể, dẫn đến độ phức tạp O(2^n).
Trong lý thuyết mật mã, vectơ balô n chiều được định nghĩa là một n-bộ các số nguyên dương phân biệt Vectơ balô được gọi là siêu tăng nếu mỗi phần tử lớn hơn tổng các phần tử đứng trước Mặc dù bài toán balô tổng quát rất khó, nhưng trường hợp đặc biệt với vectơ balô siêu tăng lại dễ dàng hơn.
Giải bài toán với vectơ balô siêu tăng
Cho một vectơ siêu tăng V = (a R 1 R , a R 2 R ,…, a R n R ), trong đó, mỗi phần tử a R i R thoả mãn: a R i R > 1
∑ = Trong trường hợp này, ta có thuật toán đơn giản sau:
Mỗi phần tử a R i R sẽ có hai trạng thái: được chọn (b R i R = 1) hoặc không được chọn (b R i R = 0): for(i = n; i>0; i) if( C >= a R i R ){ bi R R = 1; C = C – a R i R ; } else b R i R = 0;
Chứng minh tính đúng đắn thuật toán trên Định lý 1 Nếu bài toán balô siêu tăng có nghiệm thì thuật toán trên trả về chính xác nghiệm đó
Khi chạy từ n về 0, nếu C >= a R i R, ta chỉ có lựa chọn duy nhất là chọn a R i R (b R i R = 1) Nếu không chọn a R i R, tổng các phần tử trước a R i R sẽ nhỏ hơn a R i R do tính chất siêu tăng, dẫn đến tổng nhỏ hơn C, vì vậy không thể có nghiệm Tiếp tục quá trình này cho đến khi về đầu dãy; nếu C = 0, bài toán có nghiệm, ngược lại, bài toán vô nghiệm.
Bản rõ được biểu thị bằng dãy bits, được chia thành các khối n bits Mỗi khối B được coi như một vectơ n phần tử, trong đó mỗi phần tử có giá trị là 0 hoặc 1.
- Chọn ngẫu nhiên một vectơ siêu tăng A = {a R 1 R ,a R 2 R , a R n R };
- Chọn ngẫu nhiên một số q, sao cho q lớn hơn tổng tất cả các phần tử của vectơ siêu tăng A cộng lại;
- Chọn ngẫu nhiên một số r, sau đó xác định số s sao cho r*s (mod q) = 1;
- Sinh dãy E như sau: e R i R = a R i R *r (mod q) với i=1 n;
- Mỗi khối B = {b R 1 R , b R n R } đươc mã hoá thành một số C như sau:
- Với mỗi khối C, xác định D = C*s (mod q);
Giải bài toán balô với vectơ siêu tăng A và tổng D, ta nhận được một khối nhị phân B gồm n bit Từ dãy nhị phân này, chúng ta có thể khôi phục bản rõ một cách chính xác.
Chữ ký số
Trong một hệ thống nhiều cá thể, việc công khai các khoá lập mã đặt ra câu hỏi về cách tránh tình trạng mạo danh trong việc gửi thông báo Để đảm bảo rằng người nhận biết chính xác nguồn gốc của thông báo và người gửi không thể thoái thác trách nhiệm, vấn đề xác nhận chủ thể trở nên quan trọng Phương pháp mã hoá công khai đóng vai trò then chốt trong việc này, khi mọi người có thể truy cập khoá công khai của từng cá thể để mã hoá thông điệp, nhưng chỉ cá thể đó mới sở hữu khoá bí mật để giải mã Trong hệ mã RSA, khoá bí mật và công khai có mối quan hệ đối xứng, cho phép người dùng mã hoá thông tin bằng khoá bí mật và người khác có thể giải mã bằng khoá công khai Điều này xác nhận rằng người mã hoá thông điệp chính là chủ nhân của khoá công khai, đảm bảo tính xác thực trong giao tiếp điện tử.
Khi cá thể A sử dụng khóa bí mật để mã hóa văn bản và gửi cho cá thể B, A đã khẳng định rằng chính mình là người phát đi văn bản đó Nếu văn bản do A tạo ra, thì có thể coi như A đã "ký" vào văn bản của mình Điều này đảm bảo tính xác thực và không ai có thể giả mạo nội dung.
Chữ ký của A không thể bị giả mạo vì không có khóa bí mật của A Việc ký văn bản điện tử chỉ xác nhận chủ thể của văn bản mà không bảo đảm tính bảo mật của nội dung, vì ai cũng có thể truy cập thông tin thông qua khóa công khai mà A đã công bố Để giữ bí mật cho văn bản đã ký khi chuyển cho cá nhân B, A cần ký bằng khóa bí mật của mình và sau đó mã hóa văn bản đã ký bằng khóa công khai của B Điều này đảm bảo rằng chỉ B mới có thể mở và đọc nội dung văn bản đã ký.
Những phân tích trên đây cho thấy phương pháp mã hoá công khai đem lại một công cụ lợi hại để “ký văn bản điện tử”
Chữ ký số là một phần quan trọng trong lĩnh vực thông tin điện tử, tương tự như chữ ký tay truyền thống trên các văn bản Tuy nhiên, chữ ký số có tính bảo mật cao hơn nhiều, nhờ vào các yếu tố kỹ thuật giúp tăng cường tính thuyết phục và độ tin cậy của thông tin.
- Chữ ký là bằng chứng thể hiện người ký có chủ định khi 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 người đã ký văn bản là ai
- Chữ ký không thể tái sử dụng, có nghĩa là nó là một phần của văn bản mà không thể sao chép sang các văn bản khác
- Văn bản đã ký không thể thay đổi được
Chữ ký điện tử là một phương tiện không thể giả mạo và không thể chối bỏ, vì người đã ký không thể phủ nhận việc ký của mình, trong khi người khác không thể tạo ra chữ ký đó Để đảm bảo những đặc tính này, giao thức "ký trong thế giới điện tử" cần sự hỗ trợ của công nghệ mã hóa Trong bài viết này, chúng ta sẽ xem xét một số giao thức sử dụng mã khóa công khai, bắt đầu với giao thức dựa trên ý tưởng của Diffie và Hellman.
- Người gửi (chủ sở hữu văn bản) ký văn bản bằng cách mã hoá nó với khoá bí mật của mình;
- Người gửi chuyển văn bản đã ký cho người nhận;
- Người nhận văn bản kiểm tra chữ ký bằng việc sử dụng khoá công khai của người gửi để giải mã văn bản
Giao thức này đảm bảo rằng chữ ký không thể bị giả mạo, vì chỉ có người gửi nắm giữ khóa bí mật để ký (mã hóa) văn bản Chữ ký xác nhận rằng chủ nhân của nó là người duy nhất giữ khóa bí mật và có thể được xác thực bằng khóa công khai của họ Ngoài ra, chữ ký không thể được tái sử dụng, vì không ai khác có khóa riêng của người gửi để ký văn bản khác Nội dung văn bản đã ký không thể bị thay đổi; nếu đã bị mở để chỉnh sửa, nó sẽ không thể được mã hóa lại bằng khóa bí mật của người đã ký Cuối cùng, người đã ký không thể từ chối chữ ký của mình, vì chỉ họ mới có khóa đã sử dụng để ký văn bản.
Giao thức thứ hai sử dụng khoá công khai và hàm băm một chiều, giúp giải quyết vấn đề tốc độ mã hoá chậm khi ký văn bản dài Thay vì sử dụng khoá công khai trực tiếp, ta có thể sử dụng hàm băm một chiều để tạo ra mã băm, hay đặc trưng của văn bản, vì nó có khả năng đại diện duy nhất và phản ánh trung thực mọi sự thay đổi Đặc trưng này chỉ là một chuỗi số nhị phân ngắn, thường không quá 256 bit, đảm bảo rằng nếu đặc trưng không thay đổi, văn bản gốc cũng không bị thay đổi Nhờ đó, giao thức này trở thành giải pháp hiệu quả cho việc ký các văn bản có kích thước lớn.
Giao thức này không chỉ tăng tốc độ ký lên hàng nghìn lần mà còn mang lại nhiều ưu thế khác, trong đó có việc giảm dung lượng lưu trữ Các chữ ký nhỏ hơn so với bản mã của toàn bộ văn bản giúp kho dữ liệu giảm gần một nửa Các kho lưu trữ bản quyền có thể chỉ cần lưu trữ chữ ký và dấu thời gian, mà không cần toàn bộ văn bản, vẫn khẳng định quyền sở hữu và thời gian ra đời của tác phẩm Điều này cho phép tác giả đăng ký bản quyền mà vẫn giữ bí mật nội dung cho đến khi cần công khai trước cơ quan có thẩm quyền.
TÌM HIỂU DẤU VÂN TAY VÀ CÁC ĐẶC TRƯNG
Vài nét về lịch sử dấu vân tay
Dấu vân tay là các đường vân và rãnh trên đầu ngón tay của con người, hình thành dựa trên các điều kiện ban đầu của lớp biểu bì trong giai đoạn phát triển của bào thai.
Hình 3 – 1 Một số loại dấu vân tay
Nghiên cứu về vân tay đã bắt đầu từ năm 1788 với mô tả chi tiết của Mayer về hình dạng giải phẫu của chúng Đến năm 1809, Thomas Bewick sử dụng dấu vân tay của mình làm nhãn hiệu riêng, đánh dấu một bước tiến quan trọng trong nghiên cứu nhận dạng vân tay Purkinje đã đề xuất phương pháp phân loại vân tay đầu tiên vào năm 1823, chia chúng thành chín loại dựa trên cấu trúc đường vân Năm 1880, Henry Fauld khẳng định tính cá nhân và duy nhất của vân tay, trong khi Herschel đã tập trung vào việc nhận dạng vân tay trong suốt 20 năm Cuối thế kỷ 19, Sir Francis Galton đã tiến hành nghiên cứu mở rộng về vân tay và giới thiệu các đặc trưng cục bộ (minutiae) vào năm 1888 Edward Henry, vào năm 1899, đã phát triển "hệ Henry" nổi tiếng, cung cấp một phương pháp tỉ mỉ cho việc phân loại dấu vân tay, tạo điều kiện thuận lợi cho việc nhận dạng Đến đầu thế kỷ 20, hình dạng và nguyên lý sinh học của dấu vân tay đã được hiểu rõ hơn.
- Với mỗi người, các đường vân và các rãnh của biểu bì có những đặc điểm khác nhau đối với mỗi ngón tay
- Kiểu cấu trúc có thể biến đổi theo mỗi cá nhân, nhưng chúng thay đổi trong giới hạn cho phép của phân loại hệ thống
- Những cấu trúc và các chi tiết nhỏ của các đường vân và rãnh là bất biến đối với mỗi ngón tay
Vào đầu thế kỷ 20, nhận dạng vân tay đã được các cơ quan thi hành pháp luật công nhận là một phương pháp hiệu quả để xác định danh tính cá nhân, và nó nhanh chóng trở thành một thủ tục chuẩn mực trong lĩnh vực pháp lý.
Các cơ quan nhận dạng vân tay trên toàn thế giới đã xây dựng cơ sở dữ liệu dấu vân tay của tội phạm Vào đầu thập kỷ 60, FBI, Home Office và Paris Police Department đã đầu tư vào phát triển hệ thống nhận dạng vân tay tự động (AFIS) Những nỗ lực này đã dẫn đến sự ra đời của nhiều AFIS, hiện đang được sử dụng bởi các cơ quan thực thi pháp luật toàn cầu Các hệ thống này không chỉ nâng cao hiệu quả công việc của các cơ quan mà còn giảm chi phí thuê và đào tạo chuyên gia nhận dạng dấu vân tay thủ công Thành công trong lĩnh vực pháp lý đã thúc đẩy sự phát triển nhanh chóng của AFIS sang các ứng dụng khác.
Các đặc trưng của dấu vân tay
Vùng mẫu chứa toàn bộ các đặc trưng chung của vân tay, cho phép đọc và phân lớp dựa trên thông tin trong đó Các điểm minutiae cần thiết cho việc nhận dạng có thể nằm ngoài vùng mẫu.
Hình 3 – 2 Vù ng mẫu (Pattern Area)
Các đường mẫu (Type Lines)
Các đường mẫu là hai đường vân song song, sau đó phân kỳ và bao bọc vùng mẫu Khi một đường mẫu bị đứt đoạn, đường vây bên ngoài sẽ được xem là tiếp tục của đường mẫu trước đó.
Các mẫu đường vân cơ bản
Có ba nhóm mẫu đường vân cơ bản thường gặp là dạng hình quai (loop), dạng hình cung (arch), và dạng vòng xoắn (whorl).
Dạng hình quai là loại thường gặp nhất trong các mẫu vân tay, chiếm khoảng 65% số vân tay
Hình 3 – 4 Vân tay dạng hình quai
Dạng hình cung có các đường vân mở hơn ở dạng quai
Hình 3 – 5 Vân tay dạng hình cung
Dạng vòng xoắn, hay còn gọi là hoa tay, chiếm khoảng 30% tổng số vân tay Đặc điểm nổi bật của dạng này là có ít nhất một đường vân tạo thành một vòng tròn khép kín.
Vân tay dạng vòng xoắn có hai điểm quan trọng cần lưu ý là điểm trung tâm (Core Point) và điểm delta Điểm trung tâm nằm gần vị trí trung tâm của vân tay, được sử dụng như điểm mốc để đọc và phân lớp vân tay, thường là điểm trên đường vân có độ cong lớn nhất Điểm delta là điểm rẽ nhánh đầu tiên, điểm kết thúc đột ngột của đường vân, điểm giao nhau của hai đường vân, chấm hoặc các đường vân gián đoạn, thường nằm tại hoặc gần điểm phân kỳ của hai đường mẫu.
Một số ví dụ về điểm delta và điểm core
Hình 3 – 7 Ví dụ về điểm delta và điểm core, hình vuông là điểm core, hình tam giác là điểm delta; ảnh (a) không có điểm core cũng như điểm delta
Số đường vân (Ridge Count)
Số đường vân giữa hai điểm delta và điểm trung tâm (core) được xác định bằng cách đếm số đường vân bị cắt bởi đoạn nối giữa điểm delta và điểm core.
3.2.2 Các đặc trưng cục bộ
Các đặc trưng cục bộ, hay còn gọi là các điểm minutia, là những điểm bất thường trong cấu trúc đường vân, bao gồm điểm kết thúc, điểm rẽ nhánh và điểm gặp nhau của hai đường vân Một trong những loại điểm minutia phổ biến là điểm kết thúc đường vân (ridge ending), xuất hiện khi đường vân kết thúc một cách đột ngột.
Hình 3 – 9 Điểm kết thúc đường vân Điểm rẽ nhánh của đường vân: là điểm mà tại đó đường vân rẽ ra làm hai nhánh
Hình 3 – 10 Điểm rẽ nhánh của đường vân
Những chấm nhỏ : gồm một số điểm đen gộp lại thành một dấu chấm, chẳng hạn như do mực rơi khi lăn tay
Hình 3 – 11 Ch ấm nhỏ Đoạn đường vân ngắn: một đoạn đường vân ngắn, nhưng không quá ngắn để có thể coi là một điểm
Hình 3 – 12 Đoạn đường vân ngắn Đường lòng hồ: một đường vân rẽ ra làm hai nhánh sau đó khép lại tạo thành một vòng kín
Nhánh nhỏ: đường vân chẽ ra một mẩu ngắn
Hình 3 – 14 Nhánh nhỏ Đoạn cắt ngang: do một vết mực nối hai đường vân lân cận
Các loại điểm minutia được chia thành hai loại chính: điểm kết thúc đường vân và điểm rẽ nhánh Một đoạn đường vân ngắn có thể chứa hai điểm kết thúc, trong khi một đường lòng hồ thường bao gồm hai điểm rẽ nhánh Hệ thống nhận dạng vân tay chủ yếu tập trung vào hai loại minutia quan trọng: điểm kết thúc bất thường của đường vân (ridge ending) và điểm rẽ nhánh của đường vân (ridge bifurcation).
Mỗi điểm minutia được xác định bởi bộ ba tham số (r, c, θ), trong đó θ (r, c) là tọa độ của điểm minutia, với r là hàng và c là cột Đối với điểm kết thúc đường vân, đường vân kết hợp là đường vân kết thúc tại điểm minutia Còn với điểm rẽ nhánh, đường vân kết hợp là đường vân bị rẽ nhánh tại điểm minutia đó.
Hình 3 – 16 Biểu diễn các điểm minutiae (E) là điểm kết thúc đường vân, (B) là điểm rẽ nhánh
Vân tay là một cấu trúc có hướng, với hướng này được xác định bởi cấu trúc đường vân trong một khu vực nhất định, không phải bởi một điểm cụ thể trên vân tay Khi chia ảnh vân tay thành các khối kích thước w x w không chồng lấp, hướng của cấu trúc đường vân có thể được xác định cho từng khối, tức là các điểm trong cùng một khối sẽ có cùng hướng Ví dụ dưới đây sẽ minh họa đặc trưng hướng của vân tay.
Hình 3 – 17 (a) Ảnh vân tay, (b) Ảnh vân tay với hướng của cấu trúc đường vân
3.2.4 Các đặc trưng phi cấu trúc
Các đặc trưng phi cấu trúc của vân tay bao gồm những yếu tố không phản ánh cấu trúc rõ ràng, chẳng hạn như độ cong và độ rộng của các đường vân.
GIẢI PHÁP AN NINH THÔNG TIN KẾT HỢP GIỮA PKI VÀ ĐẶC ĐIỂM VÂN TAY
Giải pháp an toàn thông tin dựa trên sự kết hợp giữa dấu vân tay và PKI
GIẢI PHÁP AN NINH THÔNG TIN KẾT HỢP MÃ CÔNG KHAI PKI VÀ ĐẶC ĐIỂM VÂN TAY
4.1 Điểm yếu của mã hóa với khóa công khai và sự chứng thực khóa
Mã hoá công khai và các hệ thống bảo mật liên quan có điểm yếu trong cấu trúc của chúng Cấu trúc mã hoá phi đối xứng dựa vào sự tồn tại của một cặp khoá, bao gồm một khoá công khai có thể được sử dụng bởi bất kỳ ai Tuy nhiên, không có sự kiểm tra nào để ngăn chặn việc gửi khoá công khai giả mạo từ người khác, dẫn đến nguy cơ mạo danh Do đó, việc xác minh tính xác thực của khoá công khai là một thách thức lớn trong bảo mật.
Để giải quyết vấn đề này, cần chứng thực các khoá công khai nhằm đảm bảo sự nhận dạng đáng tin cậy cho những người sở hữu chúng Trước khi sử dụng, mọi khoá công khai đều phải trải qua quá trình kiểm tra bởi một bộ "Xác nhận chủ thể" phù hợp, nhằm xác minh nguồn gốc và quyền sở hữu của chúng.
Sự đảm bảo này được thực hiện qua sự công khai một CERTIFICATE đảm bảo tính xác thực của một khoá công khai
4.2 Giải pháp an ninh thông tin kết hợp mã công khai PKI và đặc điểm vân tay
4.2.1 Đặt vấn đề Để khắc phục những điểm yếu của mật mã với khóa công khai, trong bản luận văn này tập trung tìm hiểu và đề xuất một giải pháp an ninh thông tin được xây dựng dựa trên sự kết hợp giữa những đặc điểm của dấu vân tay và một thuật toán mã hóa với khóa công khai Nội dung của phương pháp thể hiện ở các bước sau:
Bước đầu tiên trong quá trình này là trích xuất các đặc trưng của dấu vân tay và chuyển đổi chúng thành chuỗi bits Sau đó, chuỗi bits này sẽ được sử dụng để tạo ra một khóa cho thuật toán mã hóa với khóa công khai.
Bước 3: Mã hóa thông tin bằng thuật toán và khóa đã chọn
Bước 1 và 2: Giống như trong quá trình mã hóa
Bước 3: Giải mã thông tin bằng khóa thu được từ chuỗi bits
Nội dung cụ thể và kết quả thực nghiệm được trình bày sau đây
Các bước trích chọn đặc trưng của ảnh vân tay như sau:
Trong giai đoạn này, quá trình phân vùng ảnh vân tay được thực hiện nhằm loại bỏ những khu vực không chứa vân, chẳng hạn như các vùng bị nhiễu hoặc chứa các đối tượng thừa khác.
Hình 4 – 1 Vùng ảnh và vùng nền trong ảnh vân tay
6 5 4 3 2 Hình 4 – 2 8 hướng của một điểm
Một điểm ảnh có thể nằm trên một đường vân hoặc trong một rãnh, với rãnh được định nghĩa là khoảng trắng giữa hai đường vân Do đó, hướng của điểm ảnh được quy ước theo hướng của đường vân nếu nó nằm trên đó, hoặc theo hướng của rãnh nếu nó nằm trong khoảng trắng.
Hướng của điểm ảnh được xem xét không chỉ theo một chiều mà là cả hai chiều, với tổng cộng 8 hướng được xác định (hình 4 – 2) Để xác định hướng của mỗi pixel tại tọa độ (i,j), trước tiên cần tính giá trị xám trung bình.
G[i] ở của mỗi hướng i ( i = 0,1, ,7) trong cửa sổ 9 × 9 với tâm là điểm đang xét theo công thức[21]
G[1] = (Img[i-2][j-4] + Img[i-1][j-2] + Img[i+1][j+2] + Img[i+2][j+4]); G[2] = (Img[i-4][j-4] + Img[i-2][j-2] + Img[i+2][j+2] + Img[i+4][j+4]); G[3] = (Img[i-4][j-2] + Img[i-2][j-1] + Img[i+2][j+1] + Img[i+4][j+2]); G[4] = (Img[i 4][j] + Img[i 2][j] + Img[i+2][j] + Img[i+4][j]);- -
G[5] = (Img[i 4][j+2] + Img[i 2][j+1] + Img[i+2][j- - -1] + Img[i+4][j 2]); G[6] = (Img[i 4][j+4] + Img[i 2][j+2] + Img[i+2][j- - -2] + Img[i+4][j 4]); G[7] = (Img[i 2][j+4] + Img[i 1][j+2] + Img[i+1][j- - -2] + Img[i+2][j 4]); Trong đó, Img[i][j] đại diện cho giá trị mức xám tại tọa độ (i, j) cho mỗi cửa sổ.
Bài viết này đề cập đến 8 giá trị được phân chia thành 4 nhóm, mỗi nhóm bao gồm 2 hướng vuông góc với nhau Cụ thể, nhóm j (với j = 0,1,2,3) chứa hướng j và j + 4 Để tính toán sự sai khác mức T xám trung bình giữa hai hướng, chúng ta áp dụng phương pháp phù hợp.
Chúng ta chọn nhóm có giá trị khác nhau lớn nhất Nếu có nhiều hướng với giá trị lớn nhất giống nhau, ta sẽ lấy giá trị trung bình của chúng, được tính bằng công thức ax arg{ Max (G [i])} i=0,1,2,3 d i M =
Sau khi tính được nhóm có độ sai khác lớn nhất, ta sẽ xác định hướng của điểm ảnh như sau
ax ax ax+4 ax+4 nÕu ngợc lại
(trong đó Grey là mức xám tại pixel đang xét) Để giảm ảnh hưởng của nhiễu, ta chia ảnh thành các khối nhỏ kích thước
Trong bài viết này, chúng ta sẽ tìm hiểu về cách thiết lập hướng cho từng khối 16 x 16 Để tính xấp xỉ hướng của mỗi khối, ta sẽ đếm số lần xuất hiện của các hướng tại mỗi pixel trong khối Cụ thể, với mỗi hướng i (i = 0,1, ,7), ta sẽ xác định số lần xuất hiện N R i R Cuối cùng, hướng của khối sẽ được xác định bằng i = arg{Max (N )} cho i từ 0 đến 7.
Sau khi xác định hướng, giai đoạn nhị phân hóa sẽ được tiến hành Phương pháp nhị phân hóa, dựa trên hướng đã được đánh giá là hiệu quả nhất cho việc xử lý ảnh vân tay Quá trình nhị phân hóa sẽ được thực hiện theo các bước cụ thể.
Để xử lý pixel theo hướng i đã xác định, chúng ta tính giá trị xám trung bình cho hướng i và hướng i+4, ký hiệu lần lượt là G[i] và G[i+4] Sau đó, pixel sẽ được nhị phân hóa dựa trên các giá trị này.
255 nÕu [i] [i+4] ngợc lại trong đó: 255 chỉ màu nền hoặc màu rãnh của ảnh, còn 0 chỉ màu của đường vân
Làm mảnh và lấp lỗ trống
Hình 4 – 3 Minh hoạ biên và xương của đối tượng [2]
Sau khi nhị phân hóa, ảnh thu được có thể xuất hiện các lỗ trống do nhiễu, vì vậy cần thực hiện bước lấp các lỗ trống trong quá trình làm mảnh Để trích chọn các điểm đặc trưng một cách chính xác, chúng ta tiến hành làm mảnh để thu được xương của vân tay Quá trình này sẽ dựa trên biên của đối tượng, bóc dần các lớp biên từ ngoài vào trong cho đến khi không còn lớp nào để bóc, từ đó thu được xương của đối tượng.
Tiến trình làm mảnh được minh họa như sau[2]:
Hình 4 – 4 Quá trình làm mảnh