First of all, if you're creating a single Random object then there's no point using the current time as a seed. If you use the constructor with no parameters then it will use the current time anyway, so you may as well just do that. The only reason to use an explicit seed when creating a Random object is that you're creating multiple instances and you need to ensure that a different seed is used in each case.

Secondly, in this case, don't use the Random class. It uses a pseudo-random sequence that is fine for most scenarios but is open to manipulation. In cases like this, you should use the System.Security.Cryptography.RNGCryptoServiceProvider class. It generates data that is sufficiently random to be used in cryptography so it will be fine for what you're doing.