ทำไมเราไม่สามารถใช้ / ตั้งค่าฟังก์ชั่นคีย์เป็นรหัสผ่านได้


14

ในระบบปฏิบัติการใด ๆ รหัสผ่านด้วยFnไม่ได้รับอนุญาต ตัวอย่างเช่นฉันไม่สามารถเก็บFn+ อักขระบางตัวเป็นรหัสผ่านได้

อะไรคือเหตุผลเบื้องหลัง ด้านเทคนิคใด ๆ ที่ทำให้ผู้ออกแบบระบบปฏิบัติการไม่อนุญาตให้ใช้Fnรหัสผ่านเป็นรหัสผ่าน

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


1
ระบบปฏิบัติการอะไรที่คุณพูดถึง? Windows, linux, mac?
LPChip

2
ฉันไม่แน่ใจว่าฉันเคยเห็นแป้นพิมพ์ที่มีปุ่ม fn แน่นอนว่านี่เป็นแรงจูงใจถ้ามันหมายความว่าคีย์บอร์ดจำนวนมากไม่สามารถพิมพ์รหัสผ่านนี้ได้เลย
Vality

1
@Vality: แป้นพิมพ์แล็ปท็อปใช้พวกเขา (เช่นเน็ตบุ๊กของฉันเล็กเกินไปสำหรับแป้นตัวเลขโดยการกด [Fn] ฉันสามารถใช้บล็อกของปุ่มตัวอักษร (และ 7,8,9 จากแถวตัวเลข) [หน้าแรก] และ [ End] กำลังเพียงเข้าถึงได้โดยใช้ [Fn] แต่พวกเขาไม่สามารถมีตัวอักษรในรหัสผ่าน.
คริส H

2
พฤติกรรมบนหน้าจอเข้าสู่ระบบของ Ubuntu (14.04) นั้นน่าสนใจและอาจให้เหตุผลบางอย่างเกี่ยวกับสาเหตุ: ฉันสามารถเปิดใช้งาน numpad โดยใช้ Fn + Numlock (ปกติสำหรับแป้นพิมพ์นี้) แล้วใช้ปุ่มตัวเลขได้สำเร็จ (ไม่ใช่ ให้มากที่จะยอมรับว่ารหัสผ่านของฉันมีตัวเลขใน) ด้วย [Fn] + แป้นเดียวกัน (รับรู้ว่าเป็นตัวเลขใน win7) คีย์จะทำหน้าที่เป็นปุ่มลูกศร (รวมถึง Home, End ... ) นี่ไม่ใช่พฤติกรรมที่คาดหวัง อาจเป็นการรวมกันของไม่โหลดการตั้งค่าแป้นพิมพ์ของผู้ใช้เมื่อพวกเขาไม่ได้เข้าสู่ระบบและมีโอกาสสูงสำหรับความสับสนทำให้ไม่คุ้มค่าการใช้งาน
Chris H

24
ฮ่า ๆ. ปุ่ม fn เป็นฮาร์ดแวร์เฉพาะ พวกเขาไม่ได้เฉพาะระบบปฏิบัติการ ถัดไปคุณจะต้องใช้ปุ่มเปิดปิดเครื่องรีเซ็ตและปุ่มปรับความสว่างในรหัสผ่านของคุณ
ทำเครื่องหมาย Ch

คำตอบ:


51

รหัสผ่านเป็นอะไรมาก แต่ข้อความ ; มันมีตัวอักษรไม่ใช่ปุ่มกด คอมพิวเตอร์ไม่เหมือนเครื่องพิมพ์ดีดเชิงกลและมีความแตกต่างระหว่างสองเครื่องนี้

การใช้ปุ่มกดที่บันทึกไว้สำหรับรหัสผ่านจะไม่มีผลอะไรนอกจากข้อเสีย:

  • ความปลอดภัย: การกำหนดรหัสผ่านให้นานขึ้นนั้นสามารถรักษาความปลอดภัยได้อย่างมีประสิทธิภาพมากกว่าการเพิ่มตัวอักษร (ถ้าคุณเริ่มต้นด้วยพื้นฐาน 26 ตัวอักษร, รหัสผ่าน 8 ตัวอักษร 26 8 = 208827064576 รวมกัน. ขยายไปยังตัวอักษรและตัวเลขจะให้ 36 8รวมกัน 13.5 เท่ามากขึ้น. แต่ถ้าคุณแทนเพียงแค่ทำให้มันเป็นจดหมายฉบับหนึ่งอีกต่อไปคุณ' ได้รับ 26 9รหัสผ่านที่เป็นไปได้เพิ่มขึ้น 26x อีกสองตัวอักษรยาวกว่าหรือไม่ 26 10ความเป็นไปได้ 676 เท่าฉันอยู่บนหลังม้า )

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

  • ความคาดหวังของผู้ใช้: เกือบทุกคนคิดว่าคำว่า pass เป็นสิ่งที่มีคำและตัวอักษร (เก็บเป็นความลับ) ดังนั้นหากคีย์ชอบF7หรือFnไม่พิมพ์อักขระตามปกติก็ไม่ควรพิมพ์อะไรในฟิลด์รหัสผ่านเช่นกัน หากมันทำอะไรบางอย่างเช่นปรับขนาดหน้าต่างหรือป๊อปอัปของ Google ก็ควรทำเช่นเดียวกันในช่องรหัสผ่าน

  • วัตถุประสงค์หลักของปุ่มฟังก์ชั่น: บางปุ่มใช้งานโดยตัวโปรแกรมเองหรือโดยระบบปฏิบัติการ คีย์ใดที่ใช้จะแตกต่างกันระหว่างระบบ บางครั้งมีการเพิ่มแป้นพิมพ์ลัดใหม่

    สมมติว่าคุณใช้WinIรหัสผ่านของคุณจากนั้นอัปเกรดจาก Windows 98 เป็น Windows 10 ตอนนี้คุณไม่สามารถพิมพ์รหัสผ่านของคุณได้อีกต่อไปเพราะWinIระบบปฏิบัติการใช้

    หรือบางทีคุณอาจเคยใช้FnRightกับแล็ปท็อปเครื่องเก่า แต่มันหมายถึง "ข้ามไปยังเพลงถัดไป" ในเพลงใหม่ของคุณ ทันใดนั้นคุณไม่สามารถเข้าสู่ Gmail ได้เว้นแต่คุณจะปิดเครื่องเล่นเพลงก่อน

  • ความแตกต่างระหว่างอุปกรณ์: ปุ่มบางปุ่มไม่มีอยู่ในแป้นพิมพ์ทั้งหมด ครั้งสุดท้ายที่คุณเห็นแป้นพิมพ์เดสก์ท็อปพีซีพร้อมFnปุ่ม? หรือแป้นพิมพ์ Mac พร้อมWinปุ่มกด? แม้เครื่องคอมพิวเตอร์เดียวกันไม่เคยมีPauseหรือSysRqอีกต่อไป

    คุณจะป้อนปุ่มกดเหล่านี้บนอุปกรณ์มือถือได้อย่างไร สมมุติว่ามีฟีเจอร์โฟนที่มี 12 ปุ่ม? หรือ iPhone ก่อนที่พวกเขาจะอนุญาตคีย์บอร์ดของบุคคลที่สาม ...

    คนแล้วมีปัญหาดังกล่าว บ่อยครั้งที่พวกเขาไม่สามารถพิมพ์สคริปต์ / ภาษาของตัวเอง (แม้แต่ภาษาละตินพื้นฐานที่มีสำเนียงเหมือนáหรือū) และถูกบังคับให้ยึดติดกับรูปแบบแป้นพิมพ์ QWERTY ของสหรัฐอเมริกา - นั่นเป็นสิ่งเดียวที่ทำงานได้อย่างต่อเนื่องในห้องสมุดสาธารณะและโดยทั่วไป

  • ในที่สุดรหัสผ่านยังคงเป็นข้อความ (และส่วนประกอบระบบปฏิบัติการจำนวนมากคาดว่าจะเป็นข้อความ) ดังนั้นระบบปฏิบัติการจะต้องตัดสินใจว่าจะแปลแต่ละปุ่มกดเป็นสิ่งที่สามารถจัดเก็บเป็นข้อความได้หรือไม่

    แอปเทอร์มินัลที่เหมือน xterm ทำเช่นนี้แล้ว (เช่นเทอร์มินัลทางกายภาพจริง) - และหลังจากผ่านไปสามทศวรรษพวกเขาก็ยังไม่ได้ตกลงกันในเรื่องวิธีการหนึ่ง มีการแปลต่างกันอย่างน้อยสองปุ่มสำหรับปุ่มลูกศรและอย่างน้อยสี่วิธีในการแปล F1-F12

    ดังนั้นคุณสามารถป้อนข้อมูลF3และโปรแกรมที่ใช้เทอร์มินัลจะเห็นว่าเป็นข้อความ - แต่คุณไม่รู้ว่ามันจะเป็นESC O RหรือESC [ 1 3 ~หรือESC [ [ CหรือESC [ O...


1
ฉันเพิ่งทดสอบและ F3 แปลว่าESC O Rสำหรับฉันไม่ใช่ESC O Q; ฉันคิดว่าคุณอาจจะมีข้อผิดพลาดแบบ off-one;)
IMSoP

10
ฉันสนใจตัวอย่างที่มีคนอัพเกรดจาก Win98 เป็น Win10
Engineer Toast

10
@EngineerToast: กลุ่มคนโง่ ? คุณต้องปรับลดรุ่นเป็น ME ชั่วคราวจากนั้นอัปเกรดเป็น 2000 และ XP จากนั้นปรับลดรุ่นเป็น Vista อัพเกรดเป็น Win7 ปรับลดเป็น 8 อัปเกรดเป็น 8.1 และอื่น ๆ
user1686

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

@ grawity ค่อนข้างแน่ใจว่าเครื่อง Win 98 ปลายไม่สามารถรองรับ Win 10 ได้วิธีเดียวที่ฉันคิดได้ก็คือ "ใช้ Win 98 จาก 99 ถึง 2015, ซื้อคอมพิวเตอร์ใหม่ในปี 2015"
jpmc26

12

ลีนุกซ์จะใช้ปุ่มกดใด ๆ (ยกเว้นคีย์ตัวแก้ไขด้วยตนเอง) เพื่อป้อนรหัสผ่าน ในระบบ arch ของฉันฉันสามารถตั้งค่า F12-F10-F9 เป็นรหัสผ่านของฉันได้อย่างง่ายดาย F11 หายไปในแถวนั้นเนื่องจากตัวจัดการหน้าต่างของฉันกลืนกินคีย์นั้นและตีความมันเป็นคำสั่ง "เต็มหน้าจอ"

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

แก้ไข: ยังทราบว่าแป้นพิมพ์บางตัวมีอินพุต fn-key ของพวกเขาสายยากที่จะเปลี่ยนแปลงฮาร์ดแวร์ ตัวอย่างเช่นบน Lenovo fn + space ของฉันจะสลับแบ็คไลท์ของคีย์บอร์ดอย่างอิสระโดยไม่ขึ้นกับระบบปฏิบัติการ ระบบปฏิบัติการไม่ได้รับการกดปุ่มในกรณีนี้

แก้ไขแก้ไข: คำตอบ grawity (โฆษณาความคิดเห็นในคำตอบนี้) มีรายละเอียดเกี่ยวกับสาเหตุที่คุณอาจไม่ต้องการทำเช่นนี้


8
โปรดทราบว่ารหัสผ่านของคุณไม่ได้ประกอบด้วย F12-F10-F9 หากคุณรู้ว่าลำดับ ASCII ที่เข้ารหัสนั้นคุณสามารถพิมพ์ (หรือวาง) แทนได้ รหัสควบคุมหนึ่งตัว (เช่นตัวอักษรที่ไม่สามารถพิมพ์ได้) ที่คุณกำลังบันทึกรหัสผ่านนั้นน่าจะเป็น ESC (ASCII 27) ซึ่งบ่งบอกถึงจุดเริ่มต้นของลำดับการหลีกเลี่ยง
IMSoP

@IMSoP Yup นี่ครอบคลุมคำตอบของ Grawity เป็นอย่างดี
Simon

3
การทำเช่นนี้จะกัดคุณทุกครั้งที่มีการเปลี่ยนแปลงในสภาพแวดล้อมของคุณที่ทำให้ข้อความต่าง ๆ ถูกสร้างขึ้นโดยฟังก์ชั่นคีย์เดียวกัน อาจเป็นเรื่องเล็กน้อยเมื่อมีการเปลี่ยนภาษา, เซสชัน X ระยะไกลหรือการอัพเกรดสภาพแวดล้อมเดสก์ท็อปและคุณจะไม่สามารถเข้าสู่ระบบได้
Kilian Foth

1
บังเอิญฉันได้รับ backspace ในรหัสผ่านของฉัน นั่นเป็นความเจ็บปวด
Joshua

5

นั่นขึ้นอยู่กับขั้วไม่ใช่ระบบปฏิบัติการ

เทอร์มินัลบางตัวสามารถกำหนดค่าให้จัดเก็บสตริงโดยพลการ ฉันทำสิ่งนี้เพื่อให้wyse-50กลับมาอีกครั้งโดยใช้ลำดับเอสเคปเพื่อตั้งโปรแกรม

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

บางขั้ว (เช่น Terminal.app) มีค่าการโต้ตอบซึ่งจะช่วยให้คุณใส่สตริงโดยพลการมี อีกครั้งไม่มีลำดับ escape แต่สามารถกำหนดค่าได้อย่างแน่นอน

บางคน (ดูเหมือนว่าgnome-terminalและ konsole) ให้คุณกำหนดค่าคีย์บอร์ดได้อย่าง จำกัด

ในที่สุดคำตอบก็จะลดลงไปจนถึงการค้นหา

  • หากเครื่องที่คุณใช้รองรับคุณสมบัตินั้นและ
  • ถ้าเป็นเช่นนั้นวิธีการใช้งานได้อย่างมีประสิทธิภาพ

อ่านเพิ่มเติม:

คำตอบนี้เกี่ยวข้องกับรหัสผ่านในอาคารมากกว่าGUI ใน GUI แอปพลิเคชันอาจไม่เห็นแม้แต่ฟังก์ชั่นคีย์เป็นข้อความ GUIs มีข้อ จำกัด ที่แตกต่างกันเช่น (ต่อความคิดเห็น) ใน Windows รหัสผ่านอาจได้รับแจ้งในเดสก์ท็อปความปลอดภัยดังนั้นจึงไม่สำคัญว่าแป้นพิมพ์จะตั้งค่าอย่างไร โดยเฉพาะอย่างยิ่งเนื่องจากการทำงานที่แยกออกจากกระบวนการอื่นคุณไม่สามารถใช้ Add-on (เช่น autohotkey) เพื่อจัดเก็บ / วางรหัสผ่าน GUIs อื่นมีกฎของตนเอง (ดูXSendEventตัวอย่าง) ซึ่งไม่จำเป็นต้องพิจารณาจากระบบปฏิบัติการแต่เป็นไลบรารีรันไทม์

อ่านเพิ่มเติม:


ใน windows คีย์ fn + จะได้รับการจัดการเช่นเดียวกับคีย์สื่อ มันต้องการวิธีพิเศษในการจับกุญแจซึ่งเป็นสิ่งที่ไม่รองรับบน Windows ดังนั้นระบบปฏิบัติการจึงมีความสำคัญ
LPChip

บน Windows อาจมีการถามรหัสผ่านในระบบย่อยการรักษาความปลอดภัยดังนั้นจึงไม่สำคัญว่าจะมีการตั้งค่าแป้นพิมพ์ (ตกลง)
Thomas Dickey

ระบบย่อยการรักษาความปลอดภัยของ Windows ไม่ใช่เรื่องมหัศจรรย์ มันไม่เกี่ยวกับไดรเวอร์ของคีย์บอร์ดหรืออะไรเลย หากเคยแสดงพรอมต์รหัสผ่านนั่นเป็นพรอมต์รหัสผ่านปกติ
user1686

ฉันไม่ได้บอกว่ามันเป็น ตามคำตอบของคุณฉันพบว่าไม่มีประโยชน์
Thomas Dickey

2

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

  • คอมพิวเตอร์ของคุณตายและคุณเสียบ HDD ของคุณเข้ากับเครื่องอื่น คุณไม่สามารถบู๊ตได้หากไม่มีรหัสผ่าน HDD ซึ่งคุณไม่สามารถพิมพ์ได้
  • คุณไม่สามารถเข้าถึงคอมพิวเตอร์ของคุณ (เช่นระหว่างการเดินทาง) และต้องตรวจสอบอีเมลสำคัญ ขอให้โชคดีในการค้นหาFnหรือF1ในโทรศัพท์ของคุณ

เป็นต้น


0

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

นอกจากนี้ยังเป็นระบบปฏิบัติการเฉพาะ 100% และไม่สามารถพกพาได้เลย คุณจะไม่พบรหัสคีย์ฟังก์ชันใน ASCII


ปุ่ม Fn ไม่ใช่ "เฉพาะระบบปฏิบัติการ 100%" พวกเขากำลังประมาณ 95% ฮาร์ดแวร์ที่เฉพาะเจาะจงและอาจ 5% ระบบปฏิบัติการที่เฉพาะเจาะจง อย่างไรก็ตามไม่ว่าจะด้วยวิธีใดก็ตามมาตรฐาน ASCII จะแยกออกจากกัน
Matthew Najmon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.