(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6263644
(24)【登録日】2017年12月22日
(45)【発行日】2018年1月17日
(54)【発明の名称】APK署名を統一する方法及びそのシステム
(51)【国際特許分類】
H04L 9/32 20060101AFI20180104BHJP
H04L 9/14 20060101ALI20180104BHJP
G09C 1/00 20060101ALI20180104BHJP
【FI】
H04L9/00 675D
H04L9/00 641
H04L9/00 675B
G09C1/00 640D
【請求項の数】6
【全頁数】13
(21)【出願番号】特願2016-563849(P2016-563849)
(86)(22)【出願日】2015年1月7日
(65)【公表番号】特表2017-516134(P2017-516134A)
(43)【公表日】2017年6月15日
(86)【国際出願番号】CN2015070254
(87)【国際公開番号】WO2015161683
(87)【国際公開日】20151029
【審査請求日】2016年10月20日
(31)【優先権主張番号】201410165104.8
(32)【優先日】2014年4月23日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】516274450
【氏名又は名称】フージェン ランディー コマーシャル イクイップメント カンパニー リミテッド
【氏名又は名称原語表記】FUJIAN LANDI COMMERCIAL EQUIPMENT CO.,LTD
(74)【代理人】
【識別番号】110001841
【氏名又は名称】特許業務法人梶・須原特許事務所
(72)【発明者】
【氏名】スー ウェンロン
(72)【発明者】
【氏名】モン ルーチァン
(72)【発明者】
【氏名】チェン フェイフェイ
(72)【発明者】
【氏名】ポン ボォタオ
(72)【発明者】
【氏名】ウー シュェン
(72)【発明者】
【氏名】チェン ヂェン
【審査官】
青木 重徳
(56)【参考文献】
【文献】
特開2013−137612(JP,A)
【文献】
特開2008−136063(JP,A)
【文献】
国際公開第2012/046406(WO,A1)
【文献】
中国特許出願公開第103473500(CN,A)
【文献】
中国特許出願公開第102891843(CN,A)
【文献】
広瀬 雄二,無線LANの構造と認証強化,UNIX USER,日本,ソフトバンクパブリッシング株式会社,2004年 7月 1日,第13巻 第7号,pp.46−54
【文献】
田中 俊昭 ほか,モバイルコマースにおけるPKIの現状と課題,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2003年 7月11日,Vol.103 No.196,pp.67−74
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G09C 1/00
H04L 9/14
(57)【特許請求の範囲】
【請求項1】
APK署名を統一する方法であって、
アクワイアラーの署名サーバーが、暗号化装置を呼び出して第1公開鍵及び第1秘密鍵と第2公開鍵及び第2秘密鍵とを生成させ、前記第1秘密鍵を用いて前記第2公開鍵に対して署名操作を行ってアクワイアラーの作業公開鍵証明書を生成し、前記第1公開鍵を異なる業者のCAサーバーに配信するステップと、
前記アクワイアラーの署名サーバーが、署名されたソースファイル及び前記アクワイアラーの作業公開鍵証明書によってアクワイアラーの署名情報を生成し、前記署名されたソースファイル及び前記アクワイアラーの署名情報に対してハッシュ値の計算・生成を行い、前記ハッシュ値を埋め込んで署名されたファイルを生成し、前記第2秘密鍵を用いて前記署名されたファイルを暗号化してアクワイアラーの署名データを生成し、オリジナルAPKファイルを含む前記署名されたソースファイルと前記アクワイアラーの署名情報と前記アクワイアラーの署名データと前記アクワイアラーの作業公開鍵証明書と、を含む署名済みAPKファイルを異なる業者の端末装置のダウンロードのために提供するステップと、
前記異なる業者のCAサーバーが、各自の証明書生成メカニズムに基づいて前記第1公開鍵を用いてアクワイアラーのルート公開鍵証明書を生成した後、前記アクワイアラーのルート公開鍵証明書を各業者の端末装置にプレインストールするステップと、
前記端末装置が、前記署名済みAPKファイルをダウンロードした時、前記署名済みAPKファイル内から前記アクワイアラーの作業公開鍵証明書を抽出し、前記端末装置内に保存されている前記アクワイアラーのルート公開鍵証明書で前記アクワイアラーの作業公開鍵証明書の適法性を検証し、前記作業公開鍵証明書の適法性の検証に通過した後、前記アクワイアラーの作業公開鍵証明書で前記第2公開鍵を抽出し、前記第2公開鍵を用いて前記アクワイアラーの署名データを復号化し、復号化に成功した後ハッシュ値を得、前記署名されたソースファイル及び前記アクワイアラーの署名情報に対して検証用ハッシュ値の計算・生成を行い、前記ハッシュ値と前記検証用ハッシュ値とが等しいかどうかを判断し、等しい場合、前記オリジナルAPKファイルのインストール及び実行を許容するステップと、
を含むことを特徴とするAPK署名を統一する方法。
【請求項2】
前記アクワイアラーの署名サーバーが、署名されたソースファイル及び前記アクワイアラーの作業公開鍵証明書によってアクワイアラーの署名情報を生成するステップの前に、
前記アクワイアラーの署名サーバーが、前記オリジナルAPKファイルの末尾を0×004バイトで埋め込んで、前記署名されたソースファイルを生成するステップを含むことを特徴とする請求項1に記載のAPK署名を統一する方法。
【請求項3】
前記アクワイアラーの署名情報は、前記アクワイアラーの作業公開鍵証明書のID番号、署名に用いられるアルゴリズム及び署名時間を含み、
前記署名済みAPKファイルは、署名ファイルヘッダと前記署名されたソースファイルとを更に含み、
前記署名ファイルヘッダは、前記オリジナルAPKファイルの長さ、前記署名されたソースファイルの長さ、前記アクワイアラーの署名情報、前記アクワイアラーの署名情報のオフセット位置、前記ファイルの署名済みの識別及び署名ファイルのオフセット長さを保存することを特徴とする請求項1に記載のAPK署名を統一する方法。
【請求項4】
APK署名を統一するシステムであって、
アクワイアラーサーバーと端末装置サーバーとを備え、前記アクワイアラーサーバーが第1署名モジュールと鍵配送モジュールと第2署名モジュールと第1演算モジュールと第1暗号化モジュールとを含み、
前記第1署名モジュールは、アクワイアラーの暗号化装置が第1公開鍵及び第1秘密鍵と第2公開鍵及び第2秘密鍵とを生成し、アクワイアラーの署名サーバーが前記第1秘密鍵を用いて前記第2公開鍵に対して署名の操作を行ってアクワイアラーの作業公開鍵証明書を生成するために用いられ、
前記鍵配送モジュールは、前記第1公開鍵を異なる業者のCAサーバーに配送するために用いられ、
前記第2署名モジュールは、前記アクワイアラーの署名サーバーが署名されたソースファイル及び前記アクワイアラーの作業公開鍵証明書に基づいてアクワイアラーの署名情報を生成するために用いられ、
前記第1演算モジュールは、前記アクワイアラーの署名サーバーが前記署名されたソースファイル及び前記アクワイアラーの署名情報に対してハッシュ値の計算・生成を行い、前記ハッシュ値を埋め込んで前記署名されたファイルを生成するために用いられ、
前記第1暗号化モジュールは、アクワイアラーが前記第2秘密鍵を用いて前記署名されたファイルを暗号化してアクワイアラーの署名データを生成し、オリジナルAPKファイルを含む前記署名されたソースファイルと前記アクワイアラーの署名情報と前記アクワイアラーの署名データと前記アクワイアラーの作業公開鍵証明書と、を含む署名済みAPKファイルを異なる業者の端末装置のダウンロードに提供するために用いられ、
前記端末装置サーバーは、第2暗号化モジュールと署名ファイル取得モジュールと第1復号化モジュールと第2復号化モジュールと第3復号化モジュールとを含み、
前記第2暗号化モジュールは、前記異なる業者のCAサーバーが各自のメカニズムに基づいて前記第1公開鍵を用いて異なるアクワイアラーのルート公開鍵証明書を生成した後、前記アクワイアラーのルート公開鍵証明書を前記業者の端末装置内にプレインストールするために用いられ、
前記署名ファイル取得モジュールは、前記署名されたソースファイルと前記アクワイアラーの署名情報と前記アクワイアラーの署名データと前記アクワイアラーの作業公開鍵証明書とを含む署名済みAPKファイルを前記異なる業者の端末装置にダウンロードするために用いられ、
前記第1復号化モジュールは、前記端末装置が前記署名済みAPKファイル内から前記アクワイアラーの作業公開鍵証明書を抽出し、前記端末装置内の前記アクワイアラーのルート公開鍵証明書で前記アクワイアラーの作業公開鍵証明書の適法性を検証し、前記アクワイアラーの作業公開鍵証明書の適法性の検証に通った後、前記第2復号化モジュールに送信するために用いられ、
前記第2復号化モジュールは、前記端末装置が前記アクワイアラーの作業公開鍵証明書で前記第2公開鍵を抽出し、前記第2公開鍵を用いて前記アクワイアラーの署名データを復号化し、復号化に成功した後ハッシュ値を得るために用いられ、
前記第3復号化モジュールは、前記端末装置が前記署名されたソースファイル及び前記アクワイアラーの署名情報に対して検証用ハッシュ値の計算・生成を行うことによって、前記ハッシュ値と前記検証用ハッシュ値とが等しいかどうかを判断し、等しい場合前記オリジナルAPKファイルのインストール及び実行を許容するために用いられることを特徴とするAPK署名を統一するシステム。
【請求項5】
前記アクワイアラーサーバーは、フィリングモジュールを更に含み、
前記フィリングモジュールは、前記アクワイアラーの署名サーバーが前記オリジナルAPKファイル末尾を0×004バイトで埋め込んで揃え、前記オリジナルAPKファイル末尾を0×00で終了した後暗号化ソースファイルとすることを確保するために用いられることを特徴とする請求項4に記載のAPK署名を統一するシステム。
【請求項6】
第1ストレージモジュールと第2ストレージモジュールとを含むストレージモジュールを更に備え、
前記第1ストレージモジュールは、前記アクワイアラーの署名情報内の前記アクワイアラーの作業公開鍵証明書のID番号、署名に用いるアルゴリズム及び署名時間を保存するために用いられ、
前記署名済みAPKファイルは、署名ファイルヘッダと前記署名されたソースファイルとを更に含み、
前記第2ストレージモジュールは、前記オリジナルAPKファイルの長さと前記署名されたソースファイルの長さと前記アクワイアラーの署名情報と前記アクワイアラーの署名情報のオフセット位置と前記ファイルの署名済みの識別と署名ファイルのオフセット長と、を含む前記署名ファイルヘッダを保存するために用いられることを特徴とする請求項4に記載のAPK署名を統一するシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、APK署名認証分野に関し、特に、APK署名を統一する方法及びそのシステムに関する。
【背景技術】
【0002】
銀行カードを決済ツールとするのが益々普及するに当たり、通常の銀行カード決済システムは、POSターミナル(Point Of Sale Terminal:販売時点情報管理端末装置)と、POSP(POS acquiring systems:POS取得装置)と、暗証番号入力用パッド(PIN PAD)と、ハードウェアセキュリティモジュール(Hardware and Security Module:HSM)とを含む。POSターミナルは、通信機能を有し、銀行カード情報を受信でき、銀行窓口係のコマンドを受けて金融取引情報及び関連情報交換を実現する。POSPは、集中管理及び取引処理のシステムであり、POSターミナルを集中管理し、パラメータのダウンロード、鍵のダウンロード、POSターミナルの取引要求の受け付け、処理又は転送を行い、またPOSターミナルに取引結果の情報を返す。POSP内のPOS上にあるプログラムは、アクワイアラーによってダウンロート及び更新される。Androidシステムの汎用性により、アクワイアラーは、AndroidシステムのPOSターミナルの購入を開始している。ここで、APKは、Androidシステムのアプリケーションパッケージをいい、AndroidPackageの略語である。
【0003】
ただし、POSターミナルの業者は非常に多く、各業者は、POSターミナルの安全性を高めるため、ダウンロード後にPOS内にインストールや実行する必要があるプログラムに対して署名検証を行い、適法な署名プログラムのみインストール又は実行することが許容されるようにしている。また、各業者によって実現されるメカニズムが異なるため、異なる業者のAndroidシステムPOSターミナルにダウンロード及びインストールされたAPK署名後のファイルフォーマットに不一致が生じると、アクワイアラーは、異なる業者のAndroidシステムPOSターミナルを購入し、異なるAPK署名ツールをメンテナンスし、同一のAPKに対して異なるバージョンの署名済みファイルをメンテナンスする必要がある。そのため、アクワイアラーにとって手間が掛かり、煩雑なメンテナンス作業及び膨大なメンテナンスコストをもたらし得る。よって、アクワイアラーのAPK署名に対するメンテナンスコストを削減することが可能なAPK署名を統一するソリューションを提供する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、アクワイアラーが異なる業者のAndroidシステムの端末装置の署名を統一管理し易く、メンテナンスコストを削減することが可能なAPK署名を統一する方法及びそのシステムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するため、本発明に係るAPK署名を統一する方法は、次のステップを備えている。
アクワイアラーの署名サーバーが、暗号化装置を呼び出して第1公開鍵及び第1秘密鍵と第2公開鍵及び第2秘密鍵とを生成させ、第1秘密鍵を用いて第2公開鍵に対して署名操作を行ってアクワイアラーの作業公開鍵証明書を生成し、第1公開鍵を異なる業者のCAサーバーに配信する。
アクワイアラーの署名サーバーが、署名されたソースファイル及びアクワイアラーの作業公開鍵証明書によってアクワイアラーの署名情報を生成し、署名されたソースファイル及びアクワイアラーの署名情報に対してハッシュ値の計算・生成を行い、ハッシュ値を埋め込んで署名されたファイルを生成し、第2秘密鍵を用いて署名されたファイルを暗号化してアクワイアラーの署名データを生成し、オリジナルAPKファイルを含む署名されたソースファイルとアクワイアラーの署名情報とアクワイアラーの署名データとアクワイアラーの作業公開鍵証明書と、を含む署名済みAPKファイルを異なる業者の端末装置のダウンロードのために提供する。
異なる業者のCAサーバーが、各自の証明書生成メカニズムに基づいて第1公開鍵を用いてアクワイアラーのルート公開鍵証明書を生成した後、前記アクワイアラーのルート公開鍵証明書を各業者の端末装置にプレインストールする。
端末装置が、前記署名済みAPKファイルをダウンロードした時、前記署名済みAPKファイル内からアクワイアラーの作業公開鍵証明書を抽出し、端末装置内に保存されているアクワイアラーのルート公開鍵証明書でアクワイアラーの作業公開鍵証明書の適法性を検証し、作業公開鍵証明書の適法性の検証に通過した後、アクワイアラーの作業公開鍵証明書で第2公開鍵を抽出し、第2公開鍵を用いてアクワイアラーの署名データを復号化し、復号化に成功した後ハッシュ値を得、署名されたソースファイル及びアクワイアラーの署名情報に対して検証用ハッシュ値の計算・生成を行い、前記ハッシュ値と検証用ハッシュ値とが等しいかどうかを判断し、等しい場合、オリジナルAPKファイルのインストール及び実行を許容する。
【0006】
本発明に係るAPK署名を統一するシステムは、アクワイアラーサーバーと端末装置サーバーとを備え、前記アクワイアラーサーバーが第1署名モジュールと鍵配送モジュールと第2署名モジュールと第1演算モジュールと第1暗号化モジュールとを含む。
前記第1署名モジュールは、アクワイアラーの暗号化装置が第1公開鍵及び第1秘密鍵と第2公開鍵及び第2秘密鍵とを生成し、アクワイアラーの署名サーバーが第1秘密鍵を用いて第2公開鍵に対して署名の操作を行ってアクワイアラーの作業公開鍵証明書を生成するために用いられる。
前記鍵配送モジュールは、前記第1公開鍵を異なる業者のCAサーバーに配送するために用いられる。
前記第2署名モジュールは、アクワイアラーの署名サーバーが署名されたソースファイル及びアクワイアラーの作業公開鍵証明書に基づいてアクワイアラーの署名情報を生成するために用いられる。
前記第1演算モジュールは、アクワイアラーの署名サーバーが署名されたソースファイル及びアクワイアラーの署名情報に対してハッシュ値の計算・生成を行い、ハッシュ値を埋め込んで署名されたファイルを生成するために用いられる。
前記第1暗号化モジュールは、アクワイアラーが第2秘密鍵を用いて署名されたファイルを暗号化してアクワイアラーの署名データを生成し、オリジナルAPKファイルを含む署名されたソースファイルとアクワイアラーの署名情報とアクワイアラーの署名データとアクワイアラーの作業公開鍵証明書と、を含む署名済みAPKファイルを異なる業者の端末装置のダウンロードに提供するために用いられる。
前記端末装置サーバーは、第2暗号化モジュールと署名ファイル取得モジュールと第1復号化モジュールと第2復号化モジュールと第3復号化モジュールとを含む。
前記第2暗号化モジュールは、異なる業者のCAサーバーが各自のメカニズムに基づいて第1公開鍵を用いて異なるアクワイアラーのルート公開鍵証明書を生成した後、前記アクワイアラーのルート公開鍵証明書を業者の端末装置内にプレインストールするために用いられる。
前記署名ファイル取得モジュールは、署名されたソースファイルとアクワイアラーの署名情報とアクワイアラーの署名データとアクワイアラーの作業公開鍵証明書とを含む署名済みAPKファイルを異なる業者の端末装置にダウンロードするために用いられる。
前記第1復号化モジュールは、端末装置が署名済みAPKファイル内からアクワイアラーの作業公開鍵証明書を抽出し、端末装置内のアクワイアラーのルート公開鍵証明書でアクワイアラーの作業公開鍵証明書の適法性を検証し、アクワイアラーの作業公開鍵証明書の適法性の検証に通った後、前記第2復号化モジュールに送信するために用いられる。
前記第2復号化モジュールは、端末装置がアクワイアラーの作業公開鍵証明書で第2公開鍵を抽出し、第2公開鍵を用いてアクワイアラーの署名データを復号化し、復号化に成功した後ハッシュ値を得るために用いられる。
前記第3復号化モジュールは、端末装置が署名されたソースファイル及びアクワイアラーの署名情報に対して検証用ハッシュ値の計算・生成を行うことによって、前記ハッシュ値と検証用ハッシュ値とが等しいかどうかを判断し、等しい場合オリジナルAPKファイルのインストール及び実行を許容するために用いられる。
【発明の効果】
【0007】
本発明によると、アクワイアラーは、署名を統一したAPKファイルのみを生成することで、異なる端末装置に署名済みAPKファイルをダウンロードできる。端末装置の署名認証メカニズムを通じて署名済みAPKファイルのデータ伝送過程におけるデータ完全性及びAPK適法性が保証されると共に、アクワイアラーが異なる業者の端末装置について1つの署名済みファイル及び1式の署名認証メカニズムのみをメンテナンスすればよく、アクワイアラーのAPK署名に対するメンテナンスコストを大幅に削減することができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の一実施形態に係るAPK署名を統一する方法の実行フロー図である。
【
図2】本発明の一実施形態に係るAPK署名を統一するシステムの構成図である。
【
図3】本発明の一実施形態に係るAPK署名を統一するシステム内の端末装置サーバーの構成図である。
【発明を実施するための形態】
【0009】
本発明によると、アクワイアラーが署名を統一したAPKファイルを生成した後、異なる業者の端末装置にダウンロードし、端末装置がアクワイアラーから統一して配送された公開鍵を用いて各自署名検証を行う。これにより、署名済みAPKファイルのデータ伝送過程における完全性及びAPK適法性が保証されると共に、アクワイアラーが異なる業者の端末装置に対しても1つの署名済みファイル及び1式の署名実現メカニズムのみをメンテナンスすればよく、アクワイアラーのAPK署名に対するメンテナンスコストを大幅に削減できる。
【0010】
以下、本発明の技術内容、構造特徴、達成する目的及び効果を詳細に説明するため、実施形態を組み合わせたと共に添付図面を基に詳細に説明する。
【0011】
図1は、本発明の一実施形態に係るAPK署名を統一する方法のフロー図である。当該方法は、アクワイアラー及び端末装置内に運用され、次のステップを含む。
【0012】
ステップS1:アクワイアラーの署名サーバーが、暗号化装置を呼び出して第1公開鍵及び第1秘密鍵と第2公開鍵及び第2秘密鍵とを生成させ、第1秘密鍵を用いて第2公開鍵に対して署名操作を行ってアクワイアラーの作業公開鍵証明書を生成し、第1公開鍵を異なる業者のCAサーバーに配信する。
【0013】
ステップS2:アクワイアラーの署名サーバーが、署名されたソースファイル及びアクワイアラーの作業公開鍵証明書によってアクワイアラーの署名情報を生成し、署名されたソースファイル及びアクワイアラーの署名情報に対してハッシュ値の計算・生成を行い、ハッシュ値を埋め込んで署名されたファイルを生成し、第2秘密鍵を用いて署名されたファイルを暗号化してアクワイアラーの署名データを生成し、オリジナルAPKファイルを含む署名されたソースファイルとアクワイアラーの署名情報とアクワイアラーの署名データとアクワイアラーの作業公開鍵証明書と、を含む署名済みAPKファイルを異なる業者の端末装置のダウンロードのために提供する。
【0014】
ステップS3:異なる業者のCAサーバーが、各自の証明書生成メカニズムに基づいて第1公開鍵を用いてアクワイアラーのルート公開鍵証明書を生成した後、アクワイアラーのルート公開鍵証明書を各業者の端末装置にプレインストールする。
【0015】
ステップS4:端末装置が、署名済みAPKファイルをダウンロードした時、署名済みAPKファイル内からアクワイアラーの作業公開鍵証明書を抽出し、端末装置内に保存されているアクワイアラーのルート公開鍵証明書でアクワイアラーの作業公開鍵証明書の適法性を検証し、作業公開鍵証明書の適法性の検証に通過した後、アクワイアラーの作業公開鍵証明書で第2公開鍵を抽出し、第2公開鍵を用いてアクワイアラーの署名データを復号化し、復号化に成功した後ハッシュ値を得る。そして、端末装置が、署名されたソースファイル及びアクワイアラーの署名情報に対して検証用ハッシュ値の計算・生成を行い、ハッシュ値と検証用ハッシュ値とが等しいかどうかを判断し、等しい場合、オリジナルAPKファイルのインストール及び実行を許容する。
【0016】
本実施態様において、異なる業者のCAサーバーは、各自の証明書生成アルゴリズムに基づいて第1公開鍵を用いてアクワイアラーのルート公開鍵証明書を生成した後、アクワイアラーのルート公開鍵証明書を業者の端末装置内にプレインストールする。各業者の生成したアクワイアラーのルート公開鍵証明書は互いに異なり、後日各自受信した署名済みAPKファイルの署名検証に用いられる。署名済みAPKファイルは、異なる業者にプログラムをダウンロードしてインストール或いはデバイスの周期的な自主検査の必要がある時に検証を行い、検証に通過した後、適法なAPKファイルのインストール及び実行を許容する。
【0017】
本実施態様において、アクワイアラーの署名サーバーはハッシュ値をPKCS#1署名規格に基づいて埋め込んだ後署名されたファイルを得てから第2秘密鍵を用いて署名されたファイルを暗号化してアクワイアラーの署名情報を生成し、アクワイアラーの作業公開鍵証明書とアクワイアラーの署名情報と署名されたソースファイルAPKとが署名済みAPKファイルを構成し、署名済みAPKファイルを異なる業者の端末装置にダウンロードし、ハッシュ値がアクワイアラーの署名情報及びオリジナルAPKファイルに対して演算して生成される。
【0018】
<実施形態1>
上記「アクワイアラーの署名サーバーが、署名されたソースファイル及びアクワイアラーの作業公開鍵証明書によってアクワイアラーの署名情報を生成する」ステップの前に、「アクワイアラーの署名サーバーが、オリジナルAPKファイルの末尾を0×004バイトで埋め込んで、署名されたソースファイルを生成する」ステップを含む。
【0019】
本実施形態において、オリジナルAPKファイルの4バイトの揃えを保証するため、桁数不足分についてファイル末尾に0×00を埋め込んだ後4個の0×00で埋め、署名されたソースファイルの末尾が0×00とすることを確保する。
【0020】
<実施形態2>
「アクワイアラーの署名情報」は、アクワイアラーの作業公開鍵証明書のID番号、署名に用いられるアルゴリズム及び署名時間を含む。
【0021】
「署名済みAPKファイル」は、署名ファイルヘッダと署名されたソースファイルとを更に含む。
署名ファイルヘッダは、オリジナルAPKファイルの長さ、署名されたソースファイルの長さ、アクワイアラーの署名情報のオフセット長さ、当該ファイルの署名済みの識別及び署名ファイルのオフセット長さを保存する。
【0022】
本実施形態において、アクワイアラーの署名情報内にある署名に用いるアルゴリズムは、SHA−256及びRSAとすることが好適である。アクワイアラーの署名情報のオフセット位置及び署名ファイルのオフセット長さは、いずれもファイルの先頭から算出したオフセットの位置や長さである。
【0023】
図2及び
図3は、各々、本発明の一実施形態に係るAPK署名を統一するシステム内の端末装置サーバーの構成図である。本実施態様に係るシステムは、アクワイアラーサーバーと端末装置サーバーとを含む。アクワイアラーサーバーは、第1署名モジュール1と、鍵配送モジュール2と、第2署名モジュール3と、第1演算モジュール4と、第1暗号化モジュール5とを含む。
【0024】
第1署名モジュール1は、アクワイアラーの暗号化装置が第1公開鍵及び第1秘密鍵と第2公開鍵及び第2秘密鍵とを生成し、アクワイアラーの署名サーバーが第1秘密鍵を用いて第2公開鍵に対して署名の操作を行ってアクワイアラーの作業公開鍵証明書を生成するために用いられる。
【0025】
鍵配送モジュール2は、第1公開鍵を異なる業者のCAサーバーに配送するために用いられる。
【0026】
第2署名モジュール3は、アクワイアラーの署名サーバーが署名されたソースファイル及びアクワイアラーの作業公開鍵証明書に基づいてアクワイアラーの署名情報を生成するために用いられる。
【0027】
第1演算モジュール4は、アクワイアラーの署名サーバーが署名されたソースファイル及びアクワイアラーの署名情報に対してハッシュ値の計算・生成を行い、ハッシュ値を埋め込んで署名されたファイルを生成するために用いられる。
【0028】
第1暗号化モジュール5は、アクワイアラーが第2秘密鍵を用いて署名されたファイルを暗号化してアクワイアラーの署名データを生成し、オリジナルAPKファイルを含む署名されたソースファイルとアクワイアラーの署名情報とアクワイアラーの署名データとアクワイアラーの作業公開鍵証明書と、を含む署名済みAPKファイルを異なる業者の端末装置のダウンロードに提供するために用いられる。
【0029】
端末装置サーバーは、第2暗号化モジュール6と署名ファイル取得モジュール7と第1復号化モジュール8と第2復号化モジュール9と第3復号化モジュール10とを含む。
【0030】
第2暗号化モジュール6は、異なる業者のCAサーバーが各自のメカニズムに基づいて第1公開鍵を用いて異なるアクワイアラーのルート公開鍵証明書を生成した後、アクワイアラーのルート公開鍵証明書を業者の端末装置内にプレインストールするために用いられる。
【0031】
署名ファイル取得モジュール7は、署名されたソースファイルとアクワイアラーの署名情報とアクワイアラーの署名データとアクワイアラーの作業公開鍵証明書とを含む署名済みAPKファイルを異なる業者の端末装置にダウンロードするために用いられる。
【0032】
第1復号化モジュール8は、端末装置が署名済みAPKファイル内からアクワイアラーの作業公開鍵証明書を抽出し、端末装置内のアクワイアラーのルート公開鍵証明書でアクワイアラーの作業公開鍵証明書の適法性を検証し、アクワイアラーの作業公開鍵証明書の適法性の検証に通った後、第2復号化モジュール9に送信するために用いられる。
【0033】
第2復号化モジュール9は、端末装置がアクワイアラーの作業公開鍵証明書で第2公開鍵を抽出し、第2公開鍵を用いてアクワイアラーの署名データを復号化し、復号化に成功した後ハッシュ値を得るために用いられる。
【0034】
第3復号化モジュール10は、端末装置が署名されたソースファイル及びアクワイアラーの署名情報に対して検証用ハッシュ値の計算・生成を行うことによって、ハッシュ値と検証用ハッシュ値とが等しいかどうかを判断し、等しい場合オリジナルAPKファイルのインストール及び実行を許容するために用いられる。
【0035】
<実施例1>
本実施例において、アクワイアラーサーバーは、フィリングモジュール11を更に含む。
【0036】
フィリングモジュール11は、アクワイアラーの署名サーバーがオリジナルAPKファイル末尾を0×004バイトで埋め込んで揃え、オリジナルAPKファイル末尾を0×00で終了した後暗号化ソースファイルとすることを確保するために用いられる。
【0037】
本実施例において、フィリングモジュール11は、オリジナルAPKファイルの4バイトの揃えを保証するため、桁数不足分についてファイル末尾に0×00を埋め込んだ後4個の0×00で埋め、署名されたソースファイルの末尾が0×00とすることを確保するために用いられる。
【0038】
<実施例2>
本実施例のシステムは、第1ストレージモジュール12と第2ストレージモジュール13とを含むストレージモジュールを更に備えている。
【0039】
第1ストレージモジュール12は、アクワイアラーの署名情報内のアクワイアラーの作業公開鍵証明書のID番号、署名に用いるアルゴリズム及び署名時間を保存するために用いられる。
【0040】
「署名済みAPKファイル」は、署名ファイルヘッダと署名されたソースファイルとを更に含む。
【0041】
第2ストレージモジュール13は、オリジナルAPKファイルの長さと署名されたソースファイルの長さとアクワイアラーの署名情報とアクワイアラーの署名情報のオフセット位置と当該ファイルの署名済みの識別と署名ファイルのオフセット長さと、を含む署名ファイルヘッダを保存するために用いられる。
【0042】
本実施例において、アクワイアラーの署名情報内にある署名に用いるアルゴリズムは、SHA−256及びRSAとすることが好適である。アクワイアラーの署名情報のオフセット位置及び署名ファイルのオフセットや長さは、いずれもファイルの先頭から算出したオフセットや長さである。
【0043】
本発明が提供するAPK署名を統一する方法及びそのシステムは、アクワイアラーが署名を統一したAPKファイルのみを生成することで、異なる端末装置に署名済みAPKファイルをダウンロードできる。端末装置の署名認証メカニズムを通じて署名済みAPKファイルのデータ伝送過程におけるデータ完全性及びAPK適法性が保証されると共に、アクワイアラーが異なる業者の端末装置について1つの署名済みファイル及び1式の署名認証メカニズムのみをメンテナンスすればよく、アクワイアラーのAPK署名に対するメンテナンスコストを大幅に削減することができる。
【0044】
以上に述べたのは、あくまでも本発明の実施形態及び実施例であって、本発明の保護範囲は、これら実施形態及び実施例により何ら限定されるものではない。本明細書及び添付図面の内容に基づいて行われる様々な構造又はフローの変更或いは直接的若しくは間接的にその他の関連の技術分野に運用することは、いずれも本発明の保護範囲内に含まれる。
【符号の説明】
【0045】
1 第1署名モジュール
2 鍵配送モジュール
3 第2署名モジュール
4 第1演算モジュール
5 第1暗号化モジュール
6 第2暗号化モジュール
7 署名ファイル取得モジュール
8 第1復号化モジュール
9 第2復号化モジュール
10 第3復号化モジュール
11 フィリングモジュール
12 第1ストレージモジュール
13 第2ストレージモジュール