JP7199949B2 - 情報処理装置、システム、情報処理装置の制御方法、システムの制御方法及びプログラム - Google Patents

情報処理装置、システム、情報処理装置の制御方法、システムの制御方法及びプログラム Download PDF

Info

Publication number
JP7199949B2
JP7199949B2 JP2018232344A JP2018232344A JP7199949B2 JP 7199949 B2 JP7199949 B2 JP 7199949B2 JP 2018232344 A JP2018232344 A JP 2018232344A JP 2018232344 A JP2018232344 A JP 2018232344A JP 7199949 B2 JP7199949 B2 JP 7199949B2
Authority
JP
Japan
Prior art keywords
request
authentication
external terminal
information
print
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
JP2018232344A
Other languages
English (en)
Other versions
JP2020095433A (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 JP2018232344A priority Critical patent/JP7199949B2/ja
Priority to US16/706,059 priority patent/US11528266B2/en
Publication of JP2020095433A publication Critical patent/JP2020095433A/ja
Application granted granted Critical
Publication of JP7199949B2 publication Critical patent/JP7199949B2/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1267Job repository, e.g. non-scheduled jobs, delay printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/129Remote printer device, e.g. being remote from client or server in server-printer device-client configuration, e.g. print flow goes from server to printer and then bidirectional from printer to client, i.e. the client does not communicate with the server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/4406Restricting access, e.g. according to user identity
    • H04N1/442Restricting access, e.g. according to user identity using a biometric data reading device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Information Transfer Between Computers (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、ウェブブラウザが実行される情報処理装置、システム、情報処理装置の制御方法、システムの制御方法及びプログラムに関する。
近年、Webアプリケーションが提供するJavaScriptプログラムからコンピュータに接続されたBluetoothデバイスやUSBデバイスを操作することができるWebBluetooth/WebUSB APIという技術がある。Bluetooth(ブルートゥース)、JavaScriptは登録商標である。
この技術では、Webアプリケーションが、ユーザーの所有するBluetoothデバイスやUSBデバイスを操作することになる。そのため、WebBluetooth/WebUSB APIでは、WebアプリケーションがBluetoothデバイスやUSBデバイスを操作する前に、Webブラウザーが許可プロンプトを表示してユーザーに許可を求めるようになっている。一度ユーザーに許可されると、Webブラウザーによっては、その許可されたWebアプリケーションとそのデバイスの情報を記憶しておき、次回、そのWebアプリケーションがそのデバイスを操作する際に許可を求めずに処理を継続する。これにより利便性を向上させている。
一方で、生体認証を含む新たな認証システムとして、FIDO(Fast Identity Online)が注目されている。生体認証で用いられる指紋や静脈といった生体情報は、外部に情報が流出してしまった場合に、ID/パスワード認証におけるパスワードと異なり情報を書き換えることができないため、情報漏洩が致命的になる。これに対して、FIDOは、予めユーザーの近くにあるデバイスとサーバーとの間で登録作業を行うことで、デバイスには生体情報と紐づいた秘密鍵、サーバーには公開鍵が登録される。そして、認証では、インターネットを経由してサーバー上で行うのではなく、ユーザーの近くにあるデバイス上で行い、ネットワーク上には秘密鍵で署名された認証結果が流れる。つまり、FIDOでは生体情報がネットワーク上を流れることがないため、情報漏洩のリスクが少ないと言える。このようなFIDOを用いたシステムとして特許文献1がある。
特許文献1では、一時的に使用する機器に生体情報や秘密鍵を保持するのではなく、ユーザーが所有する携帯端末等に生体情報や秘密鍵を保持することで、安全性を向上させている。これは、一時的に使用する機器だけでなく、公共の場に配置されている機器においても同様で、ユーザーが所有する携帯端末等に生体情報や秘密鍵を保持することで安全性を向上させることができる。
特開2018-28786号公報
ここで、公共の場に配置されている機器や一時的に使用する機器と携帯端末とがBluetoothやUSBで接続され、WebBluetooth API/WebUSB APIを用いた場合を想定する。例えば、コンビニエンスストア等の公共の場にある複合機等で印刷サービス等のサービスを利用する場合に、ユーザー自身の携帯端末を用いたFIDO等での認証を活用する場合を説明する。この場合、複合機等への認証情報(パスワードや指紋などの生体情報)の登録なしに、もしくは、ネットワークに対する認証情報の送信なしに、個人識別された上でのサービスを受けることが可能となる。複合機等とユーザーの携帯端末との通信では、WebBluetooth API/WebUSB APIが利用される。これによって、画像処理装置のWebブラウザーを経由して、印刷サービスのためのWebアプリケーションがユーザーの携帯端末と連携できる。WebBluetooth API/WebUSB APIでは、WebアプリケーションがWebブラウザーを介してBluetooth/USBデバイスへのアクセスを行う際、ブラウザーがアクセスを許可できるか確認するための許可プロンプトを提供する。すなわち、このようなシステムでは、FIDOでの認証の前に、Webブラウザーは、Webアプリケーションから携帯端末へのアクセス要求に応じて、許可プロンプトを表示してユーザーに許可を求めることになる。Webブラウザーでは、上述のように許可プロンプトを用いてユーザーからの許可を得ることで、信頼されたWebアプリケーションを特定している。許可プロンプトを介して、ユーザーによって許可されると、Webブラウザーが許可情報を記憶しておき、該Webアプリケーションによる同じBluetooth/USBデバイスへの次回アクセスでは、許可プロンプトを表示しない。すなわち、ユーザーから許可されると、その許可されたWebアプリケーションとその携帯端末の情報は、公共の場に設置されている複合機等のWebブラウザーに保存されることになる。コンビニエンスストア等の公共の場にある複合機等のWebブラウザーに許可情報、つまりは個人所有のBluetooth/USBデバイスに関する情報を残すことは、必ずしもセキュアとは言えず、セキュリティ上、好ましくない。そのため、上述のような許可プロンプトに頼らず、信頼されたWebアプリケーションを特定する技術が必要とされていた。
本発明は、上記の課題を解決するためになされたものである。本発明は、許可プロンプトに頼らず信頼されたWebアプリケーションを特定可能となり、公共の場にも設置され得る機器を利用するシステムにおいて、ユーザーにとって利便性がよく、セキュアな認証環境を構築する仕組みを提供することを目的とする。
本発明は、ウェブブラウザが実行される情報処理装置であって、前記情報処理装置に接続される外部端末で認証処理を行うために、ウェブアプリケーションが前記ウェブブラウザを介して前記外部端末にアクセスする場合に、該外部端末にサービスの情報の要求を送信する第1要求手段と、前記要求に応じて前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブアプリケーションからの要求に従い前記外部端末に認証要求を送信する第2要求手段と、前記認証要求に応じて前記外部端末から受信した認証結果を、前記ウェブアプリケーションに送信する送信手段と、を有することを特徴とする。
本発明によれば、許可プロンプトに頼らず信頼されたWebアプリケーションを特定可能となり、公共の場にも設置され得る機器を利用するシステムにおいて、ユーザーにとって利便性がよく、セキュアな認証環境を構築することができる。
本実施形態のシステムの全体構成の一例を示す図。 本実施形態のシステムに含まれる各装置のハードウェア構成図。 本実施形態のシステムに含まれる各装置のハードウェア構成図。 本実施形態のシステムに含まれる各装置の機能構成図。 本実施形態のシステムに含まれる各装置の機能構成図。 プリントデータの登録処理を例示するシーケンス図。 クライアントPCに表示されるUIを例示する図。 オーセンティケータの登録処理を例示するシーケンス図。 オーセンティケータの登録のパラメータを例示する図。 オーセンティケータの登録時の携帯端末のUIを例示する図。 第1実施形態におけるプリントデータのプリント処理を例示するシーケンス図。 第1実施形態におけるMFPのUIを例示する図。 生体認証時のパラメータを例示する図。 登録確認処理、生体認証処理を例示するフローチャート。 生体認証時の携帯端末のUIを例示する図。 他の実施形態におけるプリントデータのプリント処理を例示するシーケンス図。 他の実施形態におけるMFPのUIを例示する図。
以下、本発明を実施するための形態について図面を用いて説明する。
〔第1実施形態〕
<システム構成>
図1は、本発明の一実施形態を示すシステムの全体構成の一例を示す図である。
本実施形態のシステムは、画像処理装置の一例であるMFP(Multifunction Peripheral)101と、携帯端末102、プリントシステム103、クライアントPC104を含む。
ネットワーク105は、例えば、インターネット・イントラネットなどのネットワークである。ネットワーク106は、MFP等の機器(デバイス)を接続する末端のネットワークである。ネットワーク106は、有線通信のネットワークに限らず、無線LANや携帯電話通信ネットワークなどの無線通信網の場合もある。
107は、MFP101と携帯端末102を接続する有線あるいは無線の接続を示す。本実施形態では、Bluetooth(ブルートゥース)接続を例に説明するが、有線接続であるUSB等も適用可能である。本実施形態では、コンビニエンスストアや図書館などの公共の場にMFP101が配置されており、そのMFP101がプリントシステム103に接続し、プルプリントする例について記載する。その際、認証は、MFP101に接続される外部端末(携帯端末102)で行う。
<情報処理装置の内部構成>
図2A(a)は、プリントシステム103を提供するサーバーPCやクライアントPC104を構成する情報処理装置の構成の一例を示す図である。これらは、一般的な情報処理装置のハードウェアで構成することができる。
CPU201は、ROM203内に記憶されたプログラムや、外部メモリ210からRAM202にロードされたOS(オペレーティングシステム)やアプリケーション等のプログラムを実行する。すなわち、CPU201が、読み取り可能な記憶媒体に格納された該プログラムを実行することにより、後述する各フローチャートの処理を実行する各処理部として機能する。
RAM202は、CPU201のメインメモリであり、ワークエリア等として機能する。ROM203は、各種プログラムやデータを記憶する不揮発性メモリである。
キーボードコントローラ204は、キーボード208や図示しないポインティングデバイス(マウス、タッチパッド、タッチパネル、トラックボールなど)からの操作入力を制御する。
ディスプレイコントローラ205は、ディスプレイ209の表示を制御する。ディスクコントローラ206は、各種データを記憶するハードディスク(HD)やソリッドステートドライブ(SSD)、フレキシブルディスク(FD)等の外部メモリ210へのデータアクセスを制御する。ネットワークI/F207は、ネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
なお、プリントシステム103は、1台のコンピュータにより実現されるものであっても、複数のコンピュータにより実現されるものであってもよい。例えば、プリントシステム103は、クラウドサービス等を利用して実現される構成でもよい。
<画像処理装置(複合機)の内部構成>
図2A(b)は、MFP101の構成の一例を示す図である。
CPU221は、ROM223に格納されているプログラム(後述する各処理を実現するプログラムも含む)を備え、内部バス231を介して各デバイスを総括的に制御する。
RAM222は、CPU221のメモリやワークエリアとして機能する。ROM223は、各種プログラムやデータを記憶する不揮発性メモリである。
ネットワークI/F225は、外部のネットワーク機器と片方向または双方向にデータをやり取りする。
近接通信I/F226は、Bluetoothなどの近接通信用のネットワークI/Fであり、携帯端末102等と通信してデータのやり取りを行う。
デバイス制御227は、印刷部228を制御する。記憶装置224は、ハードディスク(HD)やソリッドステートドライブ(SSD)等で構成され、外部記憶装置として機能する。CPU221は、RAM222やROM223と共にプログラムの実行処理を行うとともに、記憶装置224等の記録媒体に画像データを記録する処理を行う。
入出力装置230は、MFP101における入出力を担う複数の構成を示す。具体的には、ユーザーからの入力(ボタン入力など)を受け付け、該入力に対応する信号を入出力I/F229によって前述した各処理部へ伝える。その他にも、ユーザーに対して必要な情報を提供したり、ユーザー操作を受付けたりするための表示装置(タッチパネルなど)も、入出力装置230に含まれる。さらに、原稿を読み取り、入力として電子データを受付けるためのスキャン装置も、入出力装置230に含まれてよい。
<携帯端末の内部構成>
図2B(c)は、携帯端末102の内部構成を示す図である。
CPU242は、ROM244に格納されているプログラム(後述する各処理を実現するプログラムも含む)を備え、内部バス241を介して各デバイスを総括的に制御する。
RAM243は、CPU242のメモリやワークエリアとして機能する。ROM244は、各種プログラムやデータを記憶する不揮発性メモリである。
ネットワークI/F247は、WiFiなどを用いた、外部のネットワーク機器と片方向または双方向にデータをやり取りする。CPU242は、RAM243やROM244と共にプログラムの実行処理を行うとともに、記憶装置245等の記録媒体にデータを記録する処理を行う。記憶装置224は、外部記憶装置として機能し、SDカードなどで構成される。
TPM(Trusted Platform Module)246は、機密情報を処理したり格納したりする目的で、格納したデータを外部から読み取られることを防ぐ耐タンパー性を備えた記憶装置である。本実施形態では、TPM246には、生体認証に用いる生体情報自体、またはその生体情報の特徴量や、その生体情報に対応する秘密鍵などが格納される。生体情報自体、またはその生体情報の特徴量など生体認証処理に必要で、TPM246に格納されるデータを生体情報と呼ぶ。
生体情報センサ248は、ユーザーの生体情報を読取るセンサであり、例えばユーザーの指紋、虹彩、静脈の情報を読み取り信号に変換する。
タッチパネル249は、表示と入力の2つの機能を備えており、アプリケーションの画面やキーボードなどを表示したりするとともに、ユーザーが画面に手や専用のペンで圧力を加えることにより、触れられた画面位置情報を外部へ情報信号として出力する。該出力された信号情報をアプリケーションが利用することで、ユーザーはタッチパネル249を通じてアプリケーションを操作することができる。
近接通信I/F250は、MFP101のそれと同様に、Bluetoothなどの近接通信用の通信方式に対応したI/Fであり、本実施形態においては、MFP101とこのI/Fを介して通信を行う。
<MFPの機能構成>
図3A(a)は、MFP101の機能構成の一例を示すブロック図である。
MFP101は、本発明の情報処理装置として適用可能な画像処理装置であり、ブラウザー300(「Webブラウザー」又は「ウェブブラウザ」ともいう)が動作する。ブラウザー300は、MFP101が有しているROM223等に記憶されているプログラムを、CPU221がRAM222に読み出して実行することによって実現される。
ブラウザー300は、表示部301、スクリプト実行部302、生体認証制御部303、Bluetooth制御部304、プリント制御部305、通信部306を有する。
表示部301は、後述する図3B(c)に示す、プリントシステム103のプリントサービス370などが提供するHTML(HyperText Markup Language)を表示するソフトウェアモジュールである。なお、プリントサービス370については、図3B(c)を用いて後述する。本実施形態では、表示部301は、プリントデータの一覧のUIや、プリントの実行を受け付けるためのUIを表示する。
スクリプト実行部302は、プリントシステム103のプリントサービス370などが提供するJavaScriptを解析し、実行するソフトウェアモジュールである。本実施形態では、プリントシステム103が提供するJavaScriptを解析して、生体認証制御部303、Bluetooth制御部304、プリント制御部305を呼び出す。
生体認証制御部303は、携帯端末102のオーセンティケータ(Authenticator)に生体認証の要求を行い、生体認証の結果を受け取るソフトウェアモジュールである。本実施形態では、後述する図3A(b)に示すオーセンティケータ350に対して生体認証の要求を行う例を記載する。
Bluetooth制御部304は、Bluetoothを搭載した機器との接続、その機器の制御を行うためのソフトウェアである。Bluetooth制御部304は、JavaScriptから呼び出すことが可能なインターフェースを提供しており、スクリプト実行部302より呼び出される。
プリント制御部305は、プリントデータのプリントを実行するソフトウェアモジュールである。
通信部306は、プリントシステム103などの外部のシステムと通信するためのソフトウェアモジュールである。
<携帯端末の機能構成>
図3A(b)は、携帯端末102の機能構成の一例を示すブロック図である。
携帯端末102では、ブラウザー340とオーセンティケータ350が動作する。ブラウザー340及びオーセンティケータ350は、携帯端末102が有しているROM244等に記憶されているプログラムを、CPU242がRAM243に読み出して実行することによって実現される。
ブラウザー340は、表示部341、スクリプト実行部342、通信部343、オーセンティケータ登録制御部344を有する。
表示部341は、通信部343が取得したHTML文書を表示したり、ユーザーの操作を受け付けたりするソフトウェアモジュールである。スクリプト実行部342は、プリントシステム103のプリントサービス370などが提供するJavaScriptを解析し、実行するソフトウェアモジュールである。通信部343は、プリントシステム103などの外部の装置と通信するためのソフトウェアモジュールである。オーセンティケータ登録制御部344は、オーセンティケータに対して後述するクレデンシャルの作成要求を行うソフトウェアモジュールである。本実施形態では、オーセンティケータ350に対してクレデンシャルの作成要求を行う例を記載する。
オーセンティケータ350は、生体情報センサ248を用いた生体認証をサポートした認証モジュールであり、オーセンティケータ登録処理部351、生体認証処理部352、認証情報格納部353、生体情報要求部354を有する。
オーセンティケータ登録処理部351は、ブラウザー340のオーセンティケータ登録制御部344などからのクレデンシャルの作成要求を受け付け、ペアの鍵(秘密鍵及び公開鍵)の作成やクレデンシャルの作成を行うソフトウェアモジュールである。生体認証処理部352は、MFP101のブラウザー300の生体認証制御部303などからの生体認証要求を受け付けて、生体認証を行うソフトウェアモジュールである。認証情報格納部353は、表1を用いて後述する認証情報を格納するソフトウェアモジュールである。生体情報要求部354は、ユーザーに生体情報の入力を受け付けるためのUIを表示するソフトウェアモジュールである。
<プリントシステムの機能構成>
図3B(c)は、プリントシステム103の機能構成の一例を示すブロック図である。
プリントシステム103では、プリントサービス370が動作する。プリントサービス370は、プルプリントのサービスを提供するWebアプリケーション(「ウェブアプリケーション」ともいう)であり、Webブラウザーを介して利用可能である。プリントサービス370は、プリントサービス370を提供するサーバーPC(プリントシステム103)が有している外部メモリ210等に記憶されているプログラムを、CPU201がRAM202に読み出して実行することによって実現する。なお、本実施形態では、Webアプリケーションの一例としてプリントサービスを用いて説明するが、Webアプリケーションはプリントサービスに限定されるものではなく、他のサービスであってもよい。
プリントサービス370は、レガシー認証処理部371、オーセンティケータ情報処理部372、プリントデータ処理部373、通信部374を有する。プリントサービス370は、さらにユーザー情報格納部375、オーセンティケータ情報格納部376、プリントデータ格納部377、プレゼンテーション部378、トークン管理部379を有する。
なお、本実施形態では、生体認証と区別するため、ユーザーIDとパスワードの一致を検証する認証を「レガシー認証」と記載する。レガシー認証処理部371は、通信部374が受信したレガシー認証要求に含まれるユーザーID、パスワードと、ユーザー情報格納部375に格納されているユーザーID、パスワードが一致するかを検証するソフトウェアモジュールである。
オーセンティケータ情報処理部372は、通信部374が受信したクレデンシャルを用いて、オーセンティケータに関する情報をオーセンティケータ情報格納部376に格納するソフトウェアモジュールである。また、オーセンティケータ情報処理部372は、通信部374が受信した後述するアサーション情報(Assertion)を検証する。
プリントデータ処理部373は、通信部374が受信したプリントデータの登録や取得の要求に応じて、プリントデータ格納部377にプリントデータを登録したり、プリントデータ格納部377からプリントデータを取得するソフトウェアモジュールである。
通信部374は、MFP101や携帯端末102と通信して、要求を受け付けるソフトウェアモジュールである。
ユーザー情報格納部375は、表2を用いて後述するユーザー情報、表4を用いて後述するattestationチャレンジの情報、表6を用いて後述するトークンの情報を格納するソフトウェアモジュールである。オーセンティケータ情報格納部376は、表5を用いて後述するオーセンティケータ情報を格納するソフトウェアモジュールである。プリントデータ格納部377は、表3を用いて後述するプリントデータを格納するソフトウェアモジュールである。プレゼンテーション部378は、通信部374が受信したオーセンティケータ登録画面の取得要求などの画面取得要求に応じて、HTML文書を作成するソフトウェアモジュールである。トークン管理部379は、後述するトークンの発行や検証を行うソフトウェアモジュールである。
<クライアントPCの機能構成>
図3B(d)は、クライアントPC104の機能構成の一例を示すブロック図である。
クライアントPC104では、ブラウザー390が動作する。ブラウザー390は、クライアントPC104が有している外部メモリ210等に記憶されているプログラムを、CPU201がRAM202に読み出して実行することによって実現する。
ブラウザー390は、取得したHTML文書を表示したり、ユーザーの操作を受け付けたりするソフトウェアモジュールである。ブラウザー390は、プリントシステム103などの外部の装置と通信するためのソフトウェアモジュールである。
<携帯端末が管理するテーブル>
表1に、携帯端末102が管理する認証情報管理テーブルの一例を示す。
Figure 0007199949000001
表1は、認証情報管理テーブルの一例であり、オーセンティケータ350の認証情報格納部353に保存される。認証情報管理テーブルでは、1つのレコードが1つの認証情報のエントリを表している。
認証情報ID列は、各認証情報に対して一意なIDを格納する。
サービスID列は、サービスを一意に識別するためのIDを格納する。本実施形態ではサービスID列には、トップレベルドメイン、セカンドレベルドメインの情報を格納するものとするが、これに限定されるものではない。例えば、プリントサービス370のURLが「https://www.pull‐print.com」であった場合に、サービスID列には「pull‐print.com」が格納される。
秘密鍵列は、秘密鍵を格納する。秘密鍵列に格納されている秘密鍵に対応する公開鍵は、サービスID列で示されるサービスが保持している。
生体情報ID列は、生体情報の特徴量に対応するIDを格納する。
表1の各列に対応する情報を格納する手順、及び公開鍵をプリントシステム103に格納する手順については後述する。
<プリントシステムが管理するテーブル>
表2~表6に、プリントシステム103が管理するテーブルの一例を示す。
Figure 0007199949000002
表2は、ユーザー情報管理テーブルの一例であり、プリントサービス370のユーザー情報格納部375に保存する。ユーザー情報管理テーブルでは、1つのレコードが1つのユーザー情報を示している。
ユーザーID列は、プリントサービス370のユーザーを一意に識別するためのIDを格納する。パスワード列は、ユーザーを認証するためのパスワードを格納する。メールアドレス列は、ユーザーのメールアドレスを格納する。メールアドレス以外にもユーザーの住所など、ユーザーに関する属性情報を本テーブルに格納するようにしてもよい。
Figure 0007199949000003
表3は、プリントデータ管理テーブルの一例であり、プリントサービス370のプリントデータ格納部377に保存される。プリントデータ管理テーブルでは、1つのレコードが1つのプリントデータを示している。
データ名列は、ユーザーが印刷したデータの名称を格納する。該名称は、後述するプリントフローにおいて、MFP101上に表示される名称となる。
プリントデータ列は、印刷するプリントデータのバイナリデータを格納する。
ユーザーID列は、印刷を指示したプリントサービス370のユーザーを一意に表すIDを格納する。
予約コード列は、プリントデータを一意に識別するための予約コードを格納する。予約コードは、後述するプリントフローにおいて、MFP101でユーザーにより指定されることにより、プリントするプリントデータを特定するために使用される。
Figure 0007199949000004
表4は、attestationチャレンジ管理テーブルの一例であり、プリントサービス370のユーザー情報格納部375に保存される。attestationチャレンジ管理テーブルでは、1つのレコードが1つのattestationチャレンジの情報を示している。attestationチャレンジは、チャレンジレスポンス認証をするために利用するパラメータであり、ユーザーごとに発行する。attestationチャレンジの発行処理については後述する。
attestationチャレンジ列は、attestationチャレンジを格納する。
ユーザーID列はattestationチャレンジを発行したユーザーIDを格納する。
有効期限列は、attestationチャレンジの有効期限を格納する。
Figure 0007199949000005
表5は、オーセンティケータ情報管理テーブルの一例であり、プリントサービス370のオーセンティケータ情報格納部376に保存される。オーセンティケータ情報管理テーブルでは、1つのレコードが1つのオーセンティケータ情報を示している。
認証情報ID列は、表1における認証情報ID列の値を格納する。
公開鍵列は、オーセンティケータが作成した表1における秘密鍵とペアになる公開鍵を格納する。即ち、表1、表5で認証情報IDが同一の秘密鍵と公開鍵について、表1の秘密鍵で暗号化したものは表5の公開鍵で復号化できるということである。
ユーザーID列は、プリントサービス370のユーザーを一意に識別するためのIDを格納する。
Figure 0007199949000006
表6はトークン管理テーブルの一例であり、プリントサービス370のユーザー情報格納部375に保存する。トークンは認証処理が成功した結果、プリントサービス370が発行する。MFP101のブラウザー300などは、発行されたトークンをプリントデータ一覧要求などに付加してプリントサービス370に要求を行う。これらの処理については図9を用いて後述する。トークン管理テーブルは、1つのレコードが1つのトークンの情報を示している。トークン列は、トークンを格納する。ユーザーID列は、プリントサービス370のユーザーを一意に識別するためのIDを格納する。有効期限列は、トークンの有効期限を表す。プリントサービス370は、要求に付加されたトークンが、トークン管理テーブルのトークン列に存在し、有効期限列の有効期限を過ぎていない場合に要求を受け付ける。
<プリントデータの登録処理>
クライアントPC104からのプリントデータの登録について図4及び図5を用いて説明する。
図4は、プリントシステム103とクライアントPC104のプリントデータ登録処理の一例を示すシーケンス図である。なお、この図において、クライアントPC104の処理は、クライアントPC104のCPU201が外部メモリ210等に記憶されているプログラムを、RAM202に読み出して実行することによって実現される。また、プリントシステム103の処理は、プリントシステム103を提供するサーバーPCのCPU201が外部メモリ210等に記憶されているプログラムを、RAM202に読み出して実行することによって実現される。
まず、ユーザーは、クライアントPC104のブラウザー390にプリント指示受付画面のURLの入力を行う。
S401において、クライアントPC104のブラウザー390は、プリント指示受付画面のURLの入力を受け付けて、プリントサービス370にプリント指示受付画面の要求を行う。最初のアクセスでは認証が済んでいないため、レガシー認証画面へのリダイレクトを行う。そして、S402において、プリントシステム103は、レガシー認証画面をブラウザー390に返す。ブラウザー390は、レガシー画面を受信すると、該レガシー認証画面を表示し、ユーザーIDとパスワードの入力を受け付ける。
そして、ブラウザー390は、ユーザー操作によるユーザーIDとパスワードの入力を受け付けると、S403において、該受け付けたユーザーIDとパスワードをパラメータとしてレガシー認証要求をプリントサービス370に送信する。
レガシー認証要求を受信すると、S404において、プリントサービス370のレガシー認証処理部371は、該レガシー認証要求に基づいてレガシー認証を行う。具体的には、レガシー認証処理部371は、レガシー認証要求に含まれるユーザーID、パスワードとユーザー情報格納部375に格納されている、表2で説明したユーザーID、パスワードが一致するかを検証する。一致しない場合には、プリントサービス370は、クライアントPC104のブラウザー390に認証エラーを返却する。
図4のシーケンス図ではレガシー認証が成功した場合について記載する。
レガシー認証に成功すると、S405において、プリントサービス370のトークン管理部379は、トークンを発行して、そのトークンに関する情報を、表6で説明したユーザー情報格納部375のトークン管理テーブルに保存する。
次に、S406において、プリントサービス370の通信部374は、プレゼンテーション部378が作成したプリント指示受付画面を、クライアントPC104のブラウザー390に応答する。なお、通信部374は、該S406の応答に、上記S405で発行したトークンを含める。例えば、トークンをCookieに設定する。
プリント指示受付画面を受信すると、S407において、ブラウザー390は、図5(a)のような、プリント指示受付画面を表示する。
ここで図5(a)を用いてプリント指示受付画面について説明する。
図5(a)は、プリント指示受付画面の一例を示す図である。
図5(a)において、UI500は、プリント指示受付画面を表している。ブラウザー390が、図4のS406の応答で受信したプリント指示受付画面のHTML文書を解析して表示する。
ボタン501は、プリント対象のファイルを選択するためのボタンである。
ボタン502は、プリントシステム103のプリントサービス370にプリント指示を行うためのボタンである。
以下、図4の説明に戻る。
ブラウザー390が、ボタン502の押下を受け付けると、S408に遷移する。
S408において、ブラウザー390は、プリントシステム103のプリントサービス370に対してプリント指示の要求を行う。このプリント指示の要求には、プリント対象のファイルのプリントデータや上記S406で受信したトークンが含まれる。プリント指示の要求に含まれるトークンは、プリントサービス370のトークン管理部379が有効であるか検証を行うために用いられる。具体的には、プリントサービス370のトークン管理部379は、プリント指示の要求に含まれるトークンが表6で説明したトークン管理テーブルに存在し、有効期限を超えていないかを確認する。トークン管理テーブルに存在する且つ有効期限を超えていないトークンは有効なトークンと判断される。一方、トークン管理テーブルに存在しない又は有効期限を超えているトークンは無効なトークンと判断される。トークンが無効である場合は、プリントサービス370は、クライアントPC104のブラウザー390にエラーを返却する。
なお、図4のシーケンス図ではトークンが有効であった場合について記載する。トークンが有効である場合は、プリントサービス370は、S409に遷移する。
S409において、プリントサービス370のプリントデータ処理部373は、予約コードの発行を行う。
次にS410において、プリントサービス370のプリントデータ処理部373は、上記S409で発行した予約コード、および、上記S407で受信したプリントデータを、表3で説明したプリントデータ管理テーブルに格納する。
次にS411において、プリントサービス370の通信部374は、プレゼンテーション部378が作成した、プリント指示受付完了画面をクライアントPC104のブラウザー390に応答する。
プリント指示受付完了画面を受信すると、S412において、ブラウザー390は、該プリント指示受付完了画面を表示する。
図5(b)を用いてプリント指示受付完了画面について説明する。
図5(b)は、プリント指示受付完了画面の一例を示す図である。
UI550は、プリント指示受付完了画面を表している。ブラウザー390が、図4のS411の応答で受信したプリント指示受付画面のHTML文書を解析して表示する。
テキストエリア551は、プリント指示を受け付けたプリントデータの予約コードを示している。この予約コードを用いることでプリントデータの指定を行うことができる。予約コードを用いたプリントデータの指定については後述する。
なお、本例ではクライアントPC104のブラウザー390がプリントデータの登録処理を行ったが、携帯端末102に保存されているファイルをプリントする場合などは、携帯端末102のブラウザー340が処理してもよい。また、プリントサービス370は、予約コードを、図4のS404でレガシー認証に成功したユーザーの電子メールアドレス宛に通知してもよい。
<オーセンティケータの登録処理>
図6~図8を用いて、プリントシステム103のプリントサービス370にオーセンティケータを登録する処理について説明する。
図6は、オーセンティケータの登録に関する、携帯端末102とプリントシステム103の処理の一例を示すシーケンス図である。なお、この図において、携帯端末102の処理は、携帯端末102のCPU242がROM244等に記憶されているプログラムを、RAM243に読み出して実行することによって実現される。また、プリントシステム103の処理は、プリントシステム103を提供するサーバーPCのCPU201が外部メモリ210等に記憶されているプログラムを、RAM202に読み出して実行することによって実現される。
まず、ユーザーは、携帯端末102のブラウザー340にオーセンティケータ登録画面のURLの入力を行う。
S601において、携帯端末102のブラウザー340は、オーセンティケータ登録画面のURLの入力を受け付けて、プリントサービス370にオーセンティケータ登録画面の要求を行う。最初のアクセスでは認証が済んでいないため、レガシー認証画面へのリダイレクトを行う。そして、S602において、プリントシステム103は、レガシー認証画面をブラウザー340に返す。
ブラウザー340の表示部341は、レガシー認証画面を受信すると、該レガシー認証画面(不図示)を表示し、ユーザーIDとパスワードの入力を受け付ける。
ユーザー操作によるユーザーIDとパスワードの入力を受け付けると、S603において、ブラウザー340の通信部343は、受け付けたユーザーIDとパスワードをパラメータとしてレガシー認証要求をプリントサービス370に送信する。
レガシー認証要求を受信すると、S604において、プリントサービス370のレガシー認証処理部371は、レガシー認証を行う。レガシー認証の結果がエラーであった場合には、プリントシステム103は、携帯端末102のブラウザー340に認証エラーを返却する。レガシー認証の結果がOKであった場合には、プリントシステム103は、605に遷移する。なお、図6のシーケンス図ではレガシー認証が成功した場合について記載する。
S605において、プリントサービス370のトークン管理部379は、トークンを発行して、そのトークンに関する情報を、表6で説明したユーザー情報格納部375のトークン管理テーブルに保存する。
次に、S606において、オーセンティケータ情報処理部372は、登録用パラメータ700の作成を行う。
ここで、図7(a)を用いて登録用パラメータについて説明する。
図7(a)は、登録用パラメータの一例を示す図である。
図7(a)に示すように、登録用パラメータ700は、アカウント情報701、暗号化パラメータ702、attestationチャレンジ703、認証拡張領域704を含む。
アカウント情報701は、プリントサービス370における、図6のS604のレガシー認証で特定したユーザーIDや、そのユーザーIDと紐づくメールアドレスなどの属性情報を表す。暗号化パラメータ702は、プリントサービス370がサポートしている暗号化アルゴリズムなど、登録する認証情報に関する属性情報を示す。attestationチャレンジ703は、チャレンジレスポンス認証をするために利用するパラメータである。attestationチャレンジは、図6のS606の登録用パラメータ作成時に作成して、表4で説明したattestationチャレンジ管理テーブルに格納する。認証拡張領域704は、プリントサービス370がオーセンティケータ350等の動作を制御するために、プリントサービス370が指定可能な拡張パラメータが格納される。
以下、図6の説明に戻る。
S607において、プリントサービス370の通信部374は、プレゼンテーション部378が作成したオーセンティケータ登録画面を、携帯端末102のブラウザー340に応答する。該S607の応答には、上記S605で発行したトークン、および、登録用パラメータ700が含まれる。
オーセンティケータ登録画面を受信すると、S608において、ブラウザー340のオーセンティケータ登録制御部344は、オーセンティケータ350に対して、クレデンシャル作成要求を行う。該S608の処理は、ブラウザー340の表示部341がオーセンティケータ登録画面の読み込んだ時に実行される。例えば、ブラウザー340のスクリプト実行部342が、onloadイベント検知した時に、S608の処理を実行するようにする。S608のクレデンシャル作成要求には、登録要求データ720が含まれる。ここで図7(b)を用いて、登録要求データ720について説明する。
図7(b)は、登録要求データ720の一例を示す図である。
図7(b)のように、登録要求データ720は、登録用パラメータ700とプリントサービスID721とWeb Origin722を含む。
Web Origin722は、プリントサービス370のOriginである。
プリントサービスID721は、プリントサービスのトップレベルドメイン、セカンドレベルドメインの情報を格納する。例えば、プリントサービス370のURLが「https://www.pull‐print.com」であった場合に、プリントサービスID721は「pull‐print.com」となる。
以下、図6の説明に戻る。
S609でオーセンティケータ350の生体情報要求部354は、図8に示すような同意画面800を表示する。ここで図8を用いて、同意画面800について説明する。
図8は、同意画面800の一例を示す図である。
同意画面800では、オーセンティケータ350をプリントサービス370に登録するため、生体情報の提示を促す。
ボタン801は、同意せずにキャンセルするためのボタンである。
ボタン802には、生体情報センサ248が備えられており、生体情報の読み取りを行う。生体情報には、指紋、静脈、虹彩、声紋、顔画像の情報等が含まれ、ここでは、それら生体情報の何れか、または、任意の複数の生体情報の組合せを、認証に必要な生体情報として入力するよう携帯端末102を構築することも可能である。
生体情報センサ248により、生体情報の読み取りが行われると、オーセンティケータ350は、S610の処理を実行する。
以下、図6の説明に戻る。
S610において、認証情報格納部353は、読み取った生体情報の特徴量と生体情報を一意に識別する生体情報IDを作成して、TPM246に格納する。
次にS611において、オーセンティケータ登録処理部351は、秘密鍵と公開鍵のペアと認証情報IDを作成する。そして、オーセンティケータ登録処理部351は、TPM246上の認証情報管理テーブル(表1)にS611で作成した認証情報ID、秘密鍵、S610で作成した生体情報ID、及び、登録要求データ720に含まれるプリントサービスID721を格納する。
次にS612において、オーセンティケータ登録処理部351は、図7(c)で示すクレデンシャル740を作成する。ここで図7(c)を用いて、クレデンシャル740について説明する。
図7(c)は、クレデンシャル740の一例を示す図である。
図7(c)のように、クレデンシャル740は、認証情報ID741とアルゴリズム742と公開鍵743とattestation744を含む。
認証情報ID741、公開鍵743は、上記S611の処理で作成した認証情報ID、公開鍵である。アルゴリズム753は、上記S611における秘密鍵と公開鍵のペアの作成に利用したアルゴリズムにそれぞれ対応する。また、attestation744は、attestationチャレンジ703を上記S611にて生成した秘密鍵を用いて暗号化したものである。
次にS613において、オーセンティケータ350のオーセンティケータ登録処理部351は、ブラウザー340に対して、上記S612で作成したクレデンシャル740を応答する。ブラウザー390は、クレデンシャル740を受信すると、S614に処理を進める。
S614において、ブラウザー340の通信部343は、プリントシステム103のプリントサービス370に、上記S613で受信したクレデンシャル740を送信する。プリントサービス370は、クレデンシャル740を受信すると、S615に処理を進める。
S615において、プリントサービス370のオーセンティケータ情報処理部372は、クレデンシャル740を用いて、オーセンティケータ登録処理を行う。ここでは、クレデンシャル740に含まれるAttestation744を、同じクレデンシャル740に含まれる公開鍵743で復号して不正な登録リクエストでないことを検証する。さらに、プリントサービス370のオーセンティケータ情報処理部372は、Attestation744を復号化した値と、表4におけるattestationチャレンジ列の値とが同一のものを特定する。そして、特定したattestationチャレンジ列の値と同一のレコードのユーザーIDを、クレデンシャル740と紐付けるユーザーIDとする。プリントサービス370のオーセンティケータ情報処理部372は、クレデンシャル740に含まれる認証情報ID741、公開鍵743、クレデンシャル740と紐づけるユーザーIDをオーセンティケータ情報管理テーブル(表5)に登録する。最後に、プリントサービス370の通信部374は、携帯端末102のブラウザー340に対して正常に生体情報の登録が終わったことを応答する。
<MFPからのプリント処理>
次に図9~図12を用いて、MFP101がプリントシステム103からプリントデータを取得してプリントする処理について説明する。ここでは、プリントシステム103との認証を、携帯端末102を用いて行う例について記載する。
図9は、第1実施形態におけるプリントデータのプリント処理の一例を示すシーケンス図である。なお、この図において、MFP101の処理は、MFP101のCPU221がROM223等に記憶されているプログラムを、RAM222に読み出して実行することによって実現される。また、携帯端末102の処理は、携帯端末102のCPU242がROM244等に記憶されているプログラムを、RAM243に読み出して実行することによって実現される。また、プリントシステム103の処理は、プリントシステム103を提供するサーバーPCのCPU201が外部メモリ210等に記憶されているプログラムを、RAM202に読み出して実行することによって実現される。
まず、ユーザーは、MFP101のブラウザー300に認証方法選択画面のURLの入力を行う。または、MFP101のUIにショートカットボタンを用意しておき、そのショートカットボタンが押下されると、認証方法選択画面のURLにリクエストするように構成してもよい。
S901において、MFP101のブラウザー300は、認証方法選択画面のURLの入力を受け付けて、プリントシステム103のプリントサービス370に認証方法選択画面の要求を行う。認証方法選択画面の要求を受信すると、プリントサービス370は、S902に処理を進める。
S902において、プリントサービス370のオーセンティケータ情報処理部372は、生体認証パラメータ(図11(a)に示す認証用パラメータ1100)の作成を行う。ここで、図11(a)を用いて認証用パラメータ1100について説明する。
図11(a)は、認証用パラメータ1100の一例を示す図である。
図11(a)のように、認証用パラメータ1100は、アサーションチャレンジ1101、アサーション拡張領域1102を含む。
アサーションチャレンジ1101は、チャレンジレスポンス認証をするために利用する検証用データとしてのパラメータである。アサーション拡張領域1102は、プリントサービス370がオーセンティケータ350の動作を制御するために、プリントサービス370が指定可能な拡張パラメータが格納される。
以下、図9の説明に戻る。
次にS903において、プリントサービス370の通信部374は、上記S902で生成した認証用パラメータ1100を含むHTML/JavaScriptをMFP101に返却する。該返却するJavaScriptには、ブラウザー300のBluetooth制御部304を呼び出すためのJavaScriptが含まれる。また、S903で返却するHTMLは、認証方法選択画面である。上記HTML/JavaScriptを受信すると、MFP101のブラウザー300は、S904に処理を進める。
S904において、ブラウザー300の表示部301は、受信したHTML/JavaScriptを用いて、図10(a)で示すような認証方法選択画面を表示する。ここで図10(a)を用いて、認証方法選択画面について説明する。
図10(a)は、認証方法選択画面の一例を示す図である。
図10(a)のように、認証方法選択画面1000は、ボタン1001~1004を有する。
ボタン1001は、予約コードの入力によってプリントデータを取得するためのボタンである。ユーザーがボタン1001を選択した場合には、それに伴い、MFP101から、ユーザーが入力した予約コードが含まれるプリントデータの取得要求がプリントシステム103に対して送信されることになる。プリントシステム103は、プリントデータ管理テーブル(表3)からその予約コードと合致するプリントデータをMFP101に対して応答する。MFP101では、そのプリントデータのプリント処理が行われることになる。
ボタン1002は、レガシー認証を行うためのボタンである。ユーザーがボタン1002を選択した場合には、後述する生体認証を用いた方法ではなく、MFP101とプリントシステム103との間で、図6のS602~S604の記載と同様のレガシー認証が行われる。レガシー認証が成功した場合に、MFP101は、プリントシステム103から、プリントデータ管理テーブル(表3)で管理されていた、認証されたユーザーのユーザーIDに対応するプリントデータの一覧を取得できる。
ボタン1003は、MFP101とBluetoothで通信した携帯端末で生体認証を行うためのボタンである。生体認証が成功した場合に、プリントシステム103から認証されたユーザーのユーザーIDに対応するプリントデータの一覧を取得することができる。なお、図9のシーケンス図では、ボタン1003が押下された例について記載する。
ボタン1004は、操作をキャンセルためのボタンである。ブラウザー300の表示部301は、ボタン1003の押下を受け付けると、S905に遷移する。
S905において、ブラウザー300のスクリプト実行部302は、JavaScriptを解析し、Bluetooth制御部304を呼び出す。そして、Bluetooth制御部304は、Bluetoothを搭載した機器を取得する。例えば、スクリプト実行部302は、WebBluetooth APIのrequestDeviceを呼び出す。requestDeviceでは、その機器が対応している機能でフィルターができるため、FIDOに対応しているBluetoothを搭載した機器を取得する。
Bluetooth制御部304からの要求に応じて、FIDOに対応しているBluetoothを搭載した機器である携帯端末102は、MFP101のブラウザー300に応答する(S906)。該応答をブラウザー300が受信する。ブラウザー300のスクリプト実行部302は、フィルターにFIDOが含まれている場合、ユーザーに許可を求める画面は出さず、S907に処理を進める。
S907において、ブラウザー300の通信部306は、上記応答のあった携帯端末102のオーセンティケータ350に対して、オーセンティケータとして登録がされているサービス一覧を要求する。該要求を受信した携帯端末102のオーセンティケータ350は、S908の処理を実行する。
S908において、携帯端末102のオーセンティケータ350は、認証情報格納部353に格納されている認証情報管理テーブル(表1)のサービスIDの一覧を取得する。該サービスIDの一覧は、携帯端末102での認証に関連する秘密鍵に対応する公開鍵が登録されたサービスの情報の一覧に対応する。
次にS909において、携帯端末102のオーセンティケータ350は、オーセンティケータとして登録されているサービス一覧として、上記S908で取得したサービスIDの一覧をMFP101のブラウザー300に応答する。該応答を受信したブラウザー300は、S910に処理を進める。
S910において、ブラウザー300のスクリプト実行部302は、Bluetoothを搭載した機器にアクセスを要求しているサービスが、オーセンティケータとして登録済サービスであるかを確認する登録確認処理(図12(a))を行う。図12(a)を用いて、登録確認処理の詳細を説明する。
図12(a)は、MFP101における、登録確認処理を説明するためのフローチャートである。このフローチャートの処理は、MFP101のCPU221がROM223等に記憶されているプログラムを、RAM222に読み出して実行することにより実現される。
S1201において、ブラウザー300のスクリプト実行部302は、図9のS909で取得した登録済サービス一覧の中に、S903でHTML/JavaScriptを応答したプリントサービス370のサービスIDが含まれているかを確認する。そして、プリントサービス370のサービスIDが含まれている(すなわち登録済サービスである)と判定した場合(S1202でYesの場合)、スクリプト実行部302は、図9のS911に処理を遷移する。この場合、図9のプリント処理のシーケンスを継続し、許可プロンプトを表示することなく、携帯端末102へのアクセスを許可し、後述する生体認証要求を行う。
上記S909で取得した登録済サービス一覧の中にプリントサービス370のサービスIDが含まれている場合、オーセンティケータの登録がなされていることになる。つまり、ユーザーは、プリントサービス370が携帯端末102に対して生体認証を要求することを許可していることになる。そのため、本実施形態では、ブラウザー300は、プリントサービス370としてのウェブアプリケーションが携帯端末102にアクセスすることを許可できるかユーザーへ問合せるためのWeb Bluetooth API(Web USB API)に従うプロンプト画面の表示をスキップする。すなわち、プロンプト画面(許可プロンプト)の表示なく、携帯端末102へのアクセスを許可する。従って、公共の場に設置されるMFPなどの一時的な利用者であるユーザーへのMFP上での該画面を介した許可を求めずに、携帯端末102による生体認証処理を行う。これにより、ユーザーの利便性が向上するとともに、公共の場にあるMFP101に携帯端末102の識別情報を含む許可情報(ウェブアプリの識別情報と携帯端末102の識別情報の組合せ)を残すことがない。
一方、上記S1201において、プリントサービス370のサービスIDが含まれていないと判定した場合(S1202でNoの場合)、スクリプト実行部302は、S1202に処理を進める。
S1202において、ブラウザー300の表示部301は、認証方法選択画面(不図示)を表示する。S1202で表示する認証方法選択画面は、図10(a)で説明した認証方法選択画面1000のボタン1003を表示しない画面であり、携帯端末102を利用することなくプリントサービス370を利用するための入力を促す画面である。S1202で認証法選択画面を表示することにより、他の認証方法(すなわち携帯端末102を利用した生体認証とは異なる認証方法)を用いてプリントすることができるようになる。
次にS1203において、ブラウザー300の表示部301は、ユーザーにより選択されたボタンがいずれのボタンであったかを判定する。ボタン1004が押下されたと判定した場合(S1203で「キャンセル」の場合)、表示部301は、本フローチャートの処理を終了し、図9のプリント処理のシーケンスも終了する。
また、ボタン1001が押下されたと判定した場合(S1203で「予約コードを入力」の場合)、表示部301は、S1204に処理を進める。
S1204において、MFP101は、予約コードでのプリント処理を行い、本フローチャートの処理を終了し、図9のプリント処理のシーケンスも終了する。
予約コードでのプリント処理では、前述したように、MFP101から、ユーザーが入力した予約コードが含まれるプリントデータの取得要求をプリントシステム103に送信する。そして、プリントシステム103は、プリントデータ管理テーブル(表3)からその予約コードと合致するプリントデータをMFP101に対して応答する。MFP101では、そのプリントデータのプリント処理を行う。
また、ボタン1002が押下されたと判定した場合(S1203で「パスワード認証」の場合)、表示部301は、S1205に処理を進める。
S1205において、MFP101は、レガシー認証によるプリント処理を行い、本フローチャートの処理を終了し、図9のプリント処理のシーケンスも終了する。
前述したようにレガシー認証によるプリント処理では、図6のS602~S604の記載と同様のレガシー認証が行われる。レガシー認証が成功した場合に、MFP101は、プリントシステム103から、プリントデータ管理テーブル(表3)で管理されていた、認証されたユーザーのユーザーIDに対応するプリントデータの一覧を取得できる。
以下、図9の説明に戻る。
なお、図9のシーケンス図では、登録済サービスであった場合について記載する。
次にS911において、ブラウザー300のスクリプト実行部302は、JavaScriptを解析し、Bluetooth制御部304を呼び出す。そして、Bluetooth制御部304は、接続開始要求を携帯端末102に送信する。例えば、WebBluetooth APIのconnectを呼び出す。
上記S911の接続開始要求を受信すると、携帯端末102は、S912において、MFP101に接続結果を応答する。この接続が完了すると、プリントシステム103のプリントサービス370が提供したJavaScriptから携帯端末102への操作が可能となり、以降の生体認証の処理を行われる。
上記接続結果の応答を受信すると、MFP101のブラウザー300は、S913の処理を進める。S913において、プリントサービス370が提供したJavaScriptを実行するスクリプト実行部302は、生体認証制御部303を呼び出す。生体認証制御部303は、Bluetooth制御部304を経由して、携帯端末102のオーセンティケータ350に対して、図11(b)に示す認証要求データ1110と共に認証要求を行う。ここで図11(b)を用いて、認証要求データ1110について説明する。
図11(b)は、認証要求データ1110の一例を示す図である。
図11(b)のように、認証要求データ1110は、プリントサービス370が生成した認証用パラメータ1100と、プリントサービスID1112と、Web Origin1113とを含む。Web Origin1113は、プリントサービス370のOriginである。プリントサービスID112は、プリントサービスのトップレベルドメイン、セカンドレベルドメインの情報を格納する。例えば、プリントサービス370のURLが「https://www.pull‐print.com」であった場合、プリントサービスIDは「pull‐print.com」となる。
S914において、携帯端末102のオーセンティケータ350は、生体認証処理(図12(b))を実行する。ここで、図12(b)を用いて、生体認証処理について説明する。
図12(b)は、携帯端末102における、生体認証処理を説明するためのフローチャートである。このフローチャートの処理は、携帯端末102のCPU242がROM244等に記憶されているプログラムを、RAM243に読み出して実行することにより実現される。
S1251で、オーセンティケータ350の生体情報要求部354は、図13に示すような生体情報の入力要求画面1300を表示する。ここで、図13を用いて、生体情報の入力要求画面1300について説明する。
図13は、生体情報の入力要求画面1300の一例を示す図である。
図13のように、入力要求画面1300は、前述したようにMFP101とBluetoothを介して通信している携帯端末102のユーザーに生体情報の入力を促すものである。ボタン1301は、生体情報の入力をキャンセルするためのボタンであり、ボタン1301が押下された場合は、図12(b)で示したフローチャートの処理を終了し、図9で示したシーケンスの処理も終了する。
ボタン802には生体情報センサ248が備えられており、生体情報の読み取りを行う。
以下、図12の説明に戻る。
次にS1252において、オーセンティケータ350の生体情報要求部354は、ユーザーにより生体情報が入力されたかを監視する。生体情報が未入力の間、生体情報要求部354は、上記監視を続ける。そして生体情報が入力された場合は、生体情報要求部354は、S1253に処理を進める。
S1253において、オーセンティケータ350の生体認証処理部352は、入力されたユーザーの生体情報の特徴量を取得し、認証情報格納部353がTPM246に格納済みの情報と照合することで生体認証を実行する。この特徴量は、指紋のパターン・虹彩の模様・静脈の形など個人に対してユニークであるものを、ユニーク性を損なわないような値に変換したものである。この個人に対してユニークな特徴量を用いて個人を特定するのが生体認証である。
次にS1254において、オーセンティケータ350の生体認証処理部352は、生体認証の結果が成功であったかを判定する。生体認証結果が成功でなかった(失敗)と判定した場合(S1254でNoの場合)、生体認証処理部352は、S1257に処理を進める。
S1257において、オーセンティケータ350の生体情報要求部354は、生体認証がエラーであったことを伝えるメッセージを表示し、S1251に処理を戻して、再度、生体認証を促すように制御する。なお、図12(b)では記載していないが、複数回失敗したときには、S914の生体認証処理をエラーとして図9で示したシーケンスの処理を終了するように構成してもよい。
一方、上記S1254において、生体認証結果が成功であったと判定した場合(S1254でYesの場合)、生体認証処理部352は、S1255に処理を進める。
S1255において、オーセンティケータ350の生体認証処理部352は、プリントサービスID1112及び、上記S1253で認証成功した生体情報の生体情報IDを基に、認証情報管理テーブル(表1)から、対応する秘密鍵を特定する。S1256で、オーセンティケータ350の生体認証処理部352は、特定した秘密鍵を用いて、アサーションチャレンジ1101から署名1122を作成し、図9のS915に処理を遷移する。そして、図9のプリント処理のシーケンスを継続する。図9で示す処理では、生体認証処理で、携帯端末102のユーザーの生体認証が成功した場合の例について説明している。以下、図9の説明に戻る。
次にS915において、オーセンティケータ350の生体認証処理部352は、図11(c)で示す署名1122を含むアサーション情報1120を、MFP101のブラウザー300に返却する。アサーション情報1120は、認証情報ID1121と、アサーションチャレンジ1101をユーザーの生体認証情報に対応する秘密鍵で暗号化した署名1122から構成される。
次にS916において、ブラウザー300の通信部306は、上記S915で受信したアサーション情報1120を、プリントシステム103のプリントサービス370に送信する。該アサーション情報1120を受信すると、プリントシステム103のプリントサービス370は、S917に処理を進める。
S917において、プリントサービス370のオーセンティケータ情報処理部372は、アサーション情報1120の検証を行う。より具体的には、アサーション情報1120に含まれる署名1122を認証情報ID1121で特定される公開鍵で復号したデータと、上記S902で生成した認証用パラメータ1100に含まれるアサーションチャレンジ1101とを比較する。そして、認証用パラメータ1100に含まれるアサーションチャレンジ1101が一致したことによりアサーション情報の正当性を検証する。公開鍵の特定は、オーセンティケータ情報管理テーブル(表5)を用いて行われる。
次にS918において、プリントサービス370のトークン管理部379は、上記S917で検証されたアサーション情報1120に対応するユーザーのトークンを発行する。
次にS919において、プリントサービス370の通信部374は、MFP101のブラウザー300に、上記S918で発行したトークンを返却する。該トークンを受信すると、MFP101のブラウザー300は、S920に処理を進める。
S920において、ブラウザー300の通信部306は、上記S919で受信したトークンとともに、プリントシステム103のプリントサービス370に対してプリントデータの一覧要求を送信する。該プリントデータの一覧要求を受信すると、プリントサービス370は、S921に処理を進める。
S921において、プリントサービス370の通信部374は、上記S920で受信したトークンと紐づくユーザーのプリントデータ一覧をMFP101のブラウザー300に送信する。プリントデータ一覧には、通信量を考慮して、表3のプリントデータ管理テーブルのデータ名列と予約コード列の値を含んでおり、バイナリデータであるプリントデータ列の値は含まない。該プリントデータ一覧を受信すると、ブラウザー300は、S922に処理を進める。
S922において、ブラウザー300の表示部301は、上記S921で受信したプリントデータ一覧を表示する。ここで、図10(b)を用いてプリントデータ一覧画面について説明する。
図10(b)は、プリントデータ一覧画面の一例を示す図である。
図10(b)のように、プリントデータ一覧画面1040は、リスト1041、ボタン1042を有する。
リスト1041は、プリントデータの情報を表示しており、選択が可能となっている。選択されたプリントデータがプリントの対象となる。
ボタン1042は、プリント実行を指示するためのボタンである。リスト1041でプリントデータが選択され、ブラウザー300の表示部301が、ボタン1042の押下を受け付けると、S923に遷移する。
以下、図9の説明に戻る。
S923において、ブラウザー300の通信部306は、プリントシステム103のプリントサービス370に対して、プリントデータ一覧画面1040で選択されたプリントデータの取得要求を送信する。該プリントデータの取得要求を受信すると、プリントサービス370は、S924に処理を進める。
S924において、プリントサービス370の通信部374は、上記S923で指定されたプリントデータをMFP101のブラウザー300に送信する。S924で送信するプリントデータは、バイナリデータであるプリントデータ列を含む。該プリントデータを受信すると、ブラウザー300は、S925に処理を進める。
S925において、ブラウザー300のスクリプト実行部302は、プリント制御部305を呼び出し、受信したプリントデータを用いて、プリント処理を実行して、本シーケンスで示す処理が完了する。
以上、本実施形態によれば、許可プロンプトに頼らずユーザーに信頼されたWebアプリケーションを特定可能となる。この結果、画像処理装置等の機器のWebブラウザーに、許可されたWebアプリケーションと携帯端末の情報が保存されることを防止できる。この結果、コンビニエンスストア等の公共の場にある複合機等のWebブラウザーに許可情報、つまりは個人所有のBluetooth/USBデバイスに関する情報を残すことがなくなり、セキュリティを向上できる。また、本実施形態では、複合機等のWebブラウザーが、携帯端末から登録済のサービスの情報を取得して、サービス提供システムが携帯端末にアクセスしてよいか否かを判断する。これにより、携帯端末にWebアプリケーションに対応する情報が登録済みの場合には、許可プロンプトの表示なしにWebアプリケーションから携帯端末へのアクセスを許可する。このため、スムースに携帯端末からユーザーに認証要求がなされ、ユーザーの使い勝手も向上する。よって、公共の場にも設置され得る機器を利用するシステムにおいて、ユーザーにとって利便性がよく、セキュアな認証環境を構築することができる。
〔他の実施形態〕
以下、図14、図15を用いて他の実施形態について説明する。
第1実施形態では、MFP101が公共の場に配置されており、MFP101のブラウザー300は、許可情報を残さず、さらに許可を求める画面を表示しないように構成した。他の実施形態としては、MFP101が企業内や個人所有など公共の場ではない場所に配置されていることを想定し、許可画面を表示する例について説明する。以下、第1実施形態と異なる点についてのみ説明する。
図14は、他の実施形態におけるプリントデータのプリント処理の一例を示すシーケンス図である。なお、この図において、MFP101の処理は、MFP101のCPU221がROM223等に記憶されているプログラムを、RAM222に読み出して実行することによって実現される。また、携帯端末102の処理は、携帯端末102のCPU242がROM244等に記憶されているプログラムを、RAM243に読み出して実行することによって実現される。また、プリントシステム103の処理は、プリントシステム103を提供するサーバーPCのCPU201が外部メモリ210等に記憶されているプログラムを、RAM202に読み出して実行することによって実現される。
本実施形態では、第1実施形態で説明した図9と異なる点のみ説明する。第1実施形態と異なるのは、S907~S910の処理を実行することなく、S1401の処理を実行する点である。S1401において、ブラウザー300の表示部301は、図15に示すような許可確認画面1500を表示する。許可確認画面1500は、プリントシステム103のプリントサービス370が携帯端末102を操作することに対する許可を、ユーザーに求める画面である。ここで図15を用いて、許可確認画面1500について説明する。
図15は、許可確認画面1500の一例を示す図である。
図15のように、許可確認画面1500は、ボタン1501、ボタン1502を有する。ボタン1501は、プリントシステム103のプリントサービス370が携帯端末102を操作することを許可するためのボタンである。ボタン1501が押下された場合は、S911以降の処理を継続して、生体認証を行う。MFP101は公共の場に配置されていないため、一度許可されたら、その際にブラウザー300が許可された情報を保持して、次回は許可画面を表示しないように構成してもよい。
ボタン1502は、許可をせずにキャンセルするためのボタンである。ボタン1502が押下された場合、図14に示すS911以降のシーケンスの処理は実行せずに終了する。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。

Claims (10)

  1. ウェブブラウザが実行される情報処理装置であって、
    前記情報処理装置に接続される外部端末で認証処理を行うために、ウェブアプリケーションが前記ウェブブラウザを介して前記外部端末にアクセスする場合に、該外部端末にサービスの情報の要求を送信する第1要求手段と、
    前記要求に応じて前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブアプリケーションからの要求に従い前記外部端末に認証要求を送信する第2要求手段と、
    前記認証要求に応じて前記外部端末から受信した認証結果を、前記ウェブアプリケーションに送信する送信手段と、
    を有することを特徴とする情報処理装置。
  2. 前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブブラウザが前記ウェブアプリケーションが前記外部端末にアクセスすることに関する許可を求める画面を提供することなく、前記認証要求が前記外部端末に送信されることを特徴とする請求項1に記載の情報処理装置。
  3. 前記外部端末から受信したサービスの情報は、前記外部端末での認証に関連する秘密鍵に対応する公開鍵が登録されたサービスの情報であることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記送信手段により送信される前記認証結果は、前記認証要求に含まれる前記ウェブアプリケーションから送信されてきたパラメータと前記秘密鍵とを用いて作成された署名を含むことを特徴とする請求項3に記載の情報処理装置。
  5. 前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれていない場合、前記外部端末を利用することなく前記ウェブアプリケーションを利用するための入力を促す画面を表示する表示手段を更に有することを特徴とする請求項1~4のいずれか1項に記載の情報処理装置。
  6. 前記外部端末とは、USBまたはブルートゥース(登録商標)で接続されることを特徴とする請求項1~5のいずれか1項に記載の情報処理装置。
  7. 前記認証とは、生体認証であることを特徴とする請求項1~6のいずれか1項に記載の情報処理装置。
  8. ウェブブラウザが実行される情報処理装置と外部端末と、を含むシステムであって、
    前記情報処理装置は、
    前記情報処理装置に接続される外部端末で認証処理を行うために、ウェブアプリケーションが前記ウェブブラウザを介して前記外部端末にアクセスする際に、該外部端末にサービスの情報の要求である第1要求を送信する第1要求手段と、
    前記要求に応じて前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブアプリケーションからの要求に従い前記外部端末に認証要求を送信する第2要求手段と、
    前記認証要求に応じて前記外部端末から受信した認証結果を、前記ウェブアプリケーションに送信する送信手段と、を有し、
    前記外部端末は、
    前記情報処理装置から送信される前記サービスの情報の要求に応じて、当該外部端末に登録されているサービスの情報を応答する第1応答手段と、
    前記情報処理装置から送信される前記認証要求に応じて、認証を行い、該認証結果を応答する第2応答手段と、を有する、
    ことを特徴とするシステム。
  9. ウェブブラウザが実行される情報処理装置の制御方法であって、
    前記情報処理装置に接続される外部端末で認証処理を行うために、ウェブアプリケーションが前記ウェブブラウザを介して前記外部端末にアクセスする場合に、該外部端末にサービスの情報の要求を送信する第1要求ステップと、
    前記要求に応じて前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブアプリケーションからの要求に従い前記外部端末に認証要求を送信する第2要求ステップと、
    前記認証要求に応じて前記外部端末から受信した認証結果を、前記ウェブアプリケーションに送信する送信ステップと、
    を有することを特徴とする情報処理装置の制御方法。
  10. ウェブブラウザが実行される情報処理装置と外部端末と、を含むシステムの制御方法であって、
    前記情報処理装置が実行する、
    前記情報処理装置に接続される外部端末で認証処理を行うために、ウェブアプリケーションが前記ウェブブラウザを介して前記外部端末にアクセスする際に、該外部端末にサービスの情報の要求である第1要求を送信する第1要求ステップと、
    前記要求に応じて前記外部端末から受信したサービスの情報に、前記ウェブアプリケーションの情報が含まれている場合、前記ウェブアプリケーションからの要求に従い前記外部端末に認証要求を送信する第2要求ステップと、
    前記認証要求に応じて前記外部端末から受信した認証結果を、前記ウェブアプリケーションに送信する送信ステップと、を有し、
    前記外部端末が実行する、
    前記情報処理装置から送信される前記サービスの情報の要求に応じて、当該外部端末に登録されているサービスの情報を応答する第1応答ステップと、
    前記情報処理装置から送信される前記認証要求に応じて、認証を行い、該認証結果を応答する第2応答ステップと、を有する、
    ことを特徴とするシステムの制御方法。
JP2018232344A 2018-12-12 2018-12-12 情報処理装置、システム、情報処理装置の制御方法、システムの制御方法及びプログラム Active JP7199949B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018232344A JP7199949B2 (ja) 2018-12-12 2018-12-12 情報処理装置、システム、情報処理装置の制御方法、システムの制御方法及びプログラム
US16/706,059 US11528266B2 (en) 2018-12-12 2019-12-06 Information processing apparatus, system, and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018232344A JP7199949B2 (ja) 2018-12-12 2018-12-12 情報処理装置、システム、情報処理装置の制御方法、システムの制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020095433A JP2020095433A (ja) 2020-06-18
JP7199949B2 true JP7199949B2 (ja) 2023-01-06

Family

ID=71072113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018232344A Active JP7199949B2 (ja) 2018-12-12 2018-12-12 情報処理装置、システム、情報処理装置の制御方法、システムの制御方法及びプログラム

Country Status (2)

Country Link
US (1) US11528266B2 (ja)
JP (1) JP7199949B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2021007229A (es) * 2019-12-27 2021-07-15 Basf Coatings Gmbh Control de calidad de color basado en la web.
JP7326382B2 (ja) * 2021-05-20 2023-08-15 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2022190578A (ja) * 2021-06-14 2022-12-26 ブラザー工業株式会社 機能実行装置、サーバ、及び、通信システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517383A (ja) 2011-05-02 2014-07-17 マイクロソフト コーポレーション デバイス機能へのアプリケーションの結び付け
JP2018028786A (ja) 2016-08-17 2018-02-22 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理方法および情報処理システム
JP2018037025A (ja) 2016-09-02 2018-03-08 富士ゼロックス株式会社 プログラム、認証システム及び認証連携システム
JP2018074205A (ja) 2016-10-24 2018-05-10 富士通株式会社 プログラム、情報処理装置、情報処理システム、及び情報処理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5344560B2 (ja) * 2008-11-27 2013-11-20 キヤノン株式会社 画像形成装置、ログ記録方法、及びプログラム
JP4991902B2 (ja) * 2010-04-22 2012-08-08 シャープ株式会社 認証サーバ、複合機、複合機制御システム、プログラムおよび記録媒体
JP5791390B2 (ja) * 2011-06-28 2015-10-07 キヤノン株式会社 印刷システム、プリントサーバ、印刷管理方法、およびプログラム
US8925053B1 (en) * 2012-02-24 2014-12-30 Emc Corporation Internet-accessible service for dynamic authentication and continuous assertion of trust level in identities
US10063594B2 (en) * 2014-12-16 2018-08-28 OPSWAT, Inc. Network access control with compliance policy check
CA2982539C (en) * 2015-04-15 2023-09-05 Sean Michael Quinlan Method of operating a computing device, computing device and computer program
US10038695B2 (en) * 2015-06-02 2018-07-31 ALTR Solutions, Inc. Remotely deauthenticating a user from a web-based application using a centralized login server
US10084794B2 (en) * 2015-06-02 2018-09-25 ALTR Solutions, Inc. Centralized access management of web-based or native applications
CN106656349B (zh) * 2015-10-28 2019-10-25 深圳光启智能光子技术有限公司 光子ca认证方法及***
JP6921654B2 (ja) * 2017-06-29 2021-08-18 キヤノン株式会社 情報処理装置、方法、及びプログラム
US10771459B2 (en) * 2017-09-04 2020-09-08 Electronics And Telecommunications Research Institute Terminal apparatus, server apparatus, blockchain and method for FIDO universal authentication using the same
US10853463B2 (en) * 2018-01-17 2020-12-01 Futurewei Technologies, Inc. Echoprint user authentication
US20200143381A1 (en) * 2018-11-06 2020-05-07 Paypal, Inc. System and Method for Obtaining a Temporary CVV using Tokenization Rails

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517383A (ja) 2011-05-02 2014-07-17 マイクロソフト コーポレーション デバイス機能へのアプリケーションの結び付け
JP2018028786A (ja) 2016-08-17 2018-02-22 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理方法および情報処理システム
JP2018037025A (ja) 2016-09-02 2018-03-08 富士ゼロックス株式会社 プログラム、認証システム及び認証連携システム
JP2018074205A (ja) 2016-10-24 2018-05-10 富士通株式会社 プログラム、情報処理装置、情報処理システム、及び情報処理方法

Also Published As

Publication number Publication date
US20200195637A1 (en) 2020-06-18
JP2020095433A (ja) 2020-06-18
US11528266B2 (en) 2022-12-13

Similar Documents

Publication Publication Date Title
JP6759152B2 (ja) 画像処理装置、方法、プログラム及びシステム
JP7091057B2 (ja) 情報処理装置、情報処理装置における方法、およびプログラム
JP6727799B2 (ja) 権限委譲システム、情報処理装置、認可サーバ、制御方法およびプログラム
JP6882080B2 (ja) 画像処理装置、方法、プログラム及びシステム
CN108959878B (zh) 用户认证***中采用的方法以及其中包括的信息处理装置
JP5516688B2 (ja) 通信システム、クライアント装置、中継装置及びプログラム
JP7066380B2 (ja) システム、システムにおける方法、情報処理装置、情報処理装置における方法、およびプログラム
JP7199949B2 (ja) 情報処理装置、システム、情報処理装置の制御方法、システムの制御方法及びプログラム
JP7030476B2 (ja) 画像処理装置、画像処理装置の制御方法、プログラム、システム、およびシステムの制御方法
JP5003749B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP7013193B2 (ja) システム、システムの制御方法、音声操作装置、音声操作装置の制御方法、およびプログラム
JP2022113037A (ja) 多要素認証機能を備えた画像形成装置
JP7196241B2 (ja) 情報処理装置、制御方法、およびプログラム
CN109214154A (zh) 信息处理装置和方法
JP4311617B2 (ja) 端末装置
JP6935460B2 (ja) 画像処理装置、方法、プログラム及びシステム
JP7230138B2 (ja) 画像処理装置、方法、プログラム及びシステム
JP2023030785A (ja) 多要素認証機能を備えたモバイル端末、制御方法、およびそのプログラム
JP2022114837A (ja) 多要素認証機能を備えた画像形成装置
WO2022255151A1 (ja) データ管理システム、データ管理方法、及び非一時的記録媒体
JP2017167833A (ja) 情報処理装置、文書管理システム、プログラムおよび文書管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221107

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: 20221122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221221

R151 Written notification of patent or utility model registration

Ref document number: 7199949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151