musisz określić, jaki rodzaj tokena użyć.
Istnieje wiele opcji tutaj słyszałem:
- sprzętowego tokena
- oprogramowania tokenu aplikacji (Mac OS, Windows, iOS, Android, Windows Mobile, i kilka innych) przeglądarka
- internetowej Token
Proszę sprawdzić ten link, aby uzyskać więcej informacji: http://www.emc.com/security/rsa-securid/rsa-securid-software-authenticators.htm#!offerings_for_web_browsers
Przy użyciu tokena sprzętowego należy użyć aparatu i odczytać piksele z wykonanego zdjęcia (nie będę w stanie Ci pomóc).
Token oprogramowania jest prostszy.
Ostatnio utworzyłem małe narzędzie wiersza poleceń, które jest w stanie wykonać, wprowadzić kod PIN i odczytać kod wygenerowany w aplikacji tokena. Nie mogę wysłać ci narzędzia (własności mojej firmy), ale mogę ci dać wskazówki, co musisz zrobić, aby stworzyć własną aplikację, która zrobi to samo.
Najpierw jednak musisz mi powiedzieć, czy używasz tokena oprogramowania, czy nie.
OK. Ponieważ masz token oprogramowania, opiszę, co robi moja aplikacja, aby automatycznie połączyć się z VPN.
1) przed wykonaniem tej czynności należy skonfigurować token programowy.
Oprócz tego klienta VPN należy również skonfigurować, a połączenie musi być wymienione na liście dostępnych połączeń.
Po skonfigurowaniu możesz wykonać automatyczne połączenie VPN.
Mamy tokena oprogramowania podobnego do tego:
https://ssl.seagate.com/ssl/docs/soft_token_install_instructions.html
Nasz Klient VPN wygląda wygląda coś jak ten:
http://wireless-setup.wsu.edu/msIPSEC.html
2) Gdy wszystkie narzędzia są skonfigurowane można rozpocząć połączenie VPN.
Musisz być przygotowany na przeprowadzenie szczegółowego dochodzenia.
Faceci z RSA bardzo ciężko pracowali, aby uniemożliwić to, co tutaj robimy.
Nie używają zwykłych elementów sterujących. Stworzyli własne kontrole, których nie mam dla specyfikacji .
Zrobiłem to za pomocą funkcji API C++ i WIN32. To mój przepis.
a) parametry odczytu przekazywane do programu
b) zweryfikować parametry Mam liczbę params jak PIN, numer połączenia do ustalenia, polecenia do uruchomienia gdy połączenie zostanie nawiązane itd. Mogą być oczywiście zakodowane, ale żeby być elastycznym, mogę je przekazać z linii poleceń.
c) czek na tokena aplikacji [EnumWindows]
Reklamowe aplikacja może mieć 2 okna najwyższego poziomu [jednej wprowadzić kod PIN, a jedno z hasłem]
Gdybym wykryć oba okna otwarte zamknę aplikację i uruchom ją ponownie.
Możesz spróbować wysłać wiadomość WM_CLOSE, aby zamknąć aplikację. I symulować działanie użytkownikom nacisnąć „X” przycisk Zamknij
//restore it <if minimized>
SendMessage(hwndTokenApplicationPinWindow,WM_SYSCOMMAND,SC_RESTORE,NULL);
//close the app
SendMessage(hwndTokenApplicationPinWindow,WM_LBUTTONDOWN,MK_LBUTTON,MAKELPARAM(223,14));
SendMessage(hwndTokenApplicationPinWindow, WM_LBUTTONUP,0,MAKELPARAM(223,14));
uruchomić go używam CreateProccess funkcyjny.
Po ponownym uruchomieniu aplikacji lub gdy zostało otwarte tylko jedno okno, można teraz wprowadzić kod PIN.
d) Wprowadź PIN
symulować użytkowników lewym przyciskiem myszy na okno pin WM_LBUTTONDOWN, WM_LBUTTONUP.
Wprowadzam pin za pomocą WM_CHAR.
Po wprowadzeniu kliknij przycisk OK, używając WM_LBUTTONDOWN, WM_LBUTTONUP.
Po zakończeniu należy wyświetlić okno kodu dostępu.
e) Czytaj hasło
Aby otrzymać kod dostępu użyć przycisku Kopiuj z tokena. Ten przycisk Skopiuj dane do schowka.
symulować naciśnięcie tego przycisku: WM_LBUTTONDOWN, WM_LBUTTONUP
I odczytać dane ze schowka:
BOOL InvalidData = FALSE;
OpenClipboard(NULL);
HANDLE clip0 = GetClipboardData(CF_UNICODETEXT);
wchar_t* p=(wchar_t*)GlobalLock(clip0);
if(wcslen(p) == MaxPasscodeSize-1)
wcscpy_s(currentPasscode,MaxPasscodeSize,p);
else if(wcslen(p) != MaxPasscodeSize-1 && wcslen(p) != 0)
{
wprintf(L"Error: Passcode in clipboard is invalid\n");
InvalidData = TRUE;
}
GlobalUnlock(clip0);
CloseClipboard();
Teraz masz Passcode gotowe do użycia w Cisco VPN Client.
Proszę dać mi znać, jeśli ma to dla ciebie jakiś sens.
Jeśli tak, a Twoja aplikacja działa do tego momentu, proszę dać mi znać, a ja przekażę instrukcje dotyczące obsługi klienta VPN.
Jeśli potrzebujesz bardziej szczegółowych instrukcji dotyczących powyższych kroków, daj mi znać.
Przypuśćmy, że mówimy o tokenach RSA, zapieczętowany token wymaga kamery internetowej i OCR :) – ZJR
@ZJR, klient używa RSA SecurId 700. Przypuszczam, że "RSA SecurId Token for Windows" może kliknąć " Skopiuj "i pobierz wartość do schowka i przeczytaj ją. Jednak ponieważ jest to symbol, muszę wymyślić inne opcje. Ważny jest również czynnik "czasu wygaśnięcia" jednorazowego uwierzytelnienia. Jeśli jakikolwiek api zwróci klucz bezpieczeństwa i czas pozostały do ważności klucza bezpiecznego, będzie on bardziej przydatny w automatyzacji testów. – parishodak
Lepiej umieścić "kamerę internetową i OCR" jako prawdziwą odpowiedź! Jeśli nie możesz ich przekonać do wydania tokena spoza sprzętu dla celów testowych ... – bobince