Alternative to storing configuration in StreamingAssets? #282
-
Hello! By using the StreamingAssets folder to store the product information we are just exposing sensitive information to the public, and in a human-readable format like JSON. Is there an alternative (i.e. hardcoding, passing it to EOSManager somehow) to this? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments
-
We're also concerned about this, seems like a fairly big security hole. |
Beta Was this translation helpful? Give feedback.
-
Difficult to move forward with this plugin as it stands currently. Another vote here to change how this is resolved. |
Beta Was this translation helpful? Give feedback.
-
Epic Games' Technical Account Management team has indicated that it is no issue for this information (I would imagine the EncryptionKey is an exception) to be available to users, provided that your Client Policy is configured correctly. My open question to their Service Delivery team was as follows:
Their response clearly instructed that I should keep the ClientSecret under "lock and key", but was worded in such a way that I suspected might have been referring to the BPT or something else that could readily make use of ClientSecretEnvVar, so I rephrased my question:
My question was then passed to one of their TAMs, and their response was:
I am waiting on a follow-up clarification regarding the EncryptionKey. I hope this helps/reassures someone. |
Beta Was this translation helpful? Give feedback.
-
For untrusted clients this should not be a problem. The way you limit the untrusted clients authorities is via the client settings. (Remember EOS can be used by trusted BE services too, where indeed these information would be security sensitive. However, those shall be run in isolated environments anyway.) |
Beta Was this translation helpful? Give feedback.
-
Their team's most recent response on the EncryptionKey being left exposed: "As the Encryption Key is stored client-side, it is expected that players would be able to obtain its value even if steps were taken to obfuscate it. However, it is worth noting that the Encryption Key is not the sole component used in the encryption of data stored using the Player Data Storage feature." |
Beta Was this translation helpful? Give feedback.
-
Quick summary: Those keys are not as 'secret' as one might assume, and it's somewhat safe to have them in the open. They have to be in StreamAssets so that the GfxPluginNativeRender can access them before all of Unity has been bootstrapped so that the Plugin can hook all the appropriate things before the first graphics call by the Unity engine. |
Beta Was this translation helpful? Give feedback.
Quick summary: Those keys are not as 'secret' as one might assume, and it's somewhat safe to have them in the open. They have to be in StreamAssets so that the GfxPluginNativeRender can access them before all of Unity has been bootstrapped so that the Plugin can hook all the appropriate things before the first graphics call by the Unity engine.