JP2013020579A - プログラム、端末装置、および認証システム - Google Patents

プログラム、端末装置、および認証システム Download PDF

Info

Publication number
JP2013020579A
JP2013020579A JP2011155584A JP2011155584A JP2013020579A JP 2013020579 A JP2013020579 A JP 2013020579A JP 2011155584 A JP2011155584 A JP 2011155584A JP 2011155584 A JP2011155584 A JP 2011155584A JP 2013020579 A JP2013020579 A JP 2013020579A
Authority
JP
Japan
Prior art keywords
authentication
program
information
authentication information
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011155584A
Other languages
English (en)
Inventor
Takamasa Isohara
隆将 磯原
Hideaki Kawabata
秀明 川端
Keisuke Takemori
敬祐 竹森
Ayumi Kubota
歩 窪田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2011155584A priority Critical patent/JP2013020579A/ja
Publication of JP2013020579A publication Critical patent/JP2013020579A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】サービス利用時の安全性を向上させることができるプログラム、端末装置、および認証システムを提供する。
【解決手段】アプリケーションプログラム30は、認証情報を用いて認証を行うサーバへ認証情報を送信する送信部としてコンピュータを機能させるための、ネイティブコードで構成されたアプリケーション処理プログラム31と、サーバが認証を行った後、サーバが提供するサービスの利用に係る処理を行う処理部としてコンピュータを機能させるためのアプリケーション処理プログラム31とを有する。
【選択図】図3

Description

本発明は、コンピュータに所定の機能を実現させるためのプログラムに関する。また、本発明は、プログラムを読み込んで実行するコンピュータを含む端末装置、および端末装置とサーバとを備える認証システムにも関する。
スマートフォン向けの各種サービスの中には、ユーザ名やパスワード等の認証情報(認証子)を用いて認証を行い、端末やユーザを特定した上でサービスを提供するものがある。このようなサービスは、ターゲティング広告や、アプリケーションの利用統計調査サービス、メールサービス、コンテンツ決済サービスなど、多岐にわたる。認証手順では、正規のユーザではないユーザが、不正に改造されたOSや偽のアプリケーションを使用して正規のユーザになりすますことによって、プライバシーの漏洩や誤課金等のセキュリティリスクが存在する。このため、アプリケーションが正しいことを認証するクライアント認証は必須の技術となる。
スマートフォンに適用される認証技術については、認証情報のほかに、端末で取得可能な情報を用いて認証を行う技術がある。例えば、特許文献1には、暗証番号と、端末に予め組み込まれている端末IDとを用いた認証技術が記載されている。また、特許文献2には、認証画面を撮影した画像から得られる端末識別情報等を携帯電話番号と共に用いた認証技術が記載されている。
特開2010−88053号公報 特開2009−230432号公報
メールサービスやコンテンツ決済サービス等の各種サービスを提供するアプリケーションのプログラムは、例えばJava(登録商標)言語で記述されるが、一般に、Java(登録商標)言語は、その仕様上、C言語等と比較して、リバースエンジニアリングへの耐性が低い。このため、実行コードを逆コンパイルして得られるコードの静的解析により、認証方式や認証手順の内容を容易に解析される脅威や、アプリケーションに組み込まれている認証情報を容易に詐称される脅威が存在し、サービス利用時の認証を安全に実現できない。
本発明は、上述した課題に鑑みてなされたものであって、サービス利用時の安全性を向上させることができるプログラム、端末装置、および認証システムを提供することを目的とする。
本発明は、上記の課題を解決するためになされたもので、認証情報を用いて認証を行うサーバへ前記認証情報を送信する送信部としてコンピュータを機能させるための、ネイティブコードで構成された第1のプログラムと、前記サーバが認証を行った後、前記サーバが提供するサービスの利用に係る処理を行う処理部としてコンピュータを機能させるための第2のプログラムと、を備えたことを特徴とするプログラムである。
また、本発明のプログラムにおいて、前記第1のプログラムは前記認証情報を含むことを特徴とする。
また、本発明のプログラムにおいて、前記送信部は、前記サーバへ、前記認証情報と、前記認証情報とは異なる識別情報とを送信し、前記第1のプログラムは前記識別情報を含むことを特徴とする。
また、本発明のプログラムにおいて、前記第1のプログラムは、前記送信部と、ネットワークへの接続に使用している第1のアドレス情報と、所定の第2のアドレス情報とを照合し、照合結果に基づいて前記認証情報の送信を制御する制御部と、としてコンピュータを機能させるための、ネイティブコードで構成されたプログラムであって、前記第1のプログラムは前記第2のアドレス情報を含むことを特徴とする。
また、本発明のプログラムにおいて、前記送信部は、前記サーバへ、前記認証情報と、ネットワークへの接続に使用しているアドレス情報とを送信することを特徴とする。
また、本発明は、認証情報を用いて認証を行うサーバへ前記認証情報を送信する送信部としてコンピュータを機能させるための、ネイティブコードで構成された第1のプログラムと、前記サーバが認証を行った後、前記サーバが提供するサービスの利用に係る処理を行う処理部としてコンピュータを機能させるための第2のプログラムと、を備えたことを特徴とするプログラムを読み込んで実行するコンピュータを含む端末装置である。
また、本発明の端末装置において、前記第1のプログラムは前記認証情報を含むことを特徴とする。
また、本発明の端末装置において、前記送信部は、前記サーバへ、前記認証情報と、前記認証情報とは異なる識別情報とを送信し、前記第1のプログラムは前記識別情報を含むことを特徴とする。
また、本発明の端末装置において、前記第1のプログラムは、前記送信部と、ネットワークへの接続に使用している第1のアドレス情報と、所定の第2のアドレス情報とを照合し、照合結果に基づいて前記認証情報の送信を制御する制御部と、としてコンピュータを機能させるための、ネイティブコードで構成されたプログラムであって、前記第1のプログラムは前記第2のアドレス情報を含むことを特徴とする。
また、本発明の端末装置において、前記送信部は、前記サーバへ、前記認証情報と、ネットワークへの接続に使用しているアドレス情報とを送信することを特徴とする。
また、本発明は、第1の認証情報を用いて認証を行うサーバと、前記サーバへ前記第1の認証情報を送信する端末装置とを備える認証システムであって、前記端末装置は、前記サーバへ前記第1の認証情報を送信する送信部としてコンピュータを機能させるための、ネイティブコードで構成された第1のプログラムと、前記サーバが認証を行った後、前記サーバが提供するサービスの利用に係る処理を行う処理部としてコンピュータを機能させるための第2のプログラムと、を読み込んで実行するコンピュータを含み、前記サーバは、前記端末装置から前記第1の認証情報を受信する受信部と、前記第1の認証情報と、第2の認証情報を記憶する記憶部に記憶されている前記第2の認証情報とを照合して認証を行う認証部と、を有することを特徴とする認証システムである。
また、本発明の認証システムにおいて、前記第1のプログラムが前記第1の認証情報を含むことを特徴とする。
また、本発明の認証システムにおいて、前記送信部は、前記サーバへ、前記第1の認証情報と、前記第1の認証情報とは異なる第1の識別情報とを送信し、前記第1のプログラムは前記第1の識別情報を含み、前記受信部は前記端末装置から前記第1の認証情報と前記第1の識別情報とを受信し、前記認証部は、前記第1の認証情報と、第2の認証情報を記憶する記憶部に記憶されている前記第2の認証情報とを照合し、前記第1の識別情報と、第2の識別情報を記憶する前記記憶部に記憶されている前記第2の識別情報とを照合して認証を行うことを特徴とする。
また、本発明の認証システムにおいて、前記第1のプログラムは、前記送信部と、ネットワークへの接続に使用している第1のアドレス情報と、所定の第2のアドレス情報とを照合し、照合結果に基づいて前記認証情報の送信を制御する制御部と、としてコンピュータを機能させるための、ネイティブコードで構成されたプログラムであって、前記第1のプログラムは前記第2のアドレス情報を含むことを特徴とする。
また、本発明の認証システムにおいて、前記送信部は、前記サーバへ、前記第1の認証情報と、ネットワークへの接続に使用している第1のアドレス情報とを送信し、前記受信部は前記端末装置から前記第1の認証情報と前記アドレス情報とを受信し、前記認証部は、前記第1の認証情報と、第2の認証情報を記憶する記憶部に記憶されている前記第2の認証情報とを照合し、前記第1のアドレス情報と、第2のアドレス情報を記憶する前記記憶部に記憶されている前記第2のアドレス情報とを照合して認証を行うことを特徴とする。
本発明によれば、認証情報を送信する送信部としてコンピュータを機能させるための第1のプログラムを、逆コンパイルが困難なネイティブコードで構成することによって、プログラムが本物(正規)であることを保証し、サービス利用時の安全性を向上させることができる。
本発明の一実施形態による認証システムの構成を示すブロック図である。 本発明の一実施形態による端末の構成を示すブロック図である。 本発明の一実施形態におけるアプリケーションプログラムの構成を示す参考図である。 本発明の一実施形態におけるアプリケーションがハードウェアにアクセスする方法を示す参考図である。 本発明の一実施形態によるサーバの構成を示すブロック図である。 本発明の一実施形態における認証の手順を示すシーケンス図である。 本発明の一実施形態におけるアプリケーションプログラムの構成を示す参考図である。 本発明の一実施形態における認証の手順を示すシーケンス図である。 本発明の一実施形態におけるアプリケーションプログラムの構成を示す参考図である。 本発明の一実施形態における認証の手順を示すシーケンス図である。 本発明の一実施形態におけるアプリケーションプログラムの構成を示す参考図である。 本発明の一実施形態における認証の手順を示すシーケンス図である。 本発明の一実施形態における認証の手順を示すシーケンス図である。
以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の一実施形態による認証システムの構成を示している。認証を受ける端末1(端末装置)と、認証を行うサーバ2とで認証システムが構成されている。端末1は複数台存在していてもよい。
図2は端末1の構成を示している。端末1は、CPU(Central Processing Unit)10、通信部11、表示部12、操作部13、メモリ14、および記憶部15を有する。CPU10は、記憶部15に格納されている各種のプログラムを読み出してメモリ14に読み込み、プログラムの各種命令に従って各種の演算を行い、端末1内の各部を制御する。通信部11は、外部の他の通信装置(本実施形態ではサーバ2)と通信を行う。表示部12は各種の情報を表示する。操作部13は、ユーザが操作する各種操作部材を有する。
メモリ14は、記憶部15から読み込まれたプログラムや、CPU10が演算を行った結果等を一時的に記憶する揮発性メモリで構成されている。記憶部15は、CPU10の動作を規定する各種のプログラムや、認証に使用される認証情報、端末1内で処理される各種データ等を記憶する不揮発性メモリで構成されている。本実施形態の認証情報は、電話番号、メールアドレス、IMEI(International Mobile Equipment Identity)、IMSI(International Mobile Subscriber Identity)等である。本実施形態の端末1は、一例として、Android(登録商標)をOSに採用しているものとする。
メモリ14上ではアプリケーション16が起動する。アプリケーション16は、サーバ2が提供するサービスの利用に関する各種処理をCPU10に実行させるためのプログラムである。アプリケーション16のプログラムは、アプリケーション処理部17(処理部)のプログラム(第2のプログラム)と認証処理部18(送信部、制御部)のプログラム(第1のプログラム)で構成されている。図2では、アプリケーション16のプログラムが記憶部15からメモリ14に読み込まれて、メモリ14上でアプリケーション処理部17と認証処理部18が起動している状態が示されている。メモリ14上で起動したアプリケーション処理部17と認証処理部18は、CPU10およびメモリ14の資源を利用して各種処理を行う。アプリケーション処理部17は、サーバ2が提供するサービスの利用に係る各種処理を行う。認証処理部18は、サービスの利用時に認証に係る各種処理を行う。
図3は、アプリケーション16のプログラムであるアプリケーションプログラム30の構成を示している。アプリケーションプログラム30には、Java(登録商標)言語で記述されてコンパイルされたアプリケーション処理プログラム31(拡張子.dex)と、C言語で記述されてコンパイルされた認証処理プログラム32(拡張子.so)とが含まれる。アプリケーション処理プログラム31はアプリケーション処理部17のプログラムであり、認証処理プログラム32は認証処理部18のプログラムである。
認証処理プログラム32は、逆コンパイルが困難なネイティブコード(機械語)で構成されている。認証処理プログラム32の作成の際、C言語で記述されたプログラムに高級言語レベルでの難読化を行った後、プログラムをコンパイルしてネイティブコードに変換し、ネイティブコードに低級言語レベルでの難読化を行うことが望ましい。サーバ2が認証に用いる認証情報を端末上で取得する機能および認証情報をサーバ2へ送信する機能を実現する認証処理プログラム32をネイティブコードで構成することによって、認証処理プログラム32が本物(正規)であることを保証し、安全性を向上させることができる。
Android(登録商標)では、アプリケーション処理プログラム31と認証処理プログラム32は対になっており、認証処理プログラム32に対応して作成されたアプリケーション処理プログラム31からしか認証処理プログラム32を呼び出すことはできない仕組みが設けられている。したがって、拡張子.dexを有する偽のプログラムから不正に認証処理プログラム32を呼び出すことはできない。本実施形態では、認証処理プログラム32が本物であることが保証され、その認証処理プログラム32を呼び出すことができるのは本物のアプリケーション処理プログラム31だけなので、結果としてアプリケーション16の全体が本物であることを保証し、安全性を向上させることができる。
図4は、アプリケーション処理部17と認証処理部18が端末内のハードウェアにアクセスする様子を示している。アプリケーション処理部17は、OSが提供する共通機能であるAPI(Application Program Interface)40および各ハードウェアに対応したデバイスドライバ41を介してハードウェア42(通信部11等に対応)にアクセスする。認証処理部18は、API40を介さずにデバイスドライバ41を介してハードウェア42にアクセスすることが可能である。デバイスドライバはハードウェア毎に異なるが、図4では個々のデバイスドライバを代表してデバイスドライバ41としている。
上記のように拡張子.soのプログラムはAPIを介さずにハードウェアにアクセスするため、ハードウェアに高速にアクセスすることが可能である。この高速性に着目して、特定のハードウェアへの高速なアクセスが頻繁に発生するゲーム等のアプリケーションでは、拡張子.dexのプログラムと拡張子.soのプログラムを組み合わせた仕組みが利用されている。本実施形態では、この仕組みを認証処理に応用している。OSが不正に改造されると、APIを介して取得される認証情報は信頼できなくなるが、本実施形態では認証処理部18がAPI40を介さずにハードウェア42にアクセスするため、認証情報の本物性を保証することができる。
図5はサーバ2の構成を示している。サーバ2は、CPU20、通信部21、メモリ22、および記憶部23を有する。CPU20は、記憶部23に格納されている各種のプログラムを読み出してメモリ22に読み込み、プログラムの各種命令に従って各種の演算を行い、サーバ2内の各部を制御する。通信部21は、外部の他の通信装置(本実施形態では端末1)と通信を行う。メモリ22は、記憶部23から読み込まれたプログラムや、CPU20が演算を行った結果等を一時的に記憶する揮発性メモリで構成されている。記憶部23は、CPU20の動作を規定する各種のプログラムや、サーバ2内で処理される各種データを記憶する不揮発性メモリで構成されている。
メモリ22上では認証処理部24(受信部、認証部)が起動する。認証処理部24は、認証に係る各種処理をCPU20に実行させるためのプログラムである。図5では、認証処理部24のプログラムが記憶部23からメモリ22に読み込まれて、メモリ22上で認証処理部24が起動している状態が示されている。メモリ22上で起動した認証処理部24は、CPU20およびメモリ22の資源を利用して各種処理を行う。
<第1の動作例>
次に、認証時の端末1とサーバ2の動作を説明する。まず、図6を参照し、第1の動作例を説明する。図6は、第1の動作例における認証の手順を示している。サービスの利用開始時に端末1のアプリケーション処理部17は、サーバ2にサービスの利用を要求するためのサービス利用要求を、通信部11を介してサーバ2へ送信する(ステップS100)。サーバ2の認証処理部24は、通信部21を介してサービス利用要求を受信する。認証処理部24は、サービス利用要求に基づいて、端末1に認証情報の送信を要求するための認証情報要求を、通信部21を介して、サービス利用要求の送信元である端末1へ送信する(ステップS105)。また、認証処理部24は、サービス利用要求のパケットに含まれる送信元のIPアドレスと関連付けたタイマーを起動し、時間の計測を開始する。
端末1のアプリケーション処理部17は、通信部11を介して認証情報要求を受信する。アプリケーション処理部17は、認証情報要求に基づいて、認証処理部18に認証処理を依頼する(ステップS110)。依頼を受けた認証処理部18は、デバイスドライバ41に認証情報の取得を依頼し(ステップS115)、記憶部15にアクセスしたデバイスドライバ41から認証情報を取得する(ステップS120)。
認証処理部18は、取得した認証情報を、通信部11を介してサーバ2へ送信する(ステップS125)。サーバ2の認証処理部24は、通信部21を介して認証情報を受信する。認証情報の通信には、https(Hypertext Transfer Protocol over Secure Socket Layer)等の暗号通信路が用いられる。
認証処理部24は、認証情報のパケットに含まれる送信元のIPアドレスが、サービス利用要求のパケットに含まれる送信元のIPアドレスと一致するか否かを判定し、両者が一致した場合、そのIPアドレスに関連付けられているタイマーが計測している時間が所定の時間以内であるか否かを判定する。タイマーが計測している時間が所定の時間を超えている場合、認証に失敗する。このように、端末1からの認証情報の送信監視に制限時間を設けているのは、サーバ2が認証情報の送信監視に必要以上の負荷をかけないようにするためである。タイマーが計測している時間が所定の時間以内であった場合、以下のように認証情報を用いた認証が行われる。
記憶部23には、端末1のサービス加入時等に予め登録された認証情報が格納されている。認証処理部24は、記憶部23から認証情報を読み出し、端末1から受信した認証情報と照合を行う(ステップS130)。端末1から受信した認証情報が、記憶部23に格納されている認証情報のいずれかと一致した場合は認証に成功し、端末1から受信した認証情報が、記憶部23に格納されている認証情報のいずれとも一致しなかった場合は認証に失敗する。
認証に成功した場合、認証処理部24は、認証に成功したことを知らせる認証結果通知を、通信部21を介して、サービス利用要求の送信元である端末1へ送信する(ステップS135)。端末1のアプリケーション処理部17は、通信部11を介して認証結果通知を受信し、認証結果通知に基づいて、サービスの利用に係る各種処理を行う。例えば、アプリケーション処理部17は、サービスの利用に必要な情報をサーバ2と通信したり、サービスの利用状態や利用結果等を表示部12に表示したり、操作部13を介して入力される情報を処理したりする。
<第2の動作例>
次に、第2の動作例を説明する。第2の動作例では、図7に示すように、認証処理プログラム32に電話番号等の認証情報が組み込まれて(埋め込まれて)いる。認証処理プログラム32の作成時に、認証情報が記載されたソースコードがコンパイルされ、認証処理プログラム32に認証情報が組み込まれる。図8は、第1の動作例における認証の手順を示している。以下では、第1の動作例と異なる部分のみを説明する。
アプリケーション処理部17から認証処理の依頼を受けると(ステップS110)、認証処理部18は認証処理プログラム32中の認証情報を、通信部11を介してサーバ2へ送信する(ステップS140)。以降の動作は第1の動作例と同様である。
上記のように第2の動作例では認証情報が認証処理プログラム32に組み込まれているため、認証情報を取得するための記憶部15へのアクセスが発生せず、より安全性が向上する。第2の動作例における認証情報は、記憶部15に格納されている電話番号等の情報と同一の情報でなくてもよく、アプリケーション16の作成者(サービス提供者)がアプリケーション16毎に割り当てた固有の情報であってもよい。
<第3の動作例>
次に、第3の動作例を説明する。第3の動作例では、図9に示すように、アプリケーションプログラム30(アプリケーション16)を識別する識別情報が認証処理プログラム32に組み込まれて(埋め込まれて)いる。識別情報は認証情報とは異なる情報であるが、異なる端末に与えられる複数のアプリケーションプログラム間で共通であってもよい。図10は、第3の動作例における認証の手順を示している。以下では、第1の動作例と異なる部分のみを説明する。
アプリケーション処理部17から認証処理の依頼を受けると(ステップS110)、認証処理部18は、デバイスドライバ41を介して記憶部15から認証情報を取得し(ステップS115,S120)、取得した認証情報と認証処理プログラム32中の識別情報とを、通信部11を介してサーバ2へ送信する(ステップS145)。サーバ2の認証処理部24は、通信部21を介して認証情報および識別情報を受信する。タイマーが計測している時間の確認が行われた後、以下のように認証情報および識別情報を用いた認証が行われる。
記憶部23には、予め登録された識別情報が認証情報と共に格納されている。認証処理部24は、記憶部23から認証情報を読み出し、端末1から受信した認証情報と照合を行うと共に、記憶部23から識別情報を読み出し、端末1から受信した識別情報と照合を行う(ステップS150)。端末1から受信した認証情報が、記憶部23に格納されている認証情報のいずれかと一致すると共に、端末1から受信した識別情報が、記憶部23に格納されている識別情報のいずれかと一致した場合は認証に成功する。また、端末1から受信した認証情報が、記憶部23に格納されている認証情報のいずれとも一致しなかった場合、または、端末1から受信した識別情報が、記憶部23に格納されている識別情報のいずれとも一致しなかった場合は認証に失敗する。以降の動作は第1の動作例と同様である。
上記のように第3の動作例では、認証情報を用いた認証が行われると共に、識別情報を用いた認証が行われる。識別情報を用いた認証に成功した場合、認証情報を送信した端末1のアプリケーションプログラム30(アプリケーション16)が本物(正規)であることをサーバ2が確認することができるため、より安全性が向上する。第3の動作例は第2の動作例と組み合わせてもよい。
<第4の動作例>
次に、第4の動作例を説明する。第4の動作例では、第三世代携帯電話方式の3G回線でネットワークに接続するときのIPアドレスの確認が行われる。図11に示すように、通信キャリアが3G回線で使用しているIPアドレスの範囲を示す範囲情報が認証処理プログラム32に組み込まれて(埋め込まれて)いる。認証処理プログラム32の作成時に、範囲情報が記載されたソースコードがコンパイルされ、認証処理プログラム32に範囲情報が組み込まれる。図12は、第4の動作例における認証の手順を示している。以下では、第1の動作例と異なる部分のみを説明する。
アプリケーション処理部17から認証処理の依頼を受けると(ステップS110)、認証処理部18は、認証情報と、ネットワークへの接続に使用しているIPアドレスとの取得をデバイスドライバ41に依頼し(ステップS155)、記憶部15にアクセスしたデバイスドライバ41から認証情報を取得し、通信部11にアクセスしたデバイスドライバ41からIPアドレスを取得する(ステップS160)。
認証処理部18は、取得したIPアドレスを用いて認証情報の送信制御を行う。具体的には、認証処理部18は、取得したIPアドレスを認証処理プログラム32中の範囲情報と比較し、取得したIPアドレスが、範囲情報の示すIPアドレスの範囲に含まれるか否かを判定する。端末1が3G回線でネットワークに接続する場合、ハードウェアである通信部11のROM(Read Only Memory)に格納されているプログラムによる制御に従って、通信キャリアのサーバとの間で認証が行われ、認証が正しく行われると、端末1はネットワークへの接続が許可される。通信部11のROMに格納されているプログラムの改造は困難であるので、3G回線の通信キャリアによる認証を受けてネットワークに接続している端末1がサーバ2へ送信する認証情報の本物性が保証され、より安全性が向上する。
取得したIPアドレスが、範囲情報の示すIPアドレスの範囲に含まれない場合、認証処理部18は認証を中止する。また、取得したIPアドレスが、範囲情報の示すIPアドレスの範囲に含まれる場合、第1の動作例と同様に認証情報がサーバ2へ送信される。以降の動作は第1の動作例と同様である。取得したIPアドレスが、範囲情報の示すIPアドレスの範囲に含まれる場合、そのことを明示する情報をサーバ2へ通知し、サーバ2は、この情報が端末1から受信されなかったら認証を中止し、この情報が端末1から受信されたら認証を継続してもよい。第4の動作例は、第2の動作例または第3の動作例と組み合わせてもよい。
<第5の動作例>
次に、第5の動作例を説明する。第5の動作例では、IPアドレスの確認がサーバ2で行われる。図13は、第5の動作例における認証の手順を示している。以下では、第1の動作例と異なる部分のみを説明する。
ステップS105でサーバ2へ送信されるサービス利用要求のパケットおよびステップS125でサーバ2へ送信される認証情報のパケットには端末1のIPアドレスが含まれるが、このIPアドレスは、認証処理部18がデバイスドライバ41を介して通信部11から取得したものである。サーバ2の記憶部23には、通信キャリアが3G回線で使用しているIPアドレスの範囲を示す範囲情報が認証情報と共に格納されている。
認証処理部24は、記憶部23から認証情報を読み出し、端末1から受信した認証情報と照合を行うと共に、記憶部23から範囲情報を読み出し、端末1から受信した認証情報のパケットに含まれるIPアドレスと照合を行う(ステップS165)。端末1から受信した認証情報が、記憶部23に格納されている認証情報のいずれかと一致すると共に、端末1から受信した認証情報のパケットに含まれるIPアドレスが、範囲情報の示すIPアドレスの範囲に含まれる場合は認証に成功する。また、端末1から受信した認証情報が、記憶部23に格納されている認証情報のいずれとも一致しなかった場合、または、端末1から受信した認証情報のパケットに含まれるIPアドレスが、範囲情報の示すIPアドレスの範囲に含まれない場合は認証に失敗する。以降の動作は第1の動作例と同様である。第5の動作例は、第2の動作例または第3の動作例と組み合わせてもよい。
上述したように、本実施形態によれば、認証処理を行う認証処理プログラム32を、逆コンパイルが困難なネイティブコードで構成することによって、アプリケーションプログラム30が本物(正規)であることを保証し、サービス利用時の安全性を向上させることができる。
また、サーバ2へ送信される認証情報を認証処理プログラム32に予め組み込むことによって、認証情報の取得のための記憶部15へのアクセスが発生せず、サービス利用時の安全性をより向上させることができる。
また、認証情報を用いた認証と、アプリケーションプログラム30(アプリケーション16)を識別する識別情報を用いた認証とを組み合わせることによって、アプリケーションプログラム30(アプリケーション16)が本物(正規)であることを保証し、サービス利用時の安全性をより向上させることができる。
また、認証情報を用いた認証と、3G回線でネットワークに接続するときのIPアドレスの確認とを組み合わせることによって、3G回線の通信キャリアによる認証を受けた端末1がサーバ2へ送信する認証情報の本物性を保証し、サービス利用時の安全性をより向上させることができる。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上記ではOSにAndroid(登録商標)が採用されている場合の実施形態を説明したが、OSの形態によらず、アプリケーションプログラムが、APIを介してハードウェアにアクセスするプログラムと、APIを介さずにハードウェアにアクセスするプログラムとで構成される場合に、上記の実施形態を同様に適用することが可能である。
1・・・端末、2・・・サーバ、10,20・・・CPU、11,21・・・通信部、12・・・表示部、13・・・操作部、14,22・・・メモリ、15,23・・・記憶部、16・・・アプリケーション、17・・・アプリケーション処理部、18,24・・・認証処理部

Claims (15)

  1. 認証情報を用いて認証を行うサーバへ前記認証情報を送信する送信部としてコンピュータを機能させるための、ネイティブコードで構成された第1のプログラムと、
    前記サーバが認証を行った後、前記サーバが提供するサービスの利用に係る処理を行う処理部としてコンピュータを機能させるための第2のプログラムと、
    を備えたことを特徴とするプログラム。
  2. 前記第1のプログラムは前記認証情報を含むことを特徴とする請求項1に記載のプログラム。
  3. 前記送信部は、前記サーバへ、前記認証情報と、前記認証情報とは異なる識別情報とを送信し、
    前記第1のプログラムは前記識別情報を含む
    ことを特徴とする請求項1または請求項2に記載のプログラム。
  4. 前記第1のプログラムは、
    前記送信部と、
    ネットワークへの接続に使用している第1のアドレス情報と、所定の第2のアドレス情報とを照合し、照合結果に基づいて前記認証情報の送信を制御する制御部と、
    としてコンピュータを機能させるための、ネイティブコードで構成されたプログラムであって、
    前記第1のプログラムは前記第2のアドレス情報を含む
    ことを特徴とする請求項1〜請求項3のいずれか一項に記載のプログラム。
  5. 前記送信部は、前記サーバへ、前記認証情報と、ネットワークへの接続に使用しているアドレス情報とを送信することを特徴とする請求項1〜請求項3のいずれか一項に記載のプログラム。
  6. 認証情報を用いて認証を行うサーバへ前記認証情報を送信する送信部としてコンピュータを機能させるための、ネイティブコードで構成された第1のプログラムと、
    前記サーバが認証を行った後、前記サーバが提供するサービスの利用に係る処理を行う処理部としてコンピュータを機能させるための第2のプログラムと、
    を備えたことを特徴とするプログラムを読み込んで実行するコンピュータを含む端末装置。
  7. 前記第1のプログラムは前記認証情報を含むことを特徴とする請求項6に記載の端末装置。
  8. 前記送信部は、前記サーバへ、前記認証情報と、前記認証情報とは異なる識別情報とを送信し、
    前記第1のプログラムは前記識別情報を含む
    ことを特徴とする請求項6または請求項7に記載の端末装置。
  9. 前記第1のプログラムは、
    前記送信部と、
    ネットワークへの接続に使用している第1のアドレス情報と、所定の第2のアドレス情報とを照合し、照合結果に基づいて前記認証情報の送信を制御する制御部と、
    としてコンピュータを機能させるための、ネイティブコードで構成されたプログラムであって、
    前記第1のプログラムは前記第2のアドレス情報を含む
    ことを特徴とする請求項6〜請求項8のいずれか一項に記載の端末装置。
  10. 前記送信部は、前記サーバへ、前記認証情報と、ネットワークへの接続に使用しているアドレス情報とを送信することを特徴とする請求項6〜請求項8のいずれか一項に記載の端末装置。
  11. 第1の認証情報を用いて認証を行うサーバと、前記サーバへ前記第1の認証情報を送信する端末装置とを備える認証システムであって、
    前記端末装置は、
    前記サーバへ前記第1の認証情報を送信する送信部としてコンピュータを機能させるための、ネイティブコードで構成された第1のプログラムと、
    前記サーバが認証を行った後、前記サーバが提供するサービスの利用に係る処理を行う処理部としてコンピュータを機能させるための第2のプログラムと、
    を読み込んで実行するコンピュータを含み、
    前記サーバは、
    前記端末装置から前記第1の認証情報を受信する受信部と、
    前記第1の認証情報と、第2の認証情報を記憶する記憶部に記憶されている前記第2の認証情報とを照合して認証を行う認証部と、
    を有する
    ことを特徴とする認証システム。
  12. 前記第1のプログラムが前記第1の認証情報を含むことを特徴とする請求項11に記載の認証システム。
  13. 前記送信部は、前記サーバへ、前記第1の認証情報と、前記第1の認証情報とは異なる第1の識別情報とを送信し、
    前記第1のプログラムは前記第1の識別情報を含み、
    前記受信部は前記端末装置から前記第1の認証情報と前記第1の識別情報とを受信し、
    前記認証部は、前記第1の認証情報と、第2の認証情報を記憶する記憶部に記憶されている前記第2の認証情報とを照合し、前記第1の識別情報と、第2の識別情報を記憶する前記記憶部に記憶されている前記第2の識別情報とを照合して認証を行う
    ことを特徴とする請求項11または請求項12に記載の認証システム。
  14. 前記第1のプログラムは、
    前記送信部と、
    ネットワークへの接続に使用している第1のアドレス情報と、所定の第2のアドレス情報とを照合し、照合結果に基づいて前記認証情報の送信を制御する制御部と、
    としてコンピュータを機能させるための、ネイティブコードで構成されたプログラムであって、
    前記第1のプログラムは前記第2のアドレス情報を含む
    ことを特徴とする請求項11〜請求項13のいずれか一項に記載の認証システム。
  15. 前記送信部は、前記サーバへ、前記第1の認証情報と、ネットワークへの接続に使用している第1のアドレス情報とを送信し、
    前記受信部は前記端末装置から前記第1の認証情報と前記アドレス情報とを受信し、
    前記認証部は、前記第1の認証情報と、第2の認証情報を記憶する記憶部に記憶されている前記第2の認証情報とを照合し、前記第1のアドレス情報と、第2のアドレス情報を記憶する前記記憶部に記憶されている前記第2のアドレス情報とを照合して認証を行う
    ことを特徴とする請求項11〜請求項13のいずれか一項に記載の認証システム。
JP2011155584A 2011-07-14 2011-07-14 プログラム、端末装置、および認証システム Pending JP2013020579A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011155584A JP2013020579A (ja) 2011-07-14 2011-07-14 プログラム、端末装置、および認証システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011155584A JP2013020579A (ja) 2011-07-14 2011-07-14 プログラム、端末装置、および認証システム

Publications (1)

Publication Number Publication Date
JP2013020579A true JP2013020579A (ja) 2013-01-31

Family

ID=47691928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011155584A Pending JP2013020579A (ja) 2011-07-14 2011-07-14 プログラム、端末装置、および認証システム

Country Status (1)

Country Link
JP (1) JP2013020579A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015148191A1 (en) * 2014-03-25 2015-10-01 Google Inc. Granting permission in association with an application

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204338A (ja) * 2007-02-22 2008-09-04 Nec Corp 実行条件付プログラム生成システム、実行条件付プログラム生成方法および実行条件付プログラム
JP2010015224A (ja) * 2008-07-01 2010-01-21 Leader Electronics Corp 認証装置、認証方法およびバイナリコードの実行方法
JP2010049568A (ja) * 2008-08-22 2010-03-04 Kpe Inc 処理実行装置、アプリケーションプログラム及びダウンロードサーバ装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204338A (ja) * 2007-02-22 2008-09-04 Nec Corp 実行条件付プログラム生成システム、実行条件付プログラム生成方法および実行条件付プログラム
JP2010015224A (ja) * 2008-07-01 2010-01-21 Leader Electronics Corp 認証装置、認証方法およびバイナリコードの実行方法
JP2010049568A (ja) * 2008-08-22 2010-03-04 Kpe Inc 処理実行装置、アプリケーションプログラム及びダウンロードサーバ装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG201000663002; 小森田賢史他: 'Android環境におけるIMSクライアントの設計・実装手法に関する研究' 電子情報通信学会論文誌 (J93-B) 第7号, 20100701, p.878-p.892, 社団法人電子情報通信学会 *
JPN6014050700; 小森田賢史他: 'Android環境におけるIMSクライアントの設計・実装手法に関する研究' 電子情報通信学会論文誌 (J93-B) 第7号, 20100701, p.878-p.892, 社団法人電子情報通信学会 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015148191A1 (en) * 2014-03-25 2015-10-01 Google Inc. Granting permission in association with an application
US9336358B2 (en) 2014-03-25 2016-05-10 Google Inc. Granting permission in association with an application
CN106104552A (zh) * 2014-03-25 2016-11-09 谷歌公司 授予与应用相关联的许可
CN106104552B (zh) * 2014-03-25 2019-04-12 谷歌有限责任公司 授予与应用相关联的许可的系统和方法

Similar Documents

Publication Publication Date Title
CN107135073B (zh) 接口调用方法和装置
CN107483419B (zh) 服务器认证接入终端的方法、装置、系统、服务器及计算机可读存储介质
US9628282B2 (en) Universal anonymous cross-site authentication
CN102414690B (zh) 用特权签字创建安全网页浏览环境的方法和设备
US20120144198A1 (en) User authentication in a mobile environment
JP5217890B2 (ja) 携帯端末のアプリケーションダウンロードシステム及び方法
US9787678B2 (en) Multifactor authentication for mail server access
CN104901925A (zh) 终端用户身份认证方法、装置、系统及终端设备
WO2015007231A1 (zh) 一种恶意url的鉴定方法及装置
US20160241536A1 (en) System and methods for user authentication across multiple domains
JP2014528129A (ja) インターネットベースのアプリケーションへのアクセスを制御する方法
JP5805874B2 (ja) 取外し可能モジュールをアクセス端末に結び付ける装置および方法
EP3293656A1 (en) Method for controlling access to a trusted application in a terminal
CN108696870B (zh) 一种基于swp-sim技术的移动终端身份认证方法
US9577948B2 (en) Method and apparatus for connecting to server using trusted IP address of domain
CN114266033A (zh) 验证码生成方法、装置、验证码登录系统及电子设备
CN112448930A (zh) 账号注册方法、装置、服务器及计算机可读存储介质
KR101001197B1 (ko) 로그인 제어 시스템 및 그 방법
CN104079527A (zh) 一种信息处理方法及电子设备
CN108574658B (zh) 一种应用登录方法及其设备
KR20170103691A (ko) Ip 주소와 sms를 이용한 인증 방법 및 시스템
US11968531B2 (en) Token, particularly OTP, based authentication system and method
US9143510B2 (en) Secure identification of intranet network
KR101745919B1 (ko) 패스워드 노출 없는 소프트웨어 방식의 hsm을 이용한 사용자 인증 방법 및 시스템
WO2015151251A1 (ja) ネットワークサービス提供装置、ネットワークサービス提供方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150407