製品設計ツールの1つから機密情報を取得するアプリケーションが1つあります。そのため、チャネルとしてHTTPSを使用し、Webサービスに送信する前に要求パラメーターと一部のデータを暗号化しています。だから、すべてが大丈夫のようです。
しかし、セキュリティ監査のアプリケーションを提供したところ、暗号化キーがソースコードにハードコーディングされていることがわかりました。彼らはSothinkSWFDecompilerを使用して私のSWFファイルを調べました。彼らは鍵を握り、それについて懸念を表明した。
このアプリケーションは、Flex 3(SDK 3.4)を使用して開発されました。ソースコードにハードコーディングせずに秘密鍵を使用するための最良の方法はありますか?誰かがこの種の問題に遭遇した場合は、私に知らせてください。
誰でも、ハードコーディングせずにSourceCodeで秘密鍵を使用するための最良の方法を教えてください。
これが私のサンプルコードです:
var currentResult:String = "";
var strDataToEncrypt:String = "";
var kdata:ByteArray;
var todayDate:Date = new Date();
kdata = Hex.toArray(Hex.fromString("secretKey here"));
strDataToEncrypt =username.toUpperCase() + "#$#" + password + "#$#" + todayDate.getTime().toString();
var data:ByteArray;
data = Hex.toArray(Hex.fromString(strDataToEncrypt))
var name:String = "des3-ecb";
var pad:IPad = new PKCS5;
var mode:ICipher = Crypto.getCipher(name, kdata, pad);
pad.setBlockSize(mode.getBlockSize());
mode.encrypt(data);
currentResult = Base64.encodeByteArray(data);
var token:String = currentResult;