Ensuring a Safe Journey into the Meta-Universe: How Gallux Secures User Logins
Last updated
Last updated
We will now take a detailed look at how we secure the login process, both in our Launcher and in the game itself. We will cover the methods we have integrated into our Unreal Engine 5.1 framework to provide a secure and seamless login to the Gallux meta-universe.
When users log into the Gallux Launcher, their credentials are protected through a combination of encryption and secure transmission protocols.
First, we use Secure Hash Algorithm 2 (SHA-2), a set of cryptographic hash functions, to encrypt user passwords. This means that even if an attacker manages to access the data, they would only see an indecipherable string of characters rather than the actual password.
We also use Secure Sockets Layer (SSL) / Transport Layer Security (TLS) protocols to protect the data in transit from the user's device to our servers. This ensures that the login credentials are securely transmitted over the internet without the risk of being intercepted.
To ensure the security of our users while logging into the game, we employ a two-factor authentication (2FA) process. This requires users to provide two different forms of identification before they're allowed access to their account.
After users input their encrypted credentials, they're required to input a unique code sent to a device only they can access, such as their mobile phone. This step adds an extra layer of security, making it much harder for unauthorized individuals to access the account even if they somehow obtain the user's password.
Protecting In-Game Transactions: Blockchain to the Rescue
In Gallux, players can own valuable in-game assets, which they can buy, sell, or trade with other players. To secure these transactions, we use the immutable and transparent nature of blockchain technology.
All in-game transactions are recorded on the blockchain, ensuring a tamper-proof history of ownership for all assets. We also use smart contracts to automate and secure the transfer of assets, ensuring that transactions can only take place if all conditions are met.
In Conclusion
At Gallux, we understand that security is a crucial aspect of any online experience. We have integrated advanced security measures at every step of the user journey, from logging into the Launcher to securing in-game transactions. We're dedicated to continuously enhancing our security measures, ensuring that our players can explore the Gallux with peace of mind.
Password Encryption
When a user creates an account or changes their password, we hash the password using SHA-256, a member of the SHA-2 family. Here's a simple illustration:
The hash_password
function takes a plaintext password, encodes it to bytes (since the hashlib functions require byte input), and returns the hexadecimal representation of the SHA-256 hash.
Secure Transmission with SSL/TLS
We use the HTTPS protocol, which is HTTP over SSL/TLS, to secure the communication between the client and our servers. This ensures that the data, including the hashed password, cannot be read by anyone who intercepts the communication. This is handled by the web server and client and isn't typically visible in the application code.
Two-Factor Authentication
We implement 2FA using a service like Google Authenticator. When a user sets up 2FA, a secret key is generated. This key is then used to generate a one-time password (OTP) that changes every 30 seconds.
Here's a simplified illustration of how the OTP is verified:
The verify_otp
function uses the secret key to generate the current OTP and checks if it matches the OTP entered by the user.
Blockchain Transactions
Transactions on the blockchain are secured by the properties of the blockchain itself. When a transaction is submitted, it's cryptographically signed with the sender's private key. The network then verifies the transaction signature using the sender's public key.
Here's an illustration using the Ethereum blockchain and the web3.py library:
This send_transaction
function constructs a transaction to send Ether from the sender to the recipient. The transaction is then signed with the sender's private key and sent to the network.
Remember that these are simplified examples and real-world implementations would include more features and safeguards. Additionally, the password should be hashed on the server side, not the client side, to prevent sending plaintext passwords over the network.