DKIM là gì? Cách xác thực email bằng DKIM
Hiện nay, trao đổi thông tin bằng email là hoạt động thiết yếu không chỉ trong công việc mà cả cho mục đích cá nhân. Tuy nhiên, đi kèm với tầm quan trọng của email là rất nhiều vấn đề về bảo mật, giả mạo hay spam,... đe dọa đến an toàn thông tin người dùng. Do đó, nhiều phần mềm đã ra đời để giải quyết các vấn đề của email mà một cái tên nổi bật là DKIM.
Vậy DKIM là gì ? Cách hoạt động của DKIM như thế nào? Để hiểu rõ hơn, hãy cùng Bizfly Cloud tìm hiểu trong bài viết “DKIM là gì?” hôm nay.
DKIM là gì?
DKIM là từ viết tắt của Domain Keys Identified Mail, đây là một phương thức giúp xác nhận các email thông qua chữ ký số của miền gửi thư để tránh email giả mạo. Ban đầu, DKIM được thiết kế ra là để người nhận có thể xác định email đến từ tên miền cụ thể nào, tên miền đó thật không, có được ủy quyền hay không.
Bên cạnh đó, DKIM cũng sở hữu khả năng chặn các địa chỉ email giả mạo, đây được xem là chức năng được hữu ích được sử dụng rất nhiều ngày nay, nhất là đối với các dòng thư giả mạo, thư lừa đảo, email spam chứa các mã độc,…
Lúc này, khóa công khai thường được công bố trên DNS dưới dạng một TXT record và khi bắt đầu gửi mail, bộ ký thư sẽ chèn lên đầu thư một trường DKIM-Signature có nội dung đặc biệt.
Cách hoạt động của DKIM
DKIM có bản chất là một phương thức để xác thực, chứ không phải là phương thức để chống Spam do DKIM có hỗ trợ chức năng ngăn chặn thư giả mạo, lừa đảo hay có chứa mã độc, nên người dùng thường cho rằng DKIM chính là để chống Spam.
DKIM hoạt động theo 2 phần riêng biệt bao gồm: chữ ký và xác minh. Đặc biệt, một trong số chúng có thể được xử lý bởi một module của tác nhân chuyển thư (MTA). Ngoài ra, tùy thuộc vào hệ thống Mail server khác nhau thì sẽ có những hướng dẫn khác nhau về cấu hình DKIM, thông thường đều phải thực hiện qua các bước sau:
- Đối với bên gửi:
- Bước 1: Đầu tiên hãy tạo ra cặp khóa private/public khi đó phần mềm OpenSSL có hỗ trợ.
- Bước 2: Sau đó, chuyển khóa Public lên khai báo bản ghi TXT trên DNS, ứng đúng với domain gửi email.
- Bước 3: Tiếp theo hãy cấu hình Mail server sử dụng khóa Private để ký vào email trước khi gửi email (Lưu ý: Khóa này chỉ lưu trên Mail server nên không thể là khóa giả).
- Đối với bên nhận:
- Bước 1: Khi nhận được email từ bên gửi hãy kiểm tra email có thông điệp được mã hóa do cấu hình DKIM.
- Bước 2: Tiếp theo, Query DNS để lấy khóa Public của Domain bên gửi sau đó giải mã, nếu giải mã đúng thì xác nhận nguồn gửi và email đảm bảo, trường hợp khi giải mã không đúng thì có thể từ chối hoặc vẫn nhận email phụ thuộc vào chính sách bên nhận.
Lý do nên sử dụng DKIM
Nên sử dụng DKIM do một lá thư gửi tới mà không có chữ ký DKIM thường sẽ bị hiểu nhầm là thư Spam, vì vậy những lý do nên sử dụng DKIM bao gồm:
- DKIM là một phương pháp để xác thực mà không phải là một phương pháp để chống Spam. Tuy nhiên DKIM có hỗ trợ việc ngăn chặn Spam bởi DKIM có thể đảm bảo thư nhận là giả hay thật thông qua xác minh: địa chỉ người gửi, tên miền gửi thư,… trong khi mà hầu hết các thư Spam đều mạo tên giả.
- DKIM được phát triển từ phương pháp DK của Yahoo và phương pháp IM của Cisco, sau đó đã được cơ quan IETF cấp tư cách Standards Track nên DKIM sở hữu tiềm năng phát triển vô cùng mạnh mẽ mặc dù nó chỉ là một phương thức xác nhận email non trẻ nhất. Ngoài ra, DKIM tập trung vào xác định nội dung hơn là phần vỏ bọc bên ngoài (trong trường hợp phần bên ngoại bị thay đổi ví dụ thư được forward từ đường chuyển thư phức tạp,…). Đặc biệt, DKIM giúp cho những lá thư có cơ hội sống sót cao hơn so với các phương pháp xác thực địa chỉ server khác như là SPF hay SIDF.
- Do được triển khai trên server hơn là trên client đồng thời không đòi hỏi một hạ tầng khóa công khai phức tạp, DKIM vô cùng đơn giản, gọn gàng hơn so với các phương pháp xác thực từ đầu đến cuối như là S/MIME hay PGP. Lưu ý, ý nghĩa xác thực DKIM nhẹ hơn nên không thể thay thế hoàn toàn cho các phương pháp khác.
Cách xác thực email bằng DKIM
Đầu tiên, lưu ý rằng DKIM có sử dụng bộ khóa chung – khóa riêng nhưng DKIM lại không có chức năng thiết lập các đường hầm truyền dẫn như việc sử dụng kết nối TLS và SSL. Giống như bản ghi SPF, DKIM sử dụng định dạng TXT trong các bản ghi DNS nên khi bộ khóa DKIM được tạo ra thì lập tức khóa riêng được lưu trữ trên server gửi mail, còn khóa chung sẽ được thêm vào bản ghi DNS của tên miền. DKIM được thực hiện với mỗi email hai hành động liên quan bao gồm:
- Đối với máy chủ gửi đi, lúc này, các trường thông tin sẽ được mã hóa với thuật toán và các quy định thiết lập trước do vậy sẽ tạo ra một chữ ký DKIM và được gắn vào header của email.
- Trường hợp nhận được email, nếu tên miền đã được thiết lập DKIM và xác thực chữ ký DKIM trong header của email, máy chủ nhận sẽ lấy giá trị khóa chung từ DNS của tên miền để giải mã chữ ký ra các trường thông tin trước khi được mã hóa. Lúc này, một loạt các so sánh theo tiêu chuẩn của DKIM sẽ được thực hiện. Và nếu loạt so sánh này đều trùng lặp, email sẽ được xác nhận là toàn vẹn, không có thay đổi gì về nội dung trong quá trình trung chuyển.
Lưu ý:
- DKIM không phải là một phương thức bắt buộc khi gửi email. Email vẫn có thể gửi bình thường khi không có DKIM. Tất nhiên, nếu email không qua được kiểm tra DKIM, email sẽ vẫn được gửi đến máy chủ nhận, và được xử lý. Nhưng khi gửi mail có DKIM sẽ giúp tăng cường tính nhận diện của một email, và đảm bảo nội dung không bị thay đổi trong quá trình gửi. Từ đó, email sẽ được đánh giá là email tin cậy và được gửi vào inbox của người nhận tránh trường hợp có thể bị gửi vào spam box.
- Ngày nay, DKIM vẫn được áp dụng rộng rãi ở các nhà cung cấp lớn như Microsoft Office 365, Google G Suite… và hầu hết DKIM được các phần mềm máy chủ thư điện tử hỗ trợ nhận diện. Do vậy, nếu người dùng kiểm tra và thấy email gửi đi từ tên miền của mình chưa được xác thực thì nên liên hệ với nơi cung cấp dịch vụ để được hỗ trợ sớm nhất.
Hi vọng qua bài viết "DKIM là gì?" mà chúng tôi vừa gửi đến bạn đã giúp bạn hiểu rõ hơn về DKIM, cách hoạt động của DKIM và những lợi ích mà nó mang lại. Hãy theo dõi Bizfly Cloud để cập nhật tin tức mới nhất mỗi ngày.