Tìm Hiểu Về Thuật Toán HMACSHA1 Đề tài nghiên cứu khoa học

23 1.3K 11
Tìm Hiểu Về Thuật Toán HMACSHA1  Đề tài nghiên cứu khoa học

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Ngày nay internet cùng với dịch vụ phong phú của nó có khả năng cung cấp cho con người cá phương tiện hết sức thuận lợi để trao đổi , tổ chức , tìm kiếm và cung cấp thông tin . Tuy nhiên , cũng như trong các phương thức truyền thông , việc trao đổi thông tin trong nhiều lĩnh vực đòi hỏi tính bí mật , tính toàn vẹn , tính xác thực cũng như trách nhiệm về các thông tin trao đổi Bên cạnh đó , tốc độ xử lí của máy tính ngày càng được nâng cao ,do đó cùng với sự giúp đỡ của các máy tính tốc độ cao , khả năng tấn công hệ thống thông tin có độ bảo mật kém rất dễ xảy ra.Chính vì vậy người ta không ngừng nghiên cứu các vấn đề an toàn và bảo mật thông tin.Cho đến nay với sự phát triển của công nghệ mã hóa phi đối xứng , người ta nghiên cứu và đưa ra nhiều kỹ thuật ,nhiều mô hình cho phép chúng ta áp dụng xây dựng các ứng dụng đòi hỏi tính an toàn thông tin cao. Việc đòi hỏi an toàn thông tin trong giao dịch cũng như trao đổi thông điệp được đặt lên hàng đầu vì vậy việc xác thực thông điệp là một vấn đề quan trọng trong giao dịch hiện nay.Để tìm hiểu một cách rõ hơn trong đề tài nghiên cứu này chúng em xin giới thiệu về thuật toán HMACSHA1 để hiểu rõ hơn trong việc xác thực thông điệp của thông tin .

Tìm hiểu thuật toán HMAC-SHA1 HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TOÀN THÔNG TIN MẬT MÃ NÂNG CAO AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page Tìm hiểu thuật toán HMAC-SHA1 ĐỀ TÀI :LỜI CẢM ƠN - Trước hết nhóm nghiên cứu xin gửi lời cám ơn đặc biệt đến giảng viên Thạc sĩ Phạm Quốc Hoàng, Khoa Mật Mã - Trường Học Viện Kỹ Thuật Mật Mã, người định hướng đề tài, cung cấp tài liệu tận tình bảo chúng em suốt trình thực nghiên cứu Chúng em xin gửi lời cám ơn sâu sắc tới Khoa Công nghệ thông tin, Khoa An toàn thông tin Trưởng ban nghiên cứu khoa học, thầy cô giáo trường tận tình giảng dạy động viên chúng em học tập nghiên cứu Tìm Hiểu Về Thuật Toán HMAC-SHA1 Hà nội ngày 17,tháng 3,năm 2015 Nhóm thực AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page Hà Nội, 17-3-2015 Giảng viên hướng dẫn: Phạm Quốc Hoàng Nguyễn Văn Nghị Nhóm sinh viên: Kiều Văn Tiến Nguyễn Quốc Trung Lưu Đình Nam Lớp :AT8A Tìm hiểu thuật toán HMAC-SHA1 MỤC LỤC AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page Tìm hiểu thuật toán HMAC-SHA1 Hình :xử lý khối liệu Hình :hàm nén Hình :Các hàm f Hình 4: Sơ đồkhối HMAC Hình :Thuật toán HMAC Hình :Thuật toán HMAC-SHA1 AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page Tìm hiểu thuật toán HMAC-SHA1 LỜI NÓI ĐẦU -Ngày internet với dịch vụ phong phú có khả cung cấp cho người cá phương tiện thuận lợi để trao đổi , tổ chức , tìm kiếm cung cấp thông tin Tuy nhiên , phương thức truyền thông , việc trao đổi thông tin nhiều lĩnh vực đòi hỏi tính bí mật , tính toàn vẹn , tính xác thực trách nhiệm thông tin trao đổi Bên cạnh , tốc độ xử lí máy tính ngày nâng cao ,do với giúp đỡ máy tính tốc độ cao , khả công hệ thống thông tin có độ bảo mật dễ xảy ra.Chính người ta không ngừng nghiên cứu vấn đề an toàn bảo mật thông tin.Cho đến với phát triển công nghệ mã hóa phi đối xứng , người ta nghiên cứu đưa nhiều kỹ thuật ,nhiều mô hình cho phép áp dụng xây dựng ứng dụng đòi hỏi tính an toàn thông tin cao Việc đòi hỏi an toàn thông tin giao dịch trao đổi thông điệp đặt lên hàng đầu việc xác thực thông điệp vấn đề quan trọng giao dịch nay.Để tìm hiểu cách rõ đề tài nghiên cứu chúng em xin giới thiệu thuật toán HMAC-SHA1 để hiểu rõ việc xác thực thông điệp thông tin AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page Tìm hiểu thuật toán HMAC-SHA1 CHƯƠNG :TÌM HIỂU VỀ HÀM BĂM SHA-1 Khái quát hàm băm: Hàm băm thuật toán không sử dụng khóa để mã hóa, có nhiệm vụ “lọc” (băm) thông điệp, file đưa vào theo thuật toán H chiều đó, đưa văn băm hay gọi văn bàn đại diện, văn có kích thước cố định Người nhận nội dung hay độ dài ban đầu thông điệp băm hàm băm.Giá trị hàm băm suy ngược lại nội dung thông điệp từ giá trị băm Tính chất hàm băm: + Tính chất 1: Hàm băm H không va chạm yếu, cho trước điện x, tiến hành mặt tính toán để tìm điện x # x’ cho H(x) = H(x’) + Tính chất 2: Hàm băm H không va chạm mạng khả tính toán để tìm điện x x’ cho x# x’ H(x) = H(x’) + Tính chất 3: Hàm băm H hàm chiều cho trước tóm lược thông báo z, thực mặt tính toán để tìm điện x cho H(x)= z 1.1 Tìm hiểu hàm băm sha-1 1.1.1 Giải thuật SHA-1 • Secure Hash Algorithm (SHA) phát triển National Institute of Standard and Technology (NIST) • Đầu vào: thông điệp với độ dài tối đa 264 bits • Đầu ra: giá trị băm (message digest) có độ dài 160 bits • Giải thuật gồm bước thao tác khối 512 bits Nguyên lý Giải thuật SHA-1 Bước 1: nhồi thêm liệu 1.1.2 AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page Tìm hiểu thuật toán HMAC-SHA1 • Thông điệp nhồi thêm bits cho độ dài l ≡ 448 mod 512 hay l = n * 512 + 448 (n,l nguyên) • Thông điệp luôn nhồi thêm liệu • Số bits nhồi thêm nằm khoảng đến 512 • Phần liệu nhồi thêm bao gồm bit theo sau bit Bước 2: thêm vào độ dài • Độ dài khối liệu ban đầu biểu diễn dạng nhị phân 64bit thêm vào cuối chuỗi nhị phân kết bước • Độ dài biểu diễn dạng nhị phân 64bit không dấu • Kết có từ bước đầu khối liệu có độ dài bội số 512 Khối liệu biểu diễn: • Bằng dãy L khối 512bit Y0 , Y1 ,…, Yl-1 • Bằng dãy N từ (word) 32bit M0 , M1 , M n-1 Vậy N = L x 16 Bước 3: khởi tạo đệm MD (MD buffer) • • Một đệm 160bit dùng lưu trữ giá trị băm trung gian kết Bộ đệm biểu diễn ghi 32 bit với giá trị khởi tạo dạng bigendian (byte có trọng số lớn từ nằm địa thấp nhất) sau:  A = 01 23 45 67  B = 89 AB CD EF  C = FE DC BA 98  D = 76 54 32 10  E = C3 D2 E1 F0 Các giá trị tương đương với từ 32bit sau: AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page Tìm hiểu thuật toán HMAC-SHA1  A = 01 23 45 67  B = 89 AB CD EF  C = FE DC BA 98  D = 76 54 32 10  E = C3 D2 E1 F0 Bước 4: xử lý khối liệu 512bit • Trọng tâm giải thuật bao gồm vòng lặp thực tất 80 bước • vòng lặp có cấu trúc nhau, khác hàm logic f1 , f2 , f 3, f4 • Mỗi vòng có đầu vào gồm khối 512bit thời đệm 160bit ABCDE Các thao tác cập nhật giá trị đệm • Mỗi bước sử dụng số K t (0 ≤ t ≤ 79) o Kt = 5A827999 (0 ≤ t ≤ 19) o Kt = 6ED9EBA1 (20 ≤ t ≤ 39) o Kt = 8F1BBCDC (40 ≤ t ≤ 59) o Kt = CA62C1D6 (60 ≤ t ≤ 79) • Đầu vòng (bước 80) cộng với đầu bước CVq để tạo CVq+1 AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page Tìm hiểu thuật toán HMAC-SHA1 Hình1 : xử lý khối liệu Bước 5: xuất kết • Sau thao tác toàn L blocks Kết khối thứ L bảng băm 160bit • Giải thuật tóm tắt sau: o CV0 = IV o CVq+1 o MD = CVl • = SUM 32 (CVq , ABCDEq ) Với AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page Tìm hiểu thuật toán HMAC-SHA1 o IV = giá trị khởi tạo đệm ABCDE o ABCDEq = đầu hàm nén khối thứ q o L = số khối 512bit thông điệp o SUM32 = phép cộng modulo 232 từ (32 bits) đầu vào o MD = giá trị băm 1.1.3 Hàm nén SHA-1 Hình :hàm nén Giải thuật thực tất 80 bước, bước mô tả sau: A [...]... (Wt-16 xor Wt-14 xor Wt-8 xor Wt-32) CHƯƠNG 2 : TÌM HIỂU VỀ THUẬT TOÁN HMAC-SHA1 2.1 Định nghĩa mã xác thực thông báo: MAC Thuật toán mã xác thực thông báo (MAC- Message Authentication Code) là một họ các hàm Hk được tham số hóa bởi một khóa bí mật k, với các tính chất sau: AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page 11 Tìm hiểu thuật toán HMAC-SHA1 - - Tính chất dễ tính toán : với một hàm Hk đã biết, cho trước một... tốn ít tài nguyên và năng lượng Với thời lượng và kiến thức còn hạn chế nên đề tài nghiên cứu của chúng em chắc chắn sẽ không tránh khỏi thiếu sót ,rất mong nhận được sự đóng góp ý kiến của các thầy cô các bạn để nhóm được hoàn thiện thêm AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page 22 Tìm hiểu thuật toán HMAC-SHA1 TÀI LIỆU THAM KHẢO -Để thực hiện bài báo cáo này, nhóm có tham khảo một số tài liệu sau: A, Tài. .. AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page 15 Tìm hiểu thuật toán HMAC-SHA1 vào của hàm băm để tạo một khóa n-bit K+ bit : là khóa K đã được bổ sung các số 0 vào bên trái để có độ dài là b- ipad : = 00110110 (36 trong hệ hexa) được lặp lại b / 8 lần opad : = 01011100 (5C trong hệ hexa) được lặp lại b / 8 lần -HMAC được thể hiện như sau : Hình 5 : Thuật toán HMAC AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page 16 Tìm hiểu thuật. .. AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page 21 Tìm hiểu thuật toán HMAC-SHA1 CHƯƠNG 3 : DEMO ĐÁNH GIÁ –KẾT LUẬN 3.1 Demo 3.2 Kết luận Thuật toán xác thực (HMAC) được sử dụng nhiều trong việc cung cấp tính toàn vẹn dữ liệu và các chức năng kiểm tra xác thực dữ liệu dùng trong các giao thức bảo mật như IPsec, TLS/SSL, và các tiêu chuẩn chữ ký số như FIPS 186-3 CENTIC cung cấp các IP core thực hiện thuật toán. .. 01011100 (5C trong hệ hexa) được lặp lại b / 8 lần HMAC-SHA1 được thể hiện như sau : • HMAC-SHA1 (K,M) =H(K+ xor opad )|| H[ K+ xor ipad ) ||M ]] AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page 20 Tìm hiểu thuật toán HMAC-SHA1 Hình 6 : Thuật toán HMAC-SHA1 -Thuật toán HMAC –SHA1được mô tả như sau: • 1 Bổ sung các số 0 vào phần cuối bên trái của khóa K để tạo một dãy bbit K + • 2 Thực hiện phép XOR K+ với ipad để... để thay đổi các thông điệp và tái tạo các giá trị hash chính xác Vì vậy, nếu các giá trị băm ban đầu và tính toán phù hợp, tin nhắn được xác thực AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page 19 Tìm hiểu thuật toán HMAC-SHA1 SHA-1 (Secure Hash Algorithm, cũng gọi là SHS, Hash mật Standard) là một thuật toán hash mật mã công bố bởi Chính phủ Hoa Kỳ Nó tạo ra một giá trị băm 160bit từ một chuỗi dài tùy ý HMAC-SHA1... việc tạo trạng thái hash khởi tạo phụ thuộc khóa HMAC tương đương với việc lấy trạng thái khởi tạo hash một cách ngẫu nhiên trên khóa bí mật AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page 14 Tìm hiểu thuật toán HMAC-SHA1 Hình 4: Sơ đồ khối HMAC 2.2.2 HMAC Algorithm (Thuật toán HMAC) -Mô tả hoạt đọng của HMAC - Các ký hiệu: H : là hàm băm nhúng (như MD5, SHA-1, ) IV : là vector khởi tạo đầu vào của hàm băm M : là... dụng hàm hash một chiều có khóa mật và đưa nó thành thuật toán mã xác thực thông báo (Mã xác thực thông báo sử dụng hàm một chiều) -HMAC thường được thiết kế dựa trên NMAC (Nested MAC), sử dụng hàm giả ngẫu nhiên – PRF (pseudo random function ) để tạo hàm MAC với giới hạn an toàn chứng minh được AT8A-HỌC VIỆN KỸ THUẬT MẬT MÃ Page 12 Tìm hiểu thuật toán HMAC-SHA1 tag = hash(key1 || hash(key2 || message))... dụng ,Khoa công nghệ thong tin,Trường Đại Học Khoa Học Tự Nhiên,Đại Học Quốc Gia Thành Phố Hồ Chí Minh,2005 [2]Phan Đình Diệu ,Lý thuyết mật mã và an toàn thong tin ,Đại học Quốc Gia Hà Nội,1999 B, Tài liệu Internet : [1]https://tools.ietf.org/html/rfc2104 [2]http://en.wikipedia.org/wiki/Hash-based_message_authentication_code [3]https://msdn.microsoft.com/enus/library/system.security.cryptography .hmacsha1( v=vs.110).aspx... sát một luồng thông điệp liên tục với cùng một khóa trong 150.000 năm để thành công Vì vậy ,có thể dụng MD5 thay cho SHA-1 như là hàm băm được dùng cho HMAC 2.3 TÌM HIỂU VỀ THUẬT TOÁN HMAC-SHA1 2.3.1 Khái Niệm : -HMAC-SHA1 là một loại thuật toán băm có khóa mà được xây dựng từ hàm băm SHA1 và sử dụng như một HMAC, hoặc mã xác thực thông điệp băm dựa trên Quá trình HMAC trộn một khóa bí mật với các thông

Ngày đăng: 26/06/2016, 09:18

Từ khóa liên quan

Mục lục

  • ĐỀ TÀI :LỜI CẢM ƠN

  • LỜI NÓI ĐẦU

    • 1. Khái quát về hàm băm:

    • Secure Hash Algorithm (SHA) phát triển bởi National Institute of Standard and Technology (NIST)

    • Đầu vào: thông điệp với độ dài tối đa 264 bits

    • Đầu ra: giá trị băm (message digest) có độ dài 160 bits

    • Giải thuật gồm 5 bước thao tác trên các khối 512 bits

      • 1.1.2 Nguyên lý Giải thuật SHA-1

      • Bước 1: nhồi thêm dữ liệu

      • Thông điệp được nhồi thêm các bits sao cho độ dài l ≡ 448 mod 512 hay l = n * 512 + 448 (n,l nguyên)

      • Thông điệp luôn luôn được nhồi thêm dữ liệu

      • Số bits nhồi thêm nằm trong khoảng 1 đến 512

      • Phần dữ liệu nhồi thêm bao gồm một bit 1 và theo sau là các bit 0

      • Bước 2: thêm vào độ dài

      • Độ dài của khối dữ liệu ban đầu được biểu diễn dưới dạng nhị phân 64bit và được thêm vào cuối chuỗi nhị phân kết quả của bước 1

      • Độ dài được biểu diễn dưới dạng nhị phân 64bit không dấu

      • Kết quả có được từ 2 bước đầu là một khối dữ liệu có độ dài là bội số của 512. Khối dữ liệu được biểu diễn:

      • Bằng một dãy L khối 512bit Y0 , Y1 ,…, Yl-1

      • Bằng một dãy N từ (word) 32bit M0 , M1 , M n-1 . Vậy N = L x 16

      • Bước 3: khởi tạo bộ đệm MD (MD buffer)

      • Một bộ đệm 160bit được dùng lưu trữ các giá trị băm trung gian và kết quả. Bộ đệm được biểu diễn bằng 5 thanh ghi 32 bit với các giá trị khởi tạo ở dạng bigendian (byte có trọng số lớn nhất trong từ nằm ở địa chỉ thấp nhất) như sau:

      • A = 01 23 45 67

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

Tài liệu liên quan