(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-27
(45)【発行日】2024-03-06
(54)【発明の名称】ユーザ識別子および署名収集を利用したモバイルアプリケーション偽造・変造探知方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体およびコンピュータ装置
(51)【国際特許分類】
G06F 21/51 20130101AFI20240228BHJP
G06F 21/45 20130101ALI20240228BHJP
【FI】
G06F21/51
G06F21/45
(21)【出願番号】P 2022562801
(86)(22)【出願日】2021-04-29
(86)【国際出願番号】 KR2021005455
(87)【国際公開番号】W WO2021225329
(87)【国際公開日】2021-11-11
【審査請求日】2022-10-14
(31)【優先権主張番号】10-2020-0054042
(32)【優先日】2020-05-06
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2020-0066346
(32)【優先日】2020-06-02
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】509288208
【氏名又は名称】ネイバー クラウド コーポレーション
【氏名又は名称原語表記】Naver Cloud Corporation
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】クァック ムンス
(72)【発明者】
【氏名】イ ビョンジェ
(72)【発明者】
【氏名】キム エジ
(72)【発明者】
【氏名】チェー ウォンビン
【審査官】平井 誠
(56)【参考文献】
【文献】特開2014-106652(JP,A)
【文献】米国特許出願公開第2015/0040246(US,A1)
【文献】米国特許出願公開第2014/0090077(US,A1)
【文献】特開2014-178737(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを含むコンピュータ装置が実行する偽造・変造探知方法であって、
前記少なくとも1つのプロセッサにより、モバイル端末機でのアプリケーションの実行の試みに応答して、前記モバイル端末機から前記アプリケーションに対するアプリ署名認証情報を受信する段階、
前記少なくとも1つのプロセッサにより、前記アプリケーションの運営者端末機から前記アプリ署名認証情報に対する認証の許容または遮断の選択を受ける段階、
前記少なくとも1つのプロセッサにより、前記選択に応じて前記アプリ署名認証情報に対する認証を許容または遮断するように保存する段階、
前記少なくとも1つのプロセッサにより、前記認証が許容された場合、前記モバイル端末機での前記アプリケーションの実行を許容する段階、および
前記少なくとも1つのプロセッサにより、前記認証が遮断された場合、前記モバイル端末機での前記アプリケーションの実行を遮断する段階
を含む、偽造・変造探知方法。
【請求項2】
前記認証の許容または遮断の選択を受ける段階は、
前記アプリ署名認証情報を表示する第1機能と、前記アプリ署名認証情報に対する認証の許容または遮断の選択を受けるための第2機能が含まれたページを提供する段階、および
前記提供されたページにおいて、前記第2機能によって選択された認証の許容または認証の遮断を確認する段階
を含むことを特徴とする、請求項1に記載の偽造・変造探知方法。
【請求項3】
前記ページは、認証が許容されたアプリ署名認証情報のリストおよび認証が遮断されたアプリ署名認証情報のリストを表示する第3機能と、認証が許容されたアプリ署名認証情報を認証が遮断されたアプリ署名認証情報に変更するための第4機能と、認証が遮断されたアプリ署名認証情報を認証が許容されたアプリ署名認証情報に変更するための第5機能とをさらに含むことを特徴とする、請求項2に記載の偽造・変造探知方法。
【請求項4】
前記認証を許容または遮断するように保存する段階は、
前記アプリ署名認証情報に対する認証を許容するように選択された場合、前記アプリ署名認証情報をホワイトリストに追加する段階、および
前記アプリ署名認証情報に対する認証を遮断するように選択された場合、前記アプリ署名認証情報をブラックリストに追加する段階
を含むことを特徴とする、請求項1~3のうちのいずれか一項に記載の偽造・変造探知方法。
【請求項5】
前記少なくとも1つのプロセッサにより、前記モバイル端末機での前記アプリケーションの再実行の試みに応答して、前記モバイル端末機から前記アプリケーションに対するアプリ署名認証情報を受信する段階、
前記少なくとも1つのプロセッサにより、前記アプリ署名認証情報が前記アプリ署名認証情報に対する認証を許容するように保存された場合、前記アプリケーションの再実行を許容する段階、および
前記少なくとも1つのプロセッサにより、前記アプリ署名認証情報が前記アプリ署名認証情報に対する認証を遮断するように保存された場合、前記アプリケーションの再実行を遮断する段階
をさらに含む、請求項1~4のうちのいずれか一項に記載の偽造・変造探知方法。
【請求項6】
前記アプリ署名認証情報は、前記モバイル端末機のユーザに対するユーザ情報および前記アプリケーションの署名情報を含むことを特徴とする、請求項1~5のうちのいずれか一項に記載の偽造・変造探知方法。
【請求項7】
前記アプリ署名認証情報は、前記アプリケーションの基本情報として、前記アプリケーションのパッケージ名および前記アプリケーションのバージョンをさらに含むことを特徴とする、請求項6に記載の偽造・変造探知方法。
【請求項8】
前記アプリ署名認証情報は、前記モバイル端末機に対する端末情報をさらに含み、
前記端末情報は、EMMC(Embedded MultiMedia Card)ID、IMEI(International Mobile station Equipment Identity)、およびMACアドレスのうちの少なくとも1つを含むことを特徴とする、請求項6に記載の偽造・変造探知方法。
【請求項9】
少なくとも1つのプロセッサを含む
モバイル端末機および少なくとも1つのプロセッサを含む認証サーバが実行する偽造・変造探知方法であって、
前記モバイル端末機の前記少なくとも1つのプロセッサにより、前記
モバイル端末機にインストールされたアプリケーションの実行の試みに応答して、前記アプリケーションに対するアプリ署名認証情報を抽出する段階
、
前記モバイル端末機の前記少なくとも1つのプロセッサにより、前記抽出されたアプリ署名認証情報を
前記認証サーバに送信する段階
、
前記認証サーバの前記少なくとも1つのプロセッサにより、前記モバイル端末機から前記アプリ署名認証情報を受信する段階、
前記認証サーバの前記少なくとも1つのプロセッサにより、前記アプリケーションの運営者端末機から前記アプリ署名認証情報に対する認証の許容または遮断の選択を受ける段階、
前記認証サーバの前記少なくとも1つのプロセッサにより、前記選択に応じて前記アプリ署名認証情報に対する認証を許容または遮断するように保存する段階、
前記認証サーバの前記少なくとも1つのプロセッサにより、前記認証が許容された場合、前記モバイル端末機での前記アプリケーションの実行を許容する段階、および
前記認証サーバの前記少なくとも1つのプロセッサにより、前記認証が遮断された場合、前記モバイル端末機での前記アプリケーションの実行を遮断する段階
を含み、
前記アプリ署名認証情報は、前記
モバイル端末機のユーザに対するユーザ情報および前記アプリケーションの署名情報を含むことを特徴とする、偽造・変造探知方法。
【請求項10】
コンピュータ装置と結合して請求項1~
8のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録された、コンピュータプログラム。
【請求項11】
請求項1~
8のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるためのコンピュータプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
【請求項12】
コンピュータ読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサにより、
モバイル端末機でのアプリケーションの実行の試みに応答して、前記モバイル端末機から前記アプリケーションに対するアプリ署名認証情報を受信し、
前記アプリケーションの運営者端末機から前記アプリ署名認証情報に対する認証の許容または遮断の選択を受け、
前記選択に応じて前記アプリ署名認証情報に対する認証を許容または遮断するように保存し、
前記認証が許容された場合、前記モバイル端末機での前記アプリケーションの実行を許容し、
前記認証が遮断された場合、前記モバイル端末機での前記アプリケーションの実行を遮断すること
を特徴とする、コンピュータ装置。
【請求項13】
前記少なくとも1つのプロセッサにより、
前記アプリ署名認証情報を表示する第1機能と、前記アプリ署名認証情報に対する認証の許容または遮断の選択を受けるための第2機能が含まれたページを提供し、
前記提供されたページにおいて、前記第2機能によって選択された認証の許容または認証の遮断を確認すること
を特徴とする、請求項
12に記載のコンピュータ装置。
【請求項14】
前記少なくとも1つのプロセッサにより、
前記アプリ署名認証情報に対する認証を許容するように選択された場合、前記アプリ署名認証情報をホワイトリストに追加し、
前記アプリ署名認証情報に対する認証を遮断するように選択された場合、前記アプリ署名認証情報をブラックリストに追加すること
を特徴とする、請求項
12~
13のうちのいずれか一項に記載のコンピュータ装置。
【請求項15】
前記少なくとも1つのプロセッサにより、
前記モバイル端末機での前記アプリケーションの再実行の試みに応答して前記モバイル端末機から前記アプリケーションに対するアプリ署名認証情報を受信し、
前記アプリ署名認証情報が前記アプリ署名認証情報に対する認証を許容するように保存された場合、前記アプリケーションの再実行を許容し、
前記アプリ署名認証情報が前記アプリ署名認証情報に対する認証を遮断するように保存された場合、前記アプリケーションの再実行を遮断すること
を特徴とする、請求項
12~
14のうちのいずれか一項に記載のコンピュータ装置。
【請求項16】
前記アプリ署名認証情報は、前記モバイル端末機のユーザに対するユーザ情報および前記アプリケーションの署名情報を含むこと
を特徴とする、請求項
12~
15のうちのいずれか一項に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、ユーザ識別子および署名収集を利用したモバイルアプリケーション偽造・変造探知方法およびシステムに関する。
【背景技術】
【0002】
モバイルアプリケーションの偽造・変造を探知するための従来技術として、モバイルアプリケーションの開発および配布時に使用される署名情報を認証サーバに予め登録してホワイトリスト(White List)を生成し、モバイルアプリケーションの実行時に「現在実行および/またはインストールするモバイルアプリケーションの署名情報」と「サーバに登録された署名情報(ホワイトリストに登録された署名情報)」を比較し、「現在実行および/またはインストールするモバイルアプリケーションの署名情報」がホワイトリストに登録されていない署名情報の場合には、現在実行するモバイルアプリケーションはクライアント側やサーバ側で偽造・変造されたものとして探知して、モバイルアプリケーションの実行を遮断したりインストールを中断したりする技術が存在する。
【0003】
しかし、開発用の署名、配布用の署名、QA(Quality Assurance)用の署名などの情報の多様化は進んでいる反面、従来の偽造・変造探知技術を使用するためにはすべての署名を予め登録しなければならない。言い換えれば、サービスを提供する前には、変造探知のためにホワイトリストを保有しなければならない。したがって、正常な署名情報を登録しない場合には正常なアプリケーションであっても偽造・変造されたアプリケーションと判断され、アプリケーションが使用できなくなるという問題がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
クライアント側では、アプリケーションに対する署名情報とユーザの識別子(一例として、ユーザID)をサーバ側に伝達し、サーバ側では、ビジネス状況に合わせてアプリケーションの運営者側にアプリケーション認証の許容または遮断を決定させるようにすることにより、すべての署名を予め登録しなくてもモバイルアプリケーションの偽造・変造を柔軟に探知することができる方法およびシステムを提供する。
【課題を解決するための手段】
【0006】
少なくとも1つのプロセッサを含むコンピュータ装置が実行する偽造・変造探知方法であって、前記少なくとも1つのプロセッサにより、モバイル端末機でのアプリケーションの実行の試みに応答して前記モバイル端末機から前記アプリケーションに対するアプリ署名認証情報を受信する段階、前記少なくとも1つのプロセッサにより、前記アプリケーションの運営者端末機から前記アプリ署名認証情報に対する認証の許容または遮断の選択を受ける段階、前記少なくとも1つのプロセッサにより、前記選択に応じて前記アプリ署名認証情報に対する認証を許容または遮断するように保存する段階、前記少なくとも1つのプロセッサにより、前記認証が許容された場合、前記モバイル端末機での前記アプリケーションの実行を許容する段階、および前記少なくとも1つのプロセッサにより、前記認証が遮断された場合、前記モバイル端末機での前記アプリケーションの実行を遮断する段階を含む、偽造・変造探知方法を提供する。
【0007】
一側によると、前記認証の許容または遮断の選択を受ける段階は、前記アプリ署名認証情報を表示する第1機能と、前記アプリ署名認証情報に対する認証の許容または遮断の選択を受けるための第2機能が含まれたページを提供する段階、および前記提供されたページにおいて、前記第2機能によって選択された認証の許容または認証の遮断を確認する段階を含むことを特徴としてよい。
【0008】
他の側面によると、前記ページは、認証が許容されたアプリ署名認証情報のリストおよび認証が遮断されたアプリ署名認証情報のリストを表示する第3機能と、認証が許容されたアプリ署名認証情報を認証が遮断されたアプリ署名認証情報に変更するための第4機能と、認証が遮断されたアプリ署名認証情報を認証が許容されたアプリ署名認証情報に変更するための第5機能をさらに含むことを特徴としてよい。
【0009】
また他の側面によると、前記認証を許容または遮断するように保存する段階は、前記アプリ署名認証情報に対する認証を許容すると選択された場合、前記アプリ署名認証情報をホワイトリストに追加する段階、および前記アプリ署名認証情報に対する認証を遮断すると選択された場合、前記アプリ署名認証情報をブラックリスト(Black List)に追加する段階を含むことを特徴としてよい。
【0010】
また他の側面によると、前記偽造・変造探知方法は、前記少なくとも1つのプロセッサにより、前記モバイル端末機での前記アプリケーションの再実行の試みに応答して前記モバイル端末機から前記アプリケーションに対するアプリ署名認証情報を受信する段階、前記少なくとも1つのプロセッサにより、前記アプリ署名認証情報が前記アプリ署名認証情報に対する認証を許容するように保存された場合、前記アプリケーションの再実行を許容する段階、および前記少なくとも1つのプロセッサにより、前記アプリ署名認証情報が前記アプリ署名認証情報に対する認証を遮断するように保存された場合、前記アプリケーションの再実行を遮断する段階をさらに含んでよい。
【0011】
また他の側面によると、前記アプリ署名認証情報は、前記モバイル端末機のユーザに対するユーザ情報および前記アプリケーションの署名情報を含むことを特徴としてよい。前記アプリ署名認証情報は、前記アプリケーションの基本情報として、前記アプリケーションのパッケージ名および前記アプリケーションのバージョンに関する情報をさらに含んでもよい。
【0012】
また他の側面によると、前記アプリ署名認証情報は、前記モバイル端末機に対する端末情報をさらに含み、前記端末情報は、EMMC(Embedded MultiMedia Card)ID、IMEI(International Mobile station Equipment Identity)、およびMACアドレスのうちの少なくとも1つをさらに含むことを特徴としてよい。前記端末情報は、前記アプリケーションの基本情報として、前記アプリケーションのパッケージ名および前記アプリケーションのバージョンに関する情報をさらに含んでもよい。
【0013】
少なくとも1つのプロセッサを含むコンピュータ装置が実行する偽造・変造探知方法であって、前記少なくとも1つのプロセッサにより、前記コンピュータ装置にインストールされたアプリケーションの実行の試みに応答して前記アプリケーションに対するアプリ署名認証情報を抽出する段階、および前記少なくとも1つのプロセッサにより、前記抽出されたアプリ署名認証情報を認証サーバに送信する段階を含み、前記アプリ署名認証情報は、前記コンピュータ装置のユーザに対するユーザ情報および前記アプリケーションの署名情報を含むことを特徴とする、偽造・変造探知方法を提供する。
【0014】
コンピュータ装置と結合して前記方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録された、コンピュータプログラムを提供する。
【0015】
前記方法をコンピュータ装置に実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体を提供する。
【0016】
コンピュータ読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサにより、モバイル端末機でのアプリケーションの実行の試みに応答して前記モバイル端末機から前記アプリケーションに対するアプリ署名認証情報を受信し、前記アプリケーションの運営者端末機から前記アプリ署名認証情報に対する認証の許容または遮断の選択を受け、前記選択に応じて前記アプリ署名認証情報に対する認証を許容または遮断するように保存し、前記認証が許容された場合、前記モバイル端末機での前記アプリケーションの実行を許容し、前記認証が遮断された場合、前記モバイル端末機での前記アプリケーションの実行を遮断することを特徴とする、コンピュータ装置を提供する。
【0017】
コンピュータ読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサにより、コンピュータ装置にインストールされたアプリケーションの実行の試みに応答して前記アプリケーションに対するアプリ署名認証情報を抽出し、前記抽出されたアプリ署名認証情報を認証サーバに送信し、前記アプリ署名認証情報は、前記コンピュータ装置のユーザに関するユーザ情報および前記アプリケーションの署名情報を含むことを特徴とする、コンピュータ装置を提供する。
【発明の効果】
【0018】
クライアント側では、アプリケーションに対する署名情報とユーザの識別子(一例として、ユーザID)をサーバ側に伝達し、サーバ側では、ビジネス状況に合わせてアプリケーションの運営者側にアプリケーション認証の許容または遮断を決定させるようにすることにより、すべての署名を予め登録しなくてもモバイルアプリケーションの偽造・変造を柔軟に探知することができる。
【図面の簡単な説明】
【0019】
【
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【
図2】本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。
【
図3】本発明の一実施形態における、偽造・変造探知システムを概括的に示した図である。
【
図4】本発明の一実施形態における、アプリ認証許容のシナリオの一例を示したフローチャートである。
【
図5】本発明の一実施形態における、アプリ認証遮断のシナリオの一例を示したフローチャートである。
【
図6】本発明の一実施形態における、認証が遮断されたアプリを再び許容するシナリオの一例を示したフローチャートである。
【
図7】本発明の一実施形態における、アプリ運営者の認証制御のためのページに含まれるユーザインタフェースの例を示した図である。
【
図8】本発明の一実施形態における、モバイル端末機の偽造・変造探知方法の例を示した図である。
【
図9】本発明の一実施形態における、認証サーバの偽造・変造探知方法の例を示した図である。
【
図10】本発明の一実施形態における、アプリ認証許容シナリオの他の例を示したフローチャートである。
【
図11】本発明の一実施形態における、アプリ認証遮断シナリオの他の例を示したフローチャートである。
【発明を実施するための形態】
【0020】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【0021】
本発明の実施形態に係る偽造・変造探知システムは、少なくとも1つのコンピュータ装置によって実現されてよい。このとき、コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータ装置は、実行されたコンピュータプログラムの制御にしたがって本発明の実施形態に係る偽造・変造探知方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置と結合して偽造・変造探知方法をコンピュータに実行させるために、コンピュータ読み取り可能な記録媒体に記録されてよい。
【0022】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。
図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような
図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が
図1のように限定されることはない。また、
図1のネットワーク環境は、本実施形態に適用可能な環境のうちの一例を説明したものに過ぎず、本実施形態に適用可能な環境が
図1のネットワーク環境に限定されることはない。
【0023】
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、
図1では、電子機器110の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な物理的なコンピュータ装置のうちの1つを意味してよい。
【0024】
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0025】
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140にサービス(一例として、インスタントメッセージングサービス、ゲームサービス、グループ通話サービス(または、音声会議サービス)、メッセージングサービス、メールサービス、ソーシャルネットワークサービス、地図サービス、翻訳サービス、金融サービス、決済サービス、検索サービス、コンテンツ提供サービスなど)を提供するシステムであってよい。
【0026】
図2は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器110、120、130、140それぞれやサーバ150、160それぞれは、
図2に示したコンピュータ装置200によって実現されてよい。
【0027】
このようなコンピュータ装置200は、
図2に示すように、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータ装置200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク170を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にロードされてよい。
【0028】
プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0029】
通信インタフェース230は、ネットワーク170を介してコンピュータ装置200が他の装置(一例として、上述した記録装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース230の制御にしたがってネットワーク170を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク170を経てコンピュータ装置200の通信インタフェース230を通じてコンピュータ装置200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータ装置200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0030】
入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250のうちの少なくとも1つは、コンピュータ装置200と1つの装置で構成されてもよい。例えば、スマートフォンのように、タッチスクリーン、マイク、スピーカなどがコンピュータ装置200に含まれた形態で実現されてよい。
【0031】
また、他の実施形態において、コンピュータ装置200は、
図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、データベースなどのような他の構成要素をさらに含んでもよい。
【0032】
以下で説明する「アプリ」という用語は、アプリケーションを意味してよい。
【0033】
図3は、本発明の一実施形態における、偽造・変造探知システムを概括的に示した例示図である。本実施形態に係る偽造・変造探知システムは、複数のモバイル端末機310、認証サーバ320、および複数のアプリ運営者端末機330を含んでよい。
【0034】
複数のモバイル端末機310それぞれは、複数のアプリ運営者が提供する多様なアプリのうちから自身が所望するアプリをインストールして実行することでアプリ運営者が提供するサービスを受ける主体であってよい。このような複数のモバイル端末機310それぞれは、
図2を参照しながら説明したコンピュータ装置200のような物理的な装置によって実現されてよい。複数のモバイル端末機310それぞれは、インストールしたアプリを実行した後、アプリが自体的に提供する機能またはアプリ運営者が提供するサーバを介して提供される機能を利用してアプリ運営者のサービスを利用する。一方、複数のモバイル端末機310それぞれは、アプリを実行する過程で、認証サーバ320と通信してアプリの認証を受けることがある。このとき、アプリが認証される場合には当該モバイル端末機でアプリを実行することができるが、アプリが遮断される場合には当該モバイル端末機でのアプリの実行は遮断される。一方、複数のモバイル端末機310それぞれは、アプリの認証を要請する場合、当該アプリの署名情報とユーザ情報(一例として、ユーザのIDのようなユーザ識別子)をマッチングして認証サーバ320に送信する。
【0035】
認証サーバ320は、複数のモバイル端末機310それぞれからのアプリ認証要請にしたがって当該アプリを認証する主体であってよい。このような認証サーバは、コンピュータ装置200のような物理的な装置によって実現されてよい。認証サーバは、2つ以上の物理的な装置によって実現されてもよい。認証サーバ320は、認証が要請されたアプリのアプリ運営者からアプリの認証に対する認証許容または認証遮断の結果を受け取ってよく、受け取った結果に応じてアプリの実行を許容または遮断してよい。例えば、認証サーバ320は、アプリの認証を要請したモバイル端末機から伝達されるアプリの署名情報とユーザ情報を、当該アプリのアプリ運営者のために提供されるユーザインタフェース(一例として、ウェブを通じてアプリ運営者に提供されるページのユーザインタフェース)を通じてアプリ運営者に提供してよい。
【0036】
複数のアプリ運営者端末機330は、アプリ運営者が運用する物理的な装置であってよく、このような物理的な装置それぞれは、
図2を参照しながら説明したコンピュータ装置200に対応するか、コンピュータ装置200によって実現されてよい。アプリ運営者は、自身のアプリ運営者端末機を利用して認証サーバ320が提供するユーザインタフェースにアクセスしてよく、アプリの署名情報とユーザ情報に基づいて、さらにユーザインタフェースを通じて、アプリの実行に対する認証許容または認証遮断を選択してよい。
【0037】
一方、認証サーバ320は、アプリの署名に対して、アプリの認証を許容するか遮断するかを保存しておいてよい。この場合、認証サーバ320は、アプリ運営者が一度認証を許容または遮断したアプリの署名に対しては、以降からはアプリ運営者を経なくても認証を許容または遮断することができるようになる。
【0038】
このように、認証サーバ320は、アプリの認証のためのホワイトリストを予め備えていなくても、アプリ運営者を通じてユーザ別さらにはアプリの署名別にホワイトリストとブラックリストの生成していくことができる。このようなホワイトリストとブラックリストは当該アプリ運営者に共有されるため、アプリ運営者はアプリの偽造・変造を試みようとするユーザを把握することができる。
【0039】
図4は、本発明の一実施形態における、アプリ認証許容のシナリオの例を示したフローチャートである。
図4は、モバイル端末機410、認証サーバ320、およびアプリ運営者端末機420を示している。ここで、モバイル端末機410は、
図3を参照しながら説明した複数のモバイル端末機310のうちの1つであってよく、アプリ運営者端末機420は、
図3を参照しながら説明した複数のアプリ運営者端末機330のうちの1つであってよい。以下で説明する過程1(431)~過程7(437)は、モバイル端末機410がモバイル端末機410にインストールされたアプリの実行を試みる過程と連携して実行されてよい。
【0040】
過程1(431)で、モバイル端末機410は、アプリ署名情報およびユーザ情報を抽出してよい。アプリ署名情報は、モバイル端末機410にインストールされたアプリに対して生成される署名情報であってよい。アプリが偽造・変造される場合、偽造・変造されたアプリのアプリ署名情報は、本来のアプリのアプリ署名情報とは異なるようになる。また、ユーザ情報は、前記アプリが提供するサービス上の当該ユーザのユーザ識別子を含んでよい。実施形態によって、ユーザ情報は、上述したユーザ識別子の他にも、モバイル端末機310の情報(アプリケーションのパッケージ名、アプリケーションのバージョン、EMMC ID、IMEI、およびMACアドレスのうちの少なくとも1つ)をさらに含んでもよい。
【0041】
過程2(432)で、モバイル端末機410は、抽出したアプリ署名情報およびユーザ情報を認証サーバ320に送信してよい。一例として、モバイル端末機410は、アプリの制御にしたがって、ネットワーク170を介してアプリ署名情報およびユーザ情報を認証サーバ320に送信してよい。
【0042】
過程3(433)で、認証サーバ320は、アプリ提供者にアプリ署名情報とユーザ情報を表示してよい。例えば、認証サーバ320は、アプリ提供者がアクセス可能なページのユーザインタフェースを通じてアプリ署名情報とユーザ情報を表示してよく、アプリ運営者は、自身のアプリ運営者端末機420を利用して当該ページにアクセスすることにより、アプリ署名情報とユーザ情報を受け取ってよい。
【0043】
過程4(434)で、アプリ運営者端末機420は、ユーザ情報およびアプリ署名情報を確認してよい。このとき、ユーザ情報およびアプリ署名情報の確認は、アプリ運営者によって手動でなされてもよいし、アプリ運営者端末機420が予め設定されたロジックを利用してユーザ情報とアプリ署名情報を比較する作業によって自動でなされてもよい。例えば、アプリ運営者端末機420は、アプリに対して登録されたアプリ署名情報と認証が要請されたアプリのアプリ署名情報を比較して、アプリ署名情報の認証を許容または遮断してよい。また、アプリ運営者端末機420は、予め設定されたユーザに対しては、認証が要請されたアプリ署名情報とは個別にアプリ署名情報の認証を許容または遮断してもよい。本実施形態では、アプリ署名情報の認証が許容される場合のシナリオについて説明している。
【0044】
過程5(435)で、アプリ運営者端末機420は、アプリ署名情報の認証を許容するように保存することを認証サーバ320に要請してよい。この場合、認証サーバ320は、当該ユーザ情報および当該アプリ署名情報に対する認証が許容されるようにアプリ署名認証情報を保存してよい。このようなアプリ署名認証情報は、ユーザ情報とアプリ署名情報を含んでよい。言い換えれば、認証サーバ320のホワイトリストには、ユーザ情報およびアプリ署名情報が追加されてよい。
【0045】
過程6(436)で、認証サーバ320は、認証が許容されたアプリ署名情報およびユーザ情報を表示してよい。一例として、認証サーバ320は、上述したページのユーザインタフェースを通じて、アプリ署名情報、ユーザ情報、さらにアプリ署名情報とユーザ情報の認証が許容されたことを示す情報を表示してよい。アプリ運営者は、アプリ運営者端末機420を利用して前記ページにアクセスして、当該情報を受け取ってよい。これは、前記ページを通じて認証サーバ320のホワイトリストがアプリ運営者に共有されることを意味してよい。
【0046】
過程7(437)で、認証サーバ320は、アプリの実行を許容してよい。例えば、認証サーバ320は、過程1(431)でモバイル端末機410が送信したアプリ署名情報およびユーザ情報の認証を許容することにより、アプリの実行を許容してよい。
【0047】
この後、モバイル端末機410で同じユーザ情報とアプリ署名情報によってアプリの認証が要請される場合、認証サーバ320は、先立って保存されたアプリ署名認証情報を照会することで要請されたアプリ署名情報の認証を許容してよく、したがって、アプリ運営者を経なくても当該アプリの実行を継続して許容することができるようになる。
【0048】
図5は、本発明の一実施形態における、アプリ認証遮断のシナリオの例を示したフローチャートである。
図5は、
図4を参照しながら説明したモバイル端末機410、認証サーバ320、およびアプリ運営者端末機420を示している。以下で説明する過程1(510)~過程7(570)は、モバイル端末機410がモバイル端末機410にインストールされたアプリの実行を試みる過程と連携して実行されてよい。
【0049】
過程1(510)で、モバイル端末機410は、アプリ署名情報およびユーザ情報を抽出してよい。アプリ署名情報は、モバイル端末機410にインストールされたアプリに対して生成される署名情報であってよい。アプリが偽造・変造される場合、偽造・変造されたアプリのアプリ署名情報は、本来のアプリのアプリ署名情報とは異なるようになる。また、ユーザ情報は、前記アプリが提供するサービス上での当該ユーザのユーザ識別子を含んでよい。上述したように、実施形態によって、ユーザ情報は、上述したユーザ識別子の他にも、モバイル端末機410の情報(EMMC ID、IMEI、およびMACアドレスのうちの少なくとも1つ)をさらに含んでもよい。
【0050】
過程2(520)で、モバイル端末機410は、抽出されたアプリ署名情報およびユーザ情報を認証サーバ320に送信してよい。一例として、モバイル端末機410は、アプリの制御にしたがって、ネットワーク170を介してアプリ署名情報およびユーザ情報を認証サーバ320に送信してよい。
【0051】
過程3(530)で、認証サーバ320は、アプリ提供者にアプリ署名情報とユーザ情報を表示してよい。例えば、認証サーバ320は、アプリ提供者がアクセス可能なページのユーザインタフェースを通じてアプリ署名情報とユーザ情報を表示してよく、アプリ運営者は、自身のアプリ運営者端末機420を利用して当該ページにアクセスすることにより、アプリ署名情報とユーザ情報を受け取ってよい。
【0052】
過程4(540)で、アプリ運営者端末機420は、ユーザ情報およびアプリ署名情報を確認してよい。このとき、ユーザ情報およびアプリ署名情報の確認は、アプリ運営者によって手動でなされてもよいし、アプリ運営者端末機420が予め設定されたロジックを利用してユーザ情報とアプリ署名情報を比較する作業によって自動でなされてもよい。例えば、アプリ運営者端末機420は、アプリに対して登録されたアプリ署名情報と認証が要請されたアプリのアプリ署名情報を比較して、アプリ署名情報の認証を許容または遮断してよい。また、アプリ運営者端末機420は、予め設定されたユーザに対しては、認証が要請されたアプリ署名情報とは個別にアプリ署名情報の認証を許容または遮断してもよい。本実施形態では、アプリ署名情報の認証が遮断される場合のシナリオについて説明している。
【0053】
過程5(550)で、アプリ運営者端末機420は、アプリ署名情報の認証を遮断するように保存することを認証サーバ320に要請してよい。この場合、認証サーバ320は、当該ユーザ情報および当該アプリ署名情報に対する認証が遮断されるようにアプリ署名認証情報を保存してよい。このようなアプリ署名認証情報は、ユーザ情報とアプリ署名情報を含んでよい。言い換えれば、認証サーバ320のブラックリストには、ユーザ情報およびアプリ署名情報が追加されてよい。
【0054】
過程6(560)で、認証サーバ320は、認証が遮断されたアプリ署名情報およびユーザ情報を表示してよい。一例として、認証サーバ320は、上述したページのユーザインタフェースを通じて、アプリ署名情報、ユーザ情報、さらにアプリ署名情報とユーザ情報の認証が遮断されたことを示す情報を表示してよい。アプリ運営者は、アプリ運営者端末機420を利用して前記ページにアクセスして、当該情報を受け取ってよい。これは、前記ページを通じて認証サーバ320のブラックリストがアプリ運営者に共有されることを意味してよい。
【0055】
過程7(570)で、認証サーバ320は、アプリの実行を遮断してよい。例えば、認証サーバ320は、第1過程(431)でモバイル端末機410が送信したアプリ署名情報およびユーザ情報の認証を遮断して、アプリの実行を遮断してよい。
【0056】
この後、モバイル端末機410で同じユーザ情報とアプリ署名情報によってアプリの認証が要請される場合、認証サーバ320は、先立って保存されたアプリ署名認証情報を照会することで要請されたアプリ署名情報の認証を遮断してよく、したがって、アプリ運営者を経なくても当該アプリの実行を継続して遮断することができるようになる。
【0057】
このように、認証サーバ320は、アプリに対するアプリ署名情報に対するホワイトリストを予め構築しなくても、アプリ運営者を通じてユーザ別またはアプリ署名情報別にホワイトリストとブラックリストを構築していきながらアプリの実行を許容または遮断することができる。これだけでなく、特定のユーザのアプリ署名情報とユーザ情報がホワイトリストとブラックリストに一度保存されれば、以降からは構築されたホワイトリストとブラックリストを利用することで、当該ユーザに対するアプリの実行を継続して許容または遮断することができるようになる。
【0058】
図6は、本発明の一実施形態における、認証が遮断されたアプリを再び許容するシナリオの例を示したフローチャートである。
図6は、
図4および
図5を参照しながら説明したモバイル端末機410、認証サーバ320、およびアプリ運営者端末機420を示している。以下で説明する過程1(610)~過程4(640)は、以前のアプリ実行の過程と連携して実行されてよく、過程5(650)~過程8(680)は、モバイル端末機410がモバイル端末機410にインストールされたアプリの現在実行を試みる過程と連携して実行されてよい。
【0059】
第1過程(610)で、認証サーバ320は、アプリ提供者にアプリ署名情報とユーザ情報を表示してよい。例えば、認証サーバ320は、アプリ提供者がアクセス可能なページのユーザインタフェースを通じてアプリ署名情報とユーザ情報を表示してよく、アプリ運営者は、自身のアプリ運営者端末機420を利用して当該ページにアクセスすることにより、アプリ署名情報とユーザ情報を受け取ってよい。言い換えれば、アプリ提供者は、上述したページにアクセスするだけで、自身のアプリと関連するユーザ情報およびアプリ署名情報をいつでも確認することができる。また、上述したように、アプリ運営者は、当該ページを通じて、アプリ署名情報とユーザ情報の認証が許容されたのか遮断されたのかを確認することができ、必要に応じて、認証の許容を遮断にまたは認証の遮断を許容に変更することができる。
【0060】
第2過程(620)で、アプリ運営者端末機420は、ユーザ情報およびアプリ署名情報を確認してよい。このとき、ユーザ情報およびアプリ署名情報の確認は、アプリ運営者によって手動でなされてもよく、アプリ運営者端末機420が予め設定されたロジックを利用してユーザ情報とアプリ署名情報を比較する作業によって自動でなされてもよい。例えば、アプリ運営者端末機420は、アプリに対して登録されたアプリ署名情報と認証が要請されたアプリのアプリ署名情報と比べて、アプリ署名情報の認証を許容または遮断してよい。また、アプリ運営者端末機420は、予め設定されたユーザに対しては、認証が要請されたアプリ署名情報とは個別にアプリ署名情報の認証を許容または遮断してもよい。本実施形態では、アプリ運営者が、アプリ運営者端末機420を利用して、遮断されたアプリ署名情報の認証を許容に変更する場合のシナリオについて説明している。このために、上述したページは、特定のアプリ署名情報およびユーザ情報に対する認証を許容および遮断のうちから1つ選択するためのユーザインタフェースを含んでよい。
【0061】
過程3(630)で、アプリ運営者端末機420は、アプリ署名情報の認証を許容するように保存することを認証サーバ320に要請してよい。例えば、アプリ運営者が上述したページのユーザインタフェースを利用して遮断されたアプリ署名情報に対する認証を許容に変更する場合、上述した要請が認証サーバ320に伝達されてよい。認証サーバ320は、当該ユーザ情報および当該アプリ署名情報に対する認証が許容されるようにアプリ署名認証情報を保存してよい。言い換えれば、認証サーバ320のブラックリストに追加されていたユーザ情報およびアプリ署名情報は、ホワイトリストに移行されてよい。
【0062】
過程4(640)で、認証サーバ320は、認証が許容されたアプリ署名情報およびユーザ情報を表示してよい。一例として、認証サーバ320は、上述したページのユーザインタフェースを通じて、アプリ署名情報、ユーザ情報、さらにアプリ署名情報とユーザ情報の認証が許容されたことを示す情報を表示してよい。アプリ運営者は、アプリ運営者端末機420を通じて前記ページにアクセスして、当該情報を受け取ってよい。
【0063】
この後、モバイル端末機410で当該アプリを実行しようとする場合、モバイル端末機410は、アプリの制御にしたがって、過程5(650)で、アプリ署名情報およびユーザ情報を抽出してよく、過程6(660)で、抽出したアプリ署名情報とユーザ情報を認証サーバ320に送信してよい。この場合、認証サーバ320は、過程7(670)で、送信されたアプリ署名情報とユーザ情報に対してアプリ署名認証情報を照会してよく、当該ユーザ情報およびアプリ署名情報は認証が許容されるように保存されているため、過程8(680)で、モバイル端末機410でのアプリの実行を許容してよい。
【0064】
これとは逆に、遮断されたアプリ署名情報の認証を許容に変更することも可能であることは、上述した説明をみれば容易に理解することができるであろう。
【0065】
図7は、本発明の一実施形態における、アプリ運営者の認証制御のためのページが含むユーザインタフェースの例を示した図である。
図7は、ホワイトリストとして認証が許容されたアプリ署名認証情報を含む許容テーブル710と、ブラックリストとして認証が遮断されたアプリ署名認証情報を含む遮断テーブル720を示している。例えば、許容テーブル710の最初の行は、ユーザ識別子「AAA」、アプリ名「A」、パッケージ名「c.b.a」、許容日時「2020-01-2211:02:33」、署名「AFAEAGRADSF」、状態「許容」などの情報を示している。より具体的な例として、ユーザ識別子「AAA」に対応するユーザが、アプリ名「A」とパッケージ名「c.b.a」に対応するアプリの実行時に認証を要請しながら、ユーザ情報としてユーザ識別子「AAA」とアプリ署名情報として署名「AFAEAGRADSF」を認証サーバ320に伝達したとする。この場合、認証サーバ320は、ユーザ情報とアプリ署名情報をアプリ運営者に表示してよく、アプリ運営者は、ユーザ情報とアプリ署名情報を確認して当該ユーザ情報とアプリ署名情報に対する認証を許容するように保存することを認証サーバ320に要請してよい。この場合、当該アプリ署名認証情報が、ホワイトリストである許容テーブル710の最初の行のように保存されてよい。
【0066】
このとき、許容テーブル710には、それぞれのアプリ署名認証情報に対する認証を許容から遮断に変更するためのユーザインタフェース711が提供されてよい。これと同様に、遮断テーブル720には、それぞれのアプリ署名認証情報に対する認証を遮断から許容に変更するためのユーザインタフェース721が提供されてよい。ユーザ識別子「AAA」に対応するアプリ署名認証情報が許容から遮断に変更される場合、ユーザ識別子「AAA」に対応するアプリ署名認証情報は、許容テーブル710から削除され、遮断テーブル720に追加されてよい。
【0067】
図8は、本発明の一実施形態における、モバイル端末機の偽造・変造探知方法の例を示した図である。本実施形態に係る偽造・変造探知方法は、モバイル端末機を実現するコンピュータ装置200によって実行されてよい。このとき、コンピュータ装置200のプロセッサ220は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのコンピュータプログラムのコードとによる制御命令を実行するように実現されてよい。ここで、プロセッサ220は、コンピュータ装置200に記録されたコードが提供する制御命令にしたがってコンピュータ装置200が
図8の方法に含まれる段階810~820を実行するようにコンピュータ装置200を制御してよい。
【0068】
段階810で、コンピュータ装置200は、コンピュータ装置200にインストールされたアプリケーションの実行の試みに応答して、アプリケーションに対するアプリ署名認証情報を抽出してよい。このとき、アプリ署名認証情報は、コンピュータ装置200のユーザに関するユーザ情報およびアプリケーションの署名情報を含んでよい。このようなアプリ署名認証情報は、アプリケーションの基本情報として、アプリケーションのパッケージ名およびアプリケーションのバージョンに関する情報をさらに含んでもよい。
【0069】
実施形態によって、アプリ署名認証情報は、コンピュータ装置200に対する端末情報をさらに含んでよい。一例として、端末情報は、EMMC ID、IMEI、およびMACアドレスのうちの少なくとも1つを含んでよい。このような端末情報は、アプリケーションの基本情報として、アプリケーションのパッケージ名およびアプリケーションのバージョンに関する情報をさらに含んでもよい。
【0070】
段階820で、コンピュータ装置200は、抽出されたアプリ署名認証情報を認証サーバに送信してよい。ここで、認証サーバは、上述した認証サーバ320に対応してよい。送信されたアプリ署名認証情報は、認証サーバがアプリケーションの運営者端末機からアプリ署名認証情報に対する認証の許容または遮断の選択を受けることによって、認証の許容または遮断が決定されてよい。このとき、アプリ署名認証情報に対する認証が許容される場合、アプリケーションの実行は許容されてよく、アプリ署名認証情報に対する認証が遮断される場合、アプリケーションの実行は遮断されてよい。
【0071】
このように、アプリ署名認証情報がユーザ情報を含むことにより、単にアプリに対する偽造・変造だけを探知するのではなく、偽造・変造されたアプリを使用するユーザに関する情報も得ることができるようになる。
【0072】
図9は、本発明の一実施形態における、認証サーバの偽造・変造探知方法の例を示した図である。本実施形態に係る偽造・変造探知方法は、認証サーバ320を実現するコンピュータ装置200によって実行されてよい。このとき、コンピュータ装置200のプロセッサ220は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのコンピュータプログラムのコードとによる制御命令を実行するように実現されてよい。ここで、プロセッサ220は、コンピュータ装置200に記録されたコードが提供する制御命令にしたがってコンピュータ装置200が
図9の方法に含まれる段階910~980を実行するようにコンピュータ装置200を制御してよい。
【0073】
段階910で、コンピュータ装置200は、モバイル端末機でのアプリケーションの実行の試みに応答して、モバイル端末機からアプリケーションに対するアプリ署名認証情報を受信してよい。ここで、受信されるアプリ署名認証情報は、上述した
図8の段階820で送信されるアプリ署名認証情報に対応してよい。言い換えれば、モバイル端末機のユーザに対するユーザ情報およびアプリケーションの署名情報を含んでよい。このとき、アプリ署名認証情報は、アプリケーションの基本情報として、アプリケーションのパッケージ名およびアプリケーションのバージョンに関する情報をさらに含んでもよい。上述したように、ユーザ情報がともに伝達されることにより、単にアプリに対する偽造・変造だけを探知するのではなく、偽造・変造されたアプリを使用するユーザに関する情報も得ることができるようになる。
【0074】
段階920で、コンピュータ装置200は、アプリケーションの運営者端末機からアプリ署名認証情報に対する認証の許容または遮断の選択を受けてよい。例えば、コンピュータ装置200は、アプリ署名認証情報を表示する第1機能と、アプリ署名認証情報に対する認証の許容または遮断の選択を受けるための第2機能が含まれたページを提供してよい。この場合、アプリケーションの運営者が運営者端末機を利用してページにアクセスして、アプリ署名認証情報に対する認証の許容または遮断を選択することができるようになる。このとき、コンピュータ装置200は、提供されたページにおいて、第2機能によって選択された認証の許容または認証の遮断を確認してよい。また、ページは、認証が許容されたアプリ署名認証情報のリストおよび認証が遮断されたアプリ署名認証情報のリストを表示する第3機能と、認証が許容されたアプリ署名認証情報を認証が遮断されたアプリ署名認証情報に変更するための第4機能と、認証が遮断されたアプリ署名認証情報を認証が許容されたアプリ署名認証情報に変更するための第5機能をさらに含んでよい。この場合、アプリケーションの運営者は、以前に認証を許容したとしても必要時には認証を再び遮断することができ、認証を遮断したとしても必要時には認証を再び許容することができるようになる。また、ユーザ別またはアプリ署名情報別に認証が許容されたケースと認証が遮断されたケースを確認することができるため、認証サーバ320としてのコンピュータ装置200が生成するアプリケーションの署名に対するホワイトリストとブラックリストをアプリケーションの運営者に共有することができるようになる。
【0075】
段階930で、コンピュータ装置200は、選択に応じてアプリ署名認証情報に対する認証を許容または遮断するように保存してよい。このとき、認証を許容するように保存されるアプリ署名認証情報のリストはホワイトリストとなってよく、認証を遮断するように保存されるアプリ署名認証情報のリストはブラックリストとなってよい。このために、コンピュータ装置200は、アプリ署名認証情報に対する認証を許容すると選択された場合、アプリ署名認証情報をホワイトリストに追加してよい。また、コンピュータ装置200は、アプリ署名認証情報に対する認証を遮断すると選択された場合、アプリ署名認証情報をブラックリストに追加してよい。
【0076】
段階940で、コンピュータ装置200は、認証が許容された場合、モバイル端末機でのアプリケーションの実行を許容してよい。
【0077】
段階950で、コンピュータ装置200は、認証が遮断された場合、モバイル端末機でのアプリケーションの実行を遮断してよい。
【0078】
言い換えれば、認証サーバ320であるコンピュータ装置200は、ホワイトリストやブラックリストが個別に予め設けられていない状況であっても、アプリケーションの運営者によって、要請されたアプリ署名認証情報に対する認証を処理することができると同時に、ホワイトリストとブラックリストを生成していくことができる。
【0079】
段階960で、コンピュータ装置200は、モバイル端末機でのアプリケーションの再実行の試みに応答して、モバイル端末機からアプリケーションに対するアプリ署名認証情報を受信してよい。言い換えれば、コンピュータ装置200は、モバイル端末機でアプリケーションが実行されるたびにアプリ署名認証情報を受信してよい。
【0080】
段階970で、コンピュータ装置200は、アプリ署名認証情報がアプリ署名認証情報に対する認証を許容するように保存された場合、アプリケーションの再実行を許容してよい。上述したように、モバイル端末機でアプリケーションが初めて実行されるときに伝達されるアプリ署名認証情報に対して既に認証を許容するように保存されていれば、コンピュータ装置200は、アプリケーションの運営者を経る必要なく、予め保存された情報(ホワイトリストの情報)を利用してモバイル端末機でのアプリケーションの再実行を許容してよい。
【0081】
段階980で、コンピュータ装置200は、アプリ署名認証情報がアプリ署名認証情報に対する認証を遮断するように保存された場合、アプリケーションの再実行を遮断してよい。上述したように、モバイル端末機でアプリケーションが初めて実行されるときに伝達されるアプリ署名認証情報に対して既に認証を遮断するように保存されていれば、コンピュータ装置200は、アプリケーションの運営者を経る必要なく、予め保存された情報(ブラックリストの情報)を利用してモバイル端末機でのアプリケーションの再実行を遮断してよい。
【0082】
図10は、本発明の一実施形態における、アプリ認証許容のシナリオの他の例を示したフローチャートである。
図10の過程1001~1012は、モバイル端末機410がモバイル端末機410にインストールされたアプリの実行を試みる過程と連携して実行されてよい。このとき、認証サーバ320には、モバイル端末機410にインストールされてモバイル端末機410が実行しようとする特定のアプリに対してアプリ署名認証を遮断するように保存されていると仮定する。アプリ署名認証を遮断するように保存するということは、特定のアプリと関連して、アプリ署名認証情報、アプリ情報、およびユーザ情報を含むアプリ署名認証情報を認証サーバ320のブラックリストに記録することに対応してよい。
【0083】
過程1(1001)で、モバイル端末機410は、アプリ署名情報、アプリ情報、およびユーザ情報を抽出してよい。上述したように、アプリ署名情報は、モバイル端末機410にインストールされたアプリに対して生成される署名情報であってよい。アプリが偽造・変造される場合、偽造・変造されたアプリのアプリ署名情報は、本来のアプリのアプリ署名情報とは異なるようになる。また、アプリ情報は、アプリの基本情報としてアプリのパッケージ名およびアプリのバージョンに関する情報を含んでよく、ユーザ情報は、アプリが提供するサービス上でのユーザのユーザ識別子を含んでよい。
【0084】
過程2(1002)で、モバイル端末機410は、抽出されたアプリ署名情報、アプリ情報、およびユーザ情報を認証サーバ320に送信してよい。一例として、モバイル端末機410は、アプリの制御にしたがって、ネットワーク170を介してアプリ署名情報、アプリ情報、およびユーザ情報を認証サーバ320に送信してよい。
【0085】
過程3(1003)で、認証サーバ320は、アプリ署名認証情報を照会してよい。上述したように、本実施形態において、認証サーバ320は、モバイル端末機410にインストールされた特定のアプリに対してアプリ署名認証を許容するための情報が保存されている。例えば、認証サーバ320は、ブラックリストおよび/またはホワイトリストを通じて、受信したアプリ情報およびユーザ情報に該当するアプリの実行に対する許容または遮断を照会してよく、本実施形態において、認証サーバ320は、ブラックリストを通じて特定のアプリに対するアプリ署名認証を遮断するための情報を抽出してよい。
【0086】
過程4(1004)で、認証サーバ320は、アプリ実行を遮断してよい。ここで、遮断されるアプリは、モバイル端末機410にインストールされた特定のアプリとして、モバイル端末機410が送信したアプリ情報およびユーザ情報に対応するアプリであってよい。以下で説明する追加的な過程(特に、過程5(1005)~過程7(1007))が実行されない場合は、アプリの実行のためのアプリ署名情報の認証は継続して遮断されてよい。
【0087】
過程5(1005)で、認証サーバ320は、アプリ署名情報、アプリ情報、およびユーザ情報をアプリ運営者端末機420に表示してよい。例えば、認証サーバ320は、アプリ提供者がアクセス可能なページのユーザインタフェースを通じて、アプリ署名情報、アプリ情報、およびユーザ情報を表示してよく、アプリ運営者は、自身のアプリ運営者端末機420を利用して当該ページにアクセスすることにより、アプリ署名情報、アプリ情報、およびユーザ情報を受け取ってよい。
【0088】
過程6(1006)で、アプリ運営者端末機420は、アプリ署名情報、アプリ情報、およびユーザ情報を確認してよい。このとき、アプリ署名情報、アプリ情報、およびユーザ情報の確認は、アプリ運営者によって手動でなされてもよいし、アプリ運営者端末機420が予め設定されたロジックを利用してアプリ署名情報、アプリ情報、およびユーザ情報を比較する作業によって自動でなされてもよい。例えば、アプリ運営者端末機420は、アプリに対して登録されたアプリ署名情報と認証が要請されたアプリのアプリ署名情報を比較して、アプリ署名情報の認証を許容または遮断してよい。また、アプリ運営者端末機420は、予め設定されたユーザに対しては、認証が要請されたアプリ署名情報とは個別にアプリ署名情報の認証を許容または遮断してもよい。本実施形態では、遮断されたアプリ署名情報の認証を再び許容する場合のシナリオについて説明している。
【0089】
過程7(1007)で、アプリ運営者端末機420は、アプリ署名情報の認証を許容するように保存することを認証サーバ320に要請してよい。この場合、認証サーバ320は、アプリ署名情報、アプリ情報、およびユーザ情報に対する認証が許容されるようにアプリ署名認証情報をホワイトリストに保存してよい。このようなアプリ署名認証情報は、アプリ署名情報、アプリ情報、およびユーザ情報を含んでよい。言い換えれば、認証サーバ320のブラックリストに記録されていたアプリ署名情報、アプリ情報、およびユーザ情報は、ホワイトリストに移行されて記録されてよい。
【0090】
過程8(1008)で、認証サーバ320は、認証が許容されたアプリ署名情報、アプリ情報、およびユーザ情報を表示してよい。一例として、認証サーバ320は、上述したページのユーザインタフェースを通じて、アプリ署名情報、アプリ情報、ユーザ情報、さらにアプリ署名情報に対する認証が許容されたことを示す情報を表示してよい。アプリ運営者は、アプリ運営者端末機420を通じて前記ページにアクセスして、当該情報を受け取ってよい。これは、前記ページを通じて認証サーバ320のホワイトリストがアプリ運営者に共有されることを意味してよい。
【0091】
この後、モバイル端末機410の特定のアプリに対するアプリ署名情報の認証が許容されることにより、特定アプリの実行が許容されてよい。過程9(1009)~過程12(1012)は、アプリの実行が許容される過程を示している。モバイル端末機410は、過程9(1009)で、アプリ署名情報、アプリ情報、およびユーザ情報を抽出してよく、過程10(1010)で、抽出されたアプリ署名情報、アプリ情報、およびユーザ情報を認証サーバ320に送信してよい。過程11(1011)で、認証サーバ320は、アプリ署名認証情報を照会してよい。認証サーバ320は、過程7(1007)でのアプリ運営者端末機420からの要請にしたがってアプリ署名情報、アプリ情報、およびユーザ情報をホワイトリストに保存したため、過程12(1012)で、認証サーバ320は、当該アプリの実行を許容してよい。
【0092】
図11は、本発明の一実施形態における、アプリ認証遮断のシナリオの他の例を示したフローチャートである。
図11の過程1101~1112は、モバイル端末機410がモバイル端末機410にインストールされたアプリの実行を試みる過程と連携して実行されてよい。このとき、認証サーバ320には、モバイル端末機410にインストールされてモバイル端末機410が実行しようとする特定のアプリに対してアプリ署名認証を許容するように保存されていると仮定する。アプリ署名認証を許容するように保存するということは、特定のアプリと関連して、アプリ署名認証情報、アプリ情報、およびユーザ情報を含むアプリ署名認証情報を認証サーバ320のホワイトリストに記録することに対応してよい。
【0093】
過程1(1101)で、モバイル端末機410は、アプリ署名情報、アプリ情報、およびユーザ情報を抽出してよい。上述したように、アプリ署名情報は、モバイル端末機410にインストールされたアプリに対して生成される署名情報であってよい。アプリが偽造・変造される場合、偽造・変造されたアプリのアプリ署名情報は、本来のアプリのアプリ署名情報とは異なるようになる。また、アプリ情報は、アプリの基本情報としてアプリのパッケージ名およびアプリのバージョンに関する情報を含んでよく、ユーザ情報は、アプリが提供するサービス上でのユーザのユーザ識別子を含んでよい。
【0094】
過程2(1102)で、モバイル端末機410は、抽出されたアプリ署名情報、アプリ情報、およびユーザ情報を認証サーバ320に送信してよい。一例として、モバイル端末機410は、アプリの制御にしたがって、ネットワーク170を介してアプリ署名情報、アプリ情報、およびユーザ情報を認証サーバ320に送信してよい。
【0095】
過程3(1103)で、認証サーバ320は、アプリ署名認証情報を照会してよい。上述したように、本実施形態において、認証サーバ320は、モバイル端末機410にインストールされた特定のアプリに対してアプリ署名認証を許容するための情報が保存されている。例えば、認証サーバ320は、ブラックリストおよび/またはホワイトリストを通じて受信したアプリ情報およびユーザ情報に該当するアプリの実行に対する許容または遮断を照会してよく、本実施形態において、認証サーバ320は、ホワイトリストを通じて特定のアプリに対するアプリ署名認証を許容するための情報を抽出してよい。
【0096】
過程4(1104)で、認証サーバ320は、アプリの実行を遮断してよい。ここで、許容されるアプリとは、モバイル端末機410にインストールされた特定のアプリとして、モバイル端末機410が送信したアプリ情報およびユーザ情報に対応するアプリであってよい。以下で説明する追加的な過程(特に、過程5(1105)~過程7(1107))が実行されない場合は、アプリの実行のためのアプリ署名情報の認証は継続して許容されてよい。
【0097】
過程5(1105)で、認証サーバ320は、アプリ署名情報、アプリ情報、およびユーザ情報をアプリ運営者端末機420に表示してよい。認証サーバ320は、アプリ提供者がアクセス可能なページのユーザインタフェースを通じて、アプリ署名情報、アプリ情報、およびユーザ情報を表示してよく、アプリ運営者は、自身のアプリ運営者端末機420を利用して当該ページにアクセスすることにより、アプリ署名情報、アプリ情報、およびユーザ情報を受け取ってよい。
【0098】
過程6(1106)で、アプリ運営者端末機420は、アプリ署名情報、アプリ情報、およびユーザ情報を確認してよい。このとき、アプリ署名情報、アプリ情報、およびユーザ情報の確認は、アプリ運営者によって手動でなされてもよいし、アプリ運営者端末機420が予め設定されたロジックを利用してアプリ署名情報、アプリ情報、およびユーザ情報を比較する作業によって自動でなされてもよい。例えば、アプリ運営者端末機420は、アプリに対して登録されたアプリ署名情報と認証が要請されたアプリのアプリ署名情報を比較して、アプリ署名情報の認証を許容または遮断してよい。また、アプリ運営者端末機420は、予め設定されたユーザに対しては、認証が要請されたアプリ署名情報とは個別にアプリ署名情報の認証を許容または遮断してもよい。本実施形態では、許容されたアプリ署名情報の認証をまた遮断する場合のシナリオについて説明している。
【0099】
過程7(1107)で、アプリ運営者端末機420は、アプリ署名情報の認証を遮断するように保存することを認証サーバ320に要請してよい。この場合、認証サーバ320は、アプリ署名情報、アプリ情報、およびユーザ情報に対する認証が遮断されるようにアプリ署名認証情報をブラックリストに保存してよい。このようなアプリ署名認証情報は、アプリ署名情報、アプリ情報、およびユーザ情報を含んでよい。言い換えれば、認証サーバ320のホワイトリストに記録されていたアプリ署名情報、アプリ情報、およびユーザ情報は、ブラックリストに移行されて記録されてよい。
【0100】
過程8(1108)で、認証サーバ320は、認証が遮断されたアプリ署名情報、アプリ情報、およびユーザ情報を表示してよい。一例として、認証サーバ320は、上述したページのユーザインタフェースを通じて、アプリ署名情報、アプリ情報、ユーザ情報、さらにアプリ署名情報に対する認証が遮断されたことを示す情報を表示してよい。アプリ運営者は、アプリ運営者端末機420を利用して前記ページにアクセスして、当該情報を受け取ってよい。これは、前記ページを通じて認証サーバ320のブラックリストがアプリ運営者に共有されることを意味してよい。
【0101】
この後、モバイル端末機410の特定のアプリに対するアプリ署名情報の認証が遮断されることによって、特定アプリの実行が遮断されてよい。過程9(1109)~過程12(1112)は、アプリの実行が遮断される過程を示している。モバイル端末機410は、過程9(1109)で、アプリ署名情報、アプリ情報、およびユーザ情報を抽出してよく、過程10(1110)で、抽出されたアプリ署名情報、アプリ情報、およびユーザ情報を認証サーバ320に送信してよい。過程11(1111)で、認証サーバ320は、アプリ署名認証情報を照会してよい。認証サーバ320は、過程7(1107)でのアプリ運営者端末機420からの要請にしたがってアプリ署名情報、アプリ情報、およびユーザ情報をブラックリストに保存したため、過程12(1112)で、認証サーバ320は、当該アプリの実行を遮断してよい。
【0102】
このように、本発明の実施形態によると、クライアント側では、アプリケーションに対する署名情報とユーザの識別子(一例として、ユーザID)をサーバ側に伝達し、サーバ側では、ビジネス状況に合わせてアプリケーション運営者側にアプリケーション認証の許容または遮断を決定させるようにすることにより、すべての署名を予め登録しなくてもモバイルアプリケーションの偽造・変造を柔軟に探知することができる。
【0103】
上述したシステムまたは装置は、ハードウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0104】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0105】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
【0106】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって代替されたり置換されたとしても、適切な結果を達成することができる。
【0107】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。