IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 大日本印刷株式会社の特許一覧

特開2024-143470支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法
<>
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図1
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図2
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図3
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図4
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図5
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図6
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図7
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図8
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図9
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図10
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図11
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図12
  • 特開-支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143470
(43)【公開日】2024-10-11
(54)【発明の名称】支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法
(51)【国際特許分類】
   H04L 9/14 20060101AFI20241003BHJP
   H04L 9/10 20060101ALI20241003BHJP
【FI】
H04L9/14
H04L9/10 A
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023056178
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】野地 満里子
(72)【発明者】
【氏名】稲本 健作
(72)【発明者】
【氏名】谷 奈津実
(72)【発明者】
【氏名】川口 泰弘
(72)【発明者】
【氏名】苣木 実
(72)【発明者】
【氏名】加藤 大樹
(57)【要約】
【課題】クライアント装置とサーバとの間の暗号化通信を支援する支援装置、クライアント支援装置、支援システム、コンピュータプログラム及び支援方法を提供する。
【解決手段】支援装置は、クライアント装置とサーバとの間の暗号化通信を支援する支援装置であって、制御部を備え、制御部は、サーバがクライアント装置へ送信するデータの暗号化要求をサーバから受信し、受信した暗号化要求に基づいてサーバが暗号化に使用するサーバ鍵の状態を判定し、判定結果に基づいて暗号化要求結果をサーバへ送信する。
【選択図】図1
【特許請求の範囲】
【請求項1】
クライアント装置とサーバとの間の暗号化通信を支援する支援装置であって、
制御部を備え、
前記制御部は、
前記サーバが前記クライアント装置へ送信するデータの暗号化要求を前記サーバから受信し、
受信した暗号化要求に基づいて前記サーバが暗号化に使用するサーバ鍵の状態を判定し、
判定結果に基づいて暗号化要求結果を前記サーバへ送信する、
支援装置。
【請求項2】
複数世代のサーバ鍵を記憶する記憶部を備える、
請求項1に記載の支援装置。
【請求項3】
前記サーバ鍵の状態は、複数世代毎のサーバ鍵の有効期限又は利用回数を含む、
請求項2に記載の支援装置。
【請求項4】
前記暗号化要求結果は、暗号化データ、及び暗号化に利用したサーバ鍵の鍵ID又は世代番号を含む、
請求項2に記載の支援装置。
【請求項5】
前記制御部は、
前記サーバが前記クライアント装置から受信した暗号化データの復号要求を前記サーバから受信し、
受信した復号要求に基づいて前記サーバが復号に使用するクライアント鍵の状態を判定し、
判定結果に基づいて復号要求結果を前記サーバへ送信する、
請求項1から請求項4のいずれか一項に記載の支援装置。
【請求項6】
複数世代のクライアント鍵を記憶する記憶部を備える、
請求項5に記載の支援装置。
【請求項7】
前記クライアント鍵の状態は、複数世代毎のクライアント鍵の有効期限又は利用回数を含む、
請求項6に記載の支援装置。
【請求項8】
前記復号要求結果は、復号データ、及び復号に利用したクライアント鍵の有効期限切れの有無を含む、
請求項5に記載の支援装置。
【請求項9】
前記制御部は、
前記サーバ鍵及び前記クライアント鍵の少なくとも一方の更新の要否を判定する、
請求項6から請求項8のいずれか一項に記載の支援装置。
【請求項10】
1世代又は複数世代の鍵輸送鍵を記憶する記憶部を備え、
前記制御部は、
更新後サーバ鍵又は更新後クライアント鍵を前記鍵輸送鍵で暗号化し、
前記サーバを介して、暗号化した更新後サーバ鍵又は更新後クライアント鍵を前記クライアント装置の暗号化・復号を支援するセキュアコンポーネントへ送信する、
請求項9に記載の支援装置。
【請求項11】
前記制御部は、
前記鍵輸送鍵の更新の要否を判定し、
更新が必要な場合、前記サーバを介して、更新前鍵輸送鍵で暗号化した更新後鍵輸送鍵を前記セキュアコンポーネントへ送信する、
請求項10に記載の支援装置。
【請求項12】
クライアント装置の暗号化・復号を支援するセキュアコンポーネントであって、
前記クライアント装置とサーバとの間の暗号化通信を支援する支援装置が記憶する、前記サーバが暗号化に使用するサーバ鍵、前記サーバが復号に使用するクライアント鍵、及び更新後のサーバ鍵又は更新後のクライアント鍵を暗号化する鍵輸送鍵を含む鍵情報を記憶する、
セキュアコンポーネント。
【請求項13】
請求項1から請求項4のいずれか一項に記載の支援装置と、
請求項12に記載のセキュアコンポーネントと
を備える支援システム。
【請求項14】
クライアント装置との間で暗号化通信を行うサーバが前記クライアント装置へ送信するデータの暗号化要求を前記サーバから受信し、
受信した暗号化要求に基づいて前記サーバが暗号化に使用するサーバ鍵の状態を判定し、
判定結果に基づいて暗号化要求結果を前記サーバへ送信する、
処理をコンピュータに実行させるコンピュータプログラム。
【請求項15】
クライアント装置とサーバとの間の暗号化通信を支援する支援方法であって、
前記サーバが前記クライアント装置へ送信するデータの暗号化要求を前記サーバから受信し、
受信した暗号化要求に基づいて前記サーバが暗号化に使用するサーバ鍵の状態を判定し、
判定結果に基づいて暗号化要求結果を前記サーバへ送信する、
支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法に関する。
【背景技術】
【0002】
近年、IoT技術は家電製品やウェラブル端末など身近な“モノ”だけでなく、生産性を向上させるしくみとして製造現場の多様なシーンでの利活用が広がっている。IoT技術の普及に伴いIoT製品での障害による莫大な金額の損失や企業のサービスの信用失墜だけでなく、人命にも影響を及ぼしかねない脅威が年々増加している。
【0003】
このような背景から、IoT製品のセキュリティに関するガイドラインが国内外で策定されており、IoT製品の設計・開発時からセキュリティ対策に向けた取り組みが進んでいる。セキュリティ対策は、例えば、物理攻撃や遠隔攻撃での不正アクセス等により、IoT製品の乗っ取り、なりすまし、情報漏洩、データ改ざん等への対策である。
【0004】
特許文献1には、秘密鍵情報を用いて署名された署名情報に基づいて、クライアント装置とサーバとの間の暗号化通信を行う通信システムが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2019-165404号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に開示された通信システムのように、クライアント装置とサーバとの間でセキュリティ対策がなされている場合もあるが、E2E(エンドツーエンド)でのデータ保護を実現しようとすると、例えば、サーバへ新たなセキュリティ機能を搭載する必要があり、IoT製品などのクライアント装置を制御するサーバの改修等に多大なコストを要する。また、E2Eでのデータ保護を既に導入していたとしても、使用する鍵の定期的な更新に対する負荷や鍵の有効期限切れに伴う一時的なサービス停止など可用性の課題が残る。
【0007】
本発明は、斯かる事情に鑑みてなされたものであり、クライアント装置とサーバとの間の暗号化通信を支援する支援装置、セキュアコンポーネント、支援システム、コンピュータプログラム及び支援方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、支援装置は、クライアント装置とサーバとの間の暗号化通信を支援する支援装置であって、制御部を備え、前記制御部は、前記サーバが前記クライアント装置へ送信するデータの暗号化要求を前記サーバから受信し、受信した暗号化要求に基づいて前記サーバが暗号化に使用するサーバ鍵の状態を判定し、判定結果に基づいて暗号化要求結果を前記サーバへ送信する。
【発明の効果】
【0009】
本発明によれば、クライアント装置とサーバとの間の暗号化通信を支援することができる。
【図面の簡単な説明】
【0010】
図1】本実施形態の支援システムの構成の第1例を示す図である。
図2】機器管理機能及び鍵管理機能の第1例を示す図である。
図3】機器管理機能及び鍵管理機能の第2例を示す図である。
図4】暗号処理機能、機器管理機能及び鍵管理機能の第1例を示す図である。
図5】暗号処理機能、機器管理機能及び鍵管理機能の第2例を示す図である。
図6】鍵情報の一例を示す図である。
図7】データ暗号化の場合の支援方法の第1例を示す図である。
図8】データ暗号化の場合の支援方法の第2例を示す図である。
図9】データ復号の場合の支援方法の第1例を示す図である。
図10】データ復号の場合の支援方法の第2例を示す図である。
図11】鍵更新の場合の支援方法の一例を示す図である。
図12】本実施形態の支援システムの構成の第2例を示す図である。
図13】鍵の階層の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明をその実施の形態を示す図面に基づいて説明する。図1は本実施形態の支援システムの構成の第1例を示す図である。支援システムは、支援装置50を備える。支援装置50には、通信ネットワークを介してユーザサーバ30が接続されている。ユーザサーバ30には、通信ネットワークを介してクライアント装置10が接続されている。なお、図1では、クライアント装置10を1台だけ図示しているが、複数台のクライアント装置10がユーザサーバ30に接続されていてもよい。
【0012】
クライアント装置10は、例えば、IoT製品であり、製造現場で使用される機器、家電製品、ウェラブル端末、自動車などの車両内の機器などを含む。クライアント装置10は、例えば、パーソナルコンピュータと同様のハードウェアを備える。クライアント装置10は、ユーザアプリ11、及びセキュアコンポーネント12を備える。ユーザアプリ11は、セキュアコンポーネント12及びユーザサーバ30との間で情報の送受信を行う。
【0013】
セキュアコンポーネント12は、例えば、セキュアエレメントであり、セキュアICチップ上に、データ暗号化、認証、機密情報保護などのセキュリティ機能を持つアプリケーションを搭載した耐タンパ性のモジュールである。なお、セキュアコンポーネント12は、TEE(Trusted Execution Environment)上の実行基盤(OS)やアプリケーションなどであってもよく、例えば、ホワイトボックス暗号方式を実装することができる。ホワイトボックス暗号方式は、暗号鍵そのものの漏洩を防止することを目的とした難読化手法であり、暗号化・復号のような機能だけを提供して鍵情報そのものを含まないので、攻撃者が機能を解読しても鍵情報を復元することが現実的に困難である。また、ホワイトボックス暗号方式を実装したアプリケーションには、アプリ開発のためのライブラリ等も含まれる。セキュアコンポーネント12は、鍵情報13を記憶している。鍵情報の詳細は後述する。
【0014】
ユーザサーバ30は、クライアント装置10との間で情報の送受信を行って、クライアント装置10を制御又は管理するサーバである。クライアント装置10のセキュリティ対策を行う上では、ユーザサーバ30は、本来、機器管理機能、暗号処理機能、及び鍵管理機能などを備える必要がある。本実施形態では、このような機器管理機能、暗号処理機能、及び鍵管理機能を支援装置50に搭載することで、ユーザサーバ30とクライアント装置10との間の暗号化通信を支援する。
【0015】
支援装置50は、支援装置全体を制御する制御部51、通信部52、メモリ53、記憶部54、記録媒体読取部56、機器管理機能57、暗号処理機能58、鍵管理機能59、及びセキュアメモリ60を備える。
【0016】
制御部51は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等が所要数組み込まれて構成されてもよい。また、制御部51は、暗号プロセッサ、DSP(Digital Signal Processors)、FPGA(Field-Programmable Gate Arrays)等を組み合わせて構成してもよい。
【0017】
通信部52は、通信モジュールを備え、ユーザサーバ30との間で通信を行う機能を有する。通信部52は、支援装置50とユーザサーバ30との間の通信ネットワーク上で秘匿通信路を開設してもよい。
【0018】
記憶部54は、例えば、ハードディスク又は半導体メモリ等で構成することができ、コンピュータプログラム55(プログラム製品)、及び所要の情報を記憶する。
【0019】
コンピュータプログラム55は、支援装置50で動作するコンピュータプログラムであり、コンピュータプログラム55を記録した記録媒体(例えば、CD-ROM等の光学可読ディスク記憶媒体1を記録媒体読取部56で読み取り、読み取ったコンピュータプログラム55を記憶部54に記憶する。また、コンピュータプログラム55は、通信部52を介して外部の装置からダウンロードして記憶部54に記憶してもよい。
【0020】
メモリ53は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の半導体メモリで構成することができる。コンピュータプログラム55をメモリ53に展開して、制御部51がコンピュータプログラム55を実行することができる。制御部51は、コンピュータプログラム55で定められた処理を実行することができる。すなわち、制御部51による処理は、コンピュータプログラム55による処理でもある。
【0021】
機器管理機能57、暗号処理機能58、及び鍵管理機能59は、制御部51がコンピュータプログラム55を実行することにより各機能を実行する。なお、機器管理機能57、暗号処理機能58、及び鍵管理機能59は、全部又は一部をハードウェアで構成してもよい。機器管理機能57、暗号処理機能58、及び鍵管理機能59の詳細は後述する。
【0022】
セキュアメモリ60は、耐タンパ性を有するメモリであり、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)で構成することができ、鍵情報61などを格納する書き込み可能なメモリである。
【0023】
支援装置50が記憶するサーバ鍵、クライアント鍵、及び鍵輸送鍵を含む鍵情報61と同様の鍵情報13がセキュアコンポーネント12に記憶されている。また、鍵情報61に更新があった場合には、同じ更新内容が鍵情報13に反映される。このようにして、鍵情報61と鍵情報13とは同一性を維持するように管理される。サーバ鍵、クライアント鍵、及び鍵輸送鍵の詳細は後述する。
【0024】
次に、支援装置50の機器管理機能57、暗号処理機能58、及び鍵管理機能59について説明する。
【0025】
図2は機器管理機能57及び鍵管理機能59の第1例を示す図である。ユーザサーバ30を介して機器登録要求が送信される(S11)。機器登録要求は、新たなクライアント装置10の登録要求である。機器管理機能57は、機器登録要求を受け付けると(S12)、鍵管理機能59に対して、初期鍵セット生成要求を出力する(S13)。
【0026】
鍵管理機能59は、鍵の生成・保存を行う(S14)。ここで、生成される鍵は、図1に例示した鍵情報61である。鍵管理機能59は、機器管理機能57に対して、鍵情報を出力する(S15)。機器管理機能57は、鍵情報をユーザサーバ30へ出力し(S16)、機器と鍵の対応付けを管理し(S17)、処理を終了する。ユーザサーバ30は、鍵情報をクライアント装置10へ送信すると、セキュアコンポーネント12は、鍵情報13として記憶する。鍵情報13及び鍵情報61は、クライアント装置10毎に異なる鍵情報でもよく、複数のクライアント装置10で共通の鍵情報を使用してもよい。なお、セキュアコンポーネント12が記憶する鍵情報13については、予めセキュアコンポーネント12との紐づけ情報と鍵情報13を生成しておき、セキュアコンポーネント12の製造工程で、紐づけ情報に基づく鍵情報13をセキュアコンポーネント12に書き込んでもよい。
【0027】
図3は機器管理機能57及び鍵管理機能59の第2例を示す図である。ユーザサーバ30から鍵の更新要求が送信される(S21)。鍵の更新要求は、サーバ鍵、クライアント鍵又は鍵輸送鍵のいずれの更新でもよい。機器管理機能57は、鍵の更新要求を受け付けると(S22)、鍵管理機能59に対して、鍵の生成・更新要求を出力する(S23)。
【0028】
鍵管理機能59は、鍵の生成・保存を行う(S24)。ここで、更新のために生成される鍵は、サーバ鍵、クライアント鍵又は鍵輸送鍵である。鍵管理機能59は、機器管理機能57に対して、鍵情報を出力する(S25)。機器管理機能57は、鍵情報をユーザサーバ30へ出力し(S26)、機器と鍵の対応付けを管理し(S27)、処理を終了する。ユーザサーバ30は、鍵情報をクライアント装置10へ送信すると、セキュアコンポーネント12は、鍵情報13として記憶する。これにより、鍵情報13と鍵情報61との同一性を制御・管理することができる。
【0029】
図4は暗号処理機能58、機器管理機能57及び鍵管理機能59の第1例を示す図である。ユーザサーバ30からデータの暗号化要求が送信される(S31)。当該データは、ユーザサーバ30がクライアント装置10へ送信するデータであり、ユーザサーバ30は、自身が暗号化処理するのではなく、支援装置50に暗号化処理の支援を要求する。暗号処理機能58は、暗号化要求を受け付け(S32)、機器管理機能57に対して、暗号化に必要な鍵情報を要求する(S33)。
【0030】
機器管理機能57は、暗号処理機能58に対して、鍵識別情報を出力する(S34)。鍵識別情報は、サーバ鍵の鍵ID、世代番号などを含む。暗号処理機能58は、鍵管理機能59に対して、セッション鍵の要求を出力する(S35)。
【0031】
鍵管理機能59は、セッション鍵を生成する(S36)。セッション鍵は、例えば、サーバ鍵、及びシード情報を元に生成することができる。セッション鍵を利用する場合は、クライアント装置10との間でセッション鍵生成ルール、及びセッション鍵を生成するためのシード情報を共有しておく必要がある。シード情報は、適宜設定できるが、例えば、サーバ鍵の利用回数などの数値を用いてもよい。
【0032】
鍵管理機能59は、暗号処理機能58に対して、セッション鍵を出力する(S37)。暗号処理機能58は、セッション鍵でデータを暗号化し(S38)、暗号化したデータをユーザサーバ30へ出力し(S39)、処理を終了する。図4の例では、セッション鍵を用いてデータを暗号化したが、これに限定されるものではなく、サーバ鍵を用いてデータを暗号化してもよい。
【0033】
図5は暗号処理機能58、機器管理機能57及び鍵管理機能59の第2例を示す図である。ユーザサーバ30から暗号化データの復号要求が送信される(S41)。当該暗号化データは、ユーザサーバ30がクライアント装置10から受信したデータであり、ユーザサーバ30は、自身が復号処理するのではなく、支援装置50に復号処理の支援を要求する。暗号処理機能58は、復号要求を受け付け(S42)、機器管理機能57に対して、暗号化に必要な鍵情報を要求する(S43)。
【0034】
機器管理機能57は、暗号処理機能58に対して、鍵識別情報を出力する(S44)。鍵識別情報は、クライアント鍵の鍵ID、世代番号などを含む。暗号処理機能58は、鍵管理機能59に対して、セッション鍵の要求を出力する(S45)。
【0035】
鍵管理機能59は、セッション鍵を生成する(S46)。セッション鍵は、例えば、クライアント鍵、及びシード情報を元に生成することができる。セッション鍵を利用する場合は、クライアント装置10との間でセッション鍵生成ルール、及びセッション鍵を生成するためのシード情報を共有しておく必要がある。シード情報は、適宜設定できるが、例えば、クライアント鍵の利用回数などの数値を用いてもよい。
【0036】
鍵管理機能59は、暗号処理機能58に対して、セッション鍵を出力する(S47)。暗号処理機能58は、セッション鍵でデータを復号し(S48)、復号したデータをユーザサーバ30へ出力し(S49)、処理を終了する。図5の例では、セッション鍵を用いて暗号化データを復号したが、これに限定されるものではなく、クライアント鍵を用いて暗号化データを復号してもよい。
【0037】
図6は鍵情報の一例を示す図である。図1に例示した鍵情報13、61は、便宜上、図6に示す鍵情報のうち鍵種別だけを図示したものである。図6に示すように、鍵情報は、鍵種別、鍵ID、世代(世代番号)、鍵の状態(有効・無効)、有効期限、最大利用回数、及び現利用回数などの情報を含む。鍵種別には、サーバ鍵、クライアント鍵、及び鍵輸送鍵が含まれる。サーバ鍵は、本来、ユーザサーバ30がクライアント装置10へ送信するデータを暗号化するために利用する鍵であり、クライアント装置10は、暗号化されたデータをサーバ鍵で復号できる。クライアント鍵は、本来、ユーザサーバ30が、クライアント装置10が送信した暗号化データを復号するために利用する鍵であり、クライアント装置10は、クライアント鍵でデータを暗号化できる。鍵輸送鍵は、ユーザサーバ30からクライアント装置10へサーバ鍵又はクライアント鍵を送信する際にサーバ鍵又はクライアント鍵を暗号化するために利用する鍵である。クライアント装置10は、暗号化されたサーバ鍵又はクライアント鍵を鍵輸送鍵で復号できる。
【0038】
世代と有効期限とは関連し、世代番号が若いほど有効期限までの期間が短い。図6の例では、2世代の鍵(現行鍵と次世代鍵)を保存しているが、世代の数は2に限定されない。支援装置50でサーバ鍵、クライアント鍵、及び鍵輸送鍵それぞれの世代管理することでユーザサーバ30の鍵管理に関する負荷を軽減できる。また、複数の世代の鍵を保存することにより、鍵が1世代しかない場合に起こり得る、鍵の有効期限切れで一時的なサービスの停止などの可用性の課題も解決できる。
【0039】
鍵の状態は、有効期限が切れた場合、あるいは現利用回数が最大利用回数(利用可能回数)を超えた場合に「無効」となる。鍵の状態は、有効期限内である場合、及び現利用回数が最大利用回数(利用可能回数)以下である場合に「有効」となる。
【0040】
上述のように、支援装置50は、複数世代のサーバ鍵、クライアント鍵、及び鍵輸送鍵を記憶するセキュアメモリ60(「記憶部」とも称する)を備える。これにより、仮に現世代の鍵の状態が無効であっても、次世代の鍵を利用することで、ユーザは、所要の処理を継続することができ、サービスの可用性を向上させることができる。
【0041】
次に、支援装置50による暗号化通信の支援方法について説明する。
【0042】
図7はデータ暗号化の場合の支援方法の第1例を示す図である。図7に示す第1例では、支援装置50及びセキュアコンポーネント12が記憶する各鍵は全て有効であるとする。ユーザサーバ30は、支援装置50に対して、暗号化対象のデータを含むデータ暗号化要求を出力する(S101)。支援装置50は、セッション鍵を生成する(S102)。セッション鍵の生成は、サーバ鍵及び所要のシード情報を元に生成できる。セッション鍵を生成する際のサーバ鍵は、世代1のサーバ鍵の状態が有効であるので、世代1のサーバ鍵を利用できる。
【0043】
支援装置50は、セッション鍵でデータを暗号化し(S103)、データ暗号化結果をユーザサーバ30へ出力する(S104)。データ暗号化結果には、暗号化データ、サーバ鍵の鍵ID、サーバ鍵の世代番号、及びシード情報などが含まれる。暗号化データは、世代1のサーバ鍵を利用している。
【0044】
ユーザサーバ30は、暗号化データをユーザアプリ11へ出力する(S105)。暗号化データには、暗号化データに加えて、サーバ鍵の鍵ID、サーバ鍵の世代番号、及びシード情報などが含まれる。ユーザアプリ11は、セキュアコンポーネント12に対して、暗号化データの復号要求を出力する(S106)。復号要求には、暗号化データに加えて、サーバ鍵の鍵ID、サーバ鍵の世代番号、及びシード情報などが含まれる。
【0045】
セキュアコンポーネント12は、サーバ鍵及びシード情報を元にセッション鍵を生成し(S107)、生成したセッション鍵を用いて暗号化データを復号する(S108)。セキュアコンポーネント12は、復号したデータをユーザアプリ11へ出力し(S109)、処理を終了する。図7の例では、サーバ鍵を利用してセッション鍵を生成する構成であったが、サーバ鍵でデータを暗号化し、暗号化したデータを復号してもよい。
【0046】
図8はデータ暗号化の場合の支援方法の第2例を示す図である。図8に示す第2例では、支援装置50及びセキュアコンポーネント12が記憶する各鍵のうち、世代1のサーバ鍵の状態が無効であり、他の鍵の状態は有効であるとする。第2例では、サーバ鍵の更新に関する処理が追加される。
【0047】
ユーザサーバ30は、支援装置50に対して、暗号化対象のデータを含むデータ暗号化要求を出力する(S111)。支援装置50は、セッション鍵を生成する(S112)。セッション鍵の生成は、サーバ鍵及び所要のシード情報を元に生成できる。セッション鍵を生成する際のサーバ鍵は、世代1のサーバ鍵の状態が無効であるので、世代2のサーバ鍵を利用する。
【0048】
支援装置50は、セッション鍵でデータを暗号化し(S113)、データ暗号化結果をユーザサーバ30へ出力する(S114)。データ暗号化結果には、暗号化データ、サーバ鍵(世代2)の鍵ID、サーバ鍵の世代番号(世代2)、シード情報、及び世代1のサーバ鍵の更新要求などが含まれる。暗号化データは、世代2のサーバ鍵を利用している。
【0049】
ユーザサーバ30は、暗号化データをユーザアプリ11へ出力する(S115)。暗号化データには、暗号化データに加えて、サーバ鍵(世代2)の鍵ID、サーバ鍵の世代番号(世代2)、及びシード情報などが含まれる。ユーザアプリ11は、セキュアコンポーネント12に対して、暗号化データの復号要求を出力する(S116)。復号要求には、暗号化データに加えて、サーバ鍵(世代2)の鍵ID、サーバ鍵の世代番号(世代2)、及びシード情報などが含まれる。
【0050】
セキュアコンポーネント12は、サーバ鍵及びシード情報を元にセッション鍵を生成し(S117)、生成したセッション鍵を用いて暗号化データを復号する(S118)。セキュアコンポーネント12は、復号したデータをユーザアプリ11へ出力する(S119)。
【0051】
ユーザサーバ30は、サーバ鍵(世代1)が無効となっているので、サーバ鍵の更新要求を支援装置50へ出力する(S120)。支援装置50は、サーバ鍵を更新する(S121)。図8の例では、サーバ鍵(世代1)がサーバ鍵(世代3)で更新されている。
【0052】
支援装置50は、鍵更新情報をユーザサーバ30へ出力する(S122)。鍵更新情報には、例えば、サーバ鍵(世代3)の鍵ID、世代番号(世代3)、有効期限、最大利用回数、現利用回数などの情報が含まれる。
【0053】
ユーザサーバ30は、鍵更新情報をユーザアプリ11へ出力し(S123)、ユーザアプリ11は、鍵更新情報をセキュアコンポーネント12へ出力する(S124)。セキュアコンポーネント12は、鍵情報を更新する。図8の例では、サーバ鍵(世代1)がサーバ鍵(世代3)で更新されている。
【0054】
図8の例では、支援装置50は、ユーザサーバ30からのサーバ鍵の更新要求に基づいてサーバ鍵を更新しているが、これに限定されない。例えば、支援装置50は、適宜のタイミングで鍵情報61を参照して各鍵の状態を判定し、無効な鍵が存在する場合には、ユーザサーバ30からの要求が無くても自動的に鍵を更新してもよい。
【0055】
図示していないが、図8の例において、サーバ鍵(世代1)及びサーバ鍵(世代2)の両者の状態が無効である場合には、データの暗号化を行う前にサーバ鍵の更新を行うことができる。この場合、支援装置50が独自にサーバ鍵を更新してもよく、あるいはユーザサーバ30に対してサーバ鍵の更新要求を出力し、ユーザサーバ30からの更新要求に基づいてサーバ鍵を更新してもよい。
【0056】
図7及び図8に示すように、制御部51(支援装置50)は、ユーザサーバ30(「サーバ」とも称する)がクライアント装置10へ送信するデータの暗号化要求をユーザサーバ30から受信し、受信した暗号化要求に基づいてユーザサーバ30が暗号化に使用するサーバ鍵の状態を判定し、判定結果に基づいてデータ暗号化結果(「暗号化要求結果」とも称する)をユーザサーバ30へ送信する。
【0057】
上述の構成により、ユーザサーバ30へ新たなセキュリティ機能を搭載する必要がなく、IoT製品などのクライアント装置を制御するユーザサーバ30の改修等も不要である。そして、クライアント装置10とユーザサーバ30との間の暗号化通信を支援することができる。
【0058】
サーバ鍵の状態は、複数世代毎のサーバ鍵の有効期限又は利用回数を含めてもよい。有効期限切れでなく、かつ利用回数が最大利用回数を超えていなければ、サーバ鍵の状態は有効であり、有効期限切れ又は利用回数が最大利用回数を超えている場合には、サーバ鍵の状態は無効である。
【0059】
データ暗号化結果は、暗号化データ、及び暗号化に利用したサーバ鍵の鍵ID又は世代番号を含めてもよい。また、データ暗号化結果は、サーバ鍵の更新要求を含めてもよい。これにより、ユーザサーバ30が本来実施する、鍵の定期的な更新に対する負荷を軽減することができ、鍵の有効期限切れに伴う一時的なサービス停止など可用性の低下を防止できる。
【0060】
図9はデータ復号の場合の支援方法の第1例を示す図である。図9に示す第1例では、支援装置50及びセキュアコンポーネント12が記憶する各鍵は全て有効であるとする。ユーザアプリ11は、セキュアコンポーネント12に対して、暗号化対象のデータを含むデータ暗号化要求を出力する(S131)。セキュアコンポーネント12は、セッション鍵を生成する(S132)。セッション鍵の生成は、クライアント鍵及び所要のシード情報を元に生成できる。セッション鍵を生成する際のクライアント鍵は、世代1のクライアント鍵の状態が有効であるので、世代1のクライアント鍵を利用できる。
【0061】
セキュアコンポーネント12は、セッション鍵でデータを暗号化し(S133)、データ暗号化結果をユーザアプリ11へ出力する(S134)。データ暗号化結果には、暗号化データ、クライアント鍵の鍵ID、クライアント鍵の世代番号、及びシード情報などが含まれる。暗号化データは、世代1のクライアント鍵を利用している。
【0062】
ユーザアプリ11は、暗号化データをユーザサーバ30へ出力する(S135)。暗号化データには、暗号化データに加えて、クライアント鍵の鍵ID、クライアント鍵の世代番号、及びシード情報などが含まれる。ユーザサーバ30は、支援装置50に対して、暗号化データの復号要求を出力する(S136)。復号要求には、暗号化データに加えて、クライアント鍵の鍵ID、クライアント鍵の世代番号、及びシード情報などが含まれる。
【0063】
支援装置50は、クライアント鍵及びシード情報を元にセッション鍵を生成し(S137)、生成したセッション鍵を用いて暗号化データを復号する(S138)。支援装置50は、復号したデータをユーザサーバ30へ出力し(S139)、処理を終了する。図9の例では、クライアント鍵を利用してセッション鍵を生成する構成であったが、クライアント鍵でデータを暗号化し、暗号化したデータを復号してもよい。
【0064】
図10はデータ復号の場合の支援方法の第2例を示す図である。図10に示す第2例では、支援装置50及びセキュアコンポーネント12が記憶する各鍵のうち、世代1のクライアント鍵の状態が無効であり、他の鍵の状態は有効であるとする。第2例では、クライアント鍵の更新に関する処理が追加される。
【0065】
ユーザアプリ11は、セキュアコンポーネント12に対して、暗号化対象のデータを含むデータ暗号化要求を出力する(S141)。セキュアコンポーネント12は、セッション鍵を生成する(S142)。セッション鍵の生成は、クライアント鍵及び所要のシード情報を元に生成できる。セッション鍵を生成する際のクライアント鍵は、世代1のクライアント鍵の状態が無効であるので、世代2のクライアント鍵を利用する。
【0066】
セキュアコンポーネント12は、セッション鍵でデータを暗号化し(S143)、データ暗号化結果をユーザアプリ11へ出力する(S144)。データ暗号化結果には、暗号化データ、クライアント鍵(世代2)の鍵ID、クライアント鍵の世代番号(世代2)、シード情報、及び世代1のクライアント鍵の更新要求などが含まれる。暗号化データは、世代2のクライアント鍵を利用している。
【0067】
ユーザアプリ11は、暗号化データをユーザサーバ30へ出力する(S145)。暗号化データには、暗号化データに加えて、クライアント鍵(世代2)の鍵ID、クライアント鍵の世代番号(世代2)、及びシード情報などが含まれる。ユーザサーバ30は、支援装置50に対して、暗号化データの復号要求を出力する(S146)。復号要求には、暗号化データに加えて、クライアント鍵(世代2)の鍵ID、クライアント鍵の世代番号(世代2)、及びシード情報などが含まれる。
【0068】
支援装置50は、クライアント鍵及びシード情報を元にセッション鍵を生成し(S147)、生成したセッション鍵を用いて暗号化データを復号する(S148)。支援装置50は、データ復号結果をユーザサーバ30へ出力する(S149)。データ復号結果には、復号したデータ、クライアント鍵の有効・無効の情報が含まれる。
【0069】
ユーザサーバ30は、クライアント鍵(世代1)が無効となっているので、クライアント鍵の更新要求を支援装置50へ出力する(S150)。支援装置50は、クライアント鍵を更新する(S151)。図10の例では、クライアント鍵(世代1)がクライアント鍵(世代3)で更新されている。
【0070】
支援装置50は、鍵更新情報をユーザサーバ30へ出力する(S152)。鍵更新情報には、例えば、クライアント鍵(世代3)の鍵ID、世代番号(世代3)、有効期限、最大利用回数、現利用回数などの情報が含まれる。
【0071】
ユーザサーバ30は、鍵更新情報をユーザアプリ11へ出力し(S153)、ユーザアプリ11は、鍵更新情報をセキュアコンポーネント12へ出力する(S154)。セキュアコンポーネント12は、鍵情報を更新する。図10の例では、クライアント鍵(世代1)がクライアント鍵(世代3)で更新されている。
【0072】
図10の例では、支援装置50は、ユーザサーバ30からのクライアント鍵の更新要求に基づいてクライアント鍵を更新しているが、これに限定されない。例えば、支援装置50は、適宜のタイミングで鍵情報61を参照して各鍵の状態を判定し、無効な鍵が存在する場合には、ユーザサーバ30からの要求が無くても自動的に鍵を更新してもよい。
【0073】
図示していないが、図10の例において、クライアント鍵(世代1)及びクライアント鍵(世代2)の両者の状態が無効である場合には、データの暗号化を行う前にクライアント鍵の更新を行うことができる。この場合、支援装置50が独自にクライアント鍵を更新してもよく、あるいはユーザサーバ30に対してクライアント鍵の更新要求を出力し、ユーザサーバ30からの更新要求に基づいてクライアント鍵を更新してもよい。
【0074】
図9及び図10に示すように、制御部51は、ユーザサーバ30がクライアント装置10から受信した暗号化データの復号要求をユーザサーバ30から受信し、受信した復号要求に基づいてユーザサーバ30が復号に使用するクライアント鍵の状態を判定し、判定結果に基づいてデータ復号結果(「復号要求結果」とも称する)をユーザサーバ30へ送信する。
【0075】
上述の構成により、ユーザサーバ30へ新たなセキュリティ機能を搭載する必要がなく、IoT製品などのクライアント装置を制御するユーザサーバ30の改修等も不要である。そして、クライアント装置10とユーザサーバ30との間の暗号化通信を支援することができる。
【0076】
クライアント鍵の状態は、複数世代毎のクライアント鍵の有効期限又は利用回数を含めてもよい。有効期限切れでなく、かつ利用回数が最大利用回数を超えていなければ、クライアント鍵の状態は有効であり、有効期限切れ又は利用回数が最大利用回数を超えている場合には、クライアント鍵の状態は無効である。
【0077】
データ復号結果は、復号データ、及び復号に利用したクライアント鍵の有効期限切れの有無を含めてもよい。これにより、ユーザサーバ30が本来実施する、鍵の定期的な更新に対する負荷を軽減することができ、鍵の有効期限切れに伴う一時的なサービス停止など可用性の低下を防止できる。
【0078】
支援装置50において、データを復号する際にクライアント鍵が有効期限切れや利用回数が最大利用回数を超えるなどの事情によって無効状態である場合、復号したデータに対する取り扱いをどのようにするかは、ユーザのセキュリティポリシー等に応じて、ユーザが適宜選択してもよい。例えば、セキュリティが厳しい場合には、復号したデータを使用しないという対処がとれる。また、セキュリティがそれほど厳しくない場合には、復号したデータを使うという対処も取り得る。また、クライアント鍵を更新した上で、再度同じデータに対して暗号化・復号の処理を行うこともできる。
【0079】
クライアント装置10又はセキュアコンポーネント12に時刻管理機能が無く時刻を正しく計時できない場合でも、支援装置50にて暗号化データの復号時にクライアント鍵の状態が無効であることをユーザに通知することができる。
【0080】
データの復号処理の場合、クライアント鍵が有効期限切れでも暗号化データを復号し、有効期限切れを通知して鍵更新をユーザに促してもよい。また、暗号化で用いる場合の有効期限と復号に用いる場合の有効期限の両方を保持して管理してもよい。復号に用いる場合の有効期限が切れている場合には、暗号化データの復号をせずにクライアント鍵の更新をユーザへ促すことができる。
【0081】
図11は鍵更新の場合の支援方法の一例を示す図である。図11の例では、支援装置50及びセキュアコンポーネント12が記憶する各鍵のうち、世代1のサーバ鍵、及び世代1の鍵輸送鍵の状態が無効であり、他の鍵の状態は有効であるとする。図11に示す処理は、図8のステップS120以降の処理、又は図10のステップS150以降の処理を具体的に説明するものである。
【0082】
ユーザサーバ30は、サーバ鍵(世代1)が無効となっているので、サーバ鍵の更新要求を支援装置50へ出力する(S161)。支援装置50は、サーバ鍵を更新する(S162)。図11の例では、サーバ鍵(世代1)がサーバ鍵(世代3)で更新されている。
【0083】
支援装置50は、鍵更新情報をユーザサーバ30へ出力する(S163)。鍵更新情報には、例えば、鍵輸送鍵(世代2)で暗号化したサーバ鍵(世代3)の鍵ID、世代番号(世代3)、有効期限、最大利用回数、現利用回数、及び鍵輸送鍵の有効期限切れ情報(図11の例では、鍵輸送鍵(世代1)が有効期限切れ)などの情報が含まれる。
【0084】
ユーザサーバ30は、鍵更新情報をユーザアプリ11へ出力し(S164)、ユーザアプリ11は、鍵更新情報をセキュアコンポーネント12へ出力する(S165)。セキュアコンポーネント12は、サーバ鍵を更新する(S166)。図11の例では、サーバ鍵(世代1)がサーバ鍵(世代3)で更新されている。
【0085】
セキュアコンポーネント12は、鍵更新の完了通知をユーザアプリ11へ出力し(S167)、ユーザアプリ11は、完了通知をユーザサーバ30へ出力する(S168)。ユーザサーバ30は、完了通知を支援装置50へ出力する(S169)。
【0086】
ユーザサーバ30は、鍵輸送鍵(世代1)が無効となっているので、鍵輸送鍵の更新要求を支援装置50へ出力する(S170)。支援装置50は、鍵輸送鍵を更新する(S171)。図11の例では、鍵輸送鍵(世代1)が鍵輸送鍵(世代3)で更新されている。
【0087】
支援装置50は、鍵更新情報をユーザサーバ30へ出力する(S172)。鍵更新情報には、例えば、鍵輸送鍵(世代2)で暗号化した鍵輸送鍵(世代3)の鍵ID、世代番号(世代3)、有効期限、最大利用回数、現利用回数などの情報が含まれる。
【0088】
ユーザサーバ30は、鍵更新情報をユーザアプリ11へ出力し(S173)、ユーザアプリ11は、鍵更新情報をセキュアコンポーネント12へ出力する(S174)。セキュアコンポーネント12は、鍵輸送鍵を更新する(S175)。図11の例では、鍵輸送鍵(世代1)が鍵輸送鍵(世代3)で更新されている。
【0089】
セキュアコンポーネント12は、鍵更新の完了通知をユーザアプリ11へ出力し(S176)、ユーザアプリ11は、完了通知をユーザサーバ30へ出力する(S177)。ユーザサーバ30は、完了通知を支援装置50へ出力する(S178)。
【0090】
上述のように、支援装置50は、1世代又は複数世代の鍵輸送鍵を記憶するセキュアメモリ60を備える。制御部51は、更新後サーバ鍵又は更新後クライアント鍵を鍵輸送鍵で暗号化し、ユーザサーバ30を介して、暗号化した更新後サーバ鍵又は更新後クライアント鍵をクライアント装置10の暗号化・復号を支援するセキュアコンポーネント12へ送信することができる。
【0091】
また、制御部51は、鍵輸送鍵の更新の要否を判定し、更新が必要な場合、ユーザサーバ30を介して、更新前鍵輸送鍵(例えば、世代2)で暗号化した更新後鍵輸送鍵(世代3)をセキュアコンポーネント12へ送信することができる。
【0092】
図11の例では、鍵輸送鍵(世代1)は無効であるが、鍵輸送鍵(世代2)は有効である。仮に、全ての鍵輸送鍵が無効(例えば、有効期限切れ)の場合には、最初に鍵輸送鍵の更新を行うことができる。例えば、鍵輸送鍵(世代1)及び鍵輸送鍵(世代2)が無効である場合、鍵輸送鍵(世代3)を生成し、鍵輸送鍵(世代3)を鍵輸送鍵(世代2)で暗号化して送信すればよい。
【0093】
また、セキュアコンポーネント12での鍵の更新は、自動更新でもよく、鍵更新が必要である旨の通知を受けたユーザが、クライアント装置10を操作して鍵更新を行ってもよい。
【0094】
上述のように、制御部51は、サーバ鍵及びクライアント鍵の少なくとも一方の更新の要否を判定してもよい。また、制御部51は、鍵輸送鍵の更新の要否を判定してもよい。これにより、ユーザサーバ30が鍵の状態を判定して更新の要否を判定する必要がなく、ユーザサーバ30側の負担を軽減できる。
【0095】
図12は本実施形態の支援システムの構成の第2例を示す図である。図1に例示した第1例では、クライアント装置10がセキュアコンポーネント12を備える構成であったが、第2例では、クライアント支援装置20をユーザサーバ30とクライアント装置10との間に接続し、クライアント支援装置20がセキュアコンポーネント21を備える。なお、セキュアコンポーネント21はセキュアコンポーネント12と同様の構成を備える。クライアント支援装置20は、例えば、ゲートウェイ装置(GW)などで構成することができる。
【0096】
ユーザサーバ30とクライアント支援装置20との間は暗号化通信が行われ、クライアント支援装置20とクライアント装置10との間は、例えば、社内ネットワークなどを用いて平文での通信を行うことができる。
【0097】
上述のように、セキュアコンポーネント12、21は、クライアント装置10の暗号化・復号を支援し、支援装置50が記憶する、ユーザサーバ30が暗号化に使用するサーバ鍵、ユーザサーバ30が復号に使用するクライアント鍵、及び更新後のサーバ鍵又は更新後のクライアント鍵を暗号化する鍵輸送鍵を含む鍵情報を記憶することができる。セキュアコンポーネントは、クライアント装置10に搭載してもよく、クライアント装置10とは別の、ゲートウェイ装置のようなクライアント支援装置に搭載してもよい。
【0098】
上述の構成により、IoT機器などのクライアント装置10に新たに暗号機能を設けることはコストがかかるが、クライアント支援装置20にセキュアコンポーネント21を設けて、ユーザサーバ30との間の暗号処理を支援する構成とすることで、最小限のコストでクライアント装置10とユーザサーバ30との間の暗号化通信を実現することができる。また、既存のIoT製品をそのまま使用することができ、IoT製品の取り換えや改修等の対応が不要となる。
【0099】
図13は鍵の階層の一例を示す図である。図13に示すように、鍵の階層は、上位から下位に向かって、マスター鍵、階層鍵(n)、階層鍵(n-m)、階層鍵(n-m-k)、クライアントマスター鍵(n)、鍵群(サーバ鍵、クライアント鍵、及び鍵輸送鍵)とすることができる。なお、鍵の階層は一例であって、図13の例に限定されるものではない。マスター鍵は、鍵管理事業者が管理する最上位の鍵であり、例えば、特定の顧客やサービス毎に決められる。階層鍵(n)、階層鍵(n-m)、階層鍵(n-m-k)は、マスター鍵からサービス、エリア、バージョン等で階層化された階層鍵であり、階層は可変でもよい。クライアントマスター鍵(n)は、階層鍵からクライアント毎に派生される。クライアントマスター鍵から、サーバ鍵、クライアント鍵、及び鍵輸送鍵を派生することができる。また、1つの世代のクライアントマスター鍵から、複数の世代のサーバ鍵、クライアント鍵、及び鍵輸送鍵を派生することができる。
【0100】
(付記1)支援装置は、クライアント装置とサーバとの間の暗号化通信を支援する支援装置であって、制御部を備え、前記制御部は、前記サーバが前記クライアント装置へ送信するデータの暗号化要求を前記サーバから受信し、受信した暗号化要求に基づいて前記サーバが暗号化に使用するサーバ鍵の状態を判定し、判定結果に基づいて暗号化要求結果を前記サーバへ送信する。
【0101】
(付記2)支援装置は、付記1において、複数世代のサーバ鍵を記憶する記憶部を備える。
【0102】
(付記3)支援装置は、付記1又は付記2において、前記サーバ鍵の状態は、複数世代毎のサーバ鍵の有効期限又は利用回数を含む。
【0103】
(付記4)支援装置は、付記1から付記3のいずれか一つにおいて、前記暗号化要求結果は、暗号化データ、及び暗号化に利用したサーバ鍵の鍵ID又は世代番号を含む。
【0104】
(付記5)支援装置は、付記1から付記4のいずれか一つにおいて、前記制御部は、前記サーバが前記クライアント装置から受信した暗号化データの復号要求を前記サーバから受信し、受信した復号要求に基づいて前記サーバが復号に使用するクライアント鍵の状態を判定し、判定結果に基づいて復号要求結果を前記サーバへ送信する。
【0105】
(付記6)支援装置は、付記5において、複数世代のクライアント鍵を記憶する記憶部を備える。
【0106】
(付記7)支援装置は、付記5又は付記6において、前記クライアント鍵の状態は、複数世代毎のクライアント鍵の有効期限又は利用回数を含む。
【0107】
(付記8)支援装置は、付記5から付記7のいずれか一つにおいて、前記復号要求結果は、復号データ、及び復号に利用したクライアント鍵の有効期限切れの有無を含む。
【0108】
(付記9)支援装置は、付記5から付記8のいずれか一つにおいて、前記制御部は、前記サーバ鍵及び前記クライアント鍵の少なくとも一方の更新の要否を判定する。
【0109】
(付記10)支援装置は、付記5から付記9のいずれか一つにおいて、1世代又は複数世代の鍵輸送鍵を記憶する記憶部を備え、前記制御部は、更新後サーバ鍵又は更新後クライアント鍵を前記鍵輸送鍵で暗号化し、前記サーバを介して、暗号化した更新後サーバ鍵又は更新後クライアント鍵を前記クライアント装置の暗号化・復号を支援するセキュアコンポーネントへ送信する。
【0110】
(付記11)支援装置は、付記10において、前記制御部は、前記鍵輸送鍵の更新の要否を判定し、更新が必要な場合、前記サーバを介して、更新前鍵輸送鍵で暗号化した更新後鍵輸送鍵を前記セキュアコンポーネントへ送信する。
【0111】
(付記12)セキュアコンポーネントは、クライアント装置の暗号化・復号を支援するセキュアコンポーネントであって、前記クライアント装置とサーバとの間の暗号化通信を支援する支援装置が記憶する、前記サーバが暗号化に使用するサーバ鍵、前記サーバが復号に使用するクライアント鍵、及び更新後のサーバ鍵又は更新後のクライアント鍵を暗号化する鍵輸送鍵を含む鍵情報を記憶する。
【0112】
(付記13)支援システムは、前述の支援装置と、前述のセキュアコンポーネントとを備える。
【0113】
(付記14)コンピュータプログラムは、クライアント装置との間で暗号化通信を行うサーバが前記クライアント装置へ送信するデータの暗号化要求を前記サーバから受信し、受信した暗号化要求に基づいて前記サーバが暗号化に使用するサーバ鍵の状態を判定し、判定結果に基づいて暗号化要求結果を前記サーバへ送信する、処理をコンピュータに実行させる。
【0114】
(付記15)支援方法は、クライアント装置とサーバとの間の暗号化通信を支援する支援方法であって、前記サーバが前記クライアント装置へ送信するデータの暗号化要求を前記サーバから受信し、受信した暗号化要求に基づいて前記サーバが暗号化に使用するサーバ鍵の状態を判定し、判定結果に基づいて暗号化要求結果を前記サーバへ送信する。
【0115】
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。
【符号の説明】
【0116】
10 クライアント装置
11 ユーザアプリ
12、21 セキュアコンポーネント
13、61 鍵情報
20 クライアント支援装置
30 ユーザサーバ
50 支援装置
51 制御部
52 通信部
53 メモリ
54 記憶部
55 コンピュータプログラム
56 記録媒体読取部
57 機器管理機能
58 暗号処理機能
59 鍵管理機能
60 セキュアメモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13