2011-07-16 11 views
1

webOSのEnyoベースのアプリケーションで私のプライベートAPIキーを非表示にするにはどうすればよいですか?webOSで固有のAPIキーを非表示にする(Enyo/JavaScript)

私の開発は基本的にこの問題のため停止しています。

webOS Enyo(とMojo)はJavascriptで記述されているため、どのユーザーも自分のデバイスを接続してソースコードを簡単に表示できます。だから明らかに私はそこに鍵を押しつけることができません。それらが暗号化されていても、私のアプリはそれらを解読するためのメカニズムを含んでいなければならないでしょう。プライベートウェブサービスのAPIキー(主にOAuth Twitter、Facebook、Googleなど)と私のAWSプライベートキーを非表示にする予定です。

これまでの回答では、JavascriptでプライベートAPIキーのようなものを保護できないと述べています。しかし、これらの議論のすべては、Javascriptを使用する簡単な選択肢を持つWebアプリケーションを扱っています。 webOSアプリケーションは、Javascriptでシンプルなアプリケーションをコーディングするためのかなりの代替手段を持っていません。

可能なことは、すべてのAPI呼び出しが通過するプロキシを作成することだけです。それは唯一の実行可能な、または理想的な選択肢ですか?そうであれば、ここでnode.jsが私のトリックをしますか?

すべてのリード、リソース、サンプル、ヒントなどを高く評価します。多くのアプリが今日このサービスに接続しているので、答えが私を主演するはずだと思うが、私はリードを持っていない。ありがとう。

+0

ようこそ。自分の質問を編集して更新することができます。あなたは質問(upvoteまたはdownvote)に投票することができます。あなたのニーズを満たし、あなたの質問に答える答えを得たら、答えとしてマークすることができます –

答えて

2

このようなクライアント側の秘密鍵を持つ種類のアプリケーション(サーバー全体ではありません)は、目を開けても安全です。これは、コンパイルされたC++のWindows版アプリケーションにも当てはまります。アプリケーションが秘密鍵を直接使用する場合は、コード内にあるか、コードで使用可能です。覗いている目はそれらを見つけることができます。はい、Javascriptを使用するとコードにアクセスしやすくなりますが、これはwebOSやJavascriptアプリには新しい問題ではありません。 EnyoがPC/Macのクロスプラットフォームツールだった場合、あなたのTwitterキーと同じ問題はありませんか?

通常、インストール時にキーが何らかの記憶機構に入れられているのです。 PC上では、それはレジストリまたは設定ファイルかもしれません。 webOSにインストールメカニズムがありますか? HTML5タイプのストレージがあるようですが、インストール時にそこに保存できますか?彼らはハックプルーフされません(他のプラットフォームにはありません)が、あなたのJavascriptコードにも横たわっていません。

これに対するもう1つの解決策は、自分の開発者があなた自身の鍵を使用するすべての人ではなく、Twitterのような公共サービスに独自の鍵を取得するように要求することです。悪い顧客がいるときには、プラットフォーム全体が危険にさらされることはありません。

あなたの状況を誤解している場合は、わかりやすくご理解ください。

+0

webOSのインストールメカニズムはありません。しかし、Web OS 2.0からは[KeyManagerサービス](https://developer.palm.com/content/api/reference/services/key-manager.html)が導入されました。 [forums]によると(https://developer.palm.com/distribution/viewtopic.php?f = 11&t = 15283)、Palm(HP webOS)チームに電子メールを送って、あなたのアプリに含めるもの(キーのようなもの)を暗号化することができます。私はいくつかの追加のクールな機能のためにそれを使うことができるので、今のところプロキシサービスを利用する可能性が最も高いでしょう。私はおそらくこのKeyManagerを最終的に使用します。ご協力いただきありがとうございます! – Dexter

1

私の気持ちは、プロキシを持つことは素晴らしい考えです。プロキシを使用すると、クライアント側を変更することなく、ユーザー認証やその他の機能を追加することができます。

1

Key Manager serviceを見てください。これを使用して、キーをJSファイルにコーディングせずに保存できます。

関連する問題