พาสเฟรส

** พาสเฟรส** () เป็นลำดับคำและสัญลักษณ์อื่น ๆ ที่ใช้ควบคุมการเข้าถึงระบบคอมพิวเตอร์ โปรแกรม หรือข้อมูล คล้าย ๆ กับรหัสผ่านแต่ปกติจะยาวกว่าเพื่อให้ปลอดภัยกว่า 
ใช้ควบคุมการเข้าถึงและการปฏิบัติการของโปรแกรมและระบบที่มีการเข้ารหัสลับ โดยเฉพาะเมื่อต้องสร้างกุญแจเข้ารหัสลับจาก พาสเฟรส

ชื่อมาจากการเลียนคำว่า พาสเวิรด์ คือรหัสผ่าน 
เชื่อกันว่าชาวอเมริกัน ซิกมันด์ เอ็น พอร์เตอร์ เป็นผู้ประดิษฐ์แนวคิดนี้เป็นครั้งแรกในปี 1982

## ความมั่นคง

เอนโทรปีข้อมูลของคำภาษาอังกฤษจริง ๆ จะน้อยกว่า 
1.1 บิต/อักษร พาสเฟรสจึงค่อนข้างอ่อนแอ
สถาบันมาตรฐานและเทคโนโลยีแห่งชาติสหรัฐ (NIST) ประเมินว่า พาสเฟรสยาว 23 อักษร คือ "IamtheCapitanofthePina4" มีเอนโทรปี 45 บิต
สูตรที่ใช้คำนวณก็คือ

: 4 บิต (อักษรแรก) + 14 บิต (อักษร) + 18 บิต (อักษร) + 3 บิต (อักษร) + 6 บิต (เป็นคะแนนเพิ่มเพราะใช้อักษรตัวใหญ่  และตัวเลข) = 45 บิต
(ค่าคำนวณนี้ไม่ได้พิจารณาว่า นี่เป็นวลีที่รู้จักกันดีจากอุปรากร *[[เอชเอ็มเอส พินนาฟอร์]]*)

ค่าแฮชแบบ MD5 ของ พาสเฟรสนี้จะเจาะได้ภายใน โดยใช้เว็บไซต์ crackstation.net ซึ่งเร็วมาก จึงชี้ว่าวลีนี้มีอยู่ในฐานข้อมูลที่มีเพื่อใช้เจาะรหัสผ่านแล้ว

เมื่อใช้แนวทางนี้ เพื่อให้ได้ความเข้มแข็ง 80 บิตเพื่อความมั่นคงในระดับสูง (พลเรือน) ตามมาตรฐานของ NIST พาสเฟรสจะต้องมีอักษร 58 ตัวโดยสมมติว่า จะมีอักษรทั้งตัวเล็กตัวใหญ่และตัวเลข 

ยังถกเถียงกันว่าสูตรนี้ถูกต้องหรือไม่ โดยจำนวนบิตที่ระบุอาจไม่ตรงกัน
เช่นมีผู้ระบุว่า คำที่มีอักษร 5 ตัว จะมีเอนโทรปี  ดังนั้น จึงต้องใช้ พาสเฟรสที่มีอักษรเพียงแค่ 35 ตัวเท่านั้นเพื่อให้ได้ 80 บิต

ถ้าคำหรือส่วนประกอบของ พาสเฟรส พบได้ในพจนานุกรมโดยเฉพาะฉบับอิเล็กทรอนิกส์ที่สามารถใช้เป็นอินพุตของโปรแกรมคอมพิวเตอร์ได้ พาสเฟรสก็จะอ่อนแอต่อการโจมตีโดยพจนานุกรมยิ่งขึ้น ซึ่งเป็นปัญหาเพิ่มถ้า พาสเฟรสทั้งวลีสามารถพบได้ในหนังสือคำคมหรือหนังสือที่รวบรวมวลี 

อย่างไรก็ดี ก็อาจต้องใช้ความพยายามมากกว่าที่จะนำไปปฏิบัติได้ทั้งโดยเวลาและโดยค่าใช้จ่ายถ้ามีคำใน พาสเฟรสมากพอ ถ้าเลือกคำโดยสุ่ม และถ้าจัดลำดับคำโดยสุ่ม จำนวนวลีผสมที่ต้องทดลองอาจจะทำให้การโจมตีด้วยพจนานุกรมยากจนเป็นไปไม่ได้ อนึ่ง การเลือกคำคำหนึ่งที่ไม่พบเลยในพจนานุกรมใด ๆ ก็จะเพิ่มความแข็งแกร่งของ พาสเฟรสอย่างสำคัญ 

เมื่อมนุษย์เป็นผู้เลือก พาสเฟรส ปกติก็จะนิยมใช้คำที่เกิดบ่อย ๆ ในภาษาธรรมชาติ ในกรณีที่มี 4 คำ เอนโทรปีจริง ๆ โดยมากก็จะไม่เกิน 30 บิต เทียบกับการเลือกรหัสผ่านที่มักจะอ่อนแอยิ่งกว่านั้น 
ดังนั้น การสนับสนุนให้ผู้ใช้เลือก พาสเฟรสแม้เพียงแค่สองคำก็อาจเพิ่มเอนโทรปีจากน้อยกว่า 10 บิตให้ถึงยิ่งกว่า 20 บิต

ยกตัวอย่างเช่นโปรแกรมเข้ารหัสลับมาตรฐาน OpenPGP บังคับให้ผู้ใช้สร้าง พาสเฟรสที่ต้องใส่เมื่อถอดรหัสลับหรือเซ็นรองรับข้อความ
บริการทาง เช่น Hushmail ให้บริการอีเมลเข้ารหัสลับ หรือแชร์ไฟล์ที่เข้ารหัสลับ แต่ความมั่นคงจะขึ้นอยู่กับคุณภาพของ พาสเฟรสที่เลือกเกือบทั้งหมด

## เทียบกับรหัสผ่าน
พาสเฟรสต่างกับรหัสผ่าน รหัสผ่านเป็นสายตัวอักษรที่อาจมีอักษรพิเศษ อักษรตัวเล็กตัวใหญ่ และตัวเลข โดยความยาวจะต่าง ๆ กัน ส่วนมากจะมีราว ๆ 10 ตัวอักษร
เทียบกับ พาสเฟรสซึ่งเท่ากับเป็นรหัสลับหลายคำ ปกติจะยาวอย่างน้อย 14 ตัวอักษร และใช้ช่องว่างเป็นตัวแยกคำซึ่งทำให้จำได้ง่ายกว่า 
ทั้งรหัสผ่านและ พาสเฟรสมีบทบาทสำคัญในการเข้ารหัสลับข้อมูล และการรักษาความมั่นคงเพื่อเข้าถึงเว็บไซต์ ซอฟต์แวร์ และฮาร์ดแวร์

พาสเฟรสมีข้อดีหลายอย่างกว่ารหัสผ่านดั้งเดิม คือ
* **จำได้ง่ายกว่า** ไม่เหมือนกับสายตัวอักษรและสัญลักษณ์แบบสุ่มที่ใช้ในรหัสผ่านที่แข็งแกร่งแต่จำได้ยาก  พาสเฟรสมักสร้างขึ้นจากคำหรือวลี ซึ่งทำให้ผู้ใช้จำได้ง่ายกว่า ช่วยลดการใช้รหัสผ่านที่อ่อนแอ ถูกเจาะได้ง่าย 
* **เพิ่มความทนทานต่อ[[การโจมตีแบบใช้กำลัง]]** ซึ่งผู้โจมตีจะทดลองใช้อักษรทุกตัวเพื่อเจาะรหัสผ่าน แต่เพราะ พาสเฟรสมักยาวเกิน 14 ตัว ดังนั้น ก็จะเพิ่มทั้งเวลาและทรัพยากรคอมพิวเตอร์ที่จำเป็นเพื่อจะเจาะ พาสเฟรสได้
* **เพิ่มความทนทานต่อการเดา**  พาสเฟรสปกติจะเดาได้ยากกว่าเทียบกับรหัสผ่าน ผู้ใช้มักจะเลือกรหัสผ่านที่เดาได้จากข้อมูลส่วนตัวหรือที่มีรูปแบบที่เดาได้ง่าย ๆ แต่เพราะ พาสเฟรสยาวและอาจมีคำที่ไม่เป็นคำ จึงป้องกันการเดาได้ดีกว่า 
* **ใช้ได้กับระบบปัจจุบัน** แอปและระบบปฏิบัติการสำคัญ ๆ มักจะสนับสนุน พาสเฟรสได้ถึง 127 ตัวอักษร ซึ่งผู้ใช้อาจถือเอาประโยชน์เพื่อให้ได้ความมั่นคงสูงสุด

ปัญหาอย่างหนึ่งของ พาสเฟรสที่เหมือนกับรหัสผ่านก็คือ ผู้ใช้อาจเลือกวลีที่เกี่ยวกับข้อมูลหรือความชอบส่วนตัว 
ในปี 2012 นักวิจัยที่วิเคราะห์ พาสเฟรสจากระบบ Amazon PayPhrase ของบริษัทแอมะซอน 
แล้วพบว่า พาสเฟรสในอัตราสำคัญเดาได้ง่ายเพราะผู้ใช้เลือกสิ่งที่ตนชอบใจ
เช่นชื่อภาพยนตร์ ชื่อทีมกีฬา จึงเสียประโยชน์ทางความมั่นคงเนื่องกับการมีรหัสผ่านยาว ๆ

เมื่อใช้ในการเข้ารหัสลับ  พาสเฟรสปกติจะใช้ป้องกันกุญแจรหัสลับที่สร้างโดยคอมพิวเตอร์ กุญแจรหัสลับจะเอาไว้ใช้เข้ารหัสข้อมูล 
ปกติจะยาวจนกระทั่งไม่สามารถโจมตีโดยตรงและใช้กำลังได้
ผู้โจมตีจึงต้องพยายามเจาะ พาสเฟรส ดังนั้น ปกติผู้ให้บริการก็จะใช้ฟังก์ชันแปลงให้เป็นกุญแจ (KDF) ซึ่งคำนวณค่าแฮชเป็นพัน ๆ รอบโดยมี พาสเฟรสเป็นค่าตั้งต้น 
มีผลลัพท์เป็นกุญแจที่ใช้ป้องกันกุญแจเข้ารหัสข้อมูลอีกทีหนึ่ง การคำนวณค่าแฮชซ้ำ ๆ ก็เพื่อถ่วงเวลาในการเจาะ พาสเฟรส

## การเลือก
ปกติจะแนะนำให้เลือก พาสเฟรสดังนี้
* ปกติยิ่งยาวเท่าไรก็ยิ่งปลอดภัยเท่านั้น แนะนำให้ยาวอย่างน้อย 15 ตัวอักษร โดยแอปหรือบริการอาจให้ใช้รหัสผ่านยาวถึง 127 ตัว
* ให้ใช้อักษรจากกลุ่มต่าง ๆ ที่เป็นไปได้ อักษรตัวเล็กตัวใหญ่ ตัวเลข สัญลักษณ์ (ถ้าแอปให้ใช้)
* เลือกให้ต่างกับวลีที่มีใช้ อย่าใช้วลีที่มีอยู่อย่างสามัญ จากคำคม เนื้อเพลง หนังสือ คัมภีร์ศาสนาเป็นต้น พิจารณาใช้คำที่ไม่เป็นคำ 
* ควรใช้พาสเพรซหนึ่ง ๆ กับบัญชีหรือแอปเดียวเท่านั้น ไม่ควรนำไปใช้ซ้ำ ๆ
* เลือกให้จำได้ เลือกคำต่าง ๆ ที่ไม่เกี่ยวข้องกัน แต่ยังสามารถจำได้
* อาจเลือกคำโดยสุ่มแทนการเลือกเอง เช่น จากไดซ์แวร์ แล้วตั้งเรื่องเพื่อสัมพันธ์คำต่าง ๆ ที่ได้ให้เป็นเรื่องที่จำได้
* วลีที่เลือกไม่ต้องเป็นประโยค ไม่ต้องถูกไวยากรณ์
* หลีกเลี่ยงการใช้ข้อมูลเกี่ยวกับผู้ใช้ เช่น วันเกิด ชื่อ ชื่อสัตว์เลี้ยง
* หลีกเลี่ยงคำที่พิมพ์เป็นรูปแบบบนแป้นพิมพ์ เช่น "qwerty"

## ตัวอย่างการสร้าง พาสเฟรส
ตัวอย่างหนึ่งในการสร้าง พาสเฟรสที่แข็งแกร่งก็คือการทอดลูกเต๋าเพื่อเลือกคำจากรายการที่มีคำเป็นจำนวนมาก เป็นเทคนิคที่เรียกว่า ไดซ์แวร์
แม้วิธีเช่นนี้จะเหมือนกับไม่ทำตามกฎ "ห้ามใช้คำจากพจนานุกรม" แต่จริง ๆ ความปลอดภัยของวิธีก็ขึ้นอยู่กับคำเป็นจำนวนมากที่เลือกได้จากรายการ 
ไม่ได้ขึ้นกับการปิดรายการคำไว้เป็นความลับ
ยกตัวอย่างเช่น ถ้ามีคำ 7,776 คำในรายการ แล้วเลือกคำ 6 คำโดยสุ่มจากรายการนั้น
ก็จะได้รายการวลีที่เป็นไปได้ *7,776<sup>6</sup>&nbsp;= 221,073,919,720,733,357,899,776* วลี โดนมีเอนโทรปี 78 บิต
(เลือกใช้จำนวน 7,776 เพราะสามารถเลือกคำด้วยการทอดลูกเต๋า 6 ด้าน 5 ครั้ง คือ *7776&nbsp;=&nbsp;6<sup>5</sup>*)
ผู้ใช้สามารถจำลำดับคำสุ่มเช่นนี้ได้ด้วยเทคนิคการจำต่าง ๆ เช่น ปราสาทแห่งความจำ 

อีกวิธีหนึ่งก็คือการเลือกวลีสองวลี โดยเปลี่ยนวลีหนึ่งให้เป็นตัวย่อ แล้วใส่เข้ากับวลีที่สอง กลายเป็น พาสเฟรสผลลัพท์
ตัวอย่างเช่น ถ้าเลือกเอาวลี 2 วลีที่ใช้ฝึกหัดพิมพ์ภาษาอังกฤษ ก็จะได้ 
*The quick brown fox jumps over the lazy dog* ย่อเป็น *tqbfjotld*
แล้วรวมเข้ากับวลี *Now is the time for all good men to come to the aid of their country* ซึ่งอาจจะได้ *Now is the time for all good tqbfjotld to come to the aid of their country* เป็น พาสเฟรส
มีข้อโต้แย้งหลายอย่างว่าทำไม พาสเฟรสเช่นนี้จึงไม่ดี 
*  พาสเฟรสวลีนี้ปรากฏเป็นสาธารณะแล้ว ดังนั้น จึงไม่ควรใช้
* ยาวมาก ซึ่งแม้ในทางทฤษฎีแล้วจะถือว่าดี แต่จริง ๆ อาจจะต้องเป็นคนพิมพ์เก่ง เพราะไม่งั้นแล้วโอกาสพิมพ์ผิดก็จะมากกว่าเพราะยาว 
* ทั้งปัจเจกบุคคลและองค์กรที่มุ่งมั่นกับการเจาะความปลอดภัยของคอมพิวเตอร์ ได้รวบรวมรายการรหัสผ่านที่ได้มาจากวิธีการเช่นนี้ ๆ จากคำคม  และที่มาอื่น ๆ

วิธีการเลือก พาสเฟรสทุกอย่างจะมีข้อแลกเปลี่ยนกันระหว่างความมั่นคงกับการใช้ได้ง่าย 
ความมั่นคงอย่างน้อยก็ควรจะพอเพียง แต่ก็ไม่ควรทำให้ผู้ใช้รำคาญมากเกินไป
เกณฑ์ทั้งสองนี้ควรชั่งเทียบกันให้ดีเพื่อให้เข้ากับสถานการณ์โดยเฉพาะ ๆ ได้

วิธีการเสริมความมั่นคงอย่างหนึ่งเพื่อชะลอการโจมตีแบบใช้กำลังก็คือการสร้างกุญแจเข้ารหัสจาก พาสเฟรสโดยใช้ฟังก์ชันแปลงให้เป็นกุญแจ (KDF) ซึ่งทำให้คำนวณค่าที่เป็นผลลัพธ์ได้ช้าลงเช่นฟังก์ชัน PBKDF2 ดังที่อธิบายไว้ใน RFC 2898

## การสนับสนุนในระบบปฏิบัติการต่าง ๆ
วินโดวส์สนับสนุน พาสเฟรสเริ่มตั้งแต่วินโดวส์ 2000 และวินโดวส์เอกซ์พี
ระบบปฏิบัติการเหมือนยูนิกซ์ปัจจุบันต่าง ๆ เช่น ลินุกซ์ โอเพนบีเอสดี  โซลาริส และฟรีบีเอสดี ล้วนสนับสนุน พาสเฟรสยาวจนถึง 255 ตัวอักษร

## ดูเพิ่ม
*Keyfile
*Password-based cryptography
*Password psychology

## เชิงอรรถและอ้างอิง

## แหล่งข้อมูลอื่น
* Diceware page
* xkcd Password Strength common-viewed explanation of concept

หมวดหมู่:รหัสผ่าน
หมวดหมู่:การจัดการรหัสผ่าน
หมวดหมู่:ความมั่นคงของระบบคอมพิวเตอร์
หมวดหมู่:การบริหารระบบ
หมวดหมู่:การระบุ
หมวดหมู่:ความมั่นคงของเครือข่ายคอมพิวเตอร์
หมวดหมู่:อินเทอร์เน็ต
หมวดหมู่:เทคโนโลยีเว็บ
หมวดหมู่:วิทยาการเข้ารหัสลับ
หมวดหมู่:การพิสูจน์ตัวจริงด้วยรหัสผ่าน