Trang chủ Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
Go Back   Trung tâm đào tạo Công Nghệ Thông Tin - TechNet > MICROSOFT AREA > CA - SSL Certificate...
CA - SSL Certificate... Những vấn đề liên quan đến SSL.....

Reply
Cho điểm chủ đề này: (1)
 
Thread Tools Display Modes
  #1  
Old 03-16-2010
chanhmuoi298's Avatar
chanhmuoi298 chanhmuoi298 is offline
Support Team
 
Join Date: Jan 2010
Posts: 100
Thanks: 46
Thanked 102 Times in 37 Posts
Send a message via Skype™ to chanhmuoi298
Default Tóm tắt Certificate Authority+SSL+Videolab

Video Lab CA+Key Recovery Agent [Chỉ thành viên mới có thể xem liên kết này. Vui lòng hoặc ]

Video Cấu hình SSL [Chỉ thành viên mới có thể xem liên kết này. Vui lòng hoặc ]

I. Giới thiệu về SSL

1.1 SSL là gì?

SSL(Secure Socket Layer) là một giao thức(protocol) cho phép bạn truyền đạt thông tin một cách an toàn qua mạng.

1.2 Thuật toán mã hóa

Mã hóa(encrypt) và giải mã(decrypt) thông tin dùng các hàm toán học đặt biệt được biết đến với cái tên là thuật toán mã hóa (cryptographic algorithm) và thường được gọi tắt là cipher.

1.3 Khóa là gì?

Khóa(key) là một thông tin quan trọng dùng để mã hóa thông tin hoặc giải mã thông tin đã bị mã hóa. Bạn có thể hiểu nôm na khóa là mật khẩu(password).

1.4 Các phương pháp mã hóa

Có hai phương pháp mã hóa được sử dụng phổ biến hiện nay là mã hóa bằng khóa đối xứng và mã hóa dùng cặp khóa chung - khóa riêng..

1.4.1 Mã hóa bằng khóa đối xứng(symmetric-key)

Khóa dùng để mã hóa cũng là khóa dùng để giải mã.

1.4.2 Mã hóa dùng cặp khóa chung - khóa riêng (public key - private key)

Một khe hở trong mã hóa đối xứng là bạn phải chuyển khóa cho người nhận để họ có thể giải mã. Việc chuyển khóa không được mã hóa qua mạng là một điều cực kì mạo hiểm. Nếu như khóa này rơi vào tay người khác thế là họ có thể giải mã được thông tin mà bạn đã chuyển đi. Phương pháp mã hóa bằng khóa chung - khóa riêng ra đời nhằm giải quyết vấn đề này. Thay vì chỉ có một khóa duy nhất dùng chung cho mã hóa và giải mã, bạn sẽ có một cặp khóa (P&Q) dùng để mã hóa và giải mã, khóa Chung( Public Key- hay còn gọi là P) dùng để mã hóa, khóa Riêng( Private Key- hay còn gọi là khóa cá nhân) dùng để giải mã. Bạn cho người khác biết khóa chung của bạn để họ mã hóa các thông tin gởi đến bạn. Chỉ có bạn mới có khóa riêng để giải mã các thông tin này. Nếu như thông tin này có rơi vào tay người khác thì họ cũng không thể giải mã được vì chỉ có bạn mới có khóa riêng mà thôi. Có thể hiểu đơn giản là:" Nếu mã hóa bằng Q thì chỉ có thể giải mã bằng P và ngược lại"

Cặp khóa P va Q phải được sinh ra đồng thời, có hạn dùng....và do CA server phát sinh và cấp cho user.

1.5. Độ dài khóa (key-length)

Độ dài khóa được tính theo bit: 128bit, 1024bit hay 2048bit,... Khóa càng dài thì càng khó phá. Chằng hạn như khóa RSA 1024bit đồng nghĩa với việc chọn 1 trong 2^1024 khả năng.

1.6 Password & passparse

Password và passparse gần giống nhau. Password không bao giờ hết hạn(expire). Passparse chỉ có hiệu lực trong một khoảng thời gian nhất định có thể là 5 năm, 10 năm hay chỉ là vài ba ngày. Sau thời gian đó, bạn phải thay đổi lại mật khẩu mới. Nói chung, mọi thứ trong SSL như passparse, khóa, giấy chứng nhận, chữ kí số (sẽ nói sau), ... đều chỉ có thời hạn sử dụng nhất định. Passparse được dùng để mở (mã hóa/giải mã) khóa riêng.


II. Cơ chế làm việc của SSL

Để dễ hiểu, phần này sẽ trình bày qua ví dụ cụ thể: Tí trao đổi thông tin với Tèo bằng công nghệ khóa chung. {something}key có nghĩa là something được mã hóa hoặc giải mã bằng key.

Tí cần chắc chắn là mình sẽ nói chuyện với Tèo mà không phải là một ai khác. Tí sẽ tiến hành xác thực(authenticate) Tèo .Tèo có một cặp khóa gồm một khóa chung và một khóa riêng. Tèo cho Tí biết trước khóa chung của mình (sẽ nói sau bằng cách nào). Tí tạo ra một thông điệp ngẫu nhiên(random message) và gởi nó đến Tèo:
Tí->Tèo message ngẫu nhiên


Tèo dùng khóa riêng của mình để mã hóa thông điệp vừa nhận được và gởi trả lại cho Tí:
Tí {message ngẫu nhiên}khóa-riêng-của-Tèo


Tí nhận được message từ Tèo, dùng khóa chung của Tèo để giải mã message này và sau đó so sánh message vừa giải mã được với random-message đã gởi đi. Nếu giống nhau, Tí có thể tin chắc rằng mình đang nói chuyện với Tèo.

1. Bản tóm tắt (digest)

Thay vì phải mã hóa toàn bộ message nhận được từ Tí, Tèo có thể xây dựng một bản tóm tắt(digest) của message bằng hàm băm một chiều (hash one-way), sau đó mã hóa digest bằng khóa riêng của mình và gởi cho Tí. Tí sẽ dùng khóa chung của Tèo để giải mã digest do Tèo gởi tới và tính digest của message đã được gởi đi, sau đó so sánh hai digest này với nhau. Nếu trùng nhau, có nghĩa Tí có thể tin chắc là mình đang nói chuyện với Tèo.

Digest thực chất là chỉ là một số nguyên(integer). Hai thuật toán phổ biến được dùng để tạo digest là MD5 hash 128bit, SHA hash 160 bit. Ai đó có được digest của Tí cũng không thể nào suy luận ra được message nguyên bản(original) vì digest chỉ là giá trị hash một chiều. Hai message khác nhau sẽ có digest khác nhau, khả năng trùng nhau xấp xỉ là 0.

2. Chữ kí điện tử (digital signature)


Theo cách ở trên thì Tèo đã kí(sign) message do Tí gởi tới, nhỡ như ai đó đã thay đổi message này thì sao? Vì vậy cần thay đổi một chút như sau:
Tí->Tèo: Chào, Có phải Tèo đó không?
Tí: Tí, Mình là Tèo đây!
{digest[Tí, Mình là Tèo đây!]}khóa-riêng-của-Tèo


Như bạn thấy Tèo không hề kí message của Tí. Thay vào đó, Tèo sẽ gởi một mesage khác(không bị mã hóa) và digest của của message này (đã được mã hóa bằng khóa riêng của Tèo) đến cho Tí. Tí chỉ tin tưởng vào chính mình. Tí dễ dàng thẩm tra Tèo bằng cách dùng khóa chung của Tèo giải mã digest nhận được, sau đó tính digest của message nhận từ Tèo và so sánh hai digest này với nhau. Digest mà Tèo gởi tới Tí chính là một chữ kí điện tử. Nó kí cho message "Tí, Mình là Tèo đây!" để đảm bảo chắc chắn là message này không bị ai đó thay đổi gì khi đến Tí. Nếu thay đổi Tí sẽ biết ngay qua việc thẩm tra digest.

3. Trao khóa chung

Tèo trao khóa chung của mình cho Tí bằng cách nào? Bạn hãy xem thử giao thức sau:
Tí->Tèo: Xin chào!
Tí: Chào, Mình là Tèo. Đây là khóa chung của mình!
Tí->Tèo: Hãy đưa bằng chứng đi!
Tí: Tí, Mình là Tèo đây!
digest[Tí, Mình là Tèo đây!]}khóa-riêng-của-Tèo

Với cách này thì ai cũng có thể giả mạo Tèo và trao khóa chung của họ cho Tí, làm cho Tí tưởng lầm là mình đang nói chuyện với Tèo.

Để giải quyết vấn đề này, Tí và Tèo có thể dùng giấy chứng nhận điện tử

4. Giấy chứng nhận điện tử (digital certificate)

Giấy chứng nhận điện tử dùng để chứng nhận khóa chung của một cá nhân nào đó. Một giấy chứng nhận điện tử thường bao gồm các thứ sau:
tên cơ quan cấp giấy chứng nhận (issuer's name)
tên thực thể(entity) được cấp giấy chứng nhận(còn được gọi là đối tượng - subject)
khóa chung của subject
tem thời gian(time-stamps) cho biết thời gian có hiệu lực của giấy chứng nhận
Chỉ có các cơ quan có thẩm quyền Certificate Authority (thường được gọi tắt là CA) mới đươc phép cấp giấy chứng nhận. Giấy chứng nhận được kí bằng khóa riêng của người cấp. CA cũng được tổ chức theo dạng cây "hierarchy" tương tự như domain-name. Dĩ nhiên bạn cũng có thể tạo ra một CA mới cho riêng cho mình.

Chúng ta hãy xem giao thức mới này:
Tí->Tèo: Xin chào!
Tí: Chào, Mình là Tèo. Đây là giấy chứng nhận của mình!
Tí->Tèo: Hãy đưa bằng chứng đi!
Tí: Tí, Mình là Tèo đây!
{digest[Tí, Mình là Tèo đây!]}khóa-riêng-của-Tèo


Ai đó dùng giấy chứng nhận của Tèo để giả mạo Tèo sẽ bị Tí phát hiện ngay!
Tí->Mắm Xin chào
Mắm->Tí Chào, Mình là Tèo. Đây là giấy chứng nhận của mình!
Tí->Mắm Hãy đưa bằng chứng đi!
Mắm->Tí ???


Mắm không biết khóa riêng của Tèo nên không thể xây dựng được message để Tí có thể tin mình là Tèo.

5. Trao đổi khóa bí mật (secret-key)


Sau khi Tí đã xác thực mình đang nói chuyện với Tèo, Tí sẽ gởi cho Tèo một message đã bị mã hóa bằng khóa chung của Tèo:
Tí->Tèo {khóa bí mật}khóa-chung-của-Tèo


Bằng cách này, chỉ có Tèo mới có thể giải mã message trên và lấy được khóa bí mật bởi vì chỉ có Tèo mới biết được khóa riêng để giải mã. Trao đổi khóa bí mật bằng công nghệ khóa chung cực kì an toàn. Không một ai ngoại trừ Tí và Tèo biết được khóa bí mật. Khóa bí mật này còn được biết đến với cái tên là khóa phiên(session key). Kể từ đây Tí và Tèo sẽ dùng khóa phiên để trao đổi dữ liệu cho nhau. Khóa phiên được tạo ra trong mỗi phiên kết nối SSL và hoàn toàn bí mật(chỉ có Tí và Tèo biết) nên rất an toàn. Công nghệ chuyên chở khóa phiên bằng khóa chung và dùng khóa phiên như một khóa đối xứng bí mật để trao đổi dữ liệu cho nhau còn được biết đến với cái tên là mã hóa dùng khóa lai ghép(hybrid), tức là kết hợp cả hai phương pháp mã hóa dùng khóa đối xứng và khóa chung-khóa riêng, hay thuật toán mã hóa đối xứng kết hớp với bất đối xứng.

Đây là giao thức mới:
Tí->Tèo: Xin chào!
Tí: Chào, Mình là Tèo. Đây là giấy chứng nhận của mình!
Tí->Tèo: Hãy đưa bằng chứng đi!
Tí: Tí, Mình là Tèo đây!
{digest[Tí, Mình là Tèo đây!]}khóa-riêng-của-Tèo
Tí->Tèo: Ok Tèo, Đây là {khóa bí mật}khóa-chung-của-Tèo
Tí: {message 1}khóa-bí-mật
Tí: {message 2}khóa-bí-mật
...

6. Tấn công man-in-the-middle


Giao thức trên chưa phải là an toàn tuyệt đối. Mắm ngồi giữa Tí và Tèo có thể chơi trò tấn công man-in-the-middle như sau:
Tí->Mắm: Xin chào!
Mắm->Tí: Xin chào!

Mắm: Chào, Mình là Tèo. Đây là giấy chứng nhận của mình!
Mắm->Tí: Chào, Mình là Tèo. Đây là giấy chứng nhận của mình!

Tí->Mắm: Hãy đưa bằng chứng đi!
Mắm->Tèo: Hãy đưa bằng chứng đi!

Mắm: Tí, Mình là Tèo đây!
{digest[Tí, Mình là Tèo đây!]}khóa-riêng-của-Tèo
Mắm->Tí: Tí, Mình là Tèo đây!
{digest[Tí, Mình là Tèo đây!]}khóa-riêng-của-Tèo

Tí->Mắm: Ok Tèo, đây là {khóa bí mật}khóa-chung-của-Tèo
Mắm->Tèo: Ok Tèo, đây là {khóa bí mật}khóa-chung-của-Tèo

Mắm: {some message}khóa-bí-mật
Mắm->Tí: sửa đổi[{some message}khóa-bí-mật]

Mắm sẽ chuyển tiếp dữ liệu giữa Tí và Tèo cho đến khi họ trao đổi khóa bí mật. Tại thời điểm này Tí nghĩ rằng mình đang nói chuyện với Tèo nên tin tưởng hoàn toàn vào các message do Tí gởi tới. Thực chất không phải là như vậy. Mắm mặc dù không biết khóa bí mật nhưng hoàn toàn có thể thêm hoặc sửa đổi gì đó trên các dữ liệu được gởi từ Tèo đến Tí.

7. Mã xác thực thông điệp (MAC)
Để ngăn chặn cuộc tấn công man-in-the-middle trên, Tí và Tèo có thể dùng thêm mã xác thực thông điệp (Message Authentication code) thường được gọi tắt là MAC. Thuật toán tạo MAC khá đơn giản:


Code:
MAC = Digest[some message, khóa bí mật]


Mắm không biết khóa bí mật nên không tài nào tính đúng giá trị digest của message. Thậm chí nếu Mắm có cắt xén random các message thì tỉ lệ thành công là rất thấp vì dữ liệu digest vô cùng lớn. Ví dụ, nếu dùng MD5, Tí và Tèo có thể gởi kèm MAC 128bit trong các message. Mắm cần trúng giá trị MAC nếu muốn tấn công man-in-the-middle với khả năng thành công là 1/18.446.744.073.709.551.616.

Đây là toàn bộ giao thức:
Tí->Tèo: Xin chào!
Tí: Chào, Mình là Tèo. Đây là giấy chứng nhận của mình!
Tí->Tèo: Hãy đưa bằng chứng đi!
Tí: Tí, Mình là Tèo đây!
{digest[Tí, Mình là Tèo đây!]}khóa-riêng-của-Tèo
Tí->Tèo: Ok Tèo, đây là {khóa bí mật}khóa-chung-của-Tèo
{some message, MAC}khóa-bí-mật

Trên đây là bài tóm tắt về Mã hóa, các thuật toán mã hóa, CA và SSL. Để có thể hiểu rõ nhất xin mời các bạn đọc bài PKI& Thương mại điện tử: [Chỉ thành viên mới có thể xem liên kết này. Vui lòng hoặc ]

Trích HVAonline
--------------------------------------------------------------------------------
Video Lab CA+Key Recovery Agent [Chỉ thành viên mới có thể xem liên kết này. Vui lòng hoặc ]

Video Cấu hình SSL [Chỉ thành viên mới có thể xem liên kết này. Vui lòng hoặc ]

View more latest threads same category:
__________________
Nguyễn Trung Kiên
Đội Hỗ Trợ Học Viên
Địa chỉ : Số 10 ngõ 1, phố Nhân Hòa, Nhân Chính, Hà Nội
Số ĐT : 0942808508
Email : [Chỉ thành viên mới có thể xem liên kết này. Vui lòng hoặc ]
Skype: kiennt1204

Mọi thất bại đều mang theo một hạt giống thành công!

Last edited by chanhmuoi298; 03-16-2010 at 03:19 PM.
Reply With Quote
The Following 16 Users Say Thank You to chanhmuoi298 For This Useful Post:
bagiabanmaybay9x (03-30-2010), Dunghoitaisao!!! (03-16-2010), enternal1603 (1 Week Ago), Fernando (2 Weeks Ago), honey_bee (1 Week Ago), mai_te (03-25-2010), manhnd (03-16-2010), Mr_phuocdb (05-08-2010), nhactrongphim.net (03-20-2010), PhongLG (03-16-2010), ptrcech (07-06-2010), QuangAnh (07-01-2010), smallsun88 (03-22-2010), t2bg88 (3 Weeks Ago), thuydung12 (3 Weeks Ago), Tony_nguyen19 (05-28-2010)
  #2  
Old 03-16-2010
Dunghoitaisao!!! Dunghoitaisao!!! is offline
Thành Viên Mới
 
Join Date: Jan 2010
Posts: 74
Thanks: 27
Thanked 9 Times in 7 Posts
Default

Quá hay, rõ ràng và....Đừng hỏi tại sao

Thanks bạn chanhmuoi nhé
Reply With Quote
  #3  
Old 03-16-2010
PhongLG's Avatar
PhongLG PhongLG is offline
TECHNET
 
Join Date: Mar 2010
Posts: 248
Thanks: 48
Thanked 122 Times in 44 Posts
Send a message via Yahoo to PhongLG
Default

Chủ đề SSL khá hay ngoài IIS ra nó còn triển khai trên nhiều thứ nữa như : Apache - Tomcat - IBM HTTP - SUN ONE - ..........

Note : anh em làm triển khai trên SUN ONE hoặc Orcale HTTP Chỉ mình với
Reply With Quote
  #4  
Old 05-12-2010
meozin_meozin meozin_meozin is offline
Thành Viên Mới
 
Join Date: Mar 2010
Posts: 7
Thanks: 0
Thanked 0 Times in 0 Posts
Default

cảm ơn anh Kiên!
Reply With Quote
  #5  
Old 1 Week Ago
gaga0202 gaga0202 is offline
Thành Viên Mới
 
Join Date: Aug 2010
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

thanks anh kien nhe!neu lab co tieng nua thi tuyet
Reply With Quote
  #6  
Old 5 Days Ago
Dandoh Dandoh is offline
Thành Viên Mới
 
Join Date: Jul 2010
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Thiếu thêm phần nói về Block và Cipher, mã hóa thì phải đi theo Block nữa thì mới đầy đủ, còn phần kiểm tra tính toàn vẹn, các hàm Hash nữa.

SSL định làm Full tính năng hay một phần tính năng đây. SSL chỉ xài một phần có thể xem Gmail đó, Gmail chỉ sử dụng một phần SSL. Paypal sử dụng Full SSL.
Reply With Quote
  #7  
Old 5 Days Ago
IPSec IPSec is offline
Microsoft
 
Join Date: Aug 2010
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Default

- SSL 1 phần là như nào
- SSL full là như nào

Tiêu đề bài viết của tác giả là Tóm tắt mà bạn
Bạn giải thích giúp mọi người chút được ko

Thanks
Reply With Quote
  #8  
Old 5 Days Ago
offline offline is offline
Thành Viên Mới
 
Join Date: Jun 2010
Posts: 30
Thanks: 8
Thanked 1 Time in 1 Post
Default

Lạ có cả SSL 1 phần với SSL full à chưa nghe bao giờ chỉ nghe SSL có nhiều gói khác nhau và mức độ mã hóa - rồi bảo hiểm khác nhau thoai
Reply With Quote
  #9  
Old 5 Days Ago
khangves's Avatar
khangves khangves is offline
Administrator
 
Join Date: Jan 2010
Posts: 62
Thanks: 30
Thanked 70 Times in 27 Posts
Send a message via Yahoo to khangves Send a message via Skype™ to khangves
Default

Quote:
Originally Posted by Dandoh View Post
Thiếu thêm phần nói về Block và Cipher, mã hóa thì phải đi theo Block nữa thì mới đầy đủ, còn phần kiểm tra tính toàn vẹn, các hàm Hash nữa.
Ở đây bạn muốn nói về Block Cipher và Stream Cipher ??? Cái này được nói trong buổi về dịch vụ CA của môn 291 tại TT

Trên là tóm tắt bạn à
__________________
-----------------------------
Nguyễn Minh Khang
Đội trưởng đội Hỗ Trợ Học Viên
Địa chỉ : Số 10 ngõ 1, phố Nhân Hòa, Nhân Chính, Hà Nội
Số ĐT : 0906.234.221
Nick YM: khanglnx
Email : [Chỉ thành viên mới có thể xem liên kết này. Vui lòng hoặc ]
Reply With Quote
  #10  
Old 5 Days Ago
chanhmuoi298's Avatar
chanhmuoi298 chanhmuoi298 is offline
Support Team
 
Join Date: Jan 2010
Posts: 100
Thanks: 46
Thanked 102 Times in 37 Posts
Send a message via Skype™ to chanhmuoi298
Default

Quote:
Originally Posted by Dandoh View Post
Thiếu thêm phần nói về Block và Cipher, mã hóa thì phải đi theo Block nữa thì mới đầy đủ, còn phần kiểm tra tính toàn vẹn, các hàm Hash nữa.

SSL định làm Full tính năng hay một phần tính năng đây. SSL chỉ xài một phần có thể xem Gmail đó, Gmail chỉ sử dụng một phần SSL. Paypal sử dụng Full SSL.
Dandoh làm bài đầy đủ hơn cho anh em cùng học hỏi nào. Đây là diễn đàn CNTT, rất mong anh em đóng góp kiến thức của mình để mọi người cùng hoàn thiện hơn.

Thanks.
__________________
Nguyễn Trung Kiên
Đội Hỗ Trợ Học Viên
Địa chỉ : Số 10 ngõ 1, phố Nhân Hòa, Nhân Chính, Hà Nội
Số ĐT : 0942808508
Email : [Chỉ thành viên mới có thể xem liên kết này. Vui lòng hoặc ]
Skype: kiennt1204

Mọi thất bại đều mang theo một hạt giống thành công!
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +7. The time now is 08:15 PM.
Powered by vBulletin®
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
TECHNET IT Education Center

         
ChipLove's Family