Dlaczego nie możemy używać / ustawiać klawiszy funkcyjnych jako kluczy hasła?

14

W żadnym systemie operacyjnym hasła z Fnnie były dozwolone. Na przykład nie mogę zachować Fn+ jakiegoś znaku jako hasła.

Jaki jest tego powód? Czy jest jakiś aspekt techniczny, który uniemożliwia projektantom systemów operacyjnych dopuszczanie Fnkluczy jako haseł?

Mogę wymyślić, że w niektórych laptopach Fnklawisze włączają lub wyłączają klawiaturę numeryczną. Ale co z komputerami stacjonarnymi? Ponieważ klawiatury pulpitu mają osobne Fn, dlaczego nie możemy używać go w hasłach?

BlueBerry - Vignesh4303
źródło
1
O jakim systemie operacyjnym mówisz? Windows, Linux, Mac?
LPChip
2
Nie jestem pewien, czy kiedykolwiek widziałem klawiaturę z klawiszem fn. Z pewnością jest to motywator, jeśli oznacza, że ​​wiele klawiatur w ogóle nie może wpisać tego hasła.
Vality
1
@Vality: używają ich klawiatury laptopów (np. Mój netbook jest za mały na klawiaturę numeryczną, naciskając [Fn] mogę użyć bloku klawiszy liter (i 7,8,9 z rzędu liczb). [Home] i [ Koniec] są dostępne tylko przy użyciu [Fn], ale nie mogą być znakami w hasłach
Chris H
2
Zachowanie na ekranie logowania Ubuntu (14.04) jest interesujące i może dać wskazówkę co do kilku podstawowych przyczyn: mogę włączyć klawiaturę numeryczną za pomocą Fn + Numlock (normalne dla tej klawiatury), a następnie z powodzeniem korzystać z klawiszy numerycznych (to nie jest zdradzając, że moje hasło ma cyfry). Z [Fn] + tymi samymi klawiszami (rozpoznawanymi jako cyfry na win7) klawisze działają jak klawisze strzałek (plus Home, End ...). To nie jest oczekiwane zachowanie. Być może połączenie braku ładowania ustawień klawiatury użytkownika, gdy nie są one zalogowane, a wysoki potencjał pomyłek sprawia, że ​​nie warto zaimplementować.
Chris H
24
lol. Klucze fn są specyficzne dla sprzętu. nie są nawet specyficzne dla systemu operacyjnego. następnie będziesz chciał użyć hasła, resetu i jasności w swoim haśle
Mark Ch

Odpowiedzi:

51

Hasła to tylko tekst ; zawierają znaki, a nie klawisze. Komputery nie są jak mechaniczne maszyny do pisania i istnieje między nimi rozróżnienie.

Używanie zarejestrowanych naciśnięć klawiszy dla haseł dałoby same wady:

  • Bezpieczeństwo: Wydłużenie hasła może być bardziej efektywne pod względem bezpieczeństwa niż zwiększenie alfabetu. (Jeśli zaczynasz od podstawowych 26 liter, 8-literowe hasło ma 26 8 = 208827064576 kombinacji. Rozszerzenie go na litery i cyfry dałoby 36 8 kombinacji, o 13,5 x więcej. Ale jeśli zamiast tego zwiększyłeś o jedną literę dłużej , to „ d otrzymam 26 9 możliwych haseł, dokładnie 26 razy więcej. Dwie litery dłuższe? 26 10 możliwości, 676 razy więcej. Jestem na koniu. )

    (Chociaż z drugiej strony takie proste obliczenia nie uwzględniają ataków słownikowych, ale nie sądzę, aby ci sami ludzie, którzy używają ich nazwisk jako haseł, dobrowolnie wykonaliby taniec z klawiszem funkcyjnym, gdyby to możliwe.)

  • Oczekiwania użytkowników: Prawie każdy myśli o towarzysza słowo jako coś zawierający słów i liter (tylko utrzymywane w tajemnicy). Jeśli więc klucz taki jak F7lub Fnnie wpisuje znaku normalnie, nie powinien również wpisywać niczego w polach hasła. Jeśli robi coś w rodzaju zmiany rozmiaru okna lub wyskakującego Google, powinien zrobić dokładnie to samo w polach hasła.

  • Główny cel klawiszy funkcyjnych: niektóre klawisze są używane przez sam program lub system operacyjny. Używane klucze różnią się w zależności od systemu. Czasami dodawane są nowe skróty klawiaturowe.

    Załóżmy, że użyłeś WinIhasła, a następnie uaktualniłeś system z Windows 98 do Windows 10; teraz nie możesz już wpisać swojego hasła, ponieważ WinIjest ono używane przez sam system operacyjny.

    A może używałeś FnRightze starym laptopem, ale oznacza to „przejdź do następnej piosenki” na nowym. Nagle nie możesz zalogować się do Gmaila, chyba że najpierw zamkniesz odtwarzacz muzyki.

  • Różnice między urządzeniami: niektóre klawisze nie istnieją we wszystkich klawiaturach. Kiedy ostatni raz widziałeś klawiaturę stacjonarną na PC Fn? A może klawiatura Mac z Winklawiszem? Nawet te same komputery nie zawsze mają Pauselub SysRqjuż nie mają .

    Jak wprowadziłbyś te naciśnięcia klawiszy na urządzeniu mobilnym? Powiedzmy, że na telefonie z 12 przyciskami? Lub iPhone'a, zanim zaczęli zezwalać na klawiatury innych firm ...

    Ludzie już mają takie problemy. Często nie mogą nawet pisać własnego skryptu / języka (nawet podstawowej łaciny z akcentami, takimi jak álub ū) i są zmuszeni trzymać się tego, co oferuje układ klawiatury QWERTY w USA - to jedyna rzecz, która konsekwentnie działa w bibliotekach publicznych i ogólnie wszędzie.

  • Wreszcie hasła pozostają tekstem (a wiele składników systemu operacyjnego oczekuje, że będą one tekstem), więc system operacyjny musiałby zdecydować, w jaki sposób przetłumaczyć każde naciśnięcie klawisza na coś, co można zapisać jako tekst.

    Xterm-podobne aplikacje terminalowe już to robią (podobnie jak rzeczywiste fizyczne terminale) - a jednak, po trzech dekadach , wciąż nie uzgodniły, jak to zrobić. Istnieją co najmniej dwa różne tłumaczenia klawiszy strzałek i co najmniej cztery różne sposoby tłumaczenia F1-F12.

    Więc może wejście F3i programy terminalowe oparte będzie go zobaczyć jako tekst - ale nie wiem, czy będzie to ESC O Ralbo ESC [ 1 3 ~albo ESC [ [ Calbo ESC [ O...

grawitacji
źródło
1
Właśnie przetestowałem, a F3 tłumaczy jak ESC O Rdla mnie, nie ESC O Q; Myślę, że możesz mieć błąd „jeden po drugim”;)
IMSoP
10
Najbardziej interesuje mnie przykład, w którym ktoś uaktualnia system z Win98 do Win10.
Engineer Toast,
10
@EngineerToast: Łańcuch głupców ? Musisz tylko tymczasowo obniżyć do ME, następnie uaktualnić do 2000 i XP, a następnie obniżyć do Vista, uaktualnić do Win7, obniżyć do 8, uaktualnić do 8.1 itd.
użytkownik1686
Zwłaszcza część dotycząca „różnic między urządzeniami” powoduje, że nawet przy użyciu menedżera haseł ograniczam hasła do czysto alfanumerycznych i tam, gdzie to możliwe, kompensuję długością. Jeśli kiedykolwiek będę musiał ręcznie wprowadzić hasło (tak jak musiałem to zrobić dzisiaj), nie będę walczył nadmiernie, szczególnie na urządzeniu mobilnym.
Nzall,
@grawity Dość pewna, że ​​górna maszyna Win 98 nie mogłaby obsługiwać Win 10. Jedynym realnym sposobem, jaki mogę wymyślić, jest: „użyj Win 98 od 99 do 2015, kup nowy komputer w 2015 roku”.
jpmc26
12

Linux weźmie prawie każde naciśnięcie klawisza (oprócz samych klawiszy modyfikujących) jako dane wejściowe dla haseł. W moim systemie arch mogę łatwo ustawić F12-F10-F9 jako moje hasło. W tym wierszu brakuje F11, ponieważ mój menedżer okien połyka ten klucz i interpretuje go jako polecenie „pełnoekranowe”.

To jest problem z większością rzeczy, które prawdopodobnie próbowałeś: menedżer okien (GUI) połknie określone klucze przed przekazaniem danych wejściowych do programu, w którym próbujesz wprowadzić dane. Jeśli jesteś w konsoli bez GUI , będziesz mógł użyć prawie wszystkiego, co możesz sobie wyobrazić jako hasła.

EDYCJA: należy również pamiętać, że niektóre klawiatury mają przypisane klawisze fn na stałe związane ze zmianami sprzętowymi. Na przykład na moim Lenovo fn + space przełącza podświetlenie klawiatury całkowicie niezależnie od systemu operacyjnego. W tym przypadku system operacyjny nawet nie otrzymuje naciśnięcia klawisza.

EDYCJA EDYCJA: odpowiedź grawitacji (wraz z komentarzami do tej odpowiedzi) szczegółowo opisuje, dlaczego prawdopodobnie nie chcesz tego robić.

Szymon
źródło
8
Pamiętaj, że twoje hasło tak naprawdę nie składa się z F12-F10-F9; jeśli wiesz, w jakiej sekwencji ASCII został zakodowany, możesz zamiast tego wpisać (lub wkleić). Jednym kodem sterującym (tzn. Nie nadającym się do wydruku), który faktycznie zapisujesz na hasło, jest prawdopodobnie ESC (ASCII 27), wskazujący początek sekwencji ucieczki.
IMSoP,
@IMSoP Tak, to bardzo dobrze ujęte w odpowiedzi Grawity.
Simon
3
Może to spowodować ugryzienie za każdym razem, gdy nastąpi zmiana w środowisku, która spowoduje wygenerowanie innego tekstu za pomocą tego samego klawisza funkcyjnego. Może to być tak niewielkie, jak zmiana ustawień regionalnych, zdalna sesja X lub aktualizacja środowiska pulpitu, a zalogowanie się będzie niemożliwe.
Kilian Foth,
1
Nawiasem mówiąc, mam hasło do backspace. To był ból.
Jozuego
5

Zależy to od terminala , a nie od systemu operacyjnego .

Niektóre terminale można skonfigurować do przechowywania dowolnych ciągów; Zrobiłem to dla wyse-50 jakiś czas temu, używając sekwencji specjalnych do ich zaprogramowania.

Niedawno możesz ustawić translationszasób, xtermaby wysyłał ciąg . Nie ma dla tego sekwencji ucieczki (która byłaby przydatna: DECUDKjest najbliższa i wysyła wynik w postaci szesnastkowej).

Niektóre terminale (takie jak Terminal.app) mają okno dialogowe preferencji, które umożliwia umieszczenie tam dowolnych ciągów . Ponownie, brak sekwencji ucieczki, ale zdecydowanie konfigurowalny.

Niektóre (najwyraźniej gnome-terminal i konsola) pozwalają ci na pewną ograniczoną konfigurację klawiatury.

Ostatecznie odpowiedź sprowadza się do znalezienia

  • jeśli używany terminal obsługuje tę funkcję, oraz
  • jeśli tak, to jak skutecznie z niego korzystać.

Dalsza lektura:

Ta odpowiedź dotyczy haseł w terminalach , a nie GUI . W interfejsie GUI aplikacja może nawet nie widzieć klawisza funkcyjnego jako tekstu. GUI mają różne ograniczenia, np. (Na komentarz) w systemie Windows, hasła mogą być wyświetlane na pulpicie zabezpieczeń , więc nie ma znaczenia, jak klawiatura jest skonfigurowana. W szczególności, ponieważ działa to w odseparowaniu od innych procesów, nie można użyć dodatku (takiego jak autohotkey) do przechowywania / wklejania haseł. Inne GUI mają swoje własne reguły (patrz XSendEventna przykład), które niekoniecznie są określone przez system operacyjny , ale biblioteki wykonawcze .

Dalsza lektura:

Thomas Dickey
źródło
W systemie Windows klawisz Fn + jest obsługiwany tak samo jak klawisze multimedialne. Wymaga specjalnego sposobu przechwytywania klucza, który nie jest obsługiwany w systemie Windows, więc system operacyjny naprawdę ma znaczenie.
LPChip
W systemie Windows hasła mogą być monitowane w podsystemie zabezpieczeń, więc nie ma znaczenia, w jaki sposób klawiatura jest skonfigurowana (uzgodniona).
Thomas Dickey,
„Podsystem bezpieczeństwa” systemu Windows nie jest magią. Nie zaczepia się o sterowniki klawiatury ani nic. Jeśli kiedykolwiek wyświetli się monit o hasło, jest to zwykłe pytanie o hasło.
user1686,
Nie powiedziałem, że tak. Wzdłuż tych linii wiele odpowiedzi uważam za nieprzydatne.
Thomas Dickey,
2

Mówiąc najprościej, Fnw haśle nie można używać kombinacji klawiszy, ponieważ dla tych kombinacji nie zdefiniowano odpowiadających znaków. Chodzi o to, że nie powinieneś używać niestandardowych kluczy podczas wpisywania hasła, nawet jeśli możesz. Jeśli coś pójdzie nie tak, będziesz miał kłopoty. Będziesz znać swoje hasło, ale nie będziesz mógł go wpisać:

  • Twój komputer umiera i podłączasz dysk twardy do innego. Nie można uruchomić bez hasła dysku twardego, którego nie można wpisać.
  • Nie masz dostępu do swojego komputera (np. Podczas podróży) i musisz sprawdzić ważną wiadomość e-mail. Powodzenia w lokalizacji Fnlub F1na telefonie.

itp.

Dmitrij Grigoriew
źródło
0

Ponieważ klawisze funkcyjne wykonują funkcje na komputerze. Nie stanowią one dodania tekstu do bieżącego kontekstu tekstu (takie konteksty, w tym wprowadzanie hasła). Istotą klawiszy funkcyjnych jest wykonanie meta operacje, które różnią się od wprowadzania tekstu.

Poza tym są one w 100% specyficzne dla systemu operacyjnego i dlatego w ogóle nie są przenośne. Nie znajdziesz kodów klawiszy funkcyjnych w ASCII.

Lekkość Wyścigi z Moniką
źródło
Klawisze Fn nie są „w 100% specyficzne dla systemu operacyjnego”. Są one w około 95% specyficzne dla sprzętu , a może 5% dla systemu operacyjnego. Tak czy inaczej, standardy ASCII je wykluczają.
Matthew Najmon,