JP7245032B2 - 情報処理装置、システム、時刻修正方法、および、プログラム - Google Patents

情報処理装置、システム、時刻修正方法、および、プログラム Download PDF

Info

Publication number
JP7245032B2
JP7245032B2 JP2018218488A JP2018218488A JP7245032B2 JP 7245032 B2 JP7245032 B2 JP 7245032B2 JP 2018218488 A JP2018218488 A JP 2018218488A JP 2018218488 A JP2018218488 A JP 2018218488A JP 7245032 B2 JP7245032 B2 JP 7245032B2
Authority
JP
Japan
Prior art keywords
time
request
server
token
information processing
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.)
Active
Application number
JP2018218488A
Other languages
English (en)
Other versions
JP2020086783A (ja
Inventor
真琴 小林
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018218488A priority Critical patent/JP7245032B2/ja
Priority to US16/683,664 priority patent/US11388154B2/en
Publication of JP2020086783A publication Critical patent/JP2020086783A/ja
Application granted granted Critical
Publication of JP7245032B2 publication Critical patent/JP7245032B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、情報処理装置、システム、時刻修正方法、および、プログラムに関する。
リソースサーバーと連携するクライアント端末において、クライアントアプリケーションが、各種データ(Alert、構成情報、Counter、Job、Sensor情報など)を記録し、リソースサーバーに送信する構成を備える。このとき、各種データは、タイムスタンプ付きでクライアント端末のローカルに保存され、クライアントアプリケーションのデータ送信タイミングでリソースサーバーに送信される。また、クライアント端末は、認可トークン取得の際に、認可シーケンスにて必要となるアサーションをクライアント端末側で生成して送信する。その際、クライアント端末内のトークンプロバイダーは、デバイス時間(すなわち、クライアント端末における時間)を元にアサーションに有効期限を付ける。この有効期限は、リプレイアタック等の対策のため一般に短い時間(例えば、5分程度)が設定される。なお、認可シーケンスとしては、JWT(JSON Web Token)を用いたOAuth2.0の認証フレームワークなどに準拠した方法がある。
上記のように、異なる装置間で連携を行う際に、クライアント端末側で用いられる時刻と、サーバー側で用いられる時刻との差異が生じる場合がある。このような場合に、例えば、特許文献1では、サーバー側で、クライアント端末から受信したデータにて示される時刻を自身の時刻に修正する方法が記載されている。
特開2009-69892号公報
一方、クライアントアプリケーションのイベントログ記録時とトークン取得時の各々で、時刻修正方法の必要条件が異なり、同じデバイスで時刻修正方法の異なる2つの時刻修正を実施しなければならない、という課題がある。
例えば、クライアントアプリケーションのイベントログ記録に関しては、デバイスの各種イベントログの時刻を過去に戻すことなく順序通り、時刻と対応付けて記録する必要がある。具体的には、トナーロー、トナー空のイベント順が、トナー空、トナーローのイベント順になると、最悪2回のトナー配送が発生する可能性がある。そのため、イベントログ記録に用いられる時刻の修正時には、NTP(Network Time Protocol)のslewモードのように修正目標時間に対し、時刻差を徐々に縮める必要がある。
一方、トークン取得に関しては、トークン取得に用いられるアサーションに設定される有効期限が短い値(例えば、5分)が設定される。そのため、トークン取得に用いられる時刻の修正については、アサーション生成時、目標時刻(例えば、サーバー側の時間)と5分以上のずれがあれば、瞬時に目標時刻に修正する必要がある。例えば、デバイスで生成したアサーションを検証するサーバーの時刻と5分以上の時刻差があれば、アサーションは有効期限切れと判断されてしまう。なお、クライアントアプリケーションのイベントログ記録の時刻修正を行う際、先にアサーションの使用を伴うトークン取得処理が必要となる。
以上の課題を鑑み、本発明では、異なる2つの時刻修正を要する場合に、安全で、かつ、確実に時刻合わせを行うことを目的とする。
上記課題を解決するために本願発明は以下の構成を有する。すなわち、情報処理装置であって、認可サーバーおよびリソースサーバーと通信可能に接続された情報処理装置であって、前記リソースサーバーが提供するサービスを利用するためのトークンの要求を、前記情報処理装置の時刻に基づいて生成された有効期限を含めて前記認可サーバーに送信する要求手段と、前記要求手段による要求の応答として前記認可サーバーの時刻情報を受信した場合、前記トークンの要求を、当該認可サーバーの時刻情報に基づいて生成された有効期限を含めて再送する送信手段と、前記要求に対する応答として取得した前記トークンを用いて、前記リソースサーバーに対して前記リソースサーバーの時刻情報を要求し、当該リソースサーバーの時刻情報に基づいて前記情報処理装置の時刻を修正する修正手段とを有する。
本発明により、異なる2つの時刻修正を要する場合に、安全で、かつ、確実に時刻合わせを行うことが可能となる。
本発明に係るシステム構成の例を示す図。 本発明に係る各装置のハードウェア構成の例を示す図。 本発明に係る各装置のソフトウェアモジュールの構成例を示す図。 本発明に係る装置のソフトウェアモジュール間の通信を説明するための図。 本発明に係るNTP設定画面のユーザーインターフェースの構成例を示す図。 本発明に係るクライアント装置の時刻合わせ処理のフローチャート。 本発明に係る認可サーバーのアサーション検証処理のフローチャート。 第1の実施形態に係るクライアント端末の認可トークン取得処理のフローチャート。 本発明に係るクライアント端末のソフトウェアモジュールの構成例を示す図。 システムクロックが遅れていた場合の修正動作を説明するための図。 システムクロックが進んでいた場合の修正動作を説明するための図。 第2の実施形態に係るクライアント端末の認可トークン取得処理のフローチャート。
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下に示す形態は一例であり、本発明をこれらの形態に限定することを意図するものではない。
<第1の実施形態>
[システム構成]
本実施形態において、インターネット上の各サーバーにアプリケーションが設置されている構成を例に挙げて説明する。アプリケーションは、クライアント端末と連携し、様々な機能を提供する。このような機能を提供する実体を「サービス」と称し、機能をクライアント端末に提供することを「サービスの提供」と称する。
図1は、本実施形態に係る情報処理システムであるデータアクセス管理システムのネットワーク構成の例を示す。なお、ここでのネットワークを構成する方式等は特に限定するものではなく、有線・無線や、複数の通信方式が組み合わされて構成されてよい。
WAN(Wide Area Network)100は、1または複数のネットワークから構成され、本実施形態ではWWW(World Wide Web)システムが構築されている。LAN(Local Area Network)101、102は、各構成要素を接続するためのネットワークである。認可サーバー110は、クライアント端末130の認証・認可を実現するための認可サーバーである。リソースサーバー120は、クライアント端末130のデータをバックアップするサービスや、クライアント端末130のセンサー情報を分析するサービスなど様々なサービスを提供する。クライアント端末130は、サービスを利用するための機器であり、例えば、パソコン、モバイル端末、画像形成装置などが該当する。
認可サーバー110は、クライアント端末130を認証し、クライアント端末130からの認可トークン要求を受けて、リソースサーバー120を利用するのに必要な認可トークンを発行する。本実施形態において、図1では、各サーバーがそれぞれ1台ずつ設置されている例を示しているが、例えば、負荷分散のために複数台で構成されていてもよく、また、認可サーバーシステムとしてまとめて提供されてもよい。また、認可サーバー110とリソースサーバー120が異なるネットワークに接続されていてもよい。各装置は、互いに通信可能に接続されている。
[ハードウェア構成]
図2は、本実施形態に係る、認可サーバー110、リソースサーバー120、およびクライアント端末130に適用可能な情報処理装置の一般的なハードウェア構成である。なお、ここではいずれも同じハードウェア構成として説明するが、それぞれが異なるハードウェア構成を備えてよい。
CPU(Central Processing Unit)231は、ROM(Read Only Memory)233のプログラム用ROM、或いは外部メモリ241に格納されたOS(Operating System)やアプリケーション等のプログラムを実行する。また、CPU231は、システムバス234に接続される各ブロックを制御する。後述する各シーケンスの処理は、このCPU231によるプログラムの実行により実現できる。RAM(Random Access Memory)232は、CPU231の主メモリ、ワークエリア等として機能する。操作部I/F235は、操作部239からの入力を制御するインターフェース(I/F)である。CRTコントローラ(CRTC)236は、CRTディスプレイ240の表示を制御する。ディスクコントローラ(DKC)237は、各種データを記憶するハードディスク(HD)等の外部メモリ241におけるデータアクセスを制御する。ネットワークコントローラ(NC)238は、WAN100もしくはLAN101、102を介して接続されたサーバーコンピューターや他の機器との通信制御処理を実行する。
尚、後述の全ての説明においては、特に断りのない限り実行のハード上の主体はCPU231であり、ソフトウェア上の主体は外部メモリ241にインストールされたアプリケーションプログラムである。
[ソフトウェア構成]
図3は本実施形態に係る、認可サーバー110、リソースサーバー120、クライアント端末130のソフトウェア構成の例を示す図である。なお、ここで示すソフトウェアは、本実施形態に関係する部分のみを示し、他のソフトウェアモジュールが更に含まれてもよい。
認可サーバー110は、認可サーバーモジュール111とHTTPサーバーモジュール112を含んで構成される。HTTPサーバーモジュール112は、WAN100を介してクライアント端末130と通信を行い、クライアント端末130が備えるクライアントアプリケーション131、およびトークンプロバイダー132とHTTP通信を行う。また、HTTPサーバーモジュール112は、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)による通信が可能であり、証明書ストア(不図示)を有する。
認可サーバーモジュール111は、HTTPサーバーモジュール112を介して、クライアント端末130のクライアントアプリケーション131、トークンプロバイダー132からの要求を受信し、その要求に対する結果を応答する。具体的には、認可サーバーモジュール111は、ユーザー認証の要求をトークンプロバイダー132から受信すると、認証が成功したユーザーのユーザー情報が紐づいた認可トークンを生成し、トークンプロバイダー132に認可トークンを通知する。認可トークンとは、ユーザーが認可サーバー110にログインしている事を示すためのトークン、またはユーザーが認可サーバー110において認証されているかを検証するためのトークンである。認可サーバー110は、認可トークンを用いることでユーザーを識別することが可能となる。また、認可サーバーモジュール111は、認可トークンに署名情報を付与するための秘密鍵を保持するように構成してもよい。その場合は、認可サーバーモジュール111は、この秘密鍵を用いて認可トークンに署名情報を付与し、署名情報付きの認可トークンをクライアント端末130に対して発行する。
リソースサーバー120は、リソースサーバーモジュール121を含んで構成される。リソースサーバーモジュール121は、Webサービスを提供するためのAPI(Application Programming Interface)を公開する。なお、リソースサーバー120は、認可サーバー110と同様に、HTTPサーバーモジュールを備え、HTTPサーバーモジュールを介して外部との受送信を実行する形態でもよい。
クライアント端末130は、クライアントアプリケーション131、トークンプロバイダー132、およびコントローラーファームウェア133を含んで構成される。クライアントアプリケーション131は、トークンプロバイダー132を介して認可サーバー110から認可トークンを取得する。クライアント端末130は、取得した認可トークンを用いてリソースサーバー120が公開するAPIを利用する。
トークンプロバイダー132は、クライアントアプリケーション131からの認可トークン要求を受信し、認可サーバー110と通信を行う事で認可トークンを取得する。なお、以下の説明において、「認可トークン要求」は、クライアントアプリケーション131が認可トークンを取得するためにトークンプロバイダー132に対して送信するリクエストである。一方、「トークン要求」は、トークンプロバイダー132が認可トークンを取得するために認可サーバー110に対して送信するリクエストである。このように、同じ認可トークンを取得するリクエストであっても、リクエストの受信元と送信先とが異なることでリクエストの呼称を変えていることを留意されたい。以下では、認可トークンを、リソースサーバーにアクセスするためのアクセストークンとして用いる。
トークンプロバイダー132は、ベンダーデフォルトクレデンシャルとして、トークンプロバイダー132自身の正当性を証明するためにX.509形式で定められるクライアント証明書およびその秘密鍵を備える。そして、トークンプロバイダー132が、クライアント証明書およびその秘密鍵を、認可サーバー110との通信を確立する際に利用する事で、認可サーバー110はトークンプロバイダー132を認証することができる。
図4は、本実施形態に係る、クライアント端末130、認可サーバー110、およびリソースサーバー120間の通信を説明するための図である。本実施形態において、クライアント端末130のクライアント端末130は、NTPサーバー401、イベントセンダー404、およびイベントコレクター405を含んで構成される。また、クライアント端末130のコントローラーファームウェア133は、NTPクライアント402、NTP設定403、およびイベントログ406を含んで構成される。
本実施形態に係るクライアント端末130のトークンプロバイダー132は、クライアントアプリケーション131からの認可トークン要求により、認可サーバー110に対してトークン要求を行い、認可サーバー110から認可トークンを取得する。
本実施形態に係るクライアントアプリケーション131は、クライアント端末130における各種イベントログを収集し、収集したイベントログをリソースサーバー120に送信するアプリケーションである。例えば、クライアント端末130が画像形成装置である場合、イベントログとしては、スキャン・プリントジョブイベント、トナー量が一定値以下となった場合のトナーローイベント、装置各部の異常検知イベント、交換部品の寿命経過イベント等がある。
クライアント端末130のクライアントアプリケーション131のイベントコレクター405は、コントローラーファームウェア133の各種イベントログを収集する。クライアントアプリケーション131のイベントセンダー404は、トークンプロバイダー132から取得した認可トークンを用い、イベントコレクター405の収集したイベントログ406を、定期的にリソースサーバー120に送信する。また、クライアントアプリケーション131のNTPサーバー401は、トークンプロバイダー132から取得した認可トークンを用い、リソースサーバー120から時刻同期情報を取得する。更に、NTPサーバー401は、コントローラーファームウェア133のNTPクライアント402に時刻同期情報を渡してクライアント端末130の時刻同期を行う。
ここでNTP(Network Time Protocol)とは、RFC5905で規定されているプロトコルであり、ネットワーク接続機器において、機器の持つ時刻を上位サーバーの持つ正しい時刻に同期するためのプロトコルである。本実施形態のNTPサーバー401は、リソースサーバー120内のNTPサーバー(不図示)の時刻を、HTTP(Hypertext Transfer Protocol)を用いたREST APIを用いて取得する。更に、NTPサーバー401は、コントローラーファームウェア133のNTPクライアント402にNTPプロトコルを用いて通知する。
さらに本実施形態に係るクライアントアプリケーション131のNTPサーバー401は、コントローラーファームウェア133のNTP設定403に対し、NTPサーバー401自体のIPアドレスを設定するNTP設定機能を有する。
コントローラーファームウェア133のイベントログ406には、スキャン・プリントジョブイベント、トナー量が一定値以下となった場合のトナーローイベント、装置各部の異常検知イベント、交換部品の寿命経過イベント等がログファイルの形式で記録される。なお、イベントを記録する形式は、メッセージキューのような形式でもよい。また、イベント通知は、イベントコレクター405に対する割り込みなどで通知してもよい。
コントローラーファームウェア133のNTPクライアント402は、ネットワークを経由してNTPサーバーの時刻情報を取得し、クライアント端末130のシステムクロックを修正する。これにより、クライアント端末130の時刻が、NTPサーバーの時刻に同期される。本実施形態のNTPクライアント402は、クライアント端末130の内部ネットワークを用いてNTPサーバー401の時刻を取得して時刻同期を行う。
図5は、本実施形態に係るコントローラーファームウェア133のNTP設定403のNTP設定画面500を示す。NTP設定403は、NTP設定画面500によりクライアント端末130のNTPクライアント402の各種設定を行うことができる。またNTP設定画面500の設定項目に相当する設定を、クライアントアプリケーション131のNTPサーバー401からのAPIコールにより行うことができる。
NTP設定画面500は、チェックボックス501、入力フィールド502、入力フィールド503、OKボタン504、およびキャンセルボタン505を有する。チェックボックス501は、NTPを使用する・しないを設定するためのチェックボックスである。入力フィールド502は、NTPサーバーと時刻を同期するためのポーリング間隔を入力するフィールドである。ここでは、分単位にて指定が可能となっている。入力フィールド503は、同期するNTPサーバーのIPアドレスを指定するフィールドである。OKボタン504は、NTP設定画面500にて指定した値を反映するためのボタンである。キャンセルボタン505は、NTP設定画面500にて指定した値を破棄するためのボタンである。
[時刻合わせ処理]
図6は、本実施形態に係るクライアント端末130におけるクライアント端末時刻合わせ処理のフローチャートである。本処理フローは、クライアント端末130のクライアントアプリケーション131の起動時、および、クライアント端末130のコントローラーファームウェア133のNTPクライアント402のNTPサーバー時刻取得処理動作時に定期的に実行される。NTPクライアント402によるNTPサーバー時刻取得処理の定期実行間隔は、図5に示した入力フィールド502のポーリング間隔(数値、分単位)に相当する設定に従う。本実施形態では、一つのクライアント端末130において、トークンプロバイダー132のトークン取得時と、クライアントアプリケーション131のイベントログ記録動作時の、2つの場合において異なる時刻合わせを行う。以下、その2つの時刻合わせについて説明する。なお、本実施形態では、認可シーケンスとして、JWT(JSON Web Token)を用いたOAuth2.0の認証フレームワークに準拠した方法を前提として説明するが、これに限定するものではない。
(トークン取得時の時刻修正)
本実施形態において、クライアント端末130のトークンプロバイダー132がJWT形式のアサーション(以下、JWTアサーション)を用いて認可サーバー110に認可要求を送り、認可サーバー110で認可要求の検証の後、その検証結果に応じて認可トークンを取得する。その際、JWTアサーションの意図しない再利用などのいわゆるリプレイ攻撃への対策のため、JWTアサーションの有効期限は5分としている。もし、クライアント端末130の時刻が認可サーバー110の時刻と比較して5分以上遅れており、かつ、その遅れた時刻を利用してトークンプロバイダー132がJWTアサーションを作成し、認可サーバー110に認可トークン取得要求を送ったとする。この場合、トークンプロバイダー132は、認可サーバー110から認可トークンが取得できなくなる。すなわち、有効期限を5分以上過ぎた認可トークン要求のJWTアサーションを受信した認可サーバー110は、JWTアサーションの検証において有効期限外と判定し、無効なJWTアサーションとしてトークン発行を拒否することになる。
また、クライアント端末130の時刻が認可サーバー110のJWTアサーション検証時の現時刻より未来となる時刻で、かつ、その未来の時刻を利用してトークンプロバイダー132がJWTアサーションを作成したとする。このJWTアサーションを用いて、認可サーバー110に認可トークン取得要求を送った場合も、トークンプロバイダー132は、認可サーバー110から認可トークンが取得できなくなる。すなわち、現時刻より発行時刻が未来である認可トークン要求のJWTアサーションを受信した認可サーバー110は、JWTアサーションの検証で有効期限外と判定し、無効なJWTアサーションとしてトークン発行を拒否することになる。
上記のように、クライアント端末130の時刻がJWTアサーションの有効期限外の時刻である場合、トークンプロバイダー132は、JWTアサーションの発行時刻、有効期限を正しく設定するために、JWTアサーション発行時、即時の時刻修正の必要がある。
(イベントログ記録時の時刻修正)
一方、本実施形態に係るクライアント端末130のクライアントアプリケーション131のイベントコレクター405は、コントローラーファームウェア133の各種イベントログを収集する。各種イベントログでは、クライアント端末130で発生するイベント、例えば、ジョブイベント、トナー量が一定値以下となった場合のトナーローイベント、装置各部の異常検知イベント、交換部品の寿命経過イベント等の発生時の時刻が記録されている。この時刻は、クライアント端末130の時刻が使用される。このイベントログの発生時刻は、イベント発生順を正しく記録する必要がある。本実施形態においては、クライアントアプリケーション131のイベントコレクター405の収集した各種イベントログを定期的にリソースサーバー120に送信している。クライアント端末130の各種イベントログを収集した本実施形態のリソースサーバー120は、例えば、各種イベントを解析し、消耗部品発注、故障等不具合予測を行うことができる。なお、収集したログの用途やリソースサーバー120が提供するサービスは上記に限定するものではなく、他のサービスで会ってよい。
例えば、クライアント端末130のトナーローイベントにおいてトナー量が一定値以下であることを示すイベントログ1の後、トナー量が空であることを示すイベントログ2が記録されていたとする。この場合、イベント発生時刻はイベントログ1<イベントログ2(未来を大、過去を小とした大小比較)となる。この際、リソースサーバー120の消耗部品発注(不図示)は対象トナーカートリッジを一本発注すればよいことが分かる。これに関し、イベントログ1>イベントログ2のようにイベント発生時刻が誤って逆転して記録されていた場合を考える。リソースサーバー120の消耗部品発注では、まず、イベントログ2を判定してトナーカートリッジ発注し、その後、イベントログ1を判定して本来不要であるはずのトナーカートリッジを再度発注してしまう可能性がある。また、リソースサーバー120において故障等不具合予測(不図示)を行う場合を考える。例えば、部品Aの故障(イベントA)の後部品Bが故障(イベントB)した場合に故障原因はCといったようにイベント発生順序により故障個所を特定していたとする。このときに、イベントAとイベントBの発生時刻が誤って逆転して記録されていた場合、故障原因Cの特定が不可能になってしまう。
上記のようなイベント発生順の誤った逆転を起こさないようにするためには、クライアント端末130における時刻修正手段は、イベント発生時刻逆転を考慮しない即時の時刻修正を行ってはならない。そのため、クライアント端末130は、イベント発生間隔の最小時間以下の修正を繰り返し、徐々に修正時刻に合わせるような時刻修正が必要となる。本実施形態では、リソースサーバー120が提供するサービスとして、時刻に関するログの順序性や時刻の経過の担保が必要となるサービスを想定して説明を行う。
上記示したように、トークン取得時の時刻修正は、トークン取得要求のJWTアサーションに記録する時刻として、即時に修正するような時刻修正が必要となる。一方、イベントログ記録時の時刻修正は、イベント発生時刻の逆転を考慮してイベント発生間隔の最小時間以下の修正を繰り返して徐々に修正時刻に合わせるような時刻修正が必要となる。本実施形態では、これらの2つの時刻修正方法を考慮して処理を行う。
S601にて、クライアントアプリケーション131は、クライアント端末130のNTP設定を確認する。クライアント端末130のNTP設定は、図5のNTP設定画面500に示された設定可能項目の値が内部的に管理されている。
S602にて、クライアントアプリケーション131は、NTP設定のうち、NTPを使用する・しないの設定の値を取得し、NTP設定がON(NTP設定を使用する)になっているか否かを判定する。NTPを使用しない(OFF)に設定されている場合(S602にてNO)S603へ進み、NTPを使用する(ON)に設定されている場合(S602にてYES)S604へ進む。
S603にて、クライアントアプリケーション131は、NTP設定についてNTPを使用する(ON)に設定する。つまり、NTPによる時刻の調整を行うように設定を変更する。そして、S604へ進む。
S604にて、クライアントアプリケーション131は、NTP設定のうち、NTPサーバーアドレスの設定を確認し、NTPサーバーアドレスが設定されているか否かを判定する。NTPサーバーアドレスが設定されている場合は(S604にてYES)S606へ進み、設定されていない場合は(S604にてNO)S605へ進む。
S605にて、クライアントアプリケーション131は、クライアント端末130自身を示す「localhost」、すなわちIPv4であれば「127.0.0.1」を設定する。これは、クライアント端末130の使用するNTPサーバーを、クライアントアプリケーション131のNTPサーバー401に設定することを意味する。そして、S607へ進む。
S606にて、クライアントアプリケーション131は、設定されているNTPサーバーアドレスを用いるものとして、S607へ進む。
S607にて、クライアントアプリケーション131は、NTP設定のNTPサーバーアドレス設定がクライアント端末130自身を示す「localhost」(すなわち、IPv4であれば「127.0.0.1」)であるか否かを判定する。上記設定がクライアント端末130自身を示す「localhost」である場合(S607にてYES)S608へ進み、そうでない場合は(S607にてNO)S611へ進む。このとき上記設定がクライアント端末130自身でない場合とは、NTPサーバーとして時刻同期情報の参照先が予め指定されている場合を意味する。本実施形態では、この場合には、指定されている参照先の時刻情報を用いて時刻の修正を行う。
S608にて、クライアントアプリケーション131は、トークンプロバイダー132に対し、リソースサーバー120にアクセスするための認可トークン(アクセストークン)の取得を要求する(認可トークン要求)。
S609にて、トークンプロバイダー132は、認可トークン要求を受け付けると、認可サーバー110に対し、クライアントアプリケーション131がリソースサーバー120にアクセスするための認可トークンの取得処理を行う(トークン要求)。本工程の詳細は、図7、図8を用いて後述する。クライアントアプリケーション131の認可トークンの取得後、S610へ進む。
S610にて、クライアントアプリケーション131のNTPサーバー401は、取得した認可トークンを用いて、リソースサーバー120のNTP要求APIをコールする。これに応じて、リソースサーバー120の時刻情報が取得されることとなる。そして、S611へ進む。
S611にて、コントローラーファームウェア133のNTPクライアント402は、クライアントアプリケーション131のNTPサーバー401に従い、NTPによる時刻修正を行う。本工程の具体的な動作は、図9~図11を用いて後述する。NTP時刻修正の後、本処理フローを終了する。
[トークン取得処理]
以下、図6のS609の工程におけるトークン取得処理について、図7、図8を用いて詳述する。
(アサーション検証処理)
図7は、本実施形態に係るトークン取得時の時刻修正において認可サーバー110でのJWT形式のアサーションの検証およびトークンの発行処理のフローチャートである。
まず、本実施形態にて用いるアサーションに含まれる検証情報の一例を示す。
{ “iss”:”aaa.inc”,
“sub”:”client.id”,
“aud”:”https://xxx.aaa/service-xxx”,
“iat”:1514732400,
“exp”:1514732700

ここでは、「iss」としてクライアント端末130の識別子、「sub」としてユーザー識別子、利用を想定する主体の識別子(aud)、発行時刻(iat)、有効期限(exp)が含まれる構成とする。この検証用情報に対してクライアント端末130の秘密鍵で行った署名とヘッダ情報を加えてJWTアサーションを構成する。
S701にて、認可サーバー110は、クライアント端末130から受信したトークン要求に含まれるアサーションの署名検証を行う。署名が正しい場合には(S701にてYES)S702へ進み、不正な場合には(S701にてNO)S708へ進む。
S702にて、認可サーバー110は、アサーションに含まれる検証情報の中から発行時刻(iat)を取得し、発行時刻が認可サーバー110の定める正常な発行時刻範囲内に収まっているか否かを確認する。ここで定める正常な発行時刻の範囲とは、例えば、発行時刻として許容する現在時刻からのずれを5分とする場合、「認可サーバー110の現在時刻-5分」≦t1≦「認可サーバー110の現在時刻+5分」の範囲にある値t1である。アサーションに含まれる検証情報の発行時刻(iat)が正常な時間範囲に収まっている場合は(S702にてYES)S703へ進み、範囲外の場合は(S702にてNO)S707へ進む。
S703にて、認可サーバー110は、アサーションに含まれる検証情報の中から有効期限(exp)を取得し、有効期限が認可サーバー110の定める正常な有効期限範囲内に収まっているか否かを確認する。ここで定める正常な有効期限範囲は、認可サーバー110により決定される。例えば、アサーションの有効期限を5分とする場合、正常な有効期限範囲とは、「認可サーバー110の現在時刻」≦t1≦「認可サーバー110の現在時刻+5分」の範囲にある値t1である。アサーションに含まれる有効期限が正常な時間の範囲に収まっている場合は(S703にてYES)S704へ進み、範囲外の場合は(S703にてNO)S706へ進む。
S704にて、認可サーバー110は、その他の情報についてのアサーション検証を行う。ここで行う検証の内容は特に限定するものではなく、例えば、アサーションに含まれる発行者の識別子がクライアント端末130であることを検証してもよいし、指定されたユーザー識別子が正規ユーザーであるかを検証してもよい。必要に応じて、本工程を省略してもよい。検証処理に合格した場合は(S704にてYES)S705へ進み、不合格の場合は(S704にてNO)S706へ進む。
S705にて、認可サーバー110は、トークン要求に対する応答として、クライアント端末130に対してリソースサーバー120にアクセスするための認可トークンを発行する。そして、本処理フローを終了する。
S706にて、認可サーバー110は、トークン要求に対する応答として、クライアント端末130に対してアサーションの内容が不正である旨のエラーを返す。そして、本処理フローを終了する。
S707にて、認可サーバー110は、発行時刻が正常な時間範囲に収まっていないことから、クライアント端末130の時計が正常に動作していないと判定する。そして、認可サーバー110は、トークン要求に対する応答として、クライアント端末130に対して認可サーバー110の現在時刻を含めたエラーを返す。そして、本処理フローを終了する。
S708にて、認可サーバー110は、トークン要求に対する応答として、クライアント端末130に対してアサーションの署名が不正である旨のエラーを返す。そして、本処理フローを終了する。
なお、上記のS702およびS703の処理にて用いる有効期限および発行時刻の正常範囲の定義は、上記で述べたものに準ずる必要はなく、認可サーバー110側にて他の基準に基づいて設定してよい。
(認可トークン取得処理)
図8は、本実施形態に係るトークン取得時の時刻修正においてクライアント端末130(トークンプロバイダー132)がJWTアサーションを用いて認可トークンを取得処理のフローチャートである。
S801にて、クライアント端末130は、自身の現在時刻を元に、発行時刻(iat)、有効期限(exp)を決定し、これらと、自身の識別子(iss)、ユーザー識別子(sub)、利用を想定する主体の識別子(aud)の情報を含む検証情報を生成する。そして、クライアント端末130は、生成した検証情報に対して、予め保持している秘密鍵で署名し、アサーションとして発行する。例えば、発行時刻が「2018.01.01 12:00:00」で有効時間を5分とする場合、有効期限は「2018.01.01 12:05:00」と決定される。
S802にて、クライアント端末130は、S801で発行したアサーションを認可サーバー110に送信し、トークン要求を行う。
S803にて、クライアント端末130は、トークン要求に対するレスポンスを受信する。
S804にて、クライアント端末130は、トークン取得に成功したか否かを判定する。認可トークンを取得できたと判定された場合には(S804にてYES)本処理フローを終了する。認可トークンを取得できなかったと判定された場合には(S804にてNO)S805へ進む。
S805にて、クライアント端末130は、レスポンスに認可サーバー110の現在時刻が含まれているか否かを判定する。現在時刻が含まれている場合には(S805にてYES)S806へ進み、現在時刻が含まれていない場合には(S805にてNO)本処理フローを終了する。ここで現在時刻が含まれている場合とは、図7のS707に示したように、クライアント端末130の時計が正常に動作していないものと認可サーバー110側で判定された場合に相当する。
S806にて、クライアント端末130は、認可サーバー110の現在時刻を設定した発行時刻および有効期限を予め保持している秘密鍵で署名し、アサーションを再度発行する。つまり、クライアント端末130は、認可サーバー110側の現在時刻を用いてアサーションを再発行することで、認可サーバー110とクライアント端末130との時刻の誤差を一時的に修正する。その後、S802に戻り、クライアント端末130は、再度発行したアサーションを認可サーバー110に再送する。
本処理フローにおいて、署名に使用する秘密鍵は、クライアント端末130が予め保持しているが、これに限るものではない。例えば、不図示の方法でクライアント端末130が認可サーバー110にアクセスして認証を行い、認可サーバー110から発行された秘密鍵を保持して利用してもよい。また、S805において、レスポンスに現在時刻が含まれていない場合、処理を終了しているが、認可トークン取得失敗時の対応はこれに限るものではない。例えば、別の失敗要因に起因するエラーにおいても、アサーションを修正し、再度認可トークン要求を行ってよい。
以上、図7および図8のフローにより、クライアント端末130側の現在時刻と、認可サーバー110の現在時刻との間で所定の範囲以上の誤差がある場合であっても、認可トークンを発行可能となる。
[NTP時刻修正の動作]
続いて、本実施形態に係るNTP時刻修正処理について、図9~図11を用いて詳述する。なお、本動作は、図6のS611の工程にて行われる動作に相当する。
図9は、図4で示したクライアント端末130の各モジュールに関し、NTP時刻修正処理に係るモジュールについてさらに詳細に記載した図である。図9において、クライアント端末130、クライアントアプリケーション131、コントローラーファームウェア133、NTPサーバー401、NTPクライアント402については、図4に示したモジュールと同様である。
本実施形態に係るクライアント端末130のコントローラーファームウェア133は、Linux(登録商標)のようなOSのカーネル901上で動作する。カーネル901は、システムクロック902を有する。システムクロック902は、カーネル901内部の時計で、インターバルタイマーの割り込みにより時刻をカウントアップしている。システムクロック902は、クライアント端末130の起動時にマザーボード基盤を示すハードウェア903上に実装されたハードウェアクロック(例えば、CMOSクロック)を参照し、システムクロック902を設定する。クライアント端末130の動作中は、ハードウェア903上に実装されたインターバルタイマー905の定期的な割り込みにより、システムクロック902を更新することにより、クライアント端末130の時刻がカウントアップされる。基本的に、コントローラーファームウェア133やクライアントアプリケーション131がクライアント端末130の時刻として取得、利用するのは、カーネル901のシステムクロック902の値である。
本実施形態に係るNTP時刻修正処理は、NTPクライアント402により定期的に実行される。NTPクライアント402は、NTPサーバー401から、ポーリング間隔(図5に示した入力フィールド502の設定に相当)に従い、定期的に設定済みのNTPサーバー時刻を取得する。NTPクライアント402は、受信したNTPサーバー401の時刻に従い、adjtimex()を用いたシステムコールにより定期的にカーネル901内部のメモリに保持するシステムクロック902の値を修正する。
(システムクロックの遅れを修正する場合)
図10は、NTPサーバー401の時刻よりシステムクロック902が示す時刻が遅れていた場合の、NTPクライアント402がシステムクロック902を修正する修正動作を説明するための図である。
NTPクライアント402は、NTPサーバー401より時刻「2018-08-29 08:56:25」に相当するパラメーターを取得する。その際、システムクロック902の時刻が「2018-08-29 08:50:25」であったとすると、NTPサーバー401の時刻に比べてシステムクロック902は6分の遅れがあることになる。これを修正する場合、NTPクライアント402が1秒毎にadjtimex()システムコールにより、システムクロック902に対し、1秒当たり+0.05秒の修正を行う。これを7200回繰り返すことにより、7200秒後に当初6分の遅れ段階的に解消させ、時刻を調整することができる。
(システムクロックの進みを修正する場合)
図11は、NTPサーバー401の時刻よりシステムクロック902が進んでいた場合の、NTPクライアント402がシステムクロック902を修正する修正動作を説明するための図である。
NTPクライアント402は、NTPサーバー401より時刻「2018-08-29 08:56:25」に相当するパラメーターを取得する。その際、システムクロック902の時刻が「2018-08-29 09:02:25」であったとすると、NTPサーバー401の時刻に比べてシステムクロック902は6分の進みがあることになる。これを修正する場合、NTPクライアント402が1秒毎にadjtimex()システムコールにより、システムクロック902に対し、1秒当たり-0.05秒の修正を行う。これを7200回繰り返すことにより、7200秒後に当初6分の進みを段階的に解消させ、時刻を調整することができる。
図10、図11にて説明したように、徐々に時刻修正を行う。その結果、コントローラーファームウェア133のイベントログ406に記録される各種イベントの間隔が0.05秒以下の場合、イベント発生時刻順を逆転させることなく、各種イベントを記録することができる。
以上、本実施形態により、異なる2つの時刻修正を要する場合にも、安全で、かつ、確実に時刻合わせを行うことが可能となる。
<第2の実施形態>
本発明の第2の実施形態について説明する。本実施形態では、トークン取得時の時刻修正の方法が第1の実施形態とは異なる形態について説明する。なお、第1の実施形態と重複する構成については、説明を省略する。本実施形態では、クライアント端末130は、時計もしくはクライアント起動時からのカウントを取得するカウンターを保持しているものとする。
[処理フロー]
(認可トークン取得処理)
図12は、本実施形態に係るトークン取得時の時刻修正の実施形態においてクライアント端末130がJWTアサーションを用いて認可トークンを取得処理のフローチャートである。第1の実施形態の図8の代わりに実行され、図8と同じ処理については、同じ参照番号を付している。
S1201にて、クライアント端末130は、時刻補正情報が記憶されているかを確認する。時刻補正情報は、認可サーバー110とクライアント端末130の時刻の差異を記録した値である。この値は、初回時には保持されておらず、処理が繰り返されることで記憶される。時刻補正情報が記憶されていると判定された場合には(S1201にてYES)S1202へ進み、記憶しないと判定された場合には(S1201にてNO)S801へ進む。
S1202にて、クライアント端末130は、自身の現在時刻を時刻補正情報で補正した現在時刻を元に、発行時刻(iat)、有効期限(exp)を決定する。そして、クライアント端末130は、これらと、自身の識別子(iss)、ユーザー識別子(sub)、利用を想定する主体の識別子(aud)の情報を含む検証情報を生成する。そして、クライアント端末130は、生成した検証情報に対して、予め保持している秘密鍵で署名し、アサーションとして発行する。
以下の表1は、本実施形態に係る補正時刻情報を管理する時刻補正テーブルの一例である。
Figure 0007245032000001
例えば、クライアント端末130の現在時刻が「2018.01.01 12:00:00」であり、時刻補正テーブルにて保持されている補正時刻情報が「+32400秒」(9時間に相当)であるとする。この場合、補正後の時刻は9時間後の「2018.01.01 21:00:00」となる。これにより、認可サーバー110との時刻ずれを補正することができる。その後、S802へ進む。
S805にて、レスポンスに認可サーバー110の現在時刻が含まれていると判定された場合(S805にてYES)S1203へ進む。S1203にて、クライアント端末130は、S803にて取得したレスポンスにて示される認可サーバー110の現在時刻と、クライアント端末130の現在時刻の差を時刻補正情報として時刻補正テーブルに保持する。例えば、クライアント端末130の現在時刻が「2018.01.01 1:00:00」であり、認可サーバー110の現在時刻が「2018.01.01 10:00:00」であるとする。この場合、その差が算出され、「+32400秒」という時刻補正情報が時刻補正テーブルに保持される。その後、S1201へ戻る。
[本実施形態に係る別の構成例]
本実施形態の上記の例では、クライアント端末130が時計を保有していることを想定しているが、時計を持たない端末においてもクライアント端末のカウンター値をUNIX時刻として処理を行うことで同様に補正することができる。以下の表2は、カウンター値での時刻補正を行う場合の時刻補正テーブルの構成例を示す。
Figure 0007245032000002
例えば、クライアント端末130のカウンター値が“30”のとき、カウント開始時刻「1970.01.01 00:00:00」から算出して現在時刻を「1970.01.01 0:00:30」として扱い処理を行う。そして、認可サーバー110の現在時刻「2018.01.01 10:00:00」との差分から「+1514768370秒」という時刻補正情報を得ることができる。
以上、本実施形態により、異なる2つの時刻修正を要する場合にも、安全で、かつ、確実に時刻合わせを行うことが可能となる。
<その他の実施形態>
本発明は上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
110…認可サーバー、120…リソースサーバー、130…クライアント端末、131 クライアントアプリケーション、132…トークンプロバイダー、133…コントローラーファームウェア、401…NTPサーバー、402…NTPクライアント

Claims (11)

  1. 認可サーバーおよびリソースサーバーと通信可能に接続された情報処理装置であって、
    前記リソースサーバーが提供するサービスを利用するためのトークンの要求を、前記情報処理装置の時刻に基づいて生成された有効期限を含めて前記認可サーバーに送信する要求手段と、
    前記要求手段による要求の応答として前記認可サーバーの時刻情報を受信した場合、前記トークンの要求を、当該認可サーバーの時刻情報に基づいて生成された有効期限を含めて再送する送信手段と、
    前記要求に対する応答として取得した前記トークンを用いて、前記リソースサーバーに対して前記リソースサーバーの時刻情報を要求し、当該リソースサーバーの時刻情報に基づいて前記情報処理装置の時刻を修正する修正手段と
    を有することを特徴とする情報処理装置。
  2. 前記修正手段は、前記情報処理装置の時刻を前記リソースサーバーの時刻に段階的に近づけて時刻を合わせるように修正することを特徴とする請求項1に記載の情報処理装置。
  3. 前記要求手段による要求の応答として受信された前記認可サーバーの時刻情報は、前記情報処理装置の時刻を修正するための情報としては用いられないことを特徴とする請求項1または2に記載の情報処理装置。
  4. 時刻の修正に関する設定を受け付ける設定手段を更に有し、
    時刻の修正を行わない設定が指定されている際に、前記リソースサーバーが提供するサービスを利用する場合、前記設定手段は、前記時刻の修正を行う設定に変更することを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
  5. 前記修正手段は、前記設定手段にて時刻の修正を行う設定が指定され、かつ、時刻情報の参照先が指定されている場合、当該参照先にて提供される時刻情報に基づいて前記情報処理装置の時刻を修正することを特徴とする請求項4に記載の情報処理装置。
  6. 前記リソースサーバーが提供するサービスは、前記情報処理装置にて時刻と対応づけて記録されたログの収集を含むことを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
  7. 前記要求手段による要求の応答として前記認可サーバーの時刻情報を受信した場合、当該認可サーバーの時刻情報と前記情報処理装置の時刻との差を補正情報として保持する保持手段を更に有し、
    前記送信手段は、前記情報処理装置の時刻を前記補正情報を用いて補正した時刻を用いて生成された有効期限を含めて、前記トークンの要求を再送することを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
  8. 情報処理装置、認可サーバー、およびリソースサーバーが通信可能に接続されたシステムであって、
    前記情報処理装置は、
    前記リソースサーバーが提供するサービスを利用するためのトークンの要求を、前記情報処理装置の時刻に基づいて生成された有効期限を含めて前記認可サーバーに送信する要求手段と、
    前記要求手段による要求の応答として前記認可サーバーの時刻情報を受信した場合、前記トークンの要求を、当該認可サーバーの時刻情報に基づいて生成された有効期限を含めて再送する送信手段と、
    前記要求に対する応答として取得した前記トークンを用いて、前記リソースサーバーに対して前記リソースサーバーの時刻情報を要求し、当該リソースサーバーの時刻情報に基づいて前記情報処理装置の時刻を修正する修正手段と
    を有し、
    前記認可サーバーは、
    リソースサーバーが提供するサービスを利用するためのトークンの要求を前記情報処理装置から受け付けた場合、当該要求の検証を行う検証手段と、
    前記検証手段による検証結果に応じて前記トークンを発行する発行手段と
    を有し、
    前記発行手段は、前記検証手段により前記要求に含まれる当該要求の有効期限の設定が前記認可サーバーの時刻に基づいて定義される範囲に含まれないと判定された場合、前記認可サーバーの時刻情報を前記情報処理装置に送信することを特徴とするシステム。
  9. 認可サーバーおよびリソースサーバーと通信可能に接続された情報処理装置における時刻修正方法であって、
    前記リソースサーバーが提供するサービスを利用するためのトークンの要求を、前記情報処理装置の時刻に基づいて生成された有効期限を含めて前記認可サーバーに送信する要求工程と、
    前記要求工程による要求の応答として前記認可サーバーの時刻情報を受信した場合、前記トークンの要求を、当該認可サーバーの時刻情報に基づいて生成された有効期限を含めて再送する送信工程と、
    前記要求に対する応答として取得した前記トークンを用いて、前記リソースサーバーに対して前記リソースサーバーの時刻情報を要求し、当該リソースサーバーの時刻情報に基づいて前記情報処理装置の時刻を修正する修正工程と
    を有することを特徴とする時刻修正方法。
  10. 情報処理装置、認可サーバー、およびリソースサーバーが通信可能に接続されたシステムにおける前記情報処理装置の時刻修正方法であって、
    前記情報処理装置において、
    前記リソースサーバーが提供するサービスを利用するためのトークンの要求を、前記情報処理装置の時刻に基づいて生成された有効期限を含めて前記認可サーバーに送信する要求工程と、
    前記要求工程による要求の応答として前記認可サーバーの時刻情報を受信した場合、前記トークンの要求を、当該認可サーバーの時刻情報に基づいて生成された有効期限を含めて再送する送信工程と、
    前記要求に対する応答として取得した前記トークンを用いて、前記リソースサーバーに対して前記リソースサーバーの時刻情報を要求し、当該リソースサーバーの時刻情報に基づいて前記情報処理装置の時刻を修正する修正工程と
    を有し、
    前記認可サーバーにおいて、
    リソースサーバーが提供するサービスを利用するためのトークンの要求を前記情報処理装置から受け付けた場合、当該要求の検証を行う検証工程と、
    前記検証工程による検証結果に応じて前記トークンを発行する発行工程と
    を有し、
    前記発行工程において、前記検証工程により前記要求に含まれる当該要求の有効期限の設定が前記認可サーバーの時刻に基づいて定義される範囲に含まれないと判定された場合、前記認可サーバーの時刻情報を前記情報処理装置に送信することを特徴とする時刻修正方法。
  11. コンピューターを、
    リソースサーバーが提供するサービスを利用するためのトークンの要求を、前記コンピューターの時刻に基づいて生成された有効期限を含めて認可サーバーに送信する要求手段、
    前記要求手段による要求の応答として前記認可サーバーの時刻情報を受信した場合、前記トークンの要求を、当該認可サーバーの時刻情報に基づいて生成された有効期限を含めて再送する送信手段、
    前記要求に対する応答として取得した前記トークンを用いて、前記リソースサーバーに対して前記リソースサーバーの時刻情報を要求し、当該リソースサーバーの時刻情報に基づいて前記コンピューターの時刻を修正する修正手段
    として機能させるためのプログラム。
JP2018218488A 2018-11-21 2018-11-21 情報処理装置、システム、時刻修正方法、および、プログラム Active JP7245032B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018218488A JP7245032B2 (ja) 2018-11-21 2018-11-21 情報処理装置、システム、時刻修正方法、および、プログラム
US16/683,664 US11388154B2 (en) 2018-11-21 2019-11-14 Information processing apparatus, system, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018218488A JP7245032B2 (ja) 2018-11-21 2018-11-21 情報処理装置、システム、時刻修正方法、および、プログラム

Publications (2)

Publication Number Publication Date
JP2020086783A JP2020086783A (ja) 2020-06-04
JP7245032B2 true JP7245032B2 (ja) 2023-03-23

Family

ID=70727000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018218488A Active JP7245032B2 (ja) 2018-11-21 2018-11-21 情報処理装置、システム、時刻修正方法、および、プログラム

Country Status (2)

Country Link
US (1) US11388154B2 (ja)
JP (1) JP7245032B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6983685B2 (ja) * 2018-01-31 2021-12-17 キヤノン株式会社 情報処理システム、クライアント装置、認証認可サーバー、制御方法とそのプログラム
US11074064B1 (en) 2020-03-10 2021-07-27 Dell Products, L.P. Safe window for creating a firmware update package
CN113489657B (zh) * 2021-06-29 2022-09-09 中国银联股份有限公司 一种分布式流速控制系统及其运行方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009069892A (ja) 2007-09-10 2009-04-02 Ricoh Co Ltd ログ時刻調整方法、サーバおよび情報処理システム
JP5754206B2 (ja) * 2011-03-29 2015-07-29 富士通株式会社 アドホックネットワークにおける時刻同期方法および装置
US9887992B1 (en) * 2012-07-11 2018-02-06 Microstrategy Incorporated Sight codes for website authentication
US9910419B2 (en) * 2013-09-09 2018-03-06 Harnischfeger Technologies, Inc. System and method of synchronizing time between multiple systems
WO2016144709A1 (en) * 2015-03-06 2016-09-15 Gatekeeper Systems, Inc. Low-energy consumption location of movable objects
KR102424055B1 (ko) * 2015-12-08 2022-07-25 한국전자통신연구원 두 개의 api 토큰을 이용한 api 인증 장치 및 방법
EP3488590B1 (en) * 2016-10-14 2022-01-12 PerimeterX, Inc. Securing ordered resource access
US10812473B2 (en) * 2018-06-15 2020-10-20 Oracle International Corporation Auto inline enrollment of time-based one-time password (TOTP) for multi-factor authentication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RFC 4120 - The Kerberos Network Authentication Service (V5) 日本語訳,2005年07月,https://tex2e.github.io/rfc-translater/html/rfc4120.html

Also Published As

Publication number Publication date
US11388154B2 (en) 2022-07-12
US20200162441A1 (en) 2020-05-21
JP2020086783A (ja) 2020-06-04

Similar Documents

Publication Publication Date Title
US11838430B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP7245032B2 (ja) 情報処理装置、システム、時刻修正方法、および、プログラム
US11277404B2 (en) System and data processing method
US11003400B2 (en) Resource service system, control method, and storage medium
RU2719297C1 (ru) Устройство для обработки информации, способ для управления устройством для обработки информации и носитель данных
US20180359101A1 (en) Information processing apparatus, setting apparatus, control method for information processing apparatus, control method for setting apparatus, and storage medium
JP2020177537A (ja) 認証認可サーバー、クライアント、サービス提供システム、アクセス管理方法とプログラム
US11570126B2 (en) System, client terminal, control method, and storage medium
US20220345319A1 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
US20200007347A1 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
US11212116B2 (en) Information processing apparatus, control method for controlling information processing apparatus, and storage medium
EP2107493A1 (en) Business management system
JP7409618B2 (ja) 情報処理装置およびその制御方法とプログラム
US20190386835A1 (en) Information processing apparatus, method for controlling the same, and program therefor
US11108563B2 (en) Information processing system, client device, authentication and authorization server, control method, and storage medium
US20200287847A1 (en) System and control method
JP2007028049A (ja) 証明書管理装置、方法及びプログラム
JP2017191997A (ja) 管理装置、撮影装置およびそれらの制御方法、撮影システム、プログラム
JP2016072757A (ja) 情報処理装置、その制御方法、及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230310

R151 Written notification of patent or utility model registration

Ref document number: 7245032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151