2017-06-07 12 views
0

データベースのユーザーのサードパーティ製のAPIシークレット(AWSなど)を保存します。漏れがユーザーに潜在的な損失をもたらす可能性があります。それは秘密にする必要があります。Database内のユーザーのサードパーティAPIの秘密を暗号化して保存するのは安全ですか?

NodeJSプラットフォームでデータを保護するにはどうすればよいですか?私は暗号化してストアに秘密鍵を格納することを考えているので、侵入者には直接見えません。

どのようにセキュリティを維持できるかについてのご意見はありますか?

var crypto = require('crypto'); 
var assert = require('assert'); 

var algorithm = 'aes256'; // or any other algorithm supported by OpenSSL 
var key = 'password'; 
var text = 'I love kittens'; 

var cipher = crypto.createCipher(algorithm, key); 
var encrypted = cipher.update(text, 'utf8', 'hex') + cipher.final('hex'); 

var decipher = crypto.createDecipher(algorithm, key); 
var decrypted = decipher.update(encrypted, 'hex', 'utf8') + 
decipher.final('utf8'); 

console.log(encrypted); 
console.log(decrypted); 

assert.equal(decrypted, text); 
+2

[情報セキュリティスタックエクスチェンジ](https://security.stackexchange.com/)に属しているため、この質問をトピックとしてクローズすることにしました。 –

答えて

0

crypto.createCipherivを使用すると、より安全な方法をとることができます。ランダムなIVを生成して格納します。また、暗号化をより安全にするために塩を追加することもできます。

関連する問題