If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
Authentication trong CHAP:
-Source gửi usename của nó tới destination(ko có password)
-Destination gửi lại một message gọi là challenger với các thông tin sau:
+Router ID:01 cho challenger message,02 cho challenger reply,03 cho PPP connnection,04 cho việc deny kết nối PPP.
+ID:là một sequence number dùng phân biệt cho các qúa trình authentication khác nhau.
+Random number: giá trị ngẫu nhiên trong MD5 .
+Router name: tên của destination để source tìm đúng password (lưu trong hash value)được sử dụng trong authentication.
-Source gửi lại password và hash value cho destination.
-Nếu destination kiểm tra mọi thứ đều đúng nó sẽ accept,ngược lại sẽ deny.
It_email hiểu vậy ko biết có sai sót gì ko?Mọi người giúp mình với.
Chào các bạn ,cho mình hỏi cái này về CHAP một tí xíu :
- Mình nghĩ thế này, giả sử mình muốn CHAP giữa router A và router B ( B đóng vai trò như remote router ) Sau khi thiết lập kết nối bằng cách gửi LCP , router A gửi một challenge qua cho Router B.
+ Ở chế đô mặc định , router A sẽ lấy hostname làm challenge , khi đó router B sẽ lấy giá trị hostname ( tức là challenge luôn ) của router A làm giá trị username . Lúc này thì giống hệt như PAP , việc gửi challenge mình thấy đâu có còn tác dụng nhiều nữa .
Trong trường hợp tổng quát :
+ Khi nhận challenge từ router A , tại sao router B lại dò trong bảng username của nó để tìm password( Sách VNLab Pro Vol II , step 3 trong phần CHAP). Mình nghĩ khi gửi challenge qua cho router B , nó không mang hàm ý chứng nhận , nó chỉ là 1 cái khóa cung cấp cho router B để mã hóa.Trên router B ,mình có thể định nghĩa các thông số trong việc tạo ra HashCode là hostname và password bằng 2 lệnh này mà : ppp chap hostnamehostnameppp chap password password
( router A lúc đó cũng phải định nghĩa usernamehostnamepassword password )
Mình nghĩ router B không cần có user name database để tra challenge của router A trước lúc A gửi qua ?Làm sao mình định nghĩa được tập các giá trị challenge trên router A Nếu như thế , câu lệnh username username password password trên router B sẽ không còn ý nghĩa ?
+ Router B dùng challenge để mã hóa username và password hay là dùng password để mã hóa sự kết hợp challenge với username .
- Trong cuốn ICND ( p.380 ) , mình đọc thấy câu này :
“ …CHAP is used at startup of a link ,and periodically , to
verify the identity of the remote node using a 3-way handshake “
Như vậy có phải CHAP sẽ được chứng nhận lại sau một khoảng thời gian là bao nhiêu do ta định nghĩa không ? và nếu đựoc thì làm sao định nghĩa thời gian sẽ refresh lại CHAP ?Nếu có refresh lại thì có ngắt kết nối tạm thời không ( chẳng hạn đang gửi nhận dữ liệu giữa 2 router )?
Mong được hiểu kỹ về vấn đề này , cám ơn các bạn rất nhiều !
- Hi! chào bạn TageOniR. Hình như bạn chỉ đọc mới đọc lý thuyết mà chưa có làm thực hành về phần này phải không?
- Nếu bạn đọc lý thuyết thôi thì sẽ rất là khó hiểu. Hồi đó khi học về lý thuyết mình cũng không hiểu rõ về pap và chap, có khi còn lẫn lộn giữa 2 cái. Bạn nên làm thực hành về phần này, trong lúc làm bạn "debug" nó, bạn sẽ hiểu về nó thôi. Cách chứng thực(Authenticaiton) của Pap và chap khác nhau hoàn toàn mà. Bye!
I. Trước hết điểm qua lại CHAP
Giả sử có R1 (Remote) và R-C (Center).
- TạI R1 ta có "username R-C password xyz"
- TạI R-C có "username R1 password xyz".
Quá trình diễn ra như sau:
1 – R1 quay tớI R-C, kết nốI được thực hiện
2 – R-C gửi challenge (random sequence; random number; R-C) tớI R1
3 – R1 kiểm tra và tìm được password cần thiết là xyz, sau đó dùng (random sequence; random number, xyz) để tính ra một giá trị ABC nào đó
4 – R1 gửi response về R-C (random sequence, ABC, R1). R-C kiểm tra và tìm được password xyz, sau đó dùng (random sequence; random number, xyz) để tính ra một giá trị A’B’C’ nào đó. Nếu ABC=A’B’C’ thì trả lời R1 là OK.
Quá trình trên thì chắc ai cũng rõ rồi, và nó khác hẳn PAP. Một điều cần chú ý là cả hai router đều phải tính "hashed value" dựa trên tham số (luôn thay đổi) do bên kia cung cấp và cấu hình của chính nó.
II. Vậy lệnh “ppp chap hostname” dùng để làm gì?
- Giả sử có nhiều Remote router
- Giả sử bây giờ Center có thêm Router mới (cấu hình access pool chẳng hạn), vậy ta sẽ phải làm gì. Chú ý vào bước 3 ở trên, ta thấy rằng nếu có bao nhiêu router tại Center, ta phảI có bấy nhiêu lệnh “username password” ở các remote router (thì mớI tìm được password chứ”. Vấn đề lớn: ai nói cho biết lúc nào có thêm router mới mà làm + mất công gõ lệnh
“ppp chap hostname UUU” diễn giải nôm là: (trên interface này) gửI “UUU” trong gói challenge thay vì gửi hostname của mình đến các remote router. Việc này giải quyết được vấn đề đã nêu: chỉ sử dụng một hostname ảo “UUU” làm đại diện (alias) duy nhất cho các router (trong pool) tại trung tâm ==> không phải config “username password” tại các remote router.
Tất nhiên là “ppp chap hostname UUU” sẽ phải được config trên tất cả các router trung tâm (nằm trong pool). Và may mắn là chúng ít hơn rất nhiều so với số lượng remote router.
Như vậy ý nghĩa của lệnh này khác cách hiểu của TageOniR đấy.
III. Theo như sách viết thì đúng là CHAP sẽ tự động "refresh" 2 phút / lần và sẽ không ảnh hưởng đến qúa trình khác nếu CHAP vẫn OK. Cái này bật debug lên thì chắc là thấy được ngay. Tuy nhiên mình không biết lệnh nào có thể thay đổi giá trị default. Ai biết thì post lên nhé.
Như vậy là khi config ppp chap hostname hostname rồi thì nó đại diện cho tất cả các router ở trung tâm và không cần ( hay bắt buộc ) config username và password . OK . Nhưng vần đề chính là làm sao mình quản lý được challenge ?Nó gồm bao nhiêu bit , phát sinh từ đâu ? Trong khi làm lab , mình config ppp chap hostname hostname ở remote router.
Mình nghĩ nếu remote cũng có tập các challenge thì nó cầ gì phải là 3-way handshake ?Nó tính HashCode rồi gửi qua cho centre router để check lại là đủ rồi ?Mình không nghĩ CHAP và PAP giống nhau , chỉ muốn hiểu thật kỹ là vì sao CHAP xuất hiện và làm tốt hơn PAP những gì mà PAP không thể , và nó có thật sự tốt ?Ưu điểm , khuyết điểm .
Cám ơn các bạn rất nhiều !
I. Trước hết điểm qua lại CHAP
II. Vậy lệnh “ppp chap hostname” dùng để làm gì?
- Giả sử có nhiều Remote router
- Giả sử bây giờ Center có thêm Router mới (cấu hình access pool chẳng hạn), vậy ta sẽ phải làm gì. Chú ý vào bước 3 ở trên, ta thấy rằng nếu có bao nhiêu router tại Center, ta phảI có bấy nhiêu lệnh “username password” ở các remote router (thì mớI tìm được password chứ
Chào anh ,
Cho em hỏi một xíu ,khi R-C gửi challenge đến cho Remote Router , vì sao nó phải check trong username database để tìm thấy password trong khi mình có thể định nghĩa password trên Remote router bằng câu lệnh : ppp chap passwordpassword
Em cứ băn khoăn , challenge là một message dùng để cung cấp thêm cho Remote Router để mã hóa và hoàn toàn được quản lý bởi R-C chứ , R-C có thể gửi bất kỳ một challenge nào đến cho Remote Router.
Tóm lại , thế này phải không
- Trên R-C có username và password ( cho username đó )database kèm theo. Thứ hai là challenge database. Hết !
- Trên Remote Router có Hostname( dùng alias và phải match với username trên R-C ) và password database. Hết !
Mong được clear vấn đề này ,
Chào anh.
[[“…Trong khi làm lab , mình config ppp chap hostname hostname ở remote router…”]]: tất nhiên, ở chỗ nào cũng được hết, đâu có vấn đề gì. Thay vì để gửi hostname “thực” thì gửi hostname “giả” cũng được mà. Chỉ có điều nếu gắn vào với scenario như mình đã nói ở bài trước thì lệnh này sẽ giúp giảm rất nhiều công sức
[[“…làm sao mình quản lý được challenge ?Nó gồm bao nhiêu bit , phát sinh từ đâu…”]]
Có một nguyên tắc là bên nào muốn authenticate bên kia thì bên đó sẽ gửi challenge. Độ dài của gói được quyết định bởi nhiều yếu tố (random number, kết quả của giải thuật tính toán…). Quản lý challenge chỉ là quản lý xem mình đã gửi id sequence và rundom number nào.
[[“…Mình nghĩ nếu remote cũng có tập các challenge thì nó cầ gì phải là 3-way handshake ?Nó tính HashCode rồi gửi qua cho centre router để check lại là đủ rồI…”]]
Mỗi lần challenge được gửi sẽ có cặp “id sequence / rundom number” khác nhau. Nếu bạn hiểu là có một pool các challenge sẵn có rồi chỉ việc gửi gía trị tính toán sang bên kia thôi thì không đúng (như vậy thì sẽ chẳng khác gì PAP cả, lúc nào cũng gửi giá trị giống nhau).
[[…khi R-C gửi challenge đến cho Remote Router , vì sao nó phải check trong username database để tìm thấy password…]
Nó sẽ check để tìm password khi nhận được gói response trả về từ remote router ==> vì nó cũng phải tính hashed code để so sánh.
Lệnh “ppp chap password password” thường được dùng để “nếu tớ không tìm thấy cậu trong bảng username thì tớ lấy quách cái password này dùng tạm”. Có nghĩa là nó vẫn tìm trong bảng username/password trước, nếu không thấy mới dùng đến giá trị này.
Hey anh,
Xong rối nhưng vẫn còn thắc mắc là làm sao Set thời gian mà Router sẽ bắt tay lại . Mình phải quản lý được mấy cái khoàng này chứ .
Chào anh ,
[[..."III. Theo như sách viết thì đúng là CHAP sẽ tự động "refresh" 2 phút / lần và sẽ không ảnh hưởng đến qúa trình khác nếu CHAP vẫn OK. Cái này bật debug lên thì chắc là thấy được ngay. Tuy nhiên mình không biết lệnh nào có thể thay đổi giá trị default. Ai biết thì post lên nhé."...]]
Cái này mình cũng đang muốn biết đây. Ai chỉ giùm hộ cái.
Mô hình thực hiện Chap trên hai router R1 va R2 cấu hinh như sau
R1: R2:
Hostname R1 Hostname R2
Username R2 passworld cisco Username R1 passworld cisco
Encapsulation ppp chap Encapsulation ppp chap
* Lưu Ý: passworld thì giống nhau nhưng username của router R1 không nhất thiết phải là hostname cua R2, mặc định router sẽ dùng hostname để gửi nhưng nếu đặt username khác ví dụ tại R1 dat username là abc thì lúc đó R1 phải cấu hình thêm lệnh PPP Chap hostname abc và bên R2 phải khai username là abc
Sau đây là các bước thực hiện authentication
1. R1 thực hiện cuộc gọi vào R2 với yêu cầu chứng thực
2. LCP đuoc mở và bắt đầu thực hiện CHAP và MD5
3. Một CHAP challenge sẽ đượ R2 gửi đến cho R1
• Challenge gồm các thành phần được sắp xếp theo thứ tự như sau
1: số thứ tự của challenge, đầu tiên sẽ là O1
2: Một số ID để định nghia chanllenge (nó cho biết R2 đang noi chuyện với router nào ở đây là R1 trong truong hop có nhiều Authentication xảy ra trên R2)
3: một số ngẫu nhiên Randoom number
4: hostname cua R2
• ID và randoom number sẽ đươc R2 copy ra một bản để giữ lại
4. khi chanllenge den R1. R1 sẽ tra trong Local username and passworld database để tìm xem hostname ma R1 gửi tới trùng với username nào đã được thiết lập, trong trường hợp này là R2 từ đó biết đuoc passworld là cisco
5. R1 se lay passworld cisco cùng với ID va randoom number đưa vào thuật toán MD5 để hash, sau khi hash hoàn tất R1 gửi một Challenge gọi la MD5 hash Chap Challenge tới cho R2
• challenge này bao gồm các fied sau:
o một số thứ tự, bây giờ là 02
o một số ID giống y ID mà R2 gửi tới
o giá trị hash vừa tạo xong
o hostname cua R1
khi MD5 Hash Chap challenge này tới R2 thì R2 sẽ tra trong bảng Local Username and passworld Database de xem hostname R1 trùng với username nào đa được thiết lập và tìm ra được passworld tương ứng, ở đây là cisco
R2 sẽ lấy số ID va Randoom number đã giữ lại lúc truoc rồi cộng với passworld cisco để đưa vào MD5 hash. Sau đó no so sánh hai cái hash này, nếu thấy giống nhau thì R2 sẽ gửi một Challenge có số thứ tư là 03 + ID + “Wellcome to R2” toi R1 để báo việc chứng thực đã hoàn tất
•neu challenge này có số thứ tự là 04 thì có nghĩa việc chúng thực đã sai tức là hai gia trị hash không giống nhau.
mình biết đã có nhiều bài viết vể CHAP rồi Nhưng minh viết tiếp để bannào tự học có thể hiểu chi tiết hơn vể cách hoạt động của va nhu moi nguoi: CORRECT ME IF ME WRONG
Đặc tính của PPP là theo sessions. Pha LCP được thiết lập ok thì sẽ chuyển qua NCP. LCP chỉ đi qua một lần cho mỗi session.
Vấn đề timers trong PPP nếu có, được giải quyết dùng để thay đổi thời gian active của một kết nối PPP. Có hai cách thực hiện:
Dùng dialer idle-timeout
Dùng ppp idle-timeout.
Cú pháp để thay đổi cho ppp idle timeout là
ppp timeout idle (template)
To set PPP idle timeout parameters on a virtual template interface, use the ppp timeout idle command in interface configuration mode. To reset the time value, use the no form of this command.
ppp timeout idle time
no ppp timeout idle time
Hy vọng là những thông tin trên giúp ích cho hai anh.
Comment