1. Trang chủ
  2. » Thể loại khác

Báo cáo PGP

25 635 15
Tài liệu đã được kiểm tra trùng lặp

Đ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

Mã hóa thông tin là việc biến đổi thông tin thành một dạng khác nhằm che dấu nội dung, ý nghĩa thông tin.

Trang 1 BÁO CÁO PGP Lời giới thiệu Mã hóa thông tin là việc biến đổi thông tin thành một dạng khác nhằm che dấu nội dung, ý nghĩa thông tin. Lý thuyết mã hóa thong tin là một môn học quan trọng có nhiều ứng dụng trong đời sống xã hội. Ngày nay, các ứng dụng mã hóa và bảo mật thong tin đang được sử dụng ngày càng phổ biến hơn trong các lĩnh vực khác nhau trên thế giới như an ninh, quân sự, quốc phòng,… cho đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng,… Mục Lục: Trang 2 I.Những khái niệm chung và cái nhìn khái quát về vai trò chữ ký điện tử…….3 1.1 Mã hóa bằng khóa công cộng 1.2 Chữ ký điện tử (Digital Signatures) 1.3 Mạng an toàn (Web Of Trust) 1.4 Những ranh giới tới sự an toàn (Boundaries to security) II.Các thuật toán sinh khóa trong PGP ………………………………………….5 1.Thuật toán SHA-1 2.Thuật toán DSA 3.Thuật toán RSA 4.Thuật toán ElGamal III.Ứng dụng PGP ………………………………………………………………….8 1. Cài đặt (Installtion) 2. Sử dụng khoá 3. Mã hoá và giải mã hoá (Encrypt And Decrypt) 4. Quá trình ký nhận và kiểm tra chữ ký (Sign And Checking Signatures) Trang 3 I)Những khái niệm chung và cái nhìn khái quát về vai trò chữ ký điện tử Trong những năm gần đây, sự phát triển của khoa học máy tính và internet càng cho ta thấy rõ hơn tầm quan trọng của mã hóa thong tin. Ứng dụng của mã hóa thong tin không chỉ đơn thuần là mã hóa và giải mã thong tin mà nó còn được ứng dụng trong việc chứng thực nguồn gốc nội dung thong tin (kỹ thuật chữ ký điện tử), xác nhận về người sở hữu mã khóa ( chứng nhận khóa công cộng), các quy trình giúp trao đổi thong tin và thực hiện giao dịch điện tử an toàn trên mạng. 1.1 Mã hóa bằng khóa công cộng (Public Key Encryption) Phương pháp mã hoá cổ điển chỉ sử dụng một Key cho sự mã hoá. Người gửi sẽ mã hoá thông điệp của họ bằng Key này. Về phía người nhận để giải mã hoá thông điệp thì họ cũng cần phải có Key đó. Như vậy chắc chắn người gửi sẽ phải gửi cho người nhận Key đó. Trên lý thuyết bản thân key đó rất có thể sẽ bị một người khác chiếm được trong quá trình vận chuyển. Nếu như một người khác có được Key đó thì họ sẽ có thể giải mã hoá và xem được nội dung thông điệp của người gửi. Như vậy tính an toàn và bảo mật cho thông tin không còn nữa. Khoá công cộng (Public Keys) được ra đời để giải quyết vấn đề này. Thực chất khoá Public Keys là việc sử dụng 2 Keys có liên quan với nhau: - Public Key: Được sử dụng để mã hoá những thông tin mà ta muốn chia sẻ với bất cứ ai. Chính vì vậy ta có thể tự do phân phát nó cho bất cứ ai mà ta cần chia sẻ thông tin ở dạng mã hoá. - Private Key: Đúng như cái tên, Key này thuộc sở hữu riêng tư của bạn và nó được sử dụng để mã hoá thông tin cho mục đích cá nhân của riêng bạn. Chỉ mình bạn sở hữu nó, Key này không được phép và không lên phân phát cho bất cứ ai. Khi cần thực hiện các nhu cầu mã hoá các thông tin riêng tư của chính mình một cách bí mật mà không muốn chia sẻ thông tin ấy cho bất cứ ai. Bạn cần phải sử dụng Private Key. Ngược lại khi muốn mã hoá các thông tin với mục đích chia sẻ nó với một số đối tượng mà bạn muốn chia sẻ thông tin bạn sẽ sử dụng Public Key để mã hoá chúng rồi gửi cho họ. Sau đó bản thân họ sẽ sử dụng Private Key của chính mình để giải mã hoá. Điều quan trọng ở khái niệm này là bạn phân biệt và hiểu được tính năng và cách sử dụng của 2 loại Keys: Public Key và Private Key. 1.2 Chữ ký điện tử (Digital Signatures) Để chứng minh rằng một thông điệp đã thực sự được gửi bởi chính người gửi mà không phải là do một kẻ khác giả mạo. Khái niệm Digital Signatures được ra đời. Khi sử dụng Digital Signatures bạn sẽ kiểm tra được tính xác thực của một thông điệp. Việc sử dụng Digital Signatures sẽ giảm bớt nguy Trang 4 cơ giả mạo thông điệp (đặc biệt là các thông điệp giả mạo các hãng Security, Software lớn với mục đích phát tán Virus hay Trojan tới bạn). Bởi bạn có thể dễ dàng xác minh được thông điệp đó có phải thực sự đến từ đó hay không ? Digital Signatures là sự kết hợp giữa Secret Key (khoá bí mật) và text. Tiếp đó nó sẽ sử dụng Public Key của người gửi để thẩm tra thông điệp. Nó không chỉ kiểm tra, thẩm định thông tin về người gửi mà nó còn có thể kiểm tra cả nội dung của thông điệp. Như vậy bạn sẽ biết được rằng thông điệp đó không bị giả mạo và nó không bị sửa đổi hay can thiệp vào nội dung trong quá trình vận chuyển. 1.3 Mạng an toàn (Web Of Trust) Một điểm yếu trong thuật toán của Public Key. Cho phép một người sử dụng có thể mang và lưu hành một Public Key với User ID không chính xác. Kẻ tấn công có thể lợi dụng yếu điểm này để giải mã và đọc những thông điệp của bạn. Kẻ tấn công sẽ khai thác nó bằng cách sử dụng các Public Key với các thông tin về User ID giả mạo trong đó. Chính vì vậy giải pháp PGP (GnuPG - Gnu Privacy Guard) đã được ra đời để giải quyết vấn đề này. Public Key có thể được ký nhận bởi người sử dụng khác. Chữ ký này (Signatures) thừa nhận Key được sử dụng bởi UID (User Identification - Định danh người dùng) thực sự thuộc về những người sở hữu nó chính thức. Bạn có thể tin tưởng vào sự tin cậy của Key đó, khi bạn tin tưởng người gửi Key đó và bạn biết chắc chắn rằng Key đó thực sự thuộc quyền sở hữu của người gửi đó. Chỉ khi bạn thực sự tin tưởng vào Key của người ký nhận cũng như tin tưởng vào Signatures đó. Để tăng thêm tính tin tưởng vào Key bạn có thể so sánh Finger Print bởi các kênh đáng tin cậy . 1.4 Những ranh giới tới sự an toàn (Boundaries to security) Nếu bạn có dữ liệu và bạn muốn giữ an toàn cho dữ liêuj của bạn. Khi đó bạn cần xác định nó sử dụng thuật toán mã hoá nào. Bạn đang nghĩ về sự an toàn một cách tổng thể cho hệ thống của bạn. Trên lý thuyết PGP được chúng ta coi là an toàn, nhưng khi bạn đọc tài liệu này đã có một số tính dễ tổn thương của PGP được biết đến. Trong cuộc sống không một điều gì có thể được coi là tuyệt đối. Tính an toàn của PGP cũng vây. Nhưng ta dám khẳng định với bạn rằng việc tấn công PGP không phải là việc dễ. Đa số các cuộc tấn công đề xảy ra phần lớn do sự bất cẩn của người sử dụng. Chẳng hạn như việc đặt Password không tốt sẽ dẫn đến việc Secret Key bị Crack. Hay một vài nguyên nhân khác mặc dù khó xảy ra nhưng chúng ta không thể không đề phòng như: PC của bạn bị dính Trojan, Keylogger, một ai đó đọc các thông tin về PGP hiển thị trên màn hình của bạn . Những sự kém an toàn ta đã nêu ở trên không hề có ý gì khác chỉ mong bạn hiểu rằng. Không một công cụ nào có tính an toàn tuyệt đối cả (PGP cũng vậy). Bạn sẽ có sự an toàn tuyệt đối trên hệ thống của mình khi bạn thường Trang 5 xuyên để ý, thắt chặt và thực hiện nghiêm túc các chính sách và nội quy về bảo mật, an toàn hệ thống . II)Các thuật toán sinh khóa trong PGP. 1.Thuật toán SHA-1: Khởi gán các biến: h0 := 0x67452301 h1 := 0xEFCDAB89 h2 := 0x98BADCFE h3 := 0x10325476 h4 := 0xC3D2E1F0 Tiền xử lý: • Thêm bit 1 vào cuối thông điệp • Thêm vào k bit 0 sao cho độ dài thông điệp nhận được đồng du 448 (mod 512) • Thêm 64 bit biểu diễn độ dài dài của thông điệp gốc (giá trị lưu dạng big-endian) • Chia thông điệp (đã padding) thành các khối 512 bit • Với mỗi khối 512-bit: • Chia thành 16 word (32 bit, big-endian) w[0 15] • Mở rộng 16 word (32 bit) thành 80 word (32 bit) • w[i]=(w[i-3]⊕ w[i-8] ⊕ w[i-14] ⊕ w[i-16]) <<< 1 với 16 ≤ i < 80 • A= h0, B= h1, C= h2, D= h3, E= h4 • 80 chu kỳ xử lý • h0+=A, h1+=B, h2+=C, h3+=D, h4+=E • Kết quả:= h0 | h1 | h2 | h3 | h4 ⊕:phép Xor Chu kỳ xử lý: • t là số thứ tự của chu kỳ • A, B, C, D, E là 5 word (32 bit) của trạng thái • F là hàm phi tuyến (thay đổi tùy theo chu kỳ) • <<< n là phép quay trái n vị trí • ⊞ phép cộng modulo 2 32 . • K t là hằng số . Trang 6 [ ] ( ) ( ) ( )( ) ( ) ( ) ( )        ≤≤⊕⊕ ≤≤∧∨∧∨∧ ≤≤⊕⊕ ≤≤∧¬∨∧ = 7960 , 5940 , 3920 , 190 , ,, tZYX tZYZXYX tZYX tZXYX ZYXtF        ≤≤ ≤≤ ≤≤ ≤≤ = 7960, 5940, 3920, 190, t t t t K t 0xca62c1d6 0x8f1bbcdc 0x6ed9eba1 0x5a827999 2.Thuật toán DSA: 2.1 Ký: • Tạo 1 số ngẫu nhiên với mỗi thông điệp, giá trị k thỏa mãn 0 < k < q . • Tính r = (g k mod p) mod q . • Tính s = (k -1 (SHA-1(m) + x*r)) mod q, ở đây SHA-1(m) là hàm băm mã hoá SHA-1 áp dụng cho thông điệp m . • Tính toán lại chữ ký trong trường hợp không chắc chắn khi r=0 hoặc s=0 . • Chữ ký là (r,s) . 2.2 Xác nhận: • Loại bỏ chữ ký nếu hoặc 0< r <q hoặc 0< s <q không thỏa mãn. • Tính w = (s) -1 mod q • Tính u1 = (SHA-1(m)*w) mod q • Tính u2 = (r*w) mod q • Tính v = ((g u1 *y u2 ) mod p) mod q • Chữ ký là có hiệu lực nếu v = r. 2.3 Sự đúng đắn của giải thuật: Trang 7 Lược đồ ký số là đúng đắn có ý nghĩa khi người xác nhận luôn chấp nhận các chữ ký thật. Điều này có thể được chỉ ra như sau: Từ g = h z mod p suy ra g q ≡ h qz ≡ h p-1 ≡ 1 (mod p) bởi định lý Fermat nhỏ. Bởi vì g>1 và q là số nguyên tố suy ra g có bậc q. Người ký tính Như vậy Bởi vì g có bậc q chúng ta có Cuối cùng, tính đúng đắn của DSA suy ra từ: 3.Thuật toán RSA : Giả sử Alice và Bob cần trao đổi thông tin bí mật thông qua một kênh không an toàn (ví dụ như Internet). Với thuật toán RSA, Alice đầu tiên cần tạo ra cho mình cặp khóa gồm khóa công khai và khóa bí mật. 3.1 Ký và tạo khóa: 1. Chọn 2 số nguyên tố lớn và với , lựa chọn ngẫu nhiên và độc lập. 2. Tính: . 3. Tính: giá trị hàm số Ơle : . 4. Chọn một số tự nhiên e sao cho và là số nguyên tố cùng nhau với . 5. Tính: d sao cho : . - Các số nguyên tố thường được chọn bằng phương pháp thử xác suất. - Các bước 4 và 5 có thể được thực hiện bằng giải thuật Euclid mở rộng - Bước 5 có thể viết cách khác: Tìm số tự nhiên sao cho cũng là số tự nhiên. Khi đó sử dụng giá trị Giả sử Bob muốn gửi đoạn thông tin M cho Alice. Đầu tiên Bob chuyển M thành một số m < n theo một hàm có thể đảo ngược (từ m có thể xác định lại M) được thỏa thuận trước.Lúc này Bob có m và biết n cũng như Trang 8 e do Alice gửi. Bob sẽ tính c là bản mã hóa của m theo công thức: Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (theo môđun) bằng thuật toán bình phương và nhân. Cuối cùng Bob gửi c cho Alice . • c là thông báo . • e là khóa ký . • Công bố: n,d (Public key ) • Giữ bí mật: p,q và e ( Private key) 3.2 Xác nhận và giải mã Alice nhận c từ Bob và biết khóa bí mật d. Alice có thể tìm được m từ c theo công thức sau: Biết m, Alice tìm lại M theo phương pháp đã thỏa thuận trước. Quá trình giải mã hoạt động vì ta có . Do ed ≡ 1 (mod p-1) và ed ≡ 1 (mod q-1), (theo Định lý Fermat nhỏ) nên: và Do p và q là hai số nguyên tố cùng nhau, áp dụng định lý số dư Trung Quốc, ta có: . hay: . 4.Thuật toán ElGamal: 4.1 Ký : • Phát sinh khóa : p, q, α , a, y= α a mod p • α là phần tử sinh của Z* p • Public key (p, α ), private key (a) • Tạo chữ ký • Chọn ngẫu nhiên k, 1 ≤ k ≤ p-1, gcd(k, p-1)=1 • Tính r = α k mod p • Tính k -1 mod (p-1) • Tính s = k -1 ∗ (h(m) - ar) mod (p-1) • Chữ ký là (r,s) 4.2 Xác nhận • Kiểm tra chữ ký Trang 9 • Kiểm tra 1 ≤ r ≤ p-1 • Tính v 1 = y r r s mod p • Tính h(m) và v 2 = α h(m) mod p • Chữ ký hợp lệ ⇔ v 1 =v 2 • )(mod r)( )1(mod )( )1(mod })({ sr)( 1 p parmhks parmhks aksarmh α≡α≡α −−≡ −−≡ + − III)Ứng dụng PGP 1. Cài đặt (Installtion) Bạn có thể lấy GnuPG từ Site chính thực của GnuPG (http://www.gnupg.org/) từ bạn có thể chọn các Mirmor có vị trí địa lý ở gần bạn để Download GnuPG về. Phiên bản mà nhóm làm là phiên bản có giao diện dành cho window. Hiện nay là vesion gpg4win-1.1.3 Sau đó nhắp đôi vào gpg4win-1.1.3 Ta chọn next để tiếp tục Trang 10 Ta chọn next, mặc định ta sẽ có hình sau: Ta thấy bảng trên, chọn next ta được như hình sau [...]... chọn file cần giải mã Chọn chức năng Decrypt Trang 22 Bước 2 : Cần nhập pass của user Vu để lấy được Secret Key Bước 3: Tạo ra file ban đầu la data doc (Nếu không đúng định dạng file thì chương trình sẽ báo lỗi) 4 Quá trình ký nhận và kiểm tra chữ ký (Sign And Checking Signatures) Thực chất có quá trình ký nhận và kiểm tra chữ ký nhằm mục đích tăng cường tính an toàn cho các phiên trao đổi dữ liệu mã... này thường được sử dụng để mã hoá những file nhị phân (Binary) ta có thể sử dụng chức năng :sign in separate file Sau ký xong ta có kết quả : Trang 24 +Nếu chọn sign and compress : tạo ra file data.txt .pgp +Nếu chọn cleartext signature: tạo ra file data.txt.asc +Nếu chọn sign in separate file: tạo ra file data.txt.sig 4.2 Xác nhận: +Trước tiên ta vào WinPT tức là quản lý khóa để chọn pass pharse của . Trang 1 BÁO CÁO PGP Lời giới thiệu Mã hóa thông tin là việc biến đổi thông tin thành một. sinh khóa trong PGP ………………………………………….5 1.Thuật toán SHA-1 2.Thuật toán DSA 3.Thuật toán RSA 4.Thuật toán ElGamal III.Ứng dụng PGP ………………………………………………………………….8

Ngày đăng: 15/01/2013, 09:13

Xem thêm: Báo cáo PGP

HÌNH ẢNH LIÊN QUAN

Ta thấy bảng trên, chọn next ta được như hình sau - Báo cáo PGP
a thấy bảng trên, chọn next ta được như hình sau (Trang 10)
Ta chọn next, mặc định ta sẽ có hình sau: - Báo cáo PGP
a chọn next, mặc định ta sẽ có hình sau: (Trang 10)
Sau khi mọi công việc như cài đặt và cấu hình đã xong xuôi. Bây giờ chúng ta bắt đầu xem xét đến tính năng chính của GnuPG là mã hoá và giải mã  hoá - Báo cáo PGP
au khi mọi công việc như cài đặt và cấu hình đã xong xuôi. Bây giờ chúng ta bắt đầu xem xét đến tính năng chính của GnuPG là mã hoá và giải mã hoá (Trang 19)
w