【StockProxy】マイGPT公開に伴う認証システムの技術公開①

記事
IT・テクノロジー
同一サービス内でユーザーごとに異なるアカウントを扱うという課題

はじめに

最近、NISA初心者向けの応用例を展開している「StockProxy」ですが、ChatGPTを活用した株式分析を通じて、「金融教育に本当に役立つAIの形」を模索しています。

特に、日本では株や投資に関する情報が主観的になりやすく、  
初心者が正しいデータ解釈を学ぶ機会が少ないのが現状です。  
StockProxyはそうした課題をAIの力で少しでも補うことを目指しています。

■ マイGPT化とともに浮かぶ課題

今後、StockProxyを「マイGPT」として一般公開していく中で、  
最も重要なテーマの一つが、  
「ユーザーごとの認証情報をどう安全に扱うか」という点です。

マイGPTのような共通AI設計の中で、
各ユーザーがそれぞれの J-Quantsアカウント を使って通信できるようにするには、  
単純なプロキシサーバではなくセキュアな認証ロジックの導入が必須となります。

■ なぜ必要なのか?

J-Quants APIサービス利用規約」では、  「第三者利用禁止」「譲渡禁止」「私的使用限定」という非常に重要な3つの制約が定められています。
【利用規約一部抜粋】

第5条(パスワード及びユーザーIDの管理)
1. 登録ユーザーは、自己の責任において、本サービスに関するパスワード及びユーザーIDを適切に管理及び保管するものとし、これを第三者に利用させ、または貸与、譲渡、名義変更、売買等をしてはならないものとします。

第8条(利用目的)
2. 本サービス及び本データ(本データを編集又は加工したものを含みます。)を、第三者が使用できる状態にすること(インターネット上での配信を含みます。)または商用もしくは学術の目的で利用することは、私的使用の目的に該当しません。詳しい利用方法についてはFAQをご覧ください。

第21条(サービス利用契約上の地位の譲渡等)
1. 登録ユーザーは、当社の書面による事前の承諾なく、利用契約上の地位または本規約に基づく権利もしくは義務につき、第三者に対し、譲渡、移転、担保設定、その他の処分をすることはできません。

【2023年4月3日制定】

出典:J-Quants APIサービス利用規約(株式会社JPX総研)
つまり、開発者が一つの共通アカウントを使って全ユーザーの通信を代理実行するのは  完全にNGということになります。技術者にとっては落とし穴です。
とはいえユーザーが、同じ設計のマイGPTを個別に構築するのは現実的ではありません。 

このジレンマが、今回のテーマである  
「同一GPTサービス内でユーザーごとに異なるアカウントを扱うには?」という課題を成立させます。

なお、StockProxyはこの課題を正面から解決する設計として、
J-Quants APIを「私的利用の範囲内」で安全に扱うことを目的としています。
ユーザー情報はID/PWを保持せず、暗号化されたリフレッシュトークンのみを、安全に分離管理する構成を採用。

システム全体は暗号技術を用いた公開検証型の設計となっており、管理者を含む第三者による不正利用を運用レベルで防ぎながら、安心して利用できるGPT統合環境を実現しています。

■ サブ課題

・ユーザ毎に個人情報をどのように認証・認可するか?
・ユーザ毎に個人情報をどのように管理・運用するか?

■ ヒント

・プロンプトセキュリティ
・公開鍵暗号
・ハッシュ関数
・エッジコンピューティング

本課題については、回を追って展開していきます。
ぜひご自身が設計するならどのようなアプローチがあるか?

考えていただければ面白いのかなと思います。

■ 次回予告

次回は、実際にこの課題をどう解決するか展開していきます。

補足メモ:
このシリーズでは、AIと金融APIの間にある  
「技術」「法」「倫理」のバランスをテーマにしています。  
ソースコードや設計は順次公開予定です。  
技術的な透明性そのものが、安心して使えるAIの第一歩になると考えています。

技術詳細は、他技術ブログでも展開します。


サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら