An authentication system for allowing a user having a personal electronic device, PED, to authenticate to a recipient system via a network, the system comprising: the recipient system configured to: - prompt the user for a unique token ID; - receive a unique token ID from the user, - generate a one-time password, OTP, upon receiving a request for authentication from the user, - send the token ID together with the OTP to an authentication server, - generate and store a random password, RP, associated with the user, - provide the RP to the PED, - receive directly from the PED an RP together with an OTP and user data including user's personal information, - authenticate the user by comparing the generated OTP with the received OTP and the generated RP with the received RP and determining that they match; the authentication server in communication via the network with both the PED and the recipient system, the authentication server configured to - receive from the recipient system the user's unique token ID and the OTP, and - send an authentication request to the user's PED, associated with the token ID, for a decision of the user to proceed with authentication at the recipient system or not, the request including the OTP; the PED configured to - store the random password, RP, received from the recipient system, - receive the authentication request from the authentication server that prompts the user for a decision to proceed or not with authentication at the recipient system, - store the user data in a memory, to retrieve the user data from the memory; and - send the retrieved user data, the previously obtained RP and the OTP included in the received authentication request to the recipient system to authenticate the user thereby, if authorized by the user. the recipient system configured to: - prompt the user for a unique token ID; - receive a unique token ID from the user, - generate a one-time password, OTP, upon receiving a request for authentication from the user, - send the token ID together with the OTP to an authentication server, - generate and store a random password, RP, associated with the user, - provide the RP to the PED, - receive directly from the PED an RP together with an OTP and user data including user's personal information, - authenticate the user by comparing the generated OTP with the received OTP and the generated RP with the received RP and determining that they match; - prompt the user for a unique token ID; - receive a unique token ID from the user, - generate a one-time password, OTP, upon receiving a request for authentication from the user, - send the token ID together with the OTP to an authentication server, - generate and store a random password, RP, associated with the user, - provide the RP to the PED, - receive directly from the PED an RP together with an OTP and user data including user's personal information, - authenticate the user by comparing the generated OTP with the received OTP and the generated RP with the received RP and determining that they match; the authentication server in communication via the network with both the PED and the recipient system, the authentication server configured to - receive from the recipient system the user's unique token ID and the OTP, and - send an authentication request to the user's PED, associated with the token ID, for a decision of the user to proceed with authentication at the recipient system or not, the request including the OTP; - receive from the recipient system the user's unique token ID and the OTP, and - send an authentication request to the user's PED, associated with the token ID, for a decision of the user to proceed with authentication at the recipient system or not, the request including the OTP; the PED configured to - store the random password, RP, received from the recipient system, - receive the authentication request from the authentication server that prompts the user for a decision to proceed or not with authentication at the recipient system, - store the user data in a memory, to retrieve the user data from the memory; and - send the retrieved user data, the previously obtained RP and the OTP included in the received authentication request to the recipient system to authenticate the user thereby, if authorized by the user. - store the random password, RP, received from the recipient system, - receive the authentication request from the authentication server that prompts the user for a decision to proceed or not with authentication at the recipient system, - store the user data in a memory, to retrieve the user data from the memory; and - send the retrieved user data, the previously obtained RP and the OTP included in the received authentication request to the recipient system to authenticate the user thereby, if authorized by the user.