summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorOlaf Conradi <olaf@conradi.org>2018-04-13 10:32:01 +0200
committerPieter Ennes <pieter@ennes.nl>2018-04-13 10:32:01 +0200
commitd21fd53e13c044ad034694ee93e97eb7c4aac101 (patch)
tree9b8753ba52e5a4f1e52d2ea0a4cfc25d01edbf68 /docs
parentd49b9f02a821dca920c89b24540485da3b96bf1e (diff)
downloadoauthlib-d21fd53e13c044ad034694ee93e97eb7c4aac101.tar.gz
Use secrets module in Python 3.6 and later (#533)
The secrets module should be used for generating cryptographically strong random numbers suitable for managing data such as passwords, account authentication, security tokens, and related secrets. In particularly, secrets should be used in preference to the default pseudo-random number generator in the random module, which is designed for modelling and simulation, not security or cryptography.
Diffstat (limited to 'docs')
-rw-r--r--docs/oauth1/security.rst12
1 files changed, 7 insertions, 5 deletions
diff --git a/docs/oauth1/security.rst b/docs/oauth1/security.rst
index a1432a9..df1e2a0 100644
--- a/docs/oauth1/security.rst
+++ b/docs/oauth1/security.rst
@@ -16,11 +16,13 @@ A few important facts regarding OAuth security
* **Tokens must be random**, OAuthLib provides a method for generating
secure tokens and it's packed into ``oauthlib.common.generate_token``,
- use it. If you decide to roll your own, use ``random.SystemRandom``
- which is based on ``os.urandom`` rather than the default ``random``
- based on the effecient but not truly random Mersenne Twister.
- Predictable tokens allow attackers to bypass virtually all defences
- OAuth provides.
+ use it. If you decide to roll your own, use ``secrets.SystemRandom``
+ for Python 3.6 and later. The ``secrets`` module is designed for
+ generating cryptographically strong random numbers. For earlier versions
+ of Python, use ``random.SystemRandom`` which is based on ``os.urandom``
+ rather than the default ``random`` based on the effecient but not truly
+ random Mersenne Twister. Predictable tokens allow attackers to bypass
+ virtually all defences OAuth provides.
* **Timing attacks are real** and more than possible if you host your
application inside a shared datacenter. Ensure all ``validate_`` methods