国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
PAP CHAP

PAP和CHAP協(xié)議介紹2009-09-25 18:40

2009-04-14 23:06  PAP和CHAP協(xié)議介紹

本文檔的Copyleft歸yfydz所有,使用GPL發(fā)布,可以自由拷貝,轉載,轉載時請保持文檔的完整性,嚴禁用于任何商業(yè)用途。
msn: yfydz_no1@hotmail.com


1. 前言
PAP和CHAP協(xié)議是目前的在PPP(MODEM或ADSL撥號)中普遍使用的認證協(xié)議,CHAP在RFC1994中定義,是一種挑戰(zhàn)響應式協(xié)議,雙方共享的口令信息不用在通信中傳輸;PAP在RFC1334中定義,是一種簡單的明文用戶名/口令認證方式。

2. PAP
PAP全稱為:Password Authentication Protocol(口令認證協(xié)議),是PPP中的基本認證協(xié)議。PAP就是普通的口令認證,要求將密鑰信息在通信信道中明文傳輸,因此容易被sniffer監(jiān)聽而泄漏。

PAP協(xié)商選項格式:
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Type    | Length    |    Authentication-Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

對于PAP,參數(shù)為:
Type = 3,Length = 4,Authentication-Protocol = 0xc023(PAP)

PAP數(shù)據(jù)包格式:
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+

Code:1字節(jié),表示PAP包的類型
      1    認證請求
      2    認證確認
      3    認證失敗
Identifier:ID號,1字節(jié),輔助匹配請求和回應
Length:2字節(jié),表示整個PAP數(shù)據(jù)的長度,包括Code, Identifier, Length和
          Data字段。
Data:可能是0字節(jié)或多個字節(jié),具體格式由Code字段決定,成功或失敗類型包中長
      度可能為0。

對于認證請求(Code = 1)類型,PAP包格式為:
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peer-ID Length|  Peer-Id ...
+-+-+-+-+-+-+-+-+-+-+-+-+
| Passwd-Length |  Password  ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+

Code(Code = 1),Identifier和Length字段含義如前面所述,響應包的Identifier字段值和挑戰(zhàn)包中的相同,Identifier字段必須每次認證時改變。

Peer-ID-Length:長度1個字節(jié),表示Peer-ID域的長度

Peer-ID:可為0到多個字節(jié)長,表示認證對方的名稱。

Passwd-Length:長度1個字節(jié),表示Password域的長度

Password:可為0到多個字節(jié)長,表示認證的口令,明文

對于認證確認(Code = 2)和認證失?。–ode = 3)類型,PAP包格式為:

0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Msg-Length |  Message  ...
+-+-+-+-+-+-+-+-+-+-+-+-+-

其中:
Code,Identifier和Length字段含義如前面所述,響應包的Identifier字段值和認證請求包中的相同。

Msg-Length:長度1個字節(jié),表示Message域的長度

Message:可為0到多個字節(jié)長,具體內容由應用實際實現(xiàn)時確定,RFC中沒有限制其
  內容,推薦使用可讀的ASCII字符表示信息內容。

3. CHAP

CHAP全稱為:Challenge Handshake Authentication Protocol(挑戰(zhàn)握手認證協(xié)議),主要就是針對PPP的,除了在撥號開始時使用外,還可以在連接建立后的任何時刻使用。

CHAP 協(xié)議基本過程是認證者先發(fā)送一個隨機挑戰(zhàn)信息給對方,接收方根據(jù)此挑戰(zhàn)信息和共享的密鑰信息,使用單向HASH函數(shù)計算出響應值,然后發(fā)送給認證者,認證 者也進行相同的計算,驗證自己的計算結果和接收到的結果是否一致,一致則認證通過,否則認證失敗。這種認證方法的優(yōu)點即在于密鑰信息不需要在通信信道中發(fā) 送,而且每次認證所交換的信息都不一樣,可以很有效地避免監(jiān)聽攻擊。

CHAP缺點:密鑰必須是明文信息進行保存,而且不能防止中間人攻擊。

使用CHAP的安全性除了本地密鑰的安全性外,網絡上的安全性在于挑戰(zhàn)信息的長度、隨機性和單向HASH算法的可靠性。

CHAP選項格式:
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Type    | Length    |    Authentication-Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Algorithm |
+-+-+-+-+-+-+-+-+

對于CHAP,參數(shù)固定為:

Type = 3,Length = 5,Authentication-Protocol = 0xc223(CHAP),Algorithm = 5 (MD5)

CHAP數(shù)據(jù)包格式:
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+

Code:1字節(jié),表示CHAP包的類型
      1    挑戰(zhàn)
      2    響應
      3    成功
      4    失敗

Identifier:ID號,1字節(jié),輔助匹配挑戰(zhàn)、響應和回答,每次使用CHAP時必須改變

Length:2字節(jié),表示整個CHAP數(shù)據(jù)的長度,包括Code, Identifier, Length和
          Data字段。

Data:可能是0字節(jié)或多個字節(jié),具體格式由Code字段決定,成功或失敗類型包中長度
      可能為0

對于挑戰(zhàn)(Code = 1)和響應(Code = 2)類型,CHAP包格式為
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Value-Size |  Value ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Name ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

其中:
Code,Identifier和Length字段含義如前面所述,響應包的Identifier字段值和挑戰(zhàn)包中的相同。

Value-Size:此字段1字節(jié)表示Value的長度

Value:至少是一個字節(jié),可變長,按網絡序傳輸,挑戰(zhàn)/響應信息在此字段中說明,
      挑戰(zhàn)信息必須是隨機的,在每次認證時改變,挑戰(zhàn)信息是由應用在實際實現(xiàn)
      中自己定義的,RFC中并沒有規(guī)定挑戰(zhàn)信息的具體格式;

響應值按下面的公式進行計算:
  Response=HASH(Identifier+secret+Challenge)

其中“+”號表示將各數(shù)據(jù)在內存中串起來,其中HASH算法可以使用MD5,所以計算出來的HASH值是固定的,16字節(jié)長。

  Name:至少一個字節(jié),用來標志所傳的這個包,必須是以'\0'或“
”結束,
      Name字段的長度可根據(jù)Length和Value-Size計算出來。

對于成功(Code = 3)或失?。–ode = 4)類型
0                1                2                3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Code    |  Identifier |          Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Message  ...
+-+-+-+-+-+-+-+-+-+-+-+-+-

Code,Identifier和Length字段含義如前面所述,Identifier字段和挑戰(zhàn)/響應信息一致。

Message可以是0字節(jié),也可以是多個字節(jié),內容可以根據(jù)實際應用自己確定。

4. 結語

PAP和CHAP在目前的PPP應用中都在使用,CHAP相對要復雜一些,但安全性也高一些。在PPP具體實現(xiàn)中通常是同時使用,在Linux下PPP的實現(xiàn)中,如果服務器要求的PAP認證失敗,會再次要求用CHAP認證。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
什么是PPP?PPP的認證方式又有哪些?
PPP協(xié)議
PPP的基本含義及實現(xiàn)方法
class文件說明
Java文件編譯與反編譯(二):class文件解析
使用虛擬機搭建基于ROS的PPPOE服務器進行認證攔截
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服