[go: up one dir, main page]

JP4999751B2 - Data sharing techniques - Google Patents

Data sharing techniques Download PDF

Info

Publication number
JP4999751B2
JP4999751B2 JP2008086837A JP2008086837A JP4999751B2 JP 4999751 B2 JP4999751 B2 JP 4999751B2 JP 2008086837 A JP2008086837 A JP 2008086837A JP 2008086837 A JP2008086837 A JP 2008086837A JP 4999751 B2 JP4999751 B2 JP 4999751B2
Authority
JP
Japan
Prior art keywords
token
data
identifier
encryption key
shared
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.)
Expired - Fee Related
Application number
JP2008086837A
Other languages
Japanese (ja)
Other versions
JP2008257720A (en
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2008257720A publication Critical patent/JP2008257720A/en
Application granted granted Critical
Publication of JP4999751B2 publication Critical patent/JP4999751B2/en
Expired - Fee Related 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

本発明は、データ共有に関し、特に、匿名で単純に複数のユーザ間でデータを共有する手法に関する。   The present invention relates to data sharing, and more particularly, to an anonymous and simple technique for sharing data among a plurality of users.

将来の、セキュアで(かつ、場合によっては匿名の、)データ交換を2名の人が手配することが好都合な場合がある。通常のいくつかの手法(そのいくつかを挙げれば、ポータブル・メモリ媒体(例えば、CD、メモリ・スティック)上でのデータの記憶、メールを用いた、1名又は複数名の個人へのメモリ媒体の送出、暗号化データ・ファイルの電子メールへの添付、及び対象受信者への電子メールの通信、ftpサイトへのセキュア・データのアップロード)をデータ交換に用いることができる。しかし、既存の手法はそれぞれ、いずれにせよ欠点がある。匿名でないか、詳細な情報の、瑣末でない交換が必要であるか、又は、交換に先行して、セットアップの労力がある程度必要である。   It may be convenient for two people to arrange future, secure (and possibly anonymous) data exchanges. Some of the usual techniques (some of which include storing data on portable memory media (eg, CD, memory stick), memory media for one or more individuals using mail) , Sending encrypted data files to e-mails, communicating e-mails to target recipients, uploading secure data to ftp sites) can be used for data exchange. However, each existing approach has its drawbacks anyway. Either non-anonymous or detailed exchange of detailed information is required, or some setup effort is required prior to the exchange.

上記に照らして、ユーザの匿名性が維持される、ユーザ間のデータの交換を可能にする単純化された手法が望まれている。   In light of the above, there is a desire for a simplified approach that allows users to exchange data while maintaining user anonymity.

本発明の実施例は、ユーザの匿名性を維持するやり方でユーザ間でデータを共有する手法を提供する。データを共有するために、トークンが生成され、ユーザに提供される。トークンは、識別子及び暗号鍵をコード化した情報を備える。ユーザはトークンを用いて、共有する対象のデータをアップロードすることができる。共有する対象のデータは、トークンに関連付けられた暗号鍵を用いて暗号化され、暗号化データは、トークンに関連付けられた識別子を用いてアクセス可能であるように記憶される。ユーザは次いで、トークンを用いて共有データにアクセスすることができる。共有データのアクセスに用いるトークンに関連付けられた識別子を用いてデータにアクセスし、トークンに関連付けられた暗号鍵を用いてデータを復号する。データは、トークンを用いて、ユーザの識別情報を明らかにすることなく匿名で共有される。   Embodiments of the present invention provide a technique for sharing data between users in a manner that maintains user anonymity. In order to share data, a token is generated and provided to the user. The token includes information obtained by encoding an identifier and an encryption key. Users can upload data to be shared using tokens. The data to be shared is encrypted using the encryption key associated with the token, and the encrypted data is stored so that it can be accessed using the identifier associated with the token. The user can then use the token to access the shared data. Data is accessed using an identifier associated with a token used to access shared data, and data is decrypted using an encryption key associated with the token. Data is shared anonymously using tokens without revealing the user's identity.

本発明の実施例によれば、データを共有する手法を提供する。一実施例では、共有する対象のデータをアクセスするよう利用可能な識別子が生成される。共有する対象のデータを暗号化するために利用可能な暗号鍵が生成される。識別子及び暗号鍵を含む1つ又は複数のトークンの組が生成される。トークンの組に含まれるトークンは、トークンの組からの何れのトークンを用いてもデータにアクセス可能な形態でデータを記憶することを可能にする。一実施例では、識別子の生成の一部として、共有する対象のデータを記憶する記憶場所を判定することができ、この記憶場所に基づいて識別子を生成することができる。一実施例では、識別子及び暗号鍵をコード化した機械読み取り可能なコードを生成することができ、機械読み取り可能コードは、トークンの組における各トークンと関連付けられる。   According to an embodiment of the present invention, a technique for sharing data is provided. In one embodiment, an identifier is generated that can be used to access data to be shared. An encryption key that can be used to encrypt the data to be shared is generated. A set of one or more tokens including an identifier and a cryptographic key is generated. The tokens included in the token set allow data to be stored in a form that is accessible to any token from the token set. In one embodiment, as part of generating the identifier, a storage location that stores the data to be shared can be determined, and the identifier can be generated based on the storage location. In one embodiment, a machine readable code encoded with an identifier and a cryptographic key can be generated, and the machine readable code is associated with each token in the set of tokens.

次いで、生成された組からのトークンを用いて、共有する対象の情報をアップロードすることができる。一実施例では、トークンの組における第1のトークンからの識別子及び暗号鍵。共有する対象の第1のデータを識別する情報を受け取ることもできる。第1のトークンから得られた暗号鍵を用いて第1のデータを暗号化して、暗号化された第1のデータを生成し、第1の暗号化データは、暗号化された第1のデータが識別子を用いてアクセス可能であるように記憶される。   The tokens from the generated set can then be used to upload the information to be shared. In one embodiment, the identifier and encryption key from the first token in the token set. Information identifying the first data to be shared can also be received. The first data is encrypted by using the encryption key obtained from the first token to generate the encrypted first data, and the first encrypted data is the encrypted first data. Is stored as accessible using the identifier.

トークンの組からのトークンを用いて、共有データにアクセスすることもできる。一実施例では、識別子及び暗号鍵は、共有データにアクセスするために提示される、トークンの組のトークンから得られる。暗号化された第1のデータは、トークンから得られた識別子を用いてアクセスされる。暗号化された第1のデータを次いで、トークンから得られた暗号鍵を用いて復号し、復号された第1のデータを生成する。復号された第1のデータへのアクセスがイネーブルされる。このようにして、トークン保有者は、トークンを用いて共有データにアクセスすることができる。   Shared data can also be accessed using tokens from a set of tokens. In one embodiment, the identifier and encryption key are obtained from a token in a set of tokens that are presented to access the shared data. The encrypted first data is accessed using an identifier obtained from the token. The encrypted first data is then decrypted using the encryption key obtained from the token to generate the decrypted first data. Access to the decoded first data is enabled. In this way, the token holder can access the shared data using the token.

生成され、用いられるトークンは、ディジタル(電子)トークン又は物理トークンであり得る。物理媒体上にトークンを印刷することによって物理トークンを生成することができる。一実施例では、物理媒体上にトークンの組を印刷することによってトークンの組を生成することができる。物理媒体は、物理媒体上に印刷された他のトークンと、物理媒体上に印刷されたトークンとを物理的に分離することを可能にする。   The token generated and used can be a digital (electronic) token or a physical token. A physical token can be generated by printing the token on a physical medium. In one embodiment, the token set can be generated by printing the token set on a physical medium. The physical medium allows for physical separation of other tokens printed on the physical medium and tokens printed on the physical medium.

本発明の別の実施例によれば、データを共有する手法を提供する。一実施例では、共有する対象の第1のデータを識別する情報を受け取る。識別子及び暗号鍵が生成される。第1のデータを暗号鍵を用いて暗号化して、暗号化された第1のデータを生成する。暗号化された第1のデータは、暗号化された第1のデータが識別子を用いてアクセス可能なように暗号化される。1つ又は複数のトークンの組が生成され、各組のトークンそれぞれは識別子及び暗号鍵を備える。生成されたトークンを次いで用いて共有データにアクセスすることができる。一実施例では、共有データをアクセスするために第1のトークンを提示することができる。情報は第1のトークンから得ることができる。識別子及び暗号鍵は、第1のトークンから得られる情報から判定することができる。暗号化された第1のデータは、第1のトークンから得られた識別子を用いてアクセスし、第1のトークンから得られた暗号鍵を用いて復号して、復号された第1のデータを生成することができる。復号された第1のデータへのアクセスをイネーブルすることができる。   In accordance with another embodiment of the present invention, a technique for sharing data is provided. In one embodiment, information identifying first data to be shared is received. An identifier and an encryption key are generated. The first data is encrypted using the encryption key, and the encrypted first data is generated. The encrypted first data is encrypted so that the encrypted first data can be accessed using the identifier. One or more sets of tokens are generated, each of which includes an identifier and a cryptographic key. The generated token can then be used to access the shared data. In one embodiment, a first token can be presented to access shared data. Information can be obtained from the first token. The identifier and the encryption key can be determined from information obtained from the first token. The encrypted first data is accessed using the identifier obtained from the first token, decrypted using the encryption key obtained from the first token, and the decrypted first data is Can be generated. Access to the decrypted first data can be enabled.

本発明の実施例によれば、別々のバージョンの共有データを記憶し、アクセスすることができる。一実施例では、関連付けられた第1のメタデータを有する第1のレコードを記憶することができる。第1の識別子を生成することができる。第1のレコードは第1の識別子を用いてアクセス可能である。暗号鍵を生成することができる。暗号鍵は、共有する対象のデータを暗号化するために利用可能である。1つ又は複数のトークンの組を生成することができる。組の各トークンは第1の識別子、及び暗号鍵を備え、トークンの組からのトークンは、トークンの組からの何れかのトークンを用いて記憶データがアクセス可能であるようにデータを記憶することを可能にする。   According to embodiments of the present invention, different versions of shared data can be stored and accessed. In one embodiment, a first record having associated first metadata may be stored. A first identifier can be generated. The first record is accessible using the first identifier. An encryption key can be generated. The encryption key can be used to encrypt data to be shared. One or more sets of tokens can be generated. Each token in the set comprises a first identifier and an encryption key, and the token from the token set stores data such that the stored data is accessible using any token from the token set Enable.

トークンを次いで用いて、共有する対象のデータのバージョンを記憶することができる。一実施例では、トークンの組からのトークンから暗号鍵が得られる。共有する対象の第1のデータを識別する情報を受け取る。第1のデータを暗号鍵を用いて暗号化して、暗号化された第1のデータを生成する。暗号化された第1のデータは第2のレコードに記憶され、第2のメタデータは、第2のレコードと関連付けられる。第2の識別子が生成される。第2のレコードは第2の識別子を用いてアクセス可能である。第2の識別子は、第1のレコードに関連付けられた第1のメタデータに記憶される。第2のメタデータは、トークンから得られた暗号鍵を用いて暗号化することができる。   The token can then be used to store the version of the data to be shared. In one embodiment, a cryptographic key is obtained from a token from a set of tokens. Information identifying the first data to be shared is received. The first data is encrypted using the encryption key, and the encrypted first data is generated. The encrypted first data is stored in the second record, and the second metadata is associated with the second record. A second identifier is generated. The second record is accessible using the second identifier. The second identifier is stored in the first metadata associated with the first record. The second metadata can be encrypted using an encryption key obtained from the token.

共有データは次いで、トークンを用いてアクセスすることができる。一実施例では、トークンの組からのトークンから第1の識別子、及び暗号鍵が得られる。第1のレコードは、第1の識別子を用いてアクセスされる。第2の識別子は、第1のレコードに関連付けられた第1のメタデータから判定される。第2のレコードは、第2の識別子を用いてアクセスされる。第2のレコードの、暗号化された第1のデータを、暗号鍵を用いて復号して、復号された第1のデータを生成する。復号された第1のデータへのアクセスがイネーブルされる。   The shared data can then be accessed using the token. In one embodiment, a first identifier and a cryptographic key are obtained from a token from a set of tokens. The first record is accessed using the first identifier. The second identifier is determined from the first metadata associated with the first record. The second record is accessed using the second identifier. The encrypted first data of the second record is decrypted using the encryption key to generate the decrypted first data. Access to the decoded first data is enabled.

トークンを用いて、共有する対象のデータの別のバージョンを記憶することもできる。一実施例では、第1の識別子、及び暗号鍵は、共有する対象のデータのアップロードに用いるトークンから得られる。第2のデータを識別する情報を受け取る。第2のデータを、暗号鍵を用いて暗号化して、暗号化された第2のデータを生成する。暗号化された第2のデータは第3のレコードに記憶され、第3のメタデータは、第3のレコードと関連付けられる。第3の識別子が生成される。第3のレコードは第3の識別子を用いてアクセス可能である。第3の識別子は、第2のレコードに関連付けられた第2のメタデータに記憶される。   Tokens can also be used to store different versions of data to be shared. In one embodiment, the first identifier and the encryption key are obtained from a token used to upload data to be shared. Information identifying second data is received. The second data is encrypted using the encryption key to generate the encrypted second data. The encrypted second data is stored in the third record, and the third metadata is associated with the third record. A third identifier is generated. The third record is accessible using the third identifier. The third identifier is stored in second metadata associated with the second record.

トークンを用いて、最後に更新された共有データにアクセスすることができる。一実施例では、トークンの組からのトークンから第1の識別子、及び暗号鍵が得られる。第1のレコードは、第1の識別子を用いてアクセスされる。第2の識別子は、第1のレコードに関連付けられた第1のメタデータから判定される。第2のレコードは、第2の識別子を用いてアクセスされる。第3の識別子は、第2のレコードに関連付けられた第2のメタデータに記憶される。第3のレコードは、第3の識別子を用いてアクセスされる。第3のレコードの、暗号化された第2のデータを暗号鍵を用いて復号して、復号された第2のデータを生成する。復号された第2のデータへのアクセスがイネーブルされる。   The token can be used to access the last updated shared data. In one embodiment, a first identifier and a cryptographic key are obtained from a token from a set of tokens. The first record is accessed using the first identifier. The second identifier is determined from the first metadata associated with the first record. The second record is accessed using the second identifier. The third identifier is stored in second metadata associated with the second record. The third record is accessed using the third identifier. The encrypted second data of the third record is decrypted using the encryption key to generate the decrypted second data. Access to the decoded second data is enabled.

本発明の上記説明は、その他の特徴、実施例、及び利点とともに、明細書、特許請求の範囲及び図面を参照すると、より明らかになる。   The foregoing description of the invention, as well as other features, examples, and advantages, will become more apparent with reference to the specification, claims, and drawings.

以下の記載では、説明の目的で、具体的な詳細を表して、本発明が深く分かるようにしている。しかし、本発明は、前述の具体的な詳細なしで実施することができる。   In the following description, for purposes of explanation, specific details are set forth in order to provide a thorough understanding of the present invention. However, the present invention may be practiced without the specific details described above.

本発明の実施例は、ユーザの匿名性を維持するやり方で複数のユーザ間でデータを共有する手法を提供する。本発明の実施例によれば、データの共有を促進する1つ又は複数のトークンが生成される。図1は、本発明の実施例による、トークンを生成し、用いるシステム100の単純化されたブロック図である。図1に表すトークン100は、本発明の実施例を例証しているにすぎず、特許請求の範囲記載の本発明の範囲を限定するものでない。当業者は他の変形、修正及び代替を認識するであろう。   Embodiments of the present invention provide a technique for sharing data among multiple users in a manner that maintains user anonymity. According to an embodiment of the present invention, one or more tokens that facilitate data sharing are generated. FIG. 1 is a simplified block diagram of a system 100 for generating and using tokens according to an embodiment of the present invention. The token 100 depicted in FIG. 1 is merely illustrative of an embodiment of the invention and does not limit the scope of the invention as recited in the claims. Those skilled in the art will recognize other variations, modifications, and alternatives.

図1に表すように、システム100は、本発明の実施例による、トークンの生成及び使用を促進するトークン・プロセッサ102を備える。トークン・プロセッサ102は、ソフトウェア(プロセッサによって実行されるコード若しくは命令)、ハードウェア、又はそれらの組み合わせで実現することができる。例えば、図1に表すように、トークン・プロセッサ102は、コンピュータ・システム104上で実行されるアプリケーションであり得る。モジュール102のソフトウェア・コード又は命令は、システム104のプロセッサによって実行することができる。   As depicted in FIG. 1, system 100 includes a token processor 102 that facilitates the generation and use of tokens according to an embodiment of the present invention. The token processor 102 can be implemented in software (code or instructions executed by the processor), hardware, or a combination thereof. For example, as depicted in FIG. 1, the token processor 102 may be an application that executes on the computer system 104. The software code or instructions for module 102 may be executed by the processor of system 104.

トークン・プロセッサ102は、本発明の教示によってトークンを生成するよう構成される。トークンは、1つ又は複数のトークンを生成する旨の要求をユーザからトークン・プロセッサ102が受け取ることに応じて生成することができる。一実施例では、ユーザは、新たなトークンの生成を要求し、同時に、トークンを用いて共有する対象のデータを識別することもできる。これに応じて、トークン・プロセッサ102は、トークンを生成する処理を実行するよう構成される。図2は、本発明の実施例による、トークンを生成する方法を表す単純化された概略レベルのフローチャート200である。図2に表す方法は、プロセッサによって実行されるソフトウェア・モジュール(コード・モジュール若しくは命令)、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ102によって行うことができる。図2に表すフローチャート200は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図2に表す方法は、種々の実現上の制約で機能するよう適合させることができる。   Token processor 102 is configured to generate tokens in accordance with the teachings of the present invention. The token may be generated in response to the token processor 102 receiving a request from the user to generate one or more tokens. In one embodiment, the user can request the generation of a new token and at the same time identify the data to be shared using the token. In response, the token processor 102 is configured to perform processing to generate a token. FIG. 2 is a simplified high-level flowchart 200 representing a method for generating tokens according to an embodiment of the present invention. The method depicted in FIG. 2 may be performed by software modules (code modules or instructions) executed by a processor, hardware modules, or combinations thereof. For example, the method can be performed by the token processor 102 depicted in FIG. Flowchart 200 depicted in FIG. 2 is merely illustrative of an embodiment of the present invention and is not intended to limit the scope of the present invention. Other variations, modifications, and alternatives are within the scope of the present invention. The method depicted in FIG. 2 can be adapted to work with various implementation constraints.

新たなトークンを生成する旨の信号を受信すると、処理を起動させることができる(工程202)。新たなトークンを生成する旨の要求とともに、生成する対象の新たなトークンを用いて共有する対象のデータを識別する情報も受け取られる(工程204)。トークン・プロセッサ102は、ユーザが、新たなトークンの生成を要求することを可能にし、共有する対象のデータを識別することも可能にするユーザ・インタフェースを備えることができる。   When a signal to generate a new token is received, the process can be activated (step 202). Along with the request to generate a new token, information identifying the data to be shared using the new token to be generated is also received (step 204). The token processor 102 can include a user interface that allows a user to request the generation of a new token and also identify the data to be shared.

共有する対象のデータを記憶する記憶場所を次いで判定する(工程206)。記憶場所は、まだ存在していない場合、206の一部として作成することができる。例えば、図1に表すように、共有する対象のデータを記憶する記憶場所106を判定することができる。共有する対象のデータを記憶する記憶場所は、コンピュータ・システム104の局所にあり得るか、又はコンピュータ・システム104に対して遠隔にあり得る。   A storage location for storing the data to be shared is then determined (step 206). The storage location can be created as part of 206 if it does not already exist. For example, as shown in FIG. 1, a storage location 106 for storing data to be shared can be determined. The storage location for storing the data to be shared can be local to the computer system 104 or remote to the computer system 104.

トークンを生成するための識別子が次いで生成される(工程208)。生成された識別子は、206で識別された記憶場所からの共有データにアクセスするために用いることができるようなものである。識別子は、共有データが記憶される記憶場所(すなわち、206で判定された記憶場所)を判定し、その記憶場所で記憶されたデータも判定するために用いることができる情報をカプセル化することができる。識別子の例は、共有する対象のデータを記憶する記憶場所へのポインタ又は参照、記憶場所への索引、URL等を含む。一実施例では、大局的に一意の識別子が生成される。各種の手法(データの暗号ハッシュの算出等など)を用いて一意の識別子を生成することができる。例えば、一実施例では、共有データを暗号化し、共有する対象のデータを記憶する記憶場所において文書として記憶することができ、生成される識別子は、その記憶場所を含む文書を識別する大局的に一意の識別子である。   An identifier for generating a token is then generated (step 208). The generated identifier is such that it can be used to access shared data from the storage location identified at 206. The identifier may encapsulate information that can be used to determine the storage location where the shared data is stored (ie, the storage location determined at 206) and also determine the data stored at that storage location. it can. Examples of identifiers include a pointer or reference to a storage location that stores data to be shared, an index to the storage location, a URL, and the like. In one embodiment, a globally unique identifier is generated. The unique identifier can be generated using various methods (such as calculation of a cryptographic hash of data). For example, in one embodiment, the shared data can be encrypted and stored as a document in a storage location that stores the data to be shared, and the generated identifier is globally identifying the document that contains the storage location. It is a unique identifier.

生成する対象のトークンの一意の暗号鍵を次いで、生成/識別する(工程210)。一実施例では、暗号鍵は、データを暗号化し、更に、暗号化データを復号するために用いることが可能な対称暗号鍵である。204で識別されたデータを、210で判定された暗号鍵を用いて暗号化して、暗号化データを生成する(工程212)。データを暗号化するために各種の暗号化手法を用いることができる。212で生成された暗号化データを次いで、206で識別された記憶場所に記憶する(工程214)。   A unique encryption key for the token to be generated is then generated / identified (step 210). In one embodiment, the encryption key is a symmetric encryption key that can be used to encrypt data and further decrypt the encrypted data. The data identified at 204 is encrypted using the encryption key determined at 210 to generate encrypted data (step 212). Various encryption techniques can be used to encrypt the data. The encrypted data generated at 212 is then stored in the storage location identified at 206 (step 214).

1つ又は複数のトークンが生成される(工程216)。生成されたトークンそれぞれは、208で生成された識別子、及び、共有データの暗号化に用いる、210で生成された暗号鍵を含む情報を備える。各種手法を用いて、識別子及び暗号鍵を、生成されたトークンと関連付けることができる。一実施例では、識別子及び暗号鍵をトークン上に印刷することができる。別の実施例では、識別子及び暗号鍵は、生成トークンに印刷される機械読み取りコードにコード化することができる。情報をコード化するために用いることができる機械読み取り可能なコードの例には、QRコード、グリフ等などのバーコードが含まれる。一実施例では、識別子及び暗号鍵は、別個の2つの機械読み取り可能なコード(例えば、別個の2つのバーコード)にコード化することができる。トークンはその場合、別個の2つのバーコードを備え得る。   One or more tokens are generated (step 216). Each of the generated tokens includes information including an identifier generated in 208 and an encryption key generated in 210 used for encryption of shared data. Various techniques can be used to associate the identifier and encryption key with the generated token. In one embodiment, the identifier and encryption key can be printed on the token. In another embodiment, the identifier and encryption key can be encoded into a machine readable code that is printed on the generated token. Examples of machine readable codes that can be used to encode information include barcodes such as QR codes, glyphs, and the like. In one example, the identifier and encryption key may be encoded into two separate machine readable codes (eg, two separate barcodes). The token can then comprise two separate barcodes.

216で生成されたトークンは、ディジタル(電子)トークン又は物理トークンであり得る。例えば、図1に表すように、トークン・プロセッサ102は、コンピュータ・システム104のメモリに記憶することができるディジタル・トークン108を生成することができる。ディジタル・トークン108は、識別子及び暗号鍵をコード化した情報を備える画像であり得る。ディジタル・トークン108は、電子的に通信(例えば、電子メール)することができ、出力装置上(画面上、モニタ上、視覚ディスプレイ上等など)に表示可能であり得る。物理トークンは、物理媒体(紙、カード、プラスチック等など)を用いて生成することができる。例えば、図1に表すシステム100では、プリンタ112を用いて物理トークン110を生成することができる。トークン・プロセッサ102は、トークン関連情報をプリンタ112に送出するよう構成することができる。プリンタ112は次いで、物理媒体上(紙上、カード上、プラスチック上等など)に情報を印刷することによって物理トークン110を生成することができる。1つ又は複数のトークンを生成することができる。   The token generated at 216 can be a digital (electronic) token or a physical token. For example, as depicted in FIG. 1, the token processor 102 can generate a digital token 108 that can be stored in the memory of the computer system 104. The digital token 108 may be an image comprising information encoded with an identifier and an encryption key. The digital token 108 can be electronically communicated (eg, email) and can be displayed on an output device (such as on a screen, monitor, visual display, etc.). The physical token can be generated using a physical medium (paper, card, plastic, etc.). For example, in the system 100 shown in FIG. 1, the physical token 110 can be generated using the printer 112. The token processor 102 can be configured to send token related information to the printer 112. The printer 112 can then generate the physical token 110 by printing the information on a physical medium (paper, card, plastic, etc.). One or more tokens can be generated.

図2に表し、前述した処理では、共有する対象のデータは、トークンを生成する旨の要求によって識別された。別の実施例では、共有するデータの知識なしでトークンを生成することができる。例えば、共有する対象のデータの識別なしでトークンを生成することができる。共有する対象のデータは、データの共有に用いる対象のトークンを生成する時点で作成されていないか、又は利用可能でないこともあり得る。先行して生成された(予め生成された)トークンは次いで、共有する対象のデータを共有するために、後に用いることができる。   In the process shown in FIG. 2 and described above, the data to be shared is identified by a request to generate a token. In another embodiment, tokens can be generated without knowledge of the data to share. For example, a token can be generated without identifying the data to be shared. The target data to be shared may not have been created or available at the time of generating the target token used for data sharing. The previously generated (pre-generated) token can then be used later to share the data to be shared.

図3は、本発明の実施例による、トークンを用いて共有する対象のデータを識別することなくトークンを生成する方法を表す単純化された概要レベルのフローチャート300である。図3に表す方法は、プロセッサによって実行されるソフトウェア・モジュール(コード・モジュール若しくは命令)、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ102によって行うことができる。図3に表すフローチャート300は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図3に表す方法は、種々の実現上の制約で機能するよう適合させることができる。   FIG. 3 is a simplified high-level flowchart 300 illustrating a method for generating a token without identifying the data to be shared using the token, according to an embodiment of the present invention. The method depicted in FIG. 3 may be performed by software modules (code modules or instructions) executed by a processor, hardware modules, or combinations thereof. For example, the method can be performed by the token processor 102 depicted in FIG. Flowchart 300 depicted in FIG. 3 is merely illustrative of an embodiment of the present invention and is not intended to limit the scope of the present invention. Other variations, modifications, and alternatives are within the scope of the present invention. The method depicted in FIG. 3 can be adapted to work with various implementation constraints.

新たなトークンを生成する旨の信号を受信すると、処理を起動させることができる(工程302)。共有する対象のデータを記憶する記憶場所が次いで判定される(工程304)。304で判定される記憶場所は、生成されるトークンを用いて共有する対象のデータが記憶されることになる場所を表す。共有する対象のデータを記憶する記憶場所がまだ存在していない場合、記憶場所を304の一部として作成することができる。このようにして、データ記憶のためにメモリ場所が識別される。共有する対象のデータを記憶する記憶場所は、コンピュータ・システム104の局所にあるか、又は特定の遠隔場所にあり得る。   Upon receipt of a signal to generate a new token, the process can be activated (step 302). A storage location for storing data to be shared is then determined (step 304). The storage location determined at 304 represents the location where the data to be shared using the generated token will be stored. If a storage location that stores data to be shared does not yet exist, the storage location can be created as part of 304. In this way, memory locations are identified for data storage. The storage location for storing the data to be shared may be local to computer system 104 or at a specific remote location.

トークンを生成するための識別子が次いで生成される(工程306)。生成識別子は、304で判定された記憶場所からの共有データを位置特定するために用いることが可能なものである。識別子の例として、記憶場所へのポインタ又は参照、記憶場所への索引、URL等がある。一実施例では、一意の識別子が生成される。各種の手法(暗号ハッシュの算出等など)を用いて一意の識別子を生成することができる。   An identifier for generating a token is then generated (step 306). The generation identifier can be used to locate shared data from the storage location determined at 304. Examples of identifiers include pointers or references to storage locations, indexes to storage locations, URLs, and the like. In one embodiment, a unique identifier is generated. The unique identifier can be generated using various methods (such as cryptographic hash calculation).

生成する対象のトークンの一意の暗号鍵を次いで、生成する(工程308)。一実施例では、暗号鍵は、データを暗号化し、更に、暗号化データを復号するために用いることが可能な対称暗号鍵である。   A unique encryption key for the token to be generated is then generated (step 308). In one embodiment, the encryption key is a symmetric encryption key that can be used to encrypt data and further decrypt the encrypted data.

次いで、1つ又は複数のトークンが生成される(工程310)。生成されるトークンそれぞれは、306で生成された識別子、及び、共有データの暗号化に用いる、308で生成された暗号鍵を含む情報を備える。種々の手法(トークン上に識別子及び暗号鍵を印刷する、生成されたトークン上に印刷された機械読み取り可能なコードに識別子及び暗号鍵をコード化する等など)を用いて、識別子及び暗号鍵をトークンと関連付けることができる。310で生成されたトークンは、ディジタル(電子)トークン又は物理トークンであり得る。   One or more tokens are then generated (step 310). Each of the generated tokens includes an identifier generated in 306 and information including an encryption key generated in 308 used for encryption of shared data. Using various techniques (such as printing the identifier and encryption key on the token, encoding the identifier and encryption key into machine-readable code printed on the generated token, etc.) Can be associated with a token. The token generated at 310 can be a digital (electronic) token or a physical token.

前述の通り、共有する対象のデータが識別される前にトークンを生成することもできる。次いで、先行して生成されたトークン(ディジタル又は物理)は後に、共有する対象データを暗号化し、記憶することができる。図4は、本発明の実施例による、先行して生成されたトークンを用いてデータを共有する方法を表す単純化された概略レベルのフローチャート400である。図4に表す方法は、プロセッサによって実行されるソフトウェア・モジュール(コード・モジュール若しくは命令)、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ102によって行うことができる。図4に表すフローチャート400は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図4に表す方法は、種々の実現上の制約で機能するよう適合させることができる。   As described above, a token can be generated before data to be shared is identified. The previously generated token (digital or physical) can then later encrypt and store the data to be shared. FIG. 4 is a simplified high-level flowchart 400 representing a method for sharing data using previously generated tokens according to an embodiment of the present invention. The method depicted in FIG. 4 may be performed by software modules (code modules or instructions) executed by a processor, hardware modules, or combinations thereof. For example, the method can be performed by the token processor 102 depicted in FIG. Flowchart 400 depicted in FIG. 4 is merely illustrative of an embodiment of the present invention and is not intended to limit the scope of the present invention. Other variations, modifications, and alternatives are within the scope of the present invention. The method depicted in FIG. 4 can be adapted to work with various implementation constraints.

図4に表すように、先行して生成されたトークンを用いてデータを共有する旨の要求を受けると起動させることができる(工程402)。例えば、図1に表すトークン・プロセッサ102は、先行して生成されたトークンを用いてデータを共有する旨の信号をユーザから受信することができる。共有する対象のデータを識別する情報を受け取ることができる(工程404)。前述の通り、ト―クン・プロセッサ102は、共有する対象のデータをユーザが規定することを可能にするインタフェースを備えることができる。   As shown in FIG. 4, it can be activated upon receiving a request to share data using a previously generated token (step 402). For example, the token processor 102 depicted in FIG. 1 can receive a signal from the user to share data using a previously generated token. Information identifying the data to be shared can be received (step 404). As described above, the token processor 102 can include an interface that allows the user to define the data to be shared.

情報は次いで、データの共有に用いる対象の、先行して生成されたトークンから得られる(工程406)。先行して生成されたトークンから情報を得る各種手法を用いることができる。一実施例では、図1に表すように、トークン読み取り器114に提示される先行して生成されたトークン116から情報を得るよう構成されたトークン読み取り器114を提供することができる。トークン116から得られる情報には、トークンに関連付けられた識別子及び暗号鍵がある。   Information is then obtained from previously generated tokens to be used for data sharing (step 406). Various techniques for obtaining information from a previously generated token can be used. In one embodiment, as depicted in FIG. 1, a token reader 114 configured to obtain information from a previously generated token 116 presented to the token reader 114 may be provided. Information obtained from the token 116 includes an identifier and an encryption key associated with the token.

トークン読み取り器114は、物理トークン又はディジタル・トークンから情報を得ることができることがあり得る。ディジタル・トークンの場合、トークン読み取り器114は、表示上(画面上、モニタ上、視覚ディスプレイ上等など)に表示されたディジタル・トークンから情報を捕捉するよう構成することができる。一実施例では、画像処理又は光学式文字認識手法を用いて、ディジタル・トークンから情報を得ることができる。物理トークンの場合、読み取り器114は、物理トークンから情報を読み取るよう構成することができる。前述の通り、一実施例では、識別子及び暗号鍵を、ディジタル・トークン又は物理トークンに関連付けられた機械読み取り可能なコードでコード化することができる。この実施例では、トークン読み取り器114は、物理トークン上に印刷された機械読み取り可能なコ―ドを走査し、読み取るよう構成されたバーコード読み取り器であり得る。   The token reader 114 may be able to obtain information from a physical token or a digital token. In the case of a digital token, the token reader 114 can be configured to capture information from the digital token displayed on the display (on screen, monitor, visual display, etc.). In one embodiment, information can be obtained from a digital token using image processing or optical character recognition techniques. In the case of a physical token, the reader 114 can be configured to read information from the physical token. As described above, in one embodiment, the identifier and encryption key can be encoded with a machine readable code associated with a digital or physical token. In this example, token reader 114 may be a bar code reader configured to scan and read machine-readable code printed on a physical token.

識別子及び暗号鍵を次いで、406でトークンから得られた情報から判定する(工程408)。暗号鍵は、対称暗号鍵であり得る。   The identifier and encryption key are then determined from the information obtained from the token at 406 (step 408). The encryption key can be a symmetric encryption key.

404で識別されたデータを次いで、408で判定された暗号鍵を用いて暗号化して、暗号化データを生成する(工程410)。410で生成された暗号化データは次いで、識別子を用いて記憶データを取り出すことができるように、408で判定された識別子に対応する記憶場所に記憶される(工程412)。このようにして、予め生成されたトークンを用いて、情報を暗号化し、一又は複数のユーザによってアクセスすることが可能な記憶場所にロードすることができる。記憶場所に記憶されたデータは次いで、共有データのアップロードに用いられたトークンと同じ識別子及び同じ暗号鍵を有するトークンを用いてデータを共有する他のユーザによるアクセスに利用可能である。   The data identified at 404 is then encrypted using the encryption key determined at 408 to generate encrypted data (step 410). The encrypted data generated at 410 is then stored in the storage location corresponding to the identifier determined at 408 so that the stored data can be retrieved using the identifier (step 412). In this way, a pre-generated token can be used to encrypt information and load it into a storage location that can be accessed by one or more users. The data stored in the storage location is then available for access by other users sharing the data using a token having the same identifier and the same encryption key as the token used to upload the shared data.

前述のように生成されるトークンを用いて共有情報にアクセスすることもできる。図5は、本発明の実施例による、生成されたトークンを用いて共有データにアクセスする方法を表す単純化された概要レベルのフローチャート500である。図5に表す方法は、プロセッサによって実行されるソフトウェア・モジュール(コード・モジュール若しくは命令)、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ102によって行うことができる。図5に表すフローチャート500は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図5に表す方法は、種々の実現上の制約で機能するよう適合させることができる。   The shared information can also be accessed using the token generated as described above. FIG. 5 is a simplified high-level flowchart 500 representing a method for accessing shared data using a generated token, according to an embodiment of the present invention. The method depicted in FIG. 5 may be performed by software modules (code modules or instructions) executed by a processor, hardware modules, or combinations thereof. For example, the method can be performed by the token processor 102 depicted in FIG. Flowchart 500 depicted in FIG. 5 is merely illustrative of an embodiment of the present invention and is not intended to limit the scope of the present invention. Other variations, modifications, and alternatives are within the scope of the present invention. The method depicted in FIG. 5 can be adapted to work with various implementation constraints.

図5に表すように、トークンに対応する共有情報にアクセスする旨の要求を受けると処理を起動させることができる(工程502)。502では、トークンを用いて情報にアクセスしようとするユーザは、図1に表すトークン読み取り器114などのトークン読み取り器にトークン(ディジタル又は物理)を提示することができる。情報を次いで、提示されたトークンから得る(工程504)。トークンから得られる情報は、トークンに関連付けられた識別子及び暗号鍵を識別する情報を含む。トークンに関連付けられた識別子及び暗号鍵を次いで、504でトークンから得られた情報から判定する(工程506)。506で判定された識別子によって識別されたデータに次いでアクセスする(工程508)。前述の通り、識別子を用いて、共有する対象のデータを記憶する記憶場所、及びその記憶場所におけるデータを判定することができる。アクセスされるデータは通常、暗号化形式のデータである。508で記憶場所からアクセスされた暗号化データを次いで、トークンからの、506で判定された暗号鍵を用いて復号する(工程510)。復号データは次いで、トークン保有者にアクセス可能にされる(工程512)。このようにして、トークンを用いて、共有するために暗号化され、記憶されているデータへのアクセスを得ることができる。   As shown in FIG. 5, upon receiving a request to access shared information corresponding to a token, the process can be started (step 502). At 502, a user attempting to access information using a token can present a token (digital or physical) to a token reader, such as token reader 114 depicted in FIG. Information is then obtained from the presented token (step 504). The information obtained from the token includes information identifying an identifier and an encryption key associated with the token. The identifier and encryption key associated with the token are then determined from the information obtained from the token at 504 (step 506). The data identified by the identifier determined at 506 is then accessed (step 508). As described above, the identifier can be used to determine the storage location that stores the data to be shared and the data at the storage location. The data to be accessed is usually encrypted data. The encrypted data accessed from the storage location at 508 is then decrypted using the encryption key determined at 506 from the token (step 510). The decrypted data is then made accessible to the token holder (step 512). In this way, the token can be used to gain access to data that is encrypted and stored for sharing.

前述の通り、本発明の実施例によれば、トークン・プロセッサ102は、トークンの生成及び使用を促進する。トークン・プロセッサ102は、トークンの生成及び使用に関係する種々のタスクを行うためのいくつかのモジュールを含み得る。図6は、本発明の実施例による、トークン・プロセッサ102の種々のモジュールの単純化されたブロック図を表す。図6に表すように、トークン・プロセッサ102は、ユーザ・インタフェース・モジュール602、識別子プロセッサ・モジュール604、暗号化/復号モジュール606、トークン情報捕捉モジュール608、及びトークン生成器モジュール610を備え得る。モジュールは、ソフトウェア(プロセッサによって実行されるコード若しくは命令)、ハードウェア、又はそれらの組み合わせで実現することができる。   As described above, according to embodiments of the present invention, token processor 102 facilitates the generation and use of tokens. The token processor 102 may include a number of modules for performing various tasks related to token generation and use. FIG. 6 depicts a simplified block diagram of various modules of token processor 102, according to an embodiment of the present invention. As depicted in FIG. 6, the token processor 102 may comprise a user interface module 602, an identifier processor module 604, an encryption / decryption module 606, a token information capture module 608, and a token generator module 610. A module may be implemented in software (code or instructions executed by a processor), hardware, or a combination thereof.

ユーザ・インタフェース・モジュール602は、ユーザがトークン・プロセッサ102と相互作用することを可能にする。例えば、ユーザ・インタフェース・モジュール602は、ユーザが、新たなトークンの生成を要求し、共有する対象の情報を規定/識別し、トークンを用いて共有する対象の情報のアップロードを要求し、トークンを用いて共有情報にアクセスする旨を要求する等を可能にするインタフェースを備えることができる。   User interface module 602 allows a user to interact with token processor 102. For example, the user interface module 602 may request that a user generate a new token, define / identify information to be shared, request upload of the information to be shared using the token, It is possible to provide an interface that can be used to request access to shared information.

トークン情報捕捉モジュール608は、トークンから情報を捕捉し、捕捉情報から識別子及び暗号鍵情報を判定することに関するタスクを行うよう構成することができる。トークン情報捕捉モジュール608は、トークン読み取り器とインタフェースし、トークン読み取り器によって捕捉される情報を受け取ることができる。   The token information capture module 608 can be configured to perform tasks related to capturing information from the token and determining identifier and encryption key information from the captured information. The token information capture module 608 can interface with the token reader and receive information captured by the token reader.

識別子プロセッサ・モジュール604は、共有する対象のデータを記憶する記憶場所との間のデータの記憶及びアクセスに関するタスクを行うよう構成することができる。前述のタスクは、データを記憶する記憶場所の判定又は作成、記憶場所の識別子の生成、特定の識別子に対応する記憶場所の判定、識別子に対応する記憶場所へのデータの記憶、及び識別子を前提とした、記憶場所からのデータのアクセス等を含み得る。   The identifier processor module 604 may be configured to perform tasks related to data storage and access to and from storage locations that store data to be shared. The above tasks are based on determining or creating a storage location for storing data, generating an identifier for the storage location, determining a storage location corresponding to a particular identifier, storing data in the storage location corresponding to the identifier, and Data access from a storage location, and the like.

暗号化/復号モジュール606は、暗号化及び復号関連タスクを行うよう構成することができる。前述のタスクは、トークンと関連付ける対象の暗号鍵の判定/生成、暗号鍵を用いた、共有する対象のデータの暗号化、及び暗号鍵を用いた暗号化データの復号を含み得る。   The encryption / decryption module 606 can be configured to perform encryption and decryption related tasks. Such tasks may include determining / generating the encryption key to be associated with the token, encrypting the data to be shared using the encryption key, and decrypting the encrypted data using the encryption key.

トークン生成器モジュール610は、ディジタル・トークン又は物理トークンに関するタスクを行うよう構成することができる。前述のタスクは、機械読み取り可能なコードにおける識別子及び暗号鍵のコード化、及びコードのトークンとの関連付け、ディジタル・トークンの生成、プリンタなどの装置のサービスを用いた物理トークンの生成等を含み得る。   The token generator module 610 can be configured to perform tasks related to digital tokens or physical tokens. Such tasks may include encoding identifiers and cryptographic keys in machine-readable code, associating codes with tokens, generating digital tokens, generating physical tokens using services of devices such as printers, etc. .

前述の通り、トークンを用いて、ユーザ群間でデータを共有することができる。例えば、組の各トークンが同じ識別子及び同じ暗号鍵を備えるデータ共有を可能にするためにトークンの組を生成することができる。共有する対象のデータは、トークンが生成される時点で識別されてもされなくてもよい。生成されたトークンを次いで、データを共有したいユーザ群に分配することができる。群からのユーザは後に、自分のトークンを用いて、群の他者とデータを共有することができる。前述の通り、ト―クンを用いることによって、ユーザによって共有されるデータは、自分のトークンに関連付けられた暗号鍵を用いて暗号化され、自分のトークンに関連付けられた識別子に対応する記憶場所に記憶される。群の他のメンバに分配されるトークンは、データの記憶に用いられた識別子と同じ識別子も含むので、群のユーザは自らのトークンを用いて、前述の通り、記憶場所から共有データにアクセスすることができる。更に、分配されたトークンに関連付けられた暗号鍵も同じであり、対称暗号鍵であるので、暗号鍵を用いて共有データを復号することができる。このようにして、群のメンバ間でデータを共有することができる。   As described above, the token can be used to share data between user groups. For example, a set of tokens can be generated to allow data sharing with each token in the set having the same identifier and the same encryption key. The data to be shared may or may not be identified at the time the token is generated. The generated token can then be distributed to a group of users who want to share data. Users from the group can later share data with others in the group using their tokens. As mentioned above, by using tokens, data shared by users is encrypted using the encryption key associated with their token and stored in a storage location corresponding to the identifier associated with their token. Remembered. The tokens distributed to the other members of the group also contain the same identifiers used to store the data, so the users of the group use their tokens to access the shared data from the storage location as described above. be able to. Furthermore, since the encryption key associated with the distributed token is the same and is a symmetric encryption key, the shared data can be decrypted using the encryption key. In this way, data can be shared among the members of the group.

例えば、会議のトークンの組を生成することができる。各トークンは、それに関連付けられた同じ識別子、及び対称暗号鍵を有する。トークンの組を次いで、会議の出席者に分配して、出席者間のデータの共有を可能にすることができる。出席者は何れも、自らのトークンを用いて、データを暗号化し、分配されたトークンに関連付けられた識別子に対応する記憶場所にデ―タをアップロードすることができる。出席者は、自らのトークンを用いて記憶場所からデータにアクセスすることもできる。   For example, a set of conference tokens can be generated. Each token has the same identifier associated with it and a symmetric encryption key. The set of tokens can then be distributed to meeting attendees to allow sharing of data between attendees. Any attendee can use his token to encrypt the data and upload the data to the storage location corresponding to the identifier associated with the distributed token. Attendees can also access data from storage using their tokens.

共有する対象のデータは、トークンが生成される際に識別することもできる。データは、トークンに関連付けられた暗号鍵(通常、対称暗号鍵)を用いて暗号化され、トークンに関連付けられた識別子に対応する記憶場所に記憶される。生成されたトークンを次いで、ユーザ群に分配することができる。ユーザ群は次いで、トークンを用いて共有データにアクセスすることができる。群内のユーザは何れも、ユーザのトークンを用いて記憶場所にデータをロードすることもでき、データを次いで、同じ識別子及び暗号鍵のトークンを有する他のユーザによってアクセスすることが可能である。このようにして、トークンは、ユーザ間のデータの共有を可能にする。会議を例として用いれば、会議でのプレゼンタは、会議に先立って、会議において出席者と共有する対象のデータを識別し、トークンの組(それぞれが、プレゼンタによって共有される対象のデータの記憶に用いる同じ暗号鍵及び識別子を備える)を生成することができる。その後、トークンの組は、会議の出席者に配付することができる。その後、出席者は自分のトークンを用いて、記憶場所に記憶されたデータにアクセスすることができる。出席者は、出席者のトークンを用いてデータを暗号化し、記憶場所にデータをアップロードすることもできる。このようにして、出席者とプレゼンタとの間でデータが共有される。   The data to be shared can also be identified when the token is generated. The data is encrypted using an encryption key associated with the token (usually a symmetric encryption key) and stored in a storage location corresponding to the identifier associated with the token. The generated token can then be distributed to users. Users can then access the shared data using the token. Any user in the group can also load the data into the storage location using the user's token, and the data can then be accessed by other users with the same identifier and encryption key token. In this way, the token allows data sharing between users. Using the conference as an example, the presenter at the conference identifies the target data to be shared with the attendees at the conference prior to the conference and stores a set of tokens (each of which is stored in the target data shared by the presenter. With the same encryption key and identifier used). The token set can then be distributed to meeting attendees. The attendee can then use his token to access the data stored in the storage location. Attendees can also use the attendee's token to encrypt the data and upload the data to a storage location. In this way, data is shared between attendees and presenters.

トークンの作成によって、データを記憶し、その後、アクセスすることが可能な記憶場所が作成される。記憶場所は、暗号化データを記憶するか、又は預け入れることができ、暗号化データにアクセスすることができる「ドロップ・ボックス」のようなものである。トークンに関連付けられた識別子を用いて、「ドロップ・ボックス」の場所を識別することができる。トークンに関連付けられた暗号鍵は、ドロップ・ボックスへの「鍵」のようなものであり、鍵は、データをドロップ・ボックスにおいて「ロックする」(暗号化する)ことを可能にし、ドロップ・ボックスからのデータをロック解除する(復号する)ことも可能にする。   The creation of a token creates a storage location where data can be stored and subsequently accessed. A storage location is like a “drop box” where encrypted data can be stored or deposited and the encrypted data can be accessed. The identifier associated with the token can be used to identify the location of the “drop box”. The encryption key associated with the token is like a “key” to the drop box, which allows the data to be “locked” (encrypted) in the drop box, and the drop box It is also possible to unlock (decrypt) the data from.

前述のトークンは、データを共有するユーザについての情報を含まない。トークンに関連付けられた識別子及び暗号鍵は、トークンのユーザの識別情報について何ら明らかにしない。よって、トークンは、トークンのユーザの匿名性を維持する一方で、データをセキュアに共有することを可能にする。同じ識別子及び暗号鍵を備えたトークンを有する群のユーザは、データを共有するために、互いを知らなくてもよい。共有データにアクセスするユーザは、共有データをアップロードした者が誰であるかを知らないことがあり得る。トークンはよって、信頼できる第三者でない第三者間で、匿名でデータを共有することを可能にする。   Such tokens do not contain information about users sharing data. The identifier and encryption key associated with the token do not reveal anything about the identity of the token user. Thus, the token allows data to be shared securely while maintaining the anonymity of the token user. A group of users with tokens with the same identifier and encryption key may not know each other in order to share data. Users accessing shared data may not know who uploaded the shared data. Tokens thus allow anonymous data sharing between third parties that are not trusted third parties.

同一のトークンの組をユーザ群に供給することによって、ユーザは全て、同じ識別子及び同じ暗号鍵に対するアクセスを有する。識別子は、暗号化された共有データへのポインタを設け、共有データの位置特定及び識別に用いることができる。暗号鍵を用いて共有データを暗号化し、復号することができる。識別子及び暗号鍵の組み合わせは、最小の事前準備で、群のユーザが、暗号化情報を匿名で預け入れ、取り出すことを可能にする。   By supplying the same set of tokens to a group of users, all users have access to the same identifier and the same encryption key. The identifier provides a pointer to the encrypted shared data, and can be used for specifying and identifying the shared data. The shared data can be encrypted and decrypted using the encryption key. The combination of identifier and encryption key allows a group of users to deposit and retrieve encrypted information anonymously with minimal advance preparation.

好ましくは、識別子は大局的に一意であり、推測可能でない。更に、好ましくは、トークンの組に関連付けられた識別子及び暗号鍵は、他の場所でなく、トークン自体に記憶される。よって、トークンへのアクセスを有する者のみが、トークンに関連付けられた識別子に対応する記憶場所に、共有する対象のデータをアップロードすることが可能である。更に、同じ識別子及び暗号鍵を備えたトークンへのアクセスを有する者のみが、記憶された場所からのデータにアクセスし、データを復号することが可能である。このようにして、データが、セキュアに共有される。   Preferably, the identifier is globally unique and not guessable. Further, preferably the identifier and encryption key associated with the token set are stored in the token itself, not elsewhere. Thus, only those who have access to the token can upload the data to be shared to the storage location corresponding to the identifier associated with the token. Furthermore, only those who have access to a token with the same identifier and encryption key can access the data from the stored location and decrypt the data. In this way, data is securely shared.

前述の通り、同じ識別子及び暗号鍵を有する複数のトークンを生成し、ユーザ群に配布することができる。群のユーザは次いで、自らのトークンを用いて、共有する対象のデータをロードするか、又は共有データにアクセスすることができる。しかし、複数のトークンを生成することは必須でない。一実施例では、単一のトークンを生成することができる。単一のトークンは、共有する対象のデータをロードしたいか、又は、共有データにアクセスしたい複数のユーザ(又は単一のユーザ)によって用いることができる。   As described above, a plurality of tokens having the same identifier and encryption key can be generated and distributed to users. The group of users can then use their token to load or access the data to be shared. However, it is not essential to generate multiple tokens. In one embodiment, a single token can be generated. A single token can be used by multiple users (or a single user) who want to load data to be shared or access shared data.

図7A及び図7Bは、本発明の実施例によって生成することができるトークンの例を表す。図7Aに示すように、カード700(や紙やプラスチックやその他の物理媒体)を生成することができる。カード700は、2つの同一のトークン702-A及び702-Bを有する。各トークンは、一意の識別子及び対称暗号鍵をコード化したバーコード(QRコード)704を備える。カード700は、線706に沿って穿孔して、それぞれがQRコードを備えた物理的に別個の2つのトークンにカードを折るか、又は裂くことを可能にし得る。カードを折ると、トークンン702‐Aを第1のユーザに与えることができ、トークン702-Bを、第1のユーザとデータを共有したい第2のユーザに与えることができる。例えば、第1のユーザはトークン702−Aを用いて、データを暗号化し、トークン702−Bを用いて第2のユーザによってアクセスすることが可能な記憶場所にアップロードすることができる。何れのユーザも、共有する対象のデータを預け入れ、自らのトークンを用いて共有データにアクセスすることができる。トークン702‐Aもトークン702-Bも同じ識別子及び対称暗号鍵を有するからである。同一のトークンの対を2名の個人に供給することによって、2名とも同じ一意の識別子及び同じ暗号鍵へのアクセスを有する。識別子及び暗号鍵の組み合わせは、最小の事前準備で、群のユーザが、暗号化情報を匿名で預け入れ、取り出すことを可能にする。別の実施例では、別個の物理トークンに折ることができるいくつかのトークンによって作成することができる。   7A and 7B represent examples of tokens that can be generated by embodiments of the present invention. As shown in FIG. 7A, a card 700 (or paper, plastic, or other physical medium) can be generated. Card 700 has two identical tokens 702-A and 702-B. Each token includes a unique identifier and a barcode (QR code) 704 encoded with a symmetric encryption key. The card 700 may be pierced along line 706 to allow the card to be folded or split into two physically separate tokens, each with a QR code. When the card is folded, the token 702-A can be given to the first user and the token 702-B can be given to the second user who wants to share data with the first user. For example, a first user can use token 702-A to encrypt data and upload it to a storage location that can be accessed by a second user using token 702-B. Any user can deposit the data to be shared and access the shared data using his / her token. This is because the token 702-A and the token 702-B have the same identifier and symmetric encryption key. By supplying the same token pair to two individuals, both have access to the same unique identifier and the same encryption key. The combination of identifier and encryption key allows a group of users to deposit and retrieve encrypted information anonymously with minimal advance preparation. In another embodiment, it can be created by several tokens that can be folded into separate physical tokens.

図7Bは、同一の2つのトークン752-A及び752-Bを備える別のカード750を表す。各トークンは、一意の識別子756及び対称暗号鍵758をコード化した情報754を備える。カード750は、線760に沿って裂いて、物理的に別個の独立した2つのトークンを作成することができる。これらのトークンを次いで別々のユーザに供給することができる。各トークンは、トークンのユーザによるマーキングのために設けられた空間762も備える。例えば、ユーザは、トークンを用いて共有される、データの記述を書き込むことができる。各トークンは、便利に持ち運ぶことができるようにトークンをキーチェインに取り付けることを可能にするキーホールも備える。   FIG. 7B represents another card 750 with the same two tokens 752-A and 752-B. Each token includes information 754 that encodes a unique identifier 756 and a symmetric encryption key 758. Card 750 can be split along line 760 to create two physically separate independent tokens. These tokens can then be provided to separate users. Each token also includes a space 762 provided for marking by the token user. For example, a user can write a description of data that is shared using a token. Each token also includes a keyhole that allows the token to be attached to a key chain for convenient carrying.

前述の通り、トークンを用いた情報の暗号化及び復号に同じ鍵が用いられるように対称鍵をトークンと関連付けることができる。別の実施例では、公開/秘密鍵対などの鍵対を用いることができる。前述の実施例では、データは、公開鍵を用いて暗号化することができ、秘密に保たれる対の秘密鍵のみを用いて復号することができる。図Aに表すカード700などのカードを、非同一トークン702‐A及び702‐Bを用いて作成することができる。トークン702-Aと関連付けられた機械読み取り可能なコードは、一意の識別子、及び公開/秘密鍵対の公開鍵をコード化し、トークン702-Bと関連付けられた機械読み取り可能なコードは、トークン702―Aと同じ一意の識別子、及び公開/秘密鍵対の秘密鍵をコード化することができる。トークン702‐Aを次いで、公開鍵を用いて共有データを暗号化し、共有する対象の情報を、識別子に対応する記憶場所にアップロードすることができるユーザに提供することができる。トークン702-Bは、記憶場所から共有情報にアクセスし、秘密鍵を用いて復号することができる。別の実施例では、対における鍵をトークン上に印刷することができる。例えば、2つの機械読み取り可能なコードをトークンに印刷することができる。1つは、識別子、及び公開/秘密鍵対の公開鍵をコード化し、別のものは、識別子、及び公開/秘密鍵対の秘密鍵をコード化する。機械読み取り可能なコードの一方をトークンの一方側に印刷し、他方を他方側に印刷することができる。   As described above, a symmetric key can be associated with a token so that the same key is used for encryption and decryption of information using the token. In another embodiment, a key pair such as a public / private key pair can be used. In the foregoing embodiment, the data can be encrypted using the public key and can be decrypted using only the private key of the pair that is kept secret. A card, such as card 700 depicted in FIG. A, can be created using non-identical tokens 702-A and 702-B. The machine readable code associated with token 702-A encodes the unique identifier and the public key of the public / private key pair, and the machine readable code associated with token 702-B is token 702— The same unique identifier as A and the private key of the public / private key pair can be encoded. The token 702-A can then be provided to a user who can encrypt the shared data using the public key and upload the information to be shared to the storage location corresponding to the identifier. The token 702-B can access the shared information from the storage location and decrypt it using the secret key. In another embodiment, the keys in pairs can be printed on the token. For example, two machine readable codes can be printed on the token. One encodes the identifier and the public key of the public / private key pair, and the other encodes the identifier and the private key of the public / private key pair. One of the machine readable codes can be printed on one side of the token and the other can be printed on the other side.

公開/秘密鍵暗号化は一般に、対称に機能する。すなわち、データがいわゆる公開鍵によって暗号化された場合、秘密鍵を用いてしか復号することが可能でない。あるいは、秘密鍵を用いてデータが暗号化された場合、公開鍵を用いてしか復号することが可能でない。すなわち、公開/秘密鍵対が本発明の実施例において用いられる場合、自らでなく他方のユーザによってしか用いることが可能でないように暗号化されたデ―タを供給することができる。   Public / private key encryption generally works symmetrically. That is, when data is encrypted with a so-called public key, it can only be decrypted using a secret key. Alternatively, when data is encrypted using a private key, it can only be decrypted using a public key. That is, when a public / private key pair is used in an embodiment of the present invention, it is possible to provide data that is encrypted so that it can only be used by the other user, not by himself.

別の実施例では、鍵対からの鍵を備えたトークンの代わりに、トークンの組における各トークンは、識別子、対称暗号鍵、及び暗号化公開/秘密鍵を示す情報を備える。組におけるトークンの保有者は、同じ鍵対に、トークンを用いてアクセスすることができる。暗号鍵対は、トークンに関連付けられた対称鍵を用いて復号することができる。各トークンの保有者は、鍵対の公開鍵を用いて、データ、及び鍵対の秘密鍵を暗号化してそれを取り出す。この実施例では、トークンに関連した対称鍵は、公開/秘密鍵の復号にしか用いられない。この実施例では、秘密鍵を用いて、記憶場所に記憶される文書を暗号化することが可能である。公開鍵及び文書識別子は、文書全てを読み取り、復号することが可能であるが、新たな文書を追加することが可能でない他のユーザに配布することが可能である。対称鍵を有するもののみが、秘密鍵へのアクセスを有し、新たな暗号化文書をアップロードすることが可能である。   In another embodiment, instead of a token with a key from a key pair, each token in the token set comprises information indicating an identifier, a symmetric encryption key, and an encrypted public / private key. The token holders in the set can access the same key pair using the token. The encryption key pair can be decrypted using the symmetric key associated with the token. The holder of each token uses the public key of the key pair to encrypt the data and the private key of the key pair and retrieves it. In this embodiment, the symmetric key associated with the token is only used to decrypt the public / private key. In this embodiment, it is possible to encrypt a document stored in a storage location using a secret key. The public key and document identifier can be read and decrypted for all documents, but can be distributed to other users who cannot add new documents. Only those with a symmetric key have access to the private key and can upload new encrypted documents.

別の実施例では、トークン所有者は、秘密のパスワードを選ぶことができ、共有されるデータは、やはりそのパスワードを用いて暗号化することができるので、個人は、共有データにアクセスするために、識別子及び暗号鍵を備えたトークン、並びにパスワードにアクセスしなければならなくなる。   In another embodiment, the token holder can choose a secret password and the shared data can still be encrypted using that password so that individuals can access the shared data. , Tokens with identifiers and encryption keys, and passwords must be accessed.

本発明の実施例によれば、暗号化された共有データの記憶に加えて、共有データに関連付けられたメタデータも記憶することができる。メタデータは暗号化形式で記憶することができる。メタデータは、共有データに関する情報(共有オブジェクトのマイム(mime)タイプ、共有デ―タに関するタグ、並びに、データの後続バージョン及び選考バージョンへのポインタなど)を備えることができる。メタデータは、文書を要求する代わりにメタデータを要求することによって、同じ記憶場所にある文書識別子を用いてアクセスすることができる。   According to the embodiment of the present invention, in addition to storing encrypted shared data, metadata associated with the shared data can also be stored. The metadata can be stored in an encrypted format. The metadata may comprise information about shared data (such as mime types of shared objects, tags about shared data, and pointers to subsequent and selected versions of the data). Metadata can be accessed using document identifiers in the same storage location by requesting metadata instead of requesting a document.

例えば、一実施例では、共有データは、暗号鍵を用いて暗号化され、次いで、共有することが可能な場所に記憶される文書に記憶することができる。暗号ハッシュ(例えば、128ビット暗号ハッシュ)は暗号化文書ビットから算出することができ、ハッシュは、一意の識別子としての役目を担い得る。暗号化文書は次いで、ハッシュを識別子として用いて記憶される。文書に関連付けられたメタデータも暗号化され、文書とともに記憶される。ハッシュ識別子、及び文書の暗号化に用いる暗号鍵を備えた1つ又は複数のトークンを生成することができる。   For example, in one embodiment, the shared data can be stored in a document that is encrypted using an encryption key and then stored in a location where it can be shared. A cryptographic hash (eg, a 128-bit cryptographic hash) can be calculated from the encrypted document bits, and the hash can serve as a unique identifier. The encrypted document is then stored using the hash as an identifier. Metadata associated with the document is also encrypted and stored with the document. One or more tokens with a hash identifier and an encryption key used to encrypt the document can be generated.

ハッシュ識別子及び暗号鍵を備えたトークンを用いて、共有情報の新たなバージョンをアップロードすると、共有データを備えた新たなバージョンが作成され、新たな文書が暗号鍵を用いて暗号化される。新たなハッシュ識別子を次いで、暗号化された新たな文書について算出し、新たな情報が、新たな識別子を用いて記憶される。この新たに計算された識別子が、文書の「次」バ―ジョンとして先行して記憶された文書のメタデータに追加される。文書の最も直近の既知バージョン、又は探しているバージョンを個人が見つけるまで、記憶された文書バージョンのメタデータを用いて、元のトークンを備えた個人が「次」ポインタをたどることが可能であるように、同じ暗号鍵を用いて文書の全バージョンを暗号化することが好都合である。暗号鍵を用いて、最も直近で暗号化された文書バージョンを復号することができる。   When a new version of shared information is uploaded using a token with a hash identifier and an encryption key, a new version with shared data is created and a new document is encrypted using the encryption key. A new hash identifier is then calculated for the new encrypted document and the new information is stored using the new identifier. This newly calculated identifier is added to the document metadata previously stored as the “next” version of the document. The person with the original token can follow the "next" pointer using the stored document version metadata until the person finds the most recent known version of the document or the version he is looking for Thus, it is convenient to encrypt all versions of a document using the same encryption key. The most recently encrypted document version can be decrypted using the encryption key.

一実施例では、暗号化文書の第1のバージョンは、情報を含んでいないか、又は、文書の作成者に関する特定情報などの情報を含んでいるプレースホルダとして機能することができる。文書の第1のバージョンにおけるデータのコンテンツにかかわらず、文書の識別子が一意に算出される。例えば、日付及び時刻、並びに更なるランダムな列と連結された、選ばれた暗号鍵の暗号ハッシュとして識別子を算出することができる。算出された識別子、及び暗号鍵を備えた1つ又は複数の同一のトークンを次いで生成することができる。   In one embodiment, the first version of the encrypted document may contain no information or may function as a placeholder that contains information such as specific information about the creator of the document. Regardless of the data content in the first version of the document, the document identifier is uniquely calculated. For example, the identifier can be calculated as a cryptographic hash of the selected cryptographic key concatenated with the date and time and a further random sequence. One or more identical tokens with the calculated identifier and the encryption key can then be generated.

共有する対象のデータをアップロードしようとする個人は、トークンからの暗号鍵を用いて共有データを暗号化させるトークンを用いることができる。新たな識別子は、共有する対象の暗号化データに基づいて算出され、新たな識別子に対応する暗号化データが記憶され、新たなポインタが。トークンに関連付けられ、当初のプレースホルダ文書を示す元の識別子に関連付けられたメタデータに「次」ポインタ(又は次ポインタの1つ)として追加される。共有データにアクセスしたい個人は、同じ識別子(すなわち、元の識別子)及び暗号鍵を備えたトークンを用い、それにより、アプリケーション(図1に表すトークン・プロセッサ102など)が、トークンから読み出された元の識別子を使用し、プレースホルダ文書及びそのメタデータにアクセスし、メタデータにおける「次」ポインタをたどって共有文書の所望の暗号化バージョンにアクセスするようにすることができる。次いで、トークンから読み出された暗号鍵を用いて、所望の暗号化バージョンにアクセスし、所望の暗号化バージョンを復号することができる。   An individual who wants to upload data to be shared can use a token that encrypts shared data using an encryption key from the token. The new identifier is calculated based on the encrypted data to be shared, the encrypted data corresponding to the new identifier is stored, and a new pointer is stored. Added as a “next” pointer (or one of the next pointers) to the metadata associated with the token and associated with the original identifier indicating the original placeholder document. An individual who wants to access shared data uses a token with the same identifier (ie, the original identifier) and encryption key so that an application (such as the token processor 102 depicted in FIG. 1) is read from the token. The original identifier can be used to access the placeholder document and its metadata, and follow the “next” pointer in the metadata to access the desired encrypted version of the shared document. The desired encrypted version can then be accessed using the encryption key read from the token and the desired encrypted version can be decrypted.

図8は、種々のバージョンの共有データを記憶することができる実施例において、トークンを生成してデータを共有する方法を表す単純化された概略レベルのフローチャート800である。図8に表す方法は、プロセッサによって実行されるソフトウェア・モジュール(コード・モジュール若しくは命令)、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ102によって行うことができる。図8に表すフローチャート800は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図8に表す方法は、種々の実現上の制約で機能するよう適合させることができる。   FIG. 8 is a simplified high-level flowchart 800 representing a method for generating tokens and sharing data in an embodiment in which various versions of shared data can be stored. The method depicted in FIG. 8 may be performed by software modules (code modules or instructions) executed by a processor, hardware modules, or combinations thereof. For example, the method can be performed by the token processor 102 depicted in FIG. Flowchart 800 depicted in FIG. 8 is merely illustrative of an embodiment of the present invention and is not intended to limit the scope of the present invention. Other variations, modifications, and alternatives are within the scope of the present invention. The method depicted in FIG. 8 can be adapted to work with various implementation constraints.

図8に表すように、新たなトークンを生成する旨の要求を受け取ると処理を起動させることができる(工程802)。生成する対象のトークンと関連付ける対象の一意の識別子を生成することができる(工程804)。804で生成される識別子は、共有データの識別及びアクセスに用いることが可能であるようなものである。一実施例では、識別子は、乱数発生器によって発生させたデータのランダムなストリームのハッシュとして算出することができる。804で、他の手法を用いて一意の識別子を生成することもできる。生成する対象のトークンと関連付けられる対象の一意の対称暗号鍵も作成される(工程806)。   As shown in FIG. 8, upon receiving a request to generate a new token, the process can be activated (step 802). A unique identifier for the object associated with the token to be generated may be generated (step 804). The identifier generated at 804 is such that it can be used to identify and access shared data. In one embodiment, the identifier can be calculated as a hash of a random stream of data generated by a random number generator. At 804, a unique identifier may be generated using other techniques. A unique symmetric encryption key for the object associated with the token to be generated is also created (step 806).

次いで、804で生成された一意の識別子を用いてアクセスすることが可能な空レコードが作成される(工程808)。作成される空レコードは、文書であり得る。808で作成された空レコードのメタデータも記憶される(工程810)。メタデータは、共有データの次バージョンを示す情報を含み得る。例えば、メタデータは、共有データの次バージョンを示すために用いることができる「次の」情報を含み得る。当初、記憶される共有データは存在しないので、空レコードのメタデータ「次」ポインタはヌルにセットされる。一実施例では、メタデータは、806で生成された暗号鍵を用いて暗号化され、暗号化メタデータが記憶される。   An empty record is then created that can be accessed using the unique identifier generated at 804 (step 808). The created empty record can be a document. The metadata of the empty record created in 808 is also stored (step 810). The metadata may include information indicating the next version of the shared data. For example, the metadata may include “next” information that can be used to indicate the next version of the shared data. Initially, there is no shared data stored, so the metadata “next” pointer of the empty record is set to null. In one embodiment, the metadata is encrypted using the encryption key generated at 806 and the encrypted metadata is stored.

1つ又は複数のトークン(ディジタル・トークン又は物理トークン)が次いで生成され、各トークンは、804で生成された一意の識別子、及び806で作成された暗号鍵を備える(工程812)。前述の通り、種々の手法を、識別子及び暗号鍵情報をトークンと関連付けるために用いることができる。例えば、QRコードは、一意の識別子及び暗号鍵をコード化して作成することができ、QRコードは各トークン(ディジタル・トークン又は物理トークン)と関連付ける(例えば、印刷する)ことができる。物理トークンは、図7A及び図7Bに表す例を含む種々の形態で作成することができる。812で生成されたトークンを次いで、データを共有したいユーザ群に分配することができる。群からのユーザは、トークンを用いて、共有する対象のデータをロードするか、又は共有データにアクセスすることができる。   One or more tokens (digital tokens or physical tokens) are then generated, each token comprising a unique identifier generated at 804 and an encryption key created at 806 (step 812). As described above, various techniques can be used to associate an identifier and cryptographic key information with a token. For example, a QR code can be created by encoding a unique identifier and a cryptographic key, and the QR code can be associated (eg, printed) with each token (digital token or physical token). The physical token can be created in various forms, including the examples depicted in FIGS. 7A and 7B. The token generated at 812 can then be distributed to a group of users who want to share data. Users from the group can use tokens to load data to be shared or to access shared data.

作成される空レコードは、種々のバージョンの共有データを記憶し、その共有データにアクセスするために用いることができるプレースホルダとして機能する。共有データが、トークン(すなわち、共有データの最初のバージョン)を用いて初めてアップロードされると、第1のバージョンが、トークンからの暗号鍵を用いて暗号化される。共有データの最初の暗号化バージョンが、新たに作成されたレコードに記憶される。生成された識別子を用いて、新たなレコードがアクセス可能であるように、新たなレコードの新たな識別子が生成される。新たに生成されたレコードのメタデータ情報が記憶される。メタデータ情報は、トークンと関連付けられた暗号鍵を用いて暗号化することができる。空レコードに関連付けられたメタデータにおける「次」ポインタは、新たなレコードを示すよう変更される。これは、一実施例において、新たなレコードについて新たに生成された識別子に、空レコードのメタデータにおける「次の」情報をセットすることによって行うことができる。新たな識別子はよって、新たなレコードに対するリンク又はポインタを備える。新たなレコードに関連付けられたメタデータにおける「次」ポインタは、ヌルにセットされる。このようにして、一種のリンクされたリストが作成される。空レコードは、リスト内の第1のノードであり、アップロードされたバージョン(「最新」バージョンである)は、空レコードのメタデータが示すレコードに記憶される。共有データのより新たなバージョンがアップロードされると、新たに追加されたバージョン毎に、新たなレコードが作成され、新たな識別子が、新たに作成されたレコードについて算出され、先行してアップロードされたバージョンを記憶しているレコードに関連付けられたメタデータにおける「次の」情報が、新たに算出された識別子にセットされ、それにより、最新バージョンを記憶するレコードに先行バージョンを記憶するレコードからのポインタが作成される。リンクされたリストにおける最後のレコードは、共有データの最新バージョンを記憶する。   The created empty record functions as a placeholder that can be used to store and access various versions of shared data. When shared data is uploaded for the first time using a token (ie, the first version of the shared data), the first version is encrypted using the encryption key from the token. The first encrypted version of the shared data is stored in the newly created record. Using the generated identifier, a new identifier for the new record is generated so that the new record is accessible. The metadata information of the newly generated record is stored. The metadata information can be encrypted using an encryption key associated with the token. The “next” pointer in the metadata associated with the empty record is changed to point to the new record. This can be done in one embodiment by setting the “next” information in the metadata of the empty record to the newly generated identifier for the new record. The new identifier thus comprises a link or pointer to the new record. The “next” pointer in the metadata associated with the new record is set to null. In this way, a kind of linked list is created. The empty record is the first node in the list, and the uploaded version (which is the “latest” version) is stored in the record indicated by the metadata of the empty record. When a newer version of shared data is uploaded, a new record is created for each newly added version, and a new identifier is calculated for the newly created record and uploaded in advance The "next" information in the metadata associated with the record storing the version is set to the newly calculated identifier, so that the pointer from the record storing the previous version in the record storing the latest version Is created. The last record in the linked list stores the latest version of the shared data.

トークンを次いで用いて、記憶されたデータの最新バージョンにアクセスすることができる。トークンは、リンクされたリストにおける第1のレコード(すなわち、空レコード)へのアクセスを可能にし、メタデータ・ポインタを次いで用いて、リンクされたレコード・リストを、共有データの最新バージョンを記憶する最終レコードまで横断することができる。トークンからの暗号鍵を次いで用いて、最新バージョンのデータにアクセスし、復号することができる。   The token can then be used to access the latest version of the stored data. The token allows access to the first record in the linked list (ie, an empty record) and then uses the metadata pointer to store the linked record list with the latest version of the shared data. You can traverse to the last record. The encryption key from the token can then be used to access and decrypt the latest version of the data.

一実施例では、リンクされたリストでなく、トークン内の元の識別子のメタデータにおける文書識別子のリストを記憶することによって識別子においてデータ収集体を記憶することができる。例えば、新たな文書をユーザが共有したい際にはその都度、トークン上の暗号鍵を用いて文書が暗号化され、次いで、新たな文書識別子が算出又は生成される。暗号化文書は、新たな識別子によって規定される場所にアップロードされる。新たな識別子は、トークン内の識別子のメタデータに記憶された文書識別子のリストに追加される。収集体における識別子は、やはり、トークンにある暗号鍵を用いて暗号化することが可能である。   In one embodiment, the data collection can be stored in the identifier by storing a list of document identifiers in the metadata of the original identifier in the token, rather than a linked list. For example, each time a user wants to share a new document, the document is encrypted using the encryption key on the token, and then a new document identifier is calculated or generated. The encrypted document is uploaded to the location defined by the new identifier. The new identifier is added to the list of document identifiers stored in the identifier metadata in the token. The identifier in the collection can still be encrypted using the encryption key in the token.

図9は、種々のバージョンの共有データを記憶することができる実施例において、トークンを用いて、共有する対象のデータをアップロードする方法を表す単純化された概略レベルのフローチャート900である。図9に表す方法は、プロセッサによって実行されるソフトウェア・モジュール(コード・モジュール若しくは命令)、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ102によって行うことができる。図9に表すフローチャート900は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図9に表す方法は、種々の実現上の制約で機能するよう適合させることができる。   FIG. 9 is a simplified high-level flowchart 900 representing a method for uploading data to be shared using tokens in an embodiment in which various versions of shared data can be stored. The method depicted in FIG. 9 may be performed by software modules (code modules or instructions) executed by a processor, hardware modules, or a combination thereof. For example, the method can be performed by the token processor 102 depicted in FIG. The flowchart 900 depicted in FIG. 9 is merely illustrative of an embodiment of the present invention and is not intended to limit the scope of the present invention. Other variations, modifications, and alternatives are within the scope of the present invention. The method depicted in FIG. 9 can be adapted to work with various implementation constraints.

図9に表すように、アップロードし、共有データとして利用可能にされる対象のデータを識別する情報を受け取ることができる(工程902)。データのアップロードに用いられる情報がトークンから得られる(工程904)。例えば、トークンに関連付けられた機械読み取り可能なコードは、904で、トークン読み取り器によって読み取ることが可能である。識別子及び暗号鍵を次いで、904でトークンから得られた情報から判定する(工程906)。   As shown in FIG. 9, information identifying the data to be uploaded and made available as shared data can be received (step 902). Information used to upload the data is obtained from the token (step 904). For example, a machine readable code associated with a token can be read at 904 by a token reader. The identifier and encryption key are then determined from the information obtained from the token at 904 (step 906).

902で識別されたデータを次いで、906で判定された暗号鍵を用いて暗号化して、暗号化された共有データを生成する(工程908)。次いで、新たなレコードが作成され、暗号化データが、新たに作成されたレコードに記憶される(工程910)。新たなレコードは、暗号化された共有データを記憶する文書であり得る。新たな一意の識別子が次いで、910で作成された新たなレコードについて計算される(工程912)。一実施例では、一意の識別子が、新たなレコードの暗号化されたコンテンツの暗号ハッシュを算出することによって生成することができる。910で作成された新たなレコードは、912で計算された識別子を用いてアクセスすることが可能であるように記憶される(工程914)。メタデータが、新たなレコードについて記憶される(工程916)。   The data identified at 902 is then encrypted using the encryption key determined at 906 to generate encrypted shared data (step 908). A new record is then created and the encrypted data is stored in the newly created record (step 910). The new record can be a document that stores encrypted shared data. A new unique identifier is then calculated for the new record created at 910 (step 912). In one embodiment, the unique identifier can be generated by calculating a cryptographic hash of the encrypted content of the new record. The new record created at 910 is stored so that it can be accessed using the identifier calculated at 912 (step 914). Metadata is stored for the new record (step 916).

暗号化された新たな共有データを記憶する新たなレコードをアップロードするための処理が行われる。次いで、906で判定された一意の識別子(すなわち、トークンから得られた識別子)に対応するレコードにアクセスする(工程918)。レコードの形式は、一意の識別子が示す文書の形式であり得る。アクセスされたレコードに関連付けられたメタデータが読み取られる(工程920)。一実施例では、メタデータを暗号化することができ、906でトークンから判定された暗号鍵を用いてメタデータを復号することができる。   A process for uploading a new record storing new encrypted shared data is performed. The record corresponding to the unique identifier determined at 906 (ie, the identifier obtained from the token) is then accessed (step 918). The record format may be the document format indicated by the unique identifier. Metadata associated with the accessed record is read (step 920). In one embodiment, the metadata can be encrypted and the metadata can be decrypted using the encryption key determined from the token at 906.

アクセスされたメタデータに含まれる「次の」情報が、ヌルであるか、又は記憶された別のレコードを示しているか否かをみるための検査を次いで行う。「次の」ポインタがヌルの場合、それは、リンクされたレコード・リストにおける最後のレコードに達したことを示す。この最後のレコードは、共有データの最も直近でアップロードされたバージョンを記憶する。「次」ポインタがヌルでない場合、それは、リンクされたリスト内の最後のレコードに達していないことを示しており、最後のレコードに達するまで、リンクされたレコード・リストを横断する。   A check is then made to see if the “next” information contained in the accessed metadata is null or indicates another stored record. If the “next” pointer is null, it indicates that the last record in the linked record list has been reached. This last record stores the most recently uploaded version of shared data. If the “next” pointer is not null, it indicates that the last record in the linked list has not been reached and traverses the linked record list until the last record is reached.

よって、メタデータ内の「次の」情報がヌルでない場合、「次の」ポインタが示すレコードにアクセスする(工程924)。一実施例では、「次」情報は、レコードを識別し、レコードにアクセスするために用いる識別子を識別する。処理は次いで920に戻る。920では、新たにアクセスされたレコードに関連付けられたメタデータが読み取られる。922によれば、アクセスされたメタデータに関連付けられたヌル・ポインタがヌルにセットされたかをみるための検査が行われる。このようにして、最後のレコード(「次の」情報をヌルにセットさせたメタデータを備えたレコード)に達するまで工程920、922及び924が繰り返される。   Thus, if the “next” information in the metadata is not null, the record indicated by the “next” pointer is accessed (step 924). In one embodiment, the “next” information identifies a record and identifies an identifier used to access the record. Processing then returns to 920. At 920, metadata associated with the newly accessed record is read. According to 922, a check is made to see if the null pointer associated with the accessed metadata is set to null. In this way, steps 920, 922, and 924 are repeated until the last record (a record with metadata with the “next” information set to null) is reached.

最後のレコードに達すると、最後のレコードに関連付けられたメタデータにおける「次の」情報が、910で作成された新たなレコードを示すよう更新される(工程926)。これは、912で算出された新たな識別子に、最後にアクセスされたレコードのメタデータの「次の」情報をセットすることによって達成することができる。このようにして、「次の」情報は、新たなレコードを示す。新たに作成されたレコードに関連付けられたメタデータにおける「次の」情報をヌルにセットし(工程928)、それにより、その場合、リンクされたレコード・リストにおける最後のレコードであることを示し、データの最新バージョンを記憶する。レコードに関連付けられたメタデータは、トークンから得られた暗号鍵を用いて暗号化することができる。バージョンを識別する情報は、新たに作成されたレコードに関連付けられたメタデータに記憶することもできる。   When the last record is reached, the “next” information in the metadata associated with the last record is updated to indicate the new record created at 910 (step 926). This can be accomplished by setting the “next” information in the metadata of the last accessed record to the new identifier calculated at 912. In this way, the “next” information indicates a new record. Set the "next" information in the metadata associated with the newly created record to null (step 928), thereby indicating that it is the last record in the linked record list; Remember the latest version of the data. The metadata associated with the record can be encrypted using an encryption key obtained from the token. Information identifying the version can also be stored in metadata associated with the newly created record.

前述の通り、特定の識別子及び暗号鍵を備えたトークンを用いて、共有データの新たなバージョンがアップロードされる際にその都度、新たなレコードが作成され、追加される。アップロードは、種々のユーザによって行うことができる。アップロードは、同じトークン又は別のトークン(全て同じ識別子及び暗号鍵を有する)を用いて行うことができる。データベース処理及びバージョン・コントロール・システムに精通している者は、同じレコードのメタデータにおける次のポインタを別々の二ユーザが同時に更新しようとしないことが重要であることを認識するであろう。すなわち、何れのユーザも文書の新たなバージョンを同時にアップロードし、同じヌル・ポインタを見つけ、何れも、別々の識別子へのヌル・ポインタを同時に変更しようとすることがあり得る。このことが生じた場合、最後に変更を書き込んだユーザの変更の書き込みが首尾良く行われ、最初のユーザの変更は失われる。アトミック処理や書き込みロッキングを含む衝突などを避けるためのいくつかのやり方が存在している。例えば、ヌル・ポインタを求めて検査し、新たな識別子値に更新する処理が、一工程で行われたアトミック処理であった場合、二ユーザが同時に検査し、更新することは可能でない。一実施例では、次の複数のポインタを、リンクされたリストにおいて可能にし得る。このことは、文書バージョンが分岐することを可能にすることになるが、文書を全て失うよりも許容可能であり得る。   As described above, a new record is created and added each time a new version of shared data is uploaded using a token with a specific identifier and encryption key. Uploading can be performed by various users. The upload can be done using the same token or another token (all with the same identifier and encryption key). Those familiar with database processing and version control systems will recognize that it is important that two different users not attempt to update the next pointer in the metadata of the same record at the same time. That is, any user may upload a new version of a document at the same time, find the same null pointer, and any may attempt to change the null pointer to a different identifier at the same time. If this happens, the last user's changes are successfully written and the first user's changes are lost. There are several ways to avoid collisions including atomic processing and write locking. For example, when the process of obtaining and checking a null pointer and updating it to a new identifier value is an atomic process performed in one process, it is not possible for two users to inspect and update at the same time. In one embodiment, the next plurality of pointers may be enabled in the linked list. This will allow the document version to branch, but may be more acceptable than losing all the documents.

図10A、図10B及び図10Cは、本発明の実施例による、トークンを用いた、共有データのより新たなバージョンのアップロードに伴うリンクされたレコード・リストの推移を表す。図10Aに表すように、トークンが最初に作成されると、トークンに関連付けられた識別子(ID0)に対応する空レコード1002を作成することができる。特定の実施例では、レコード1002は、空きでないことがあり得るが、記録が作成された時点、記録作成者等などの情報を保持することができる。「次の」情報及び「前の」情報を含む、空レコード1002のメタデータ1004も記憶される。「次の」情報は、レコード・リストにおける次のレコードを示すために用いられ、「前の」情報は、リスト内の先行レコードを示すために用いられる。「次の」情報及び「前の」情報は、ヌルにセットされる。   FIGS. 10A, 10B, and 10C illustrate the transition of the linked record list as a newer version of shared data is uploaded using tokens, according to an embodiment of the present invention. As shown in FIG. 10A, when a token is first created, an empty record 1002 corresponding to the identifier (ID0) associated with the token can be created. In certain embodiments, the record 1002 may not be empty, but may retain information such as when the record was created, the record creator, and the like. Also stored is metadata 1004 for the empty record 1002, including "next" information and "previous" information. “Next” information is used to indicate the next record in the record list, and “previous” information is used to indicate the preceding record in the list. The “next” information and the “previous” information are set to null.

図10Bは、10Aでレコードを作成するために用いられた同じ識別子及び暗号鍵を含むトークンを用いて、共有されたデータの最初のバージョンがアップロードされた時点のレコード・リストを表す。最初のバージョンは、トークンから読み出された暗号鍵を用いて暗号化される。暗号化データを記憶するための新たなレコード1006が作成される。新たなレコード1006に対する新たな識別子(ID1)が作成される。新たなレコード1006に対するメタデータ1008も記憶される。レコード1002に関連付けられたメタデータ1004における「次の」情報をID1にセットし、それによって、新たなレコード1006を示す。新たなレコード1006に関連付けられたメタデータ1008における「次の」情報がヌルにセットされる。メタデータ1008における「前の」情報をID0にセットし、それにより、レコード・リスト内の先行レコード1002を示す。レコード1006は次いで、暗号化形式のトークンを用いてアップロードされた共有データの最新バージョンを記憶する。   FIG. 10B represents the record list at the time when the first version of the shared data was uploaded using the token containing the same identifier and encryption key used to create the record at 10A. The first version is encrypted using the encryption key read from the token. A new record 1006 is created for storing the encrypted data. A new identifier (ID1) for the new record 1006 is created. Metadata 1008 for the new record 1006 is also stored. The “next” information in the metadata 1004 associated with the record 1002 is set to ID1, thereby indicating a new record 1006. The “next” information in the metadata 1008 associated with the new record 1006 is set to null. The “previous” information in the metadata 1008 is set to ID0, thereby indicating the preceding record 1002 in the record list. Record 1006 then stores the latest version of the shared data uploaded using the token in encrypted form.

図10Cは、トークンを用いて共有データの第2のバージョンがアップロードされた時点のレコードのリストを表す。第2のバージョンが、トークンから読み出された暗号鍵を用いて暗号化される。暗号化データを記憶するための新たなレコード1010が作成される。新たなレコード1010に対する新たな識別子(ID2)が作成される。レコード1006に関連付けられたメタデータ1008における「次の」情報をID2にセットし、それにより、新たなレコード1010を示す。新たなレコード1010に関連付けられたメタデータ1012における「次の」情報がヌルにセットされる。メタデータ1012における「前の」情報をID1にセットし、それにより、レコード・リスト内の先行レコード1006を示す。レコード1010は次いで、暗号化形式のトークンを用いてアップロードされた共有データの最新バージョンを記憶する。   FIG. 10C represents a list of records at the time when the second version of the shared data is uploaded using the token. The second version is encrypted using the encryption key read from the token. A new record 1010 for storing the encrypted data is created. A new identifier (ID2) for the new record 1010 is created. The “next” information in the metadata 1008 associated with the record 1006 is set to ID2, thereby indicating a new record 1010. The “next” information in the metadata 1012 associated with the new record 1010 is set to null. The “previous” information in the metadata 1012 is set to ID1, thereby indicating the preceding record 1006 in the record list. Record 1010 then stores the latest version of the shared data uploaded using the token in encrypted form.

このようにして、共有データの複数のバージョンを、同じ識別子及び暗号鍵を有するトークンを用いてアップロードすることができる。一実施例では、レコードによって記憶される共有データの特定のバージョンを識別する情報を、そのレコードに関連付けられたメタデータに記憶することもできる。   In this way, multiple versions of shared data can be uploaded using tokens having the same identifier and encryption key. In one embodiment, information identifying a particular version of shared data stored by a record can also be stored in metadata associated with the record.

トークンを用いて、共有データの最新バージョンにアクセスすることもできる。図11は、本発明の実施例による、トークンを用いて共有データの最新バージョンにアクセスする方法を表す単純化された概要レベルのフローチャート1100である。図11に表す方法は、プロセッサによって実行されるソフトウェア・モジュール(コード・モジュール若しくは命令)、ハードウェア・モジュール、又はそれらの組み合わせによって行うことができる。例えば、方法は、図1に表すトークン・プロセッサ102によって行うことができる。図11に表すフローチャート1100は、本発明の実施例を例証しているに過ぎず、本発明の範囲を限定することを意図するものでない。他の変形、修正及び代替も本発明の範囲内に収まる。図11に表す方法は、種々の実現上の制約で機能するよう適合させることができる。   You can also use tokens to access the latest version of shared data. FIG. 11 is a simplified high-level flowchart 1100 representing a method for accessing the latest version of shared data using tokens, according to an embodiment of the present invention. The method depicted in FIG. 11 may be performed by software modules (code modules or instructions) executed by a processor, hardware modules, or combinations thereof. For example, the method can be performed by the token processor 102 depicted in FIG. Flowchart 1100 depicted in FIG. 11 is merely illustrative of an embodiment of the present invention and is not intended to limit the scope of the present invention. Other variations, modifications, and alternatives are within the scope of the present invention. The method depicted in FIG. 11 can be adapted to work with various implementation constraints.

図11に表すように、共有データをアクセスするために用いられるトークンから情報を得ることができる(工程1102)。識別子及び暗号鍵を、1102で得られた情報から判定する(工程1104)。1102で判定された一意の識別子に対応するレコードにアクセスする(工程1106)。アクセスされたレコードに関連付けられたメタデータが読み取られる(工程1108)。一実施例では、メタデータを暗号化することができ、1102でトークンから判定された暗号鍵を用いてメタデータを復号することができる。   As shown in FIG. 11, information can be obtained from a token used to access shared data (step 1102). The identifier and encryption key are determined from the information obtained at 1102 (step 1104). A record corresponding to the unique identifier determined in 1102 is accessed (step 1106). Metadata associated with the accessed record is read (step 1108). In one embodiment, the metadata can be encrypted and the metadata can be decrypted using the encryption key determined at 1102 from the token.

アクセスされたメタデータに含まれる「次の」情報が、ヌルであるか、又は記憶された別のレコードを示しているか否かをみるための検査を次いで行う(工程1110)。「次の」ポインタがヌルの場合、それは、最後のレコードに達したことを示す。この最後のレコードは、共有データの最も直近でアップロードされたバージョンを記憶する。「次」ポインタがヌルでない場合、それは、リンクされたリスト内の最後のレコードに達していないことを示し、最後のレコードに達するまで、リンクされたレコード・リストを横断する。よって、メタデータ内の「次の」情報がヌルでないことが1110で判定された場合、「次の」ポインタが示すレコードにアクセスする(工程1112)。一実施例では、「次の」情報は、次いでアクセスされるレコードを示す識別子を識別する。処理は次いで1108に戻る。1108では、アクセスされたレコードに関連付けられたメタデータが読み出される。1110によれば、アクセスされたメタデータに関連付けられたヌル・ポインタがヌルにセットされたかをみるための検査が行われる。このようにして、最後のレコード(レコードに関連付けられたメタデータにおける「次の」情報が、ヌルにセットされる)に達するまで工程1108、1110及び1112が繰り返される。   A check is then made to see if the “next” information contained in the accessed metadata is null or indicates another stored record (step 1110). If the “next” pointer is null, it indicates that the last record has been reached. This last record stores the most recently uploaded version of shared data. If the “next” pointer is not null, it indicates that the last record in the linked list has not been reached and traverses the linked record list until the last record is reached. Therefore, if it is determined in 1110 that the “next” information in the metadata is not null, the record indicated by the “next” pointer is accessed (step 1112). In one embodiment, the “next” information identifies an identifier that indicates the next record to be accessed. Processing then returns to 1108. In 1108, metadata associated with the accessed record is read. According to 1110, a check is made to see if the null pointer associated with the accessed metadata is set to null. In this way, steps 1108, 1110 and 1112 are repeated until the last record (the “next” information in the metadata associated with the record is set to null) is reached.

最後のレコードは、共有データの最も直近のバージョンを暗号化形式で記憶する。最後のレコードからの暗号化データは、1104で判定された暗号鍵を用いて復号される(工程1114)。復号情報は次いで、情報にアクセスしようとするトークン保有者にアクセス可能にされる(工程1116)。   The last record stores the most recent version of shared data in encrypted form. The encrypted data from the last record is decrypted using the encryption key determined in 1104 (step 1114). The decrypted information is then made accessible to the token holder seeking access to the information (step 1116).

上記実施例では、レコードに関連付けられたメタデータに記憶された識別子情報を、トークンに関連付けられた暗号鍵を用いて暗号化することができる。処理中、この情報は、トークンから読み取られた暗号鍵を用いて復号することができる。一実施例では、暗号化は全て、トークンに関連付けられた対称鍵を用いて行うことができる。対称鍵を次いで用いて復号全てを行うこともできる。   In the above embodiment, the identifier information stored in the metadata associated with the record can be encrypted using the encryption key associated with the token. During processing, this information can be decrypted using the encryption key read from the token. In one embodiment, all encryption can be performed using a symmetric key associated with the token. The symmetric key can then be used to perform all decryption.

任意的には、2つのトークン所有者はパスワードに同意することができ、パスワードを、更なるセキュリティ層として用いることができる。この実施例では、識別子及び暗号鍵に加えて、共有データにアクセスするためにパスワードも必要である。   Optionally, the two token holders can agree on a password, which can be used as an additional layer of security. In this embodiment, in addition to the identifier and encryption key, a password is also required to access the shared data.

図12は、本発明の実施例による、処理を行うために用いることができるデータ処理システム1200の単純化されたブロック図である。例えば、図1に示すように、データ処理システム1200は、図1に表すコンピュータ・システム104としての役目を担うことができる。図12に示すように、データ処理システム1200は、バス・サブシステム1204を介して、いくつかのサブシステムと通信するプロセッサ1202を含む。前述のサブシステムは、記憶サブシステム1206(メモリ・サブシステム1208及びファイル保管サブシステム1210を有する)と、ユーザ・インタフェース入力装置1212と、ユーザ・インタフェース出力装置1214と、ネットワーク・インタフェース・サブシステム1216とを含み得る。   FIG. 12 is a simplified block diagram of a data processing system 1200 that can be used to perform processing according to an embodiment of the present invention. For example, as shown in FIG. 1, the data processing system 1200 can serve as the computer system 104 depicted in FIG. As shown in FIG. 12, the data processing system 1200 includes a processor 1202 that communicates with several subsystems via a bus subsystem 1204. The aforementioned subsystems include a storage subsystem 1206 (including a memory subsystem 1208 and a file storage subsystem 1210), a user interface input device 1212, a user interface output device 1214, and a network interface subsystem 1216. Can be included.

バス・サブシステム1204は、意図したようにコンピュータ・システム1200の種々の構成部分及びサブシステムに互いに通信させる機構を提供する。バス・サブシステム1204を単一バスとして略示しているが、バス・サブシステムの別の実施例は、複数のバスを利用することができる。   Bus subsystem 1204 provides a mechanism for causing the various components and subsystems of computer system 1200 to communicate with each other as intended. Although bus subsystem 1204 is shown schematically as a single bus, alternate embodiments of the bus subsystem may utilize multiple buses.

ネットワーク・インタフェース・サブシステム1216は、他のコンピュータ・システム、ネットワーク及び装置とのインタフェースを提供する。ネットワーク・インタフェース・サブシステム1216は、データ処理システム1200からの他のシステムとの間でデータを送受信するためのインタフェースとしての役目を担う。例えば、ディジタル・トークンは、ネットワーク・インタフェース・サブシステム1216を用いてデータ処理システム1200との間で通信することができる。ネットワーク・インタフェース・サブシステム1216の実施例は通常、イーサネット(登録商標)カード、モデム(電話、衛星、ケーブル、ISDN)、(非同期)ディジタル加入者線(DSL)装置、ファイヤワイヤ・インタフェース、USBインタフェース等を含む。例えば、インタフェース1216は、コンピュータ・ネットワーク、ファイヤワイヤ・バス等に結合することができる。他の実施例では、インタフェース1216は、データ処理システム1200のマザーボード上に物理的に一体化されていてもよく、ソフトDSLなどのソフトウェア・プログラム等であってもよい。   Network interface subsystem 1216 provides an interface to other computer systems, networks and devices. The network interface subsystem 1216 serves as an interface for transmitting and receiving data to and from other systems from the data processing system 1200. For example, digital tokens can communicate with data processing system 1200 using network interface subsystem 1216. Examples of network interface subsystem 1216 are typically Ethernet cards, modems (telephone, satellite, cable, ISDN), (asynchronous) digital subscriber line (DSL) devices, firewire interfaces, USB interfaces Etc. For example, the interface 1216 can be coupled to a computer network, a firewire bus, or the like. In other embodiments, the interface 1216 may be physically integrated on the motherboard of the data processing system 1200, or may be a software program such as soft DSL.

ユーザ・インタフェース入力装置1212は、キーボード、ポインティング・デバイス(マウス、トラックボール、タッチパッドやグラフィック・タブレットなど)、スキャナ、バーコード・スキャナ、ディスプレイに組み入れたタッチスクリーン、オーディオ入力装置(音声認識システム、マイクロフォンやその他のタイプの入力装置など)を含み得る。一般に、「入力装置」の語の使用は、情報をデータ処理システム1200に入力するための装置及び機構の考えられる全てのタイプ全てを含むことを意図している。ユーザは、入力装置1212を用いて、タスク(共有するデータの識別、要求の生成等)を行うことができる。   The user interface input device 1212 includes a keyboard, a pointing device (such as a mouse, a trackball, a touch pad and a graphic tablet), a scanner, a barcode scanner, a touch screen incorporated in a display, an audio input device (a voice recognition system, Microphone or other type of input device). In general, use of the term “input device” is intended to include all possible types of devices and mechanisms for entering information into data processing system 1200. A user can perform a task (identification of shared data, generation of a request, etc.) using the input device 1212.

ユーザ・インタフェース出力装置1214は、ディスプレイ・サブシステム、プリンタ、ファックス・マシンや非視覚ディスプレイ(オーディオ出力装置等)を含み得る。ディスプレイ・サブシステムは、陰極線管(CRT)、フラットパネル装置(液晶ディスプレイ(LCD)など)や、投影装置であり得る。一般に、「出力装置」の語の使用は、データ処理システム1200からの情報を出力する考えられるタイプの装置及び機構全てを含むことを意図している。ディジタル・トークンを、出力装置1214を介して表示することができる。   User interface output device 1214 may include a display subsystem, a printer, a fax machine, or a non-visual display (such as an audio output device). The display subsystem can be a cathode ray tube (CRT), a flat panel device (such as a liquid crystal display (LCD)), or a projection device. In general, use of the term “output device” is intended to include all possible types of devices and mechanisms that output information from data processing system 1200. Digital tokens can be displayed via output device 1214.

記憶サブシステム1206は、本発明の機能を提供する基本プログラミング及びデータ構成を記憶するよう構成することができる。プロセッサによって実行されると本発明の機能を提供するソフトウェア(例えば、コード・モジュール又は命令)は、記憶サブシステム1206に記憶することができる。前述のソフトウェア・モジュール又は命令はプロセッサ1202によって実行することができる。記憶サブシステム1206は、本発明によって用いるデータを記憶するレポジトリを提供することもできる。例えば、ディジタル・トークンを記憶サブシステム1206によって記憶することができる。記憶サブシステム1206は、メモリ・サブシステム1208、及びファイル/ディスク記憶サブシステム1210を備えることができる。   The storage subsystem 1206 can be configured to store basic programming and data structures that provide the functionality of the present invention. Software (eg, code modules or instructions) that, when executed by a processor, provides the functionality of the present invention can be stored in the storage subsystem 1206. Such software modules or instructions may be executed by processor 1202. The storage subsystem 1206 can also provide a repository for storing data used by the present invention. For example, a digital token can be stored by the storage subsystem 1206. The storage subsystem 1206 can comprise a memory subsystem 1208 and a file / disk storage subsystem 1210.

メモリ・サブシステム1208は、プログラム実行中の命令及びデータの記憶のための主ランダム・アクセス・メモリ(RAM)1218、及び、固定命令が記憶されるリード・オンリ・メモリ(ROM)1220が記憶されるいくつかのメモリを含み得る。ファイル記憶サブシステム1210は、プログラム及びデータ・ファイルの永続的な(不揮発の)記憶装置を提供し、ハードウェア・ディスク・ドライブ、フロッピー(登録商標)・ディスク・ドライブ及び関連した取り外し可能な媒体、コンパクト・ディスク・リード・オンリー・メモリ(CD−ROM)ドライブ、光ドライブ、取り外し可能なメディア・カートリッジや、その他の同様な記憶媒体を含み得る。   The memory subsystem 1208 stores a main random access memory (RAM) 1218 for storing instructions and data during program execution, and a read-only memory (ROM) 1220 for storing fixed instructions. May include several memories. File storage subsystem 1210 provides permanent (non-volatile) storage of programs and data files, and includes hardware disk drives, floppy disk drives and associated removable media, It may include a compact disk read only memory (CD-ROM) drive, an optical drive, a removable media cartridge, and other similar storage media.

データ処理システム1200は、パソコン、ポータブル型コンピュータ、ワークステーション、ネットワーク・コンピュータ、汎用コンピュータ、キオスクや何れかの他のデータ処理システムを含む各種のデータ処理システムであり得る。コンピュータ及びネットワークが絶え間なく変化する性質から、図12に表すデータ処理システム1200の説明は、コンピュータ・システムの好ましい実施例を例証する目的のための具体例であることのみを意図している。図12に表すシステムよりも構成部分が多い構成、又は図12に表すシステムよりも構成部分が少ない構成が考えられる。   Data processing system 1200 may be a variety of data processing systems including personal computers, portable computers, workstations, network computers, general purpose computers, kiosks and any other data processing system. Due to the ever-changing nature of computers and networks, the description of the data processing system 1200 depicted in FIG. 12 is intended only as a specific example for purposes of illustrating the preferred embodiment of the computer system. A configuration with more components than the system shown in FIG. 12 or a configuration with fewer components than the system shown in FIG.

本発明の特定の実施例を説明してきたが、種々の修正、改変、別の構成、及び均等物も本発明の範囲内に包含される。前述の発明は、ある特定のデータ処理環境内の作用に制限されず、複数のデータ処理環境内で自由に作用することができる。更に、本発明は、特定の一連の取引及び工程を用いて説明してきたが、本発明の範囲が前述の一連の取引及び工程に限定されないことは当業者に明らかなはずである。   While specific embodiments of the invention have been described, various modifications, alterations, alternative configurations, and equivalents are also encompassed within the scope of the invention. The above-described invention is not limited to operation within a specific data processing environment, and can operate freely within a plurality of data processing environments. Further, although the present invention has been described using a specific series of transactions and processes, it should be apparent to those skilled in the art that the scope of the present invention is not limited to the series of transactions and processes described above.

更に、本発明は、ハードウェア及びソフトウェアの特定の組み合わせを用いて説明してきたが、ハードウェア及びソフトウェアのその他の組み合わせも本発明の範囲内にある。本発明は、ハードウェア、ソフトウェア、又はそれらの組み合わせを用いて実現することができる。   Furthermore, although the invention has been described using specific combinations of hardware and software, other combinations of hardware and software are within the scope of the invention. The present invention can be realized using hardware, software, or a combination thereof.

本明細書及び図面はよって、限定的な意味合いでなく例証的な意味合いで解するものとする。しかし、加算、減算、削除やその他の修正及び変更をそれに対して、特許請求の範囲記載の本発明の更に広い趣旨及び範囲から逸脱しない限り、行うことができる。   The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense. However, additions, subtractions, deletions and other modifications and changes can be made thereto without departing from the broader spirit and scope of the invention as defined in the claims.

本発明の実施例による、トークンを生成し、用いるシステムの単純化されたブロック図である。FIG. 2 is a simplified block diagram of a system for generating and using tokens according to an embodiment of the present invention. 本発明の実施例による、トークンを生成する方法を表す単純化された概略レベルのフローチャートである。6 is a simplified high-level flowchart illustrating a method for generating a token, according to an embodiment of the present invention. 本発明の実施例による、トークンを用いて共有する対象のデータを識別することなくトークンを生成する方法を表す単純化された概要レベルのフローチャートである。6 is a simplified high-level flowchart representing a method for generating a token without identifying the data to be shared using the token, according to an embodiment of the present invention. 本発明の実施例による、先行して生成されたトークンを用いてデータを共有する方法を表す単純化された概略レベルのフローチャートである。6 is a simplified schematic level flowchart representing a method of sharing data using previously generated tokens, according to an embodiment of the present invention. 本発明の実施例による、生成されたトークンを用いて共有データにアクセスする方法を表す単純化された概略レベルのフローチャートである。6 is a simplified high-level flowchart illustrating a method for accessing shared data using a generated token, according to an embodiment of the present invention. 本発明の実施例による、トークン・プロセッサの種々のモジュールを表す単純化されたブロック図である。FIG. 3 is a simplified block diagram representing various modules of a token processor, according to an embodiment of the present invention. 本発明の実施例によって生成することができるトークンの例を表す図である。FIG. 4 is a diagram illustrating an example of a token that can be generated according to an embodiment of the present invention. 本発明の実施例によって生成することができるトークンの例を表す図である。FIG. 4 is a diagram illustrating an example of a token that can be generated according to an embodiment of the present invention. 種々のバージョンの共有データを記憶することができる実施例において、トークンを生成してデータを共有する方法を表す単純化された概略レベルのフローチャートである。FIG. 6 is a simplified high-level flowchart illustrating a method for generating tokens and sharing data in an embodiment in which various versions of shared data can be stored. 種々のバージョンの共有データを記憶することができる実施例において、トークンを用いて、共有する対象のデータをアップロードする方法を表す単純化された概略レベルのフローチャートである。FIG. 6 is a simplified schematic level flowchart representing a method for uploading data to be shared using tokens in an embodiment in which various versions of shared data can be stored. 本発明の実施例による、トークンを用いて、新たなバージョンの共有データがアップロードされるにつれての、リンクされたレコード・リストの推移を表す図である。FIG. 6 is a diagram illustrating the transition of a linked record list as a new version of shared data is uploaded using tokens, according to an embodiment of the present invention. 本発明の実施例による、トークンを用いて、新たなバージョンの共有データがアップロードされるにつれての、リンクされたレコード・リストの推移を表す図である。FIG. 6 is a diagram illustrating the transition of a linked record list as a new version of shared data is uploaded using tokens, according to an embodiment of the present invention. 本発明の実施例による、トークンを用いて、新たなバージョンの共有データがアップロードされるにつれての、リンクされたレコード・リストの推移を表す図である。FIG. 6 is a diagram illustrating the transition of a linked record list as a new version of shared data is uploaded using tokens, according to an embodiment of the present invention. 発明の実施例による、トークンを用いて、最新バージョンの共有データにアクセスする方法を表す単純化された概略レベルのフローチャートである。6 is a simplified high-level flowchart representing a method for accessing the latest version of shared data using tokens, according to an embodiment of the invention. 本発明の実施例による、処理を行うために用いることができるデータ処理システムの単純化されたブロック図である。1 is a simplified block diagram of a data processing system that can be used to perform processing according to an embodiment of the present invention. FIG.

符号の説明Explanation of symbols

102 トークン・プロセッサ
104 コンピュータ・システム
106 記憶場所
108 ディジタル・トークン
110 物理トークン
112 プリンタ
114 トークン読み取り器
116 トークン
102 token processor 104 computer system 106 storage location 108 digital token 110 physical token 112 printer 114 token reader 116 token

Claims (10)

共有する対象のデータを記憶するよう構成されたメモリと、
前記メモリから共有する対象のデータにアクセスするために利用可能な識別子を生成し、
前記メモリから共有する対象のデータを暗号化するために利用可能である暗号鍵を生成し、
前記識別子及び前記暗号鍵を含む1つ又は複数のトークンの組を生成させるよう構成されたプロセッサとを備え、前記トークンの組に含まれる各トークンは、前記トークンの組の何れのトークンを用いても前記データにアクセス可能な形態で前記データを記憶することを可能にするデータ共有システム。
Memory configured to store data to be shared;
Generating an identifier that can be used to access the data to be shared from the memory;
Generating an encryption key that can be used to encrypt data to be shared from the memory;
A processor configured to generate one or more token sets including the identifier and the encryption key, wherein each token included in the token set uses any token of the token set A data sharing system that enables the data to be stored in a form accessible to the data.
請求項1記載のシステムであって、前記プロセッサは、
前記識別子及び前記暗号鍵を前記トークンの組における第1のトークンから取得し、
共有する対象の第1のデータを識別する情報を受け取り、
前記第1のトークンから得られた前記暗号鍵を用いて前記第1のデータを暗号化して、暗号化された第1のデータを生成し、
前記暗号化された第1のデータが前記識別子を用いてアクセス可能であるように、前記暗号化された第1のデータを前記メモリに記憶するよう構成されたシステム。
The system of claim 1, wherein the processor is
Obtaining the identifier and the encryption key from a first token in the set of tokens;
Receiving information identifying the first data to be shared;
Encrypting the first data using the encryption key obtained from the first token to generate encrypted first data;
A system configured to store the encrypted first data in the memory such that the encrypted first data is accessible using the identifier.
請求項1記載のシステムであって、前記プロセッサは、
前記識別子及び前記暗号鍵を前記トークンの組におけるトークンから取得し、
前記暗号化された第1のデータを、前記トークンから得られた前記識別子を用いてアクセスし、
前記トークンから得られた前記暗号鍵を用いて前記暗号化された第1のデータを復号して、復号された第1のデータを生成し、
前記復号された第1のデータへのアクセスを可能にするよう構成されたシステム。
The system of claim 1, wherein the processor is
Obtaining the identifier and the encryption key from a token in the set of tokens;
Accessing the encrypted first data using the identifier obtained from the token;
Decrypting the encrypted first data using the encryption key obtained from the token to generate the decrypted first data;
A system configured to allow access to the decrypted first data.
請求項1記載のシステムであって、前記トークンの組における少なくとも1つのトークンは、前記識別子及び前記暗号鍵をコード化した機械読み取り可能なコードを備えた物理トークンであるシステム。   The system of claim 1, wherein at least one token in the set of tokens is a physical token comprising a machine readable code encoding the identifier and the encryption key. 請求項1記載のシステムであって、物理媒体上に前記トークンの組を印刷するよう構成されたプリンタを更に備え、前記物理媒体は、前記物理媒体上に印刷されたトークンを、前記物理媒体上に印刷された他のトークンと物理的に分離することを可能にするシステム。   The system of claim 1, further comprising a printer configured to print the set of tokens on a physical medium, the physical medium having a token printed on the physical medium on the physical medium. A system that allows you to physically separate it from other tokens printed on it. データ共有方法であって、
共有する対象のデータをメモリによって記憶する工程と、
前記メモリから共有する対象のデータにアクセスするために利用可能な識別子をプロセッサによって生成する工程と、
前記メモリから共有する対象のデータを暗号化するために利用可能である暗号鍵を前記プロセッサによって生成する工程と、
前記識別子及び前記暗号鍵を含む1つ又は複数のトークンの組を前記プロセッサによって生成する工程とを含み、前記トークンの組に含まれる各トークンは、前記トークンの組の何れのトークンを用いても前記データにアクセス可能な形態で前記データを記憶するデータ共有方法。
A data sharing method,
Storing data to be shared by a memory;
Generating, by a processor, an identifier that can be used to access data to be shared from the memory;
Generating an encryption key by the processor that can be used to encrypt data to be shared from the memory;
Generating one or more token sets including the identifier and the encryption key by the processor, wherein each token included in the token set uses any token of the token set. A data sharing method for storing the data in a form accessible to the data.
請求項6記載のデータ共有方法であって、
前記識別子及び前記暗号鍵を前記トークンの組における第1のトークンから前記プロセッサによって取得する工程と、
共有する対象の第1のデータを識別する情報を前記プロセッサによって受け取る工程と、
前記第1のトークンから得られた前記暗号鍵を用いて前記第1のデータを暗号化して、暗号化された第1のデータを前記プロセッサによって生成する工程と、
前記暗号化された第1のデータが前記識別子を用いてアクセス可能であるように、前記暗号化された第1のデータを前記メモリに前記プロセッサによって記憶する工程と
を更に含むデータ共有方法。
The data sharing method according to claim 6, wherein
Obtaining the identifier and the encryption key from the first token in the set of tokens by the processor;
Receiving, by the processor, information identifying first data to be shared;
Encrypting the first data using the encryption key obtained from the first token and generating the encrypted first data by the processor;
Storing the encrypted first data in the memory by the processor such that the encrypted first data is accessible using the identifier.
請求項6記載のデータ共有方法であって、
前記識別子及び前記暗号鍵を前記トークンの組におけるトークンから前記プロセッサによって取得する工程と、
前記暗号化された第1のデータを、前記トークンから得られた前記識別子を用いて前記プロセッサによってアクセスする工程と、
前記プロセッサにより、
前記トークンから得られた前記暗号鍵を用いて前記暗号化された第1のデータを復号して、復号された第1のデータを生成する工程と、
前記復号された第1のデータへのアクセスを前記プロセッサによって可能にする工程と
を更に含むデータ共有方法。
The data sharing method according to claim 6, wherein
Obtaining the identifier and the encryption key from a token in the set of tokens by the processor;
Accessing the encrypted first data by the processor using the identifier obtained from the token;
By the processor,
Decrypting the encrypted first data using the encryption key obtained from the token to generate the decrypted first data;
Enabling the access to the decrypted first data by the processor.
請求項6記載のデータ共有方法であって、前記トークンの組における少なくとも1つのトークンは、前記識別子及び前記暗号鍵をコード化した機械読み取り可能なコードを備えた物理トークンであるデータ共有方法。   7. The data sharing method according to claim 6, wherein at least one token in the set of tokens is a physical token including a machine-readable code encoding the identifier and the encryption key. 請求項6記載のデータ共有方法であって、物理媒体上に前記トークンの組をプリンタによって印刷する工程を更に含み、前記物理媒体は、前記物理媒体上に印刷されたトークンを、前記物理媒体上に印刷された他のトークンと物理的に分離することを可能にするデータ共有方法。   7. The data sharing method according to claim 6, further comprising a step of printing the set of tokens on a physical medium by a printer, the physical medium including a token printed on the physical medium on the physical medium. A data sharing method that allows it to be physically separated from other tokens printed on it.
JP2008086837A 2007-03-30 2008-03-28 Data sharing techniques Expired - Fee Related JP4999751B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/694,327 2007-03-30
US11/694,327 US8756673B2 (en) 2007-03-30 2007-03-30 Techniques for sharing data

Publications (2)

Publication Number Publication Date
JP2008257720A JP2008257720A (en) 2008-10-23
JP4999751B2 true JP4999751B2 (en) 2012-08-15

Family

ID=39627698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008086837A Expired - Fee Related JP4999751B2 (en) 2007-03-30 2008-03-28 Data sharing techniques

Country Status (3)

Country Link
US (2) US8756673B2 (en)
EP (1) EP1975847B1 (en)
JP (1) JP4999751B2 (en)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809156B2 (en) 2005-08-12 2010-10-05 Ricoh Company, Ltd. Techniques for generating and using a fingerprint for an article
US8689102B2 (en) 2006-03-31 2014-04-01 Ricoh Company, Ltd. User interface for creating and using media keys
US20070229678A1 (en) * 2006-03-31 2007-10-04 Ricoh Company, Ltd. Camera for generating and sharing media keys
US8554690B2 (en) 2006-03-31 2013-10-08 Ricoh Company, Ltd. Techniques for using media keys
US9525547B2 (en) 2006-03-31 2016-12-20 Ricoh Company, Ltd. Transmission of media keys
CN100551146C (en) 2007-01-22 2009-10-14 华为技术有限公司 A method, system and device for realizing user identity association
US8756673B2 (en) 2007-03-30 2014-06-17 Ricoh Company, Ltd. Techniques for sharing data
US8949325B1 (en) * 2007-06-29 2015-02-03 Symantec Corporation Dynamic discovery and utilization of current context information
JP5022875B2 (en) * 2007-11-27 2012-09-12 キヤノン株式会社 Information processing apparatus and control method thereof, information processing system and program
US8199911B1 (en) * 2008-03-31 2012-06-12 Symantec Operating Corporation Secure encryption algorithm for data deduplication on untrusted storage
US8438622B2 (en) * 2008-07-10 2013-05-07 Honesty Online, Llc Methods and apparatus for authorizing access to data
US8559637B2 (en) * 2008-09-10 2013-10-15 Verizon Patent And Licensing Inc. Securing information exchanged via a network
US8281143B1 (en) 2008-09-29 2012-10-02 Symantec Operating Corporation Protecting against chosen plaintext attacks in untrusted storage environments that support data deduplication
US20100115261A1 (en) * 2008-11-06 2010-05-06 International Business Machines Corporation Extensible seal management for encrypted data
US8479304B1 (en) 2009-03-31 2013-07-02 Symantec Corporation Selectively protecting against chosen plaintext attacks in untrusted storage environments that support data deduplication
JP5531491B2 (en) * 2009-08-04 2014-06-25 富士ゼロックス株式会社 Print image forming apparatus and program
US8832815B2 (en) * 2009-09-09 2014-09-09 T-Mobile Usa, Inc. Accessory based data distribution
JP5012867B2 (en) * 2009-09-15 2012-08-29 コニカミノルタビジネステクノロジーズ株式会社 Image data output method, image processing apparatus, and computer program
US8615548B1 (en) * 2009-11-17 2013-12-24 Applied Micro Circuits Corporation System and method for deferred data downloading
EP2510713B1 (en) * 2009-12-07 2018-06-13 Nokia Technologies Oy Preservation of user data privacy in a network
US8860581B2 (en) * 2010-01-19 2014-10-14 T-Mobile Usa, Inc. Element mapping to control illumination of a device shell
US10755343B2 (en) * 2010-04-09 2020-08-25 Cfph, Llc Multi-system distributed processing of payment and/or non-payment information
US9792381B2 (en) * 2010-06-28 2017-10-17 Here Global B.V. Method and apparatus for a paged update protocol
US11475523B1 (en) * 2010-07-02 2022-10-18 The Pnc Financial Services Group, Inc. Investor retirement lifestyle planning tool
US11475524B1 (en) * 2010-07-02 2022-10-18 The Pnc Financial Services Group, Inc. Investor retirement lifestyle planning tool
JP2012054889A (en) * 2010-09-03 2012-03-15 Denso Wave Inc Cipher key provision system and cipher key provision method
JP2012060242A (en) * 2010-09-06 2012-03-22 Konica Minolta Business Technologies Inc Information processing system and information processing method
US9165285B2 (en) 2010-12-08 2015-10-20 Microsoft Technology Licensing, Llc Shared attachments
MY147483A (en) * 2011-03-16 2012-12-14 Nexbis Sdn Bhd Detachable print material and method of use thereof
US10552799B2 (en) 2011-04-28 2020-02-04 Microsoft Technology Licensing, Llc Upload of attachment and insertion of link into electronic messages
US8682989B2 (en) 2011-04-28 2014-03-25 Microsoft Corporation Making document changes by replying to electronic messages
US11308449B2 (en) * 2011-04-28 2022-04-19 Microsoft Technology Licensing, Llc Storing metadata inside file to reference shared version of file
US9137185B2 (en) 2011-04-28 2015-09-15 Microsoft Technology Licensing, Llc Uploading attachment to shared location and replacing with a link
US10185932B2 (en) 2011-05-06 2019-01-22 Microsoft Technology Licensing, Llc Setting permissions for links forwarded in electronic messages
US8943574B2 (en) 2011-05-27 2015-01-27 Vantiv, Llc Tokenizing sensitive data
US8751807B2 (en) 2011-06-23 2014-06-10 Azuki Systems Inc. Method and system for secure over-the-top live video delivery
US9578114B2 (en) 2011-09-27 2017-02-21 Microsoft Technology Licensing, Llc External service application discovery method
CN102902934B (en) * 2011-09-27 2016-10-05 微软技术许可有限责任公司 Main frame is unknowable integrated and inter-operation system
US9628514B2 (en) 2011-11-10 2017-04-18 Skype Device association using an audio signal
US9450930B2 (en) 2011-11-10 2016-09-20 Microsoft Technology Licensing, Llc Device association via video handshake
US9288229B2 (en) * 2011-11-10 2016-03-15 Skype Device association via video handshake
JP5942614B2 (en) 2012-06-05 2016-06-29 株式会社リコー Information processing apparatus, system, and program
US12243014B2 (en) 2012-08-20 2025-03-04 Rearden Analytics Network-enabled global positioning satellite-based device for obtaining patient verification
US20140052466A1 (en) * 2012-08-20 2014-02-20 Rearden Analytics System and method for enabling compliance with rules to reduce fraudulent reimbursement associated with durable medical equipment prescriptions
US20140067865A1 (en) * 2012-08-28 2014-03-06 Dropbox, Inc. Global link providing modification rights to a shared folder
US9075954B2 (en) 2012-08-29 2015-07-07 Dropbox, Inc. Requesting modification rights to a linked file set
EP2713575A1 (en) * 2012-09-27 2014-04-02 Gemalto SA Method for establishing a virtual relationship between two persons, corresponding media and system
GB2507100A (en) * 2012-10-19 2014-04-23 Ibm Secure sharing and collaborative editing of documents in cloud based applications
US9107065B2 (en) 2012-10-22 2015-08-11 Google Technology Holdings LLC Secure information transfer via bar codes
US8838681B2 (en) 2012-12-21 2014-09-16 Dropbox, Inc. Systems and methods for adding digital content to content management service accounts
US9483655B2 (en) 2013-03-12 2016-11-01 Commvault Systems, Inc. File backup with selective encryption
JP5939580B2 (en) * 2013-03-27 2016-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Name identification system for identifying anonymized data, method and computer program therefor
US9071429B1 (en) * 2013-04-29 2015-06-30 Amazon Technologies, Inc. Revocable shredding of security credentials
US9258297B2 (en) * 2013-08-27 2016-02-09 Agfa Healthcare Methods, devices, and mediums for securely sharing restricted content
JP6524635B2 (en) 2013-11-06 2019-06-05 株式会社リコー Information storage system and information storage method
US10769625B2 (en) * 2013-12-20 2020-09-08 Cellco Partnership Dynamic generation of quick response (QR) codes for secure communication from/to a mobile device
US20150248676A1 (en) * 2014-02-28 2015-09-03 Sathish Vaidyanathan Touchless signature
US10643266B2 (en) * 2014-03-31 2020-05-05 Monticello Enterprises LLC System and method for in-app payments
US10511580B2 (en) * 2014-03-31 2019-12-17 Monticello Enterprises LLC System and method for providing a social media shopping experience
US11080777B2 (en) * 2014-03-31 2021-08-03 Monticello Enterprises LLC System and method for providing a social media shopping experience
US11250493B2 (en) * 2014-03-31 2022-02-15 Monticello Enterprises LLC System and method for performing social media cryptocurrency transactions
US10832310B2 (en) 2014-03-31 2020-11-10 Monticello Enterprises LLC System and method for providing a search entity-based payment process
US10726472B2 (en) * 2014-03-31 2020-07-28 Monticello Enterprises LLC System and method for providing simplified in-store, product-based and rental payment processes
US12236471B2 (en) * 2014-03-31 2025-02-25 Monticello Enterprises LLC System and method for providing a social media shopping experience
US11004139B2 (en) 2014-03-31 2021-05-11 Monticello Enterprises LLC System and method for providing simplified in store purchases and in-app purchases using a use-interface-based payment API
US20180019984A1 (en) 2014-03-31 2018-01-18 Monticello Enterprises LLC System and method for providing a credential management api
US12008629B2 (en) * 2014-03-31 2024-06-11 Monticello Enterprises LLC System and method for providing a social media shopping experience
US11282131B2 (en) * 2014-03-31 2022-03-22 Monticello Enterprises LLC User device enabling access to payment information in response to user input
US9531719B1 (en) * 2014-04-29 2016-12-27 Amazon Technologies, Inc. Permissions for hybrid distributed network resources
US9965796B2 (en) * 2014-06-26 2018-05-08 Paypal, Inc. Social media buttons with payment capability
US9405928B2 (en) * 2014-09-17 2016-08-02 Commvault Systems, Inc. Deriving encryption rules based on file content
US20160092867A1 (en) * 2014-09-29 2016-03-31 The Toronto-Dominion Bank Systems and methods for administering mobile applications using pre-loaded tokens
US9973543B2 (en) 2014-10-13 2018-05-15 Getgo, Inc. Seamless switching between computing devices during an online meeting
US9860324B1 (en) * 2014-12-10 2018-01-02 Google Llc Rapid establishment of a connection from multiple address locations
JP6489939B2 (en) * 2015-05-26 2019-03-27 武宗 堀越 Data distribution method and system, and computer program
US9819672B1 (en) * 2015-06-26 2017-11-14 EMC IP Holding Company LLC Sharing access tokens with trusted users
US9819665B1 (en) * 2015-06-26 2017-11-14 EMC IP Holding Company LLC Synchronization of access tokens for session continuity across multiple devices
CA2944306C (en) * 2015-10-30 2023-11-14 The Toronto-Dominion Bank Validating encrypted data from a multi-layer token
US11216808B2 (en) 2015-11-04 2022-01-04 The Toronto-Dominion Bank Token-based system for excising data from databases
CA2943962C (en) * 2015-11-05 2024-01-16 The Toronto-Dominion Bank Securing data via multi-layer tokens
CN107037991A (en) 2016-02-04 2017-08-11 索尼公司 Information processing device, information processing method, and distributed component
US9602477B1 (en) 2016-04-14 2017-03-21 Wickr Inc. Secure file transfer
US10389719B2 (en) * 2016-10-28 2019-08-20 Entit Software Llc Parameter based data access on a security information sharing platform
JP7170638B2 (en) * 2016-12-01 2022-11-14 アビニシオ テクノロジー エルエルシー Generating, Accessing, and Displaying Lineage Metadata
US11128452B2 (en) * 2017-03-25 2021-09-21 AVAST Software s.r.o. Encrypted data sharing with a hierarchical key structure
US10796015B2 (en) 2017-03-29 2020-10-06 Mybitchbook, Inc. Method and system for anonymous user data storage and controlled data access
US10592685B2 (en) 2017-04-27 2020-03-17 Google Llc Encrypted search cloud service with cryptographic sharing
CN107248984B (en) * 2017-06-06 2020-06-05 北京京东尚科信息技术有限公司 Data exchange system, method and device
CN111066017B (en) 2017-08-01 2024-03-29 维萨国际服务协会 Private data processing
CN107707385B (en) * 2017-09-18 2019-03-12 贵州白山云科技股份有限公司 A kind of data reporting method and system
CN109600400A (en) * 2017-09-29 2019-04-09 索尼公司 Electronic equipment, method and wireless communication system in wireless communication system
JP7087932B2 (en) * 2018-01-11 2022-06-21 村田機械株式会社 Storage device, data sharing system and data sharing method
US11012722B2 (en) * 2018-02-22 2021-05-18 Secure Cloud Systems, Inc. System and method for securely transferring data
US11329963B2 (en) * 2018-02-22 2022-05-10 Eclypses, Inc. System and method for securely transferring data
US12483397B1 (en) * 2018-04-13 2025-11-25 Hushmesh Inc. Use of cryptographic twins for secure storage and access of entity data
US11108762B2 (en) * 2018-06-05 2021-08-31 The Toronto-Dominion Bank Methods and systems for controlling access to a protected resource
US20200257812A1 (en) * 2019-02-11 2020-08-13 Novarad Corporation Secure Access to Stored Data Files Using Tokens Encoded in Optical Codes
JP7351097B2 (en) * 2019-04-02 2023-09-27 富士フイルムビジネスイノベーション株式会社 Information processing equipment and programs
EP3739836A1 (en) * 2019-05-13 2020-11-18 CyberArk Software Ltd. Secure transmission of data to systems using scannable codes
EP3817317B1 (en) * 2019-10-31 2024-06-12 Mastercard International Incorporated Authentication system and method for sending and receiving encrypted messages
US11423463B2 (en) * 2019-12-31 2022-08-23 Paypal, Inc. Dynamically rendered interface elements during online chat sessions
US11405203B2 (en) 2020-02-17 2022-08-02 Eclypses, Inc. System and method for securely transferring data using generated encryption keys
US11652626B2 (en) * 2020-02-18 2023-05-16 International Business Machines Corporation Safeguarding cryptographic keys from modification or deletion
US11917068B1 (en) 2020-06-29 2024-02-27 Thomas William Maloney System, apparatus, and method for secure exchange of personal information
CN112650954B (en) * 2020-12-30 2023-09-22 杭州趣链科技有限公司 Blockchain data sharing methods, devices, equipment and storage media
US12353576B2 (en) 2021-03-05 2025-07-08 Eclypses, Inc. System and method for securely transferring data using encryption keys
US11720693B2 (en) 2021-03-05 2023-08-08 Eclypses, Inc. System and method for securely transferring data
US11522707B2 (en) 2021-03-05 2022-12-06 Eclypses, Inc. System and method for detecting compromised devices
US12169587B2 (en) * 2021-04-06 2024-12-17 Comcast Cable Communications, Llc Systems and methods for data security on a mobile device
US11449912B1 (en) * 2021-04-06 2022-09-20 1ClickPay Inc System and method for facilitating e-commerce transaction using an interactive support agent platform
US12255779B2 (en) * 2022-09-14 2025-03-18 Xerox Corporation Method and apparatus to configure a multi-function device
JPWO2024166910A1 (en) * 2023-02-07 2024-08-15
US20240372721A1 (en) * 2023-05-01 2024-11-07 Crown Sterling Limited, LLC Decentralized Key Storage and Retrieval

Family Cites Families (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ131399A0 (en) * 1999-06-30 1999-07-22 Silverbrook Research Pty Ltd A method and apparatus (NPAGE02)
JPS58210779A (en) 1982-06-01 1983-12-08 Sony Corp Receiver for scrambled broadcast
US4974878A (en) 1988-04-20 1990-12-04 Remittance Technology Corporation Financial data processing system using payment coupons
CA2039652C (en) * 1990-05-30 1996-12-24 Frank Zdybel, Jr. Hardcopy lossless data storage and communications for electronic document processing systems
GB9212266D0 (en) * 1992-06-10 1992-07-22 Racal Datacom Ltd Access control
US5490217A (en) * 1993-03-05 1996-02-06 Metanetics Corporation Automatic document handling system
US5505494B1 (en) * 1993-09-17 1998-09-29 Bell Data Software Corp System for producing a personal id card
SE501105C2 (en) 1993-11-17 1994-11-14 Telub Teknik Ab System for reading encrypted information and a device for use in such a system
US7016524B2 (en) * 1994-04-14 2006-03-21 Moore Lewis J System for authenticating and processing of checks and other bearer documents
JPH0885249A (en) 1994-09-16 1996-04-02 Riso Kagaku Corp Recording device
US5506663A (en) 1994-11-07 1996-04-09 Xerox Corporation Scanner mounting apparatus for an electrostatographic printing machine
US7986806B2 (en) * 1994-11-16 2011-07-26 Digimarc Corporation Paper products and physical objects as means to access and control a computer or to navigate over or act as a portal on a network
US5590197A (en) 1995-04-04 1996-12-31 V-One Corporation Electronic payment system and method
US6577746B1 (en) * 1999-12-28 2003-06-10 Digimarc Corporation Watermark-based object linking and embedding
KR970024712A (en) 1995-10-16 1997-05-30 이데이 노부유키 Encryption method and encryption device and recording method and decryption method and decryption device and recording medium
US5761677A (en) * 1996-01-03 1998-06-02 Sun Microsystems, Inc. Computer system method and apparatus providing for various versions of a file without requiring data copy or log operations
CA2170834C (en) * 1996-03-01 2006-11-21 Calin A. Sandru Apparatus and method for enhancing the security of negotiable documents
US5815657A (en) * 1996-04-26 1998-09-29 Verifone, Inc. System, method and article of manufacture for network electronic authorization utilizing an authorization instrument
WO1997041527A1 (en) * 1996-05-01 1997-11-06 Xros, Inc. Compact, simple, 2d raster, image-building fingerprint scanner
US20040243478A1 (en) 1996-09-04 2004-12-02 Walker Jay S. Purchasing, redemption, and settlement systems and methods wherein a buyer takes possession at a retailer of a product purchased using a communication network
US5938726A (en) 1996-10-04 1999-08-17 Motorola, Inc. Apparatus for reading an electronic network navigation device and a peripheral for use therewith
US5933829A (en) * 1996-11-08 1999-08-03 Neomedia Technologies, Inc. Automatic access of electronic information through secure machine-readable codes on printed documents
US6193155B1 (en) * 1996-12-09 2001-02-27 Walker Digital, Llc Method and apparatus for issuing and managing gift certificates
US5940507A (en) * 1997-02-11 1999-08-17 Connected Corporation Secure file archive through encryption key management
US6504620B1 (en) * 1997-03-25 2003-01-07 Fuji Photo Film Co., Ltd. Print ordering method, printing system and film scanner
US20070013781A1 (en) * 1997-03-25 2007-01-18 Minolta Co., Ltd. Digital camera with automatic operating mode selection
TW396308B (en) * 1997-04-01 2000-07-01 Tumbleweed Software Corp Document delivery system
US6330544B1 (en) 1997-05-19 2001-12-11 Walker Digital, Llc System and process for issuing and managing forced redemption vouchers having alias account numbers
US7044589B2 (en) * 1997-07-12 2006-05-16 Silverbrook Res Pty Ltd Printing cartridge with barcode identification
US7050143B1 (en) * 1998-07-10 2006-05-23 Silverbrook Research Pty Ltd Camera system with computer language interpreter
US6035290A (en) * 1997-08-15 2000-03-07 Pitney Bowes Inc. Method for enhancing security and for audit and control of a cryptographic verifier
US6163771A (en) 1997-08-28 2000-12-19 Walker Digital, Llc Method and device for generating a single-use financial account number
US6023682A (en) * 1997-10-21 2000-02-08 At&T Corporation Method and apparatus for credit card purchase authorization utilizing a comparison of a purchase token with test information
US6738907B1 (en) * 1998-01-20 2004-05-18 Novell, Inc. Maintaining a soft-token private key store in a distributed environment
JPH11215351A (en) 1998-01-23 1999-08-06 Canon Inc Image processing apparatus and image processing system
US6422462B1 (en) * 1998-03-30 2002-07-23 Morris E. Cohen Apparatus and methods for improved credit cards and credit card transactions
US6618078B1 (en) * 1998-04-17 2003-09-09 Hewlett-Packard Development Company, L.P. Digital camera capable of printing captured images in various sizes
US6748424B1 (en) * 1998-05-29 2004-06-08 Sony Corporation Information providing system
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6170744B1 (en) 1998-09-24 2001-01-09 Payformance Corporation Self-authenticating negotiable documents
JP2000113048A (en) 1998-10-01 2000-04-21 Hitachi Ltd Content receiving device group and IC card used therein
AU6410699A (en) 1998-10-13 2000-05-01 Chris Cheah Method and system for controlled distribution of information over a network
US20010014878A1 (en) * 1998-11-09 2001-08-16 Nilotpal Mitra Transaction method and apparatus
US7168036B2 (en) 1998-11-13 2007-01-23 Xerox Corporation User interface identification and service tags for a document processing system
ATE289435T1 (en) * 1998-11-19 2005-03-15 Digimarc Corp PRINTING AND VERIFICATION OF SELF-CHECKING SECURITY DOCUMENTS
US6845913B2 (en) 1999-02-11 2005-01-25 Flir Systems, Inc. Method and apparatus for barcode selection of themographic survey images
KR100350607B1 (en) * 1999-03-31 2002-08-28 삼성전자 주식회사 Portable composite communication terminal for transmitting/receiving voice and picture data, and operating method and communication system therefor
AUPQ439299A0 (en) * 1999-12-01 1999-12-23 Silverbrook Research Pty Ltd Interface system
US7173722B1 (en) 1999-05-25 2007-02-06 Silverbrook Research Pty Ltd Method and system for printing a photograph
US20050197919A1 (en) 1999-06-02 2005-09-08 Robertson Steven C. System and method for providing electronic multi-merchant gift certificate & contribution brokering services over a distributed network
JP4552281B2 (en) 1999-06-21 2010-09-29 株式会社日立製作所 Electronic authentication method and apparatus, and storage medium thereof
US6744910B1 (en) * 1999-06-25 2004-06-01 Cross Match Technologies, Inc. Hand-held fingerprint scanner with on-board image normalization data storage
US6370514B1 (en) * 1999-08-02 2002-04-09 Marc A. Messner Method for marketing and redeeming vouchers for use in online purchases
US6390362B1 (en) * 1999-06-30 2002-05-21 David A. Martin Method and device for preventing check fraud
US7792298B2 (en) 1999-06-30 2010-09-07 Silverbrook Research Pty Ltd Method of using a mobile device to authenticate a printed token and output an image associated with the token
US7831244B2 (en) * 1999-06-30 2010-11-09 Silverbrook Research Pty Ltd Retrieving an image via a coded surface
US6189009B1 (en) * 1999-08-27 2001-02-13 The Voice.Com, Inc. System and method for integrating paper-based business documents with computer-readable data entered via a computer network
US6976165B1 (en) * 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
US6259367B1 (en) * 1999-09-28 2001-07-10 Elliot S. Klein Lost and found system and method
JP3862132B2 (en) * 1999-11-04 2006-12-27 富士フイルムホールディングス株式会社 Electronic still camera
TW510114B (en) * 1999-11-15 2002-11-11 Canon Kk Information processing apparatus and processing method therefor
US7469824B1 (en) 1999-11-30 2008-12-30 Diebold, Incorporated Check accepting and cash dispensing automated banking machine system and method
US7677442B2 (en) 1999-11-30 2010-03-16 Diebold, Incorporated Check accepting and cash dispensing automated banking machine system and method
US7735721B1 (en) * 1999-11-30 2010-06-15 Diebold Self-Service Systems Division Of Diebold, Incorporated Method of evaluating checks deposited into a cash dispensing automated banking machine
US20050187792A1 (en) * 1999-12-06 2005-08-25 Bsi2000, Inc. Optical prescription card
US6950800B1 (en) * 1999-12-22 2005-09-27 Eastman Kodak Company Method of permitting group access to electronically stored images and transaction card used in the method
AU2000243591A1 (en) 2000-01-14 2001-07-24 Critical Path Inc. Secure management of electronic documents in a networked environment
US7328189B2 (en) * 2000-01-26 2008-02-05 Paybyclick Corporation Method and apparatus for conducting electronic commerce transactions using electronic tokens
AU2001234011A1 (en) * 2000-01-28 2001-08-07 Sagi Cooper Apparatus and method for accessing multimedia content
US6285844B1 (en) 2000-02-18 2001-09-04 Toshiba Tec Kabushiki Kaisha Image forming method and apparatus with automatic paper selection capability
US6674923B1 (en) 2000-03-28 2004-01-06 Eastman Kodak Company Method and system for locating and accessing digitally stored images
US6628377B1 (en) * 2000-04-04 2003-09-30 Stmicroelectronics, Inc. Scanning optical semiconductor fingerprint detector
WO2001076128A2 (en) 2000-04-04 2001-10-11 Ecd Systems, Inc. Method and system for digital data delivery and reproduction
US6755341B1 (en) * 2000-05-15 2004-06-29 Jacob Y. Wong Method for storing data in payment card transaction
US7152047B1 (en) * 2000-05-24 2006-12-19 Esecure.Biz, Inc. System and method for production and authentication of original documents
JP2002024730A (en) 2000-07-10 2002-01-25 Hitachi Ltd Electronic payment method and system by mobile phone
JP2002055609A (en) 2000-08-09 2002-02-20 Ricoh Co Ltd Method for embedding public key in electronic document or method, apparatus, and recording medium for extracting public key embedded in electronic document
EP1182604A1 (en) * 2000-08-22 2002-02-27 Setrix AG Method and apparatus for reading a bar code
US7103575B1 (en) 2000-08-31 2006-09-05 International Business Machines Corporation Enabling use of smart cards by consumer devices for internet commerce
US20030079222A1 (en) * 2000-10-06 2003-04-24 Boykin Patrick Oscar System and method for distributing perceptually encrypted encoded files of music and movies
JP2002117359A (en) 2000-10-06 2002-04-19 Puresuto:Kk Electronic commercial transaction and method of data transmission
JP2002120950A (en) * 2000-10-13 2002-04-23 Sharp Corp Image forming device
US7431449B2 (en) 2000-10-20 2008-10-07 Silverbrook Research Pty Ltd Mobile telecommunications device with interactive paper sensor
US7028188B1 (en) 2000-10-30 2006-04-11 Hewlett-Packard Development Company, L.P. Document authentication using the physical characteristics of underlying physical media
US7343299B2 (en) * 2000-11-06 2008-03-11 Symbol Technologies, Inc. System and methods for mail security
US7050994B1 (en) * 2000-11-20 2006-05-23 Eastman Kodak Company Method of sharing images allowing third party print orders via a web site
US6938017B2 (en) * 2000-12-01 2005-08-30 Hewlett-Packard Development Company, L.P. Scalable, fraud resistant graphical payment indicia
JP3682222B2 (en) * 2000-12-11 2005-08-10 株式会社東芝 Digital watermark detection apparatus, digital watermark detection method, and recording medium
US6873430B2 (en) * 2000-12-22 2005-03-29 Xerox Corporation Knowledge management system and method
US20020080959A1 (en) * 2000-12-27 2002-06-27 Xerox Corporation Automatic authentication of printed documents
US20020105666A1 (en) 2001-02-02 2002-08-08 Robert Sesek Method and system for secured printing of documents using biometric identification
US20020105665A1 (en) * 2001-02-08 2002-08-08 Eastman Kodak Company Method of interating imaging products/services with non-imaging products/services in a single kiosk
US7035847B2 (en) * 2001-03-16 2006-04-25 Novell, Inc. Server for synchronization of files
WO2002077878A1 (en) * 2001-03-26 2002-10-03 Galois Connections Inc Crypto-pointers for secure data storage
US7248285B2 (en) 2001-03-30 2007-07-24 Intel Corporation Method and apparatus for automatic photograph annotation
US20020143624A1 (en) 2001-03-31 2002-10-03 Koninklijke Philips Electronics N.V. Machine readable label for tokens and method of use
JP2002318756A (en) 2001-04-19 2002-10-31 Fuji Photo Film Co Ltd Print system
JP3912031B2 (en) 2001-05-15 2007-05-09 株式会社デンソーウェーブ Copy machines and facsimile machines
US20020184494A1 (en) * 2001-06-04 2002-12-05 Awadalla Emad M. Methods for using embedded printer description language as a security tool and printers and systems with whcih the method may be used
CA2449171C (en) 2001-06-06 2009-08-11 Spectra Systems Corporation Marking and authenticating articles
US20030028543A1 (en) * 2001-08-01 2003-02-06 Dusberger Dariusz T. Image storage and reference using a URL
US20030130567A1 (en) * 2002-01-09 2003-07-10 Mault James R. Health-related devices and methods
US6720863B2 (en) 2001-08-16 2004-04-13 Wildseed Ltd. Mobile electronic communication device with lights to indicate received messages
US6874001B2 (en) * 2001-10-05 2005-03-29 International Business Machines Corporation Method of maintaining data consistency in a loose transaction model
US20030135420A1 (en) * 2002-01-11 2003-07-17 Culling Nicholas A. Web-based method for managing and communicating information regarding an order of consumer goods
US20030161475A1 (en) * 2002-02-28 2003-08-28 Crumly James D. Encryption of digitized physical information based on physical tags
JP2003256155A (en) * 2002-03-04 2003-09-10 Fuji Photo Film Co Ltd Print system
JP2003319330A (en) 2002-04-24 2003-11-07 Konica Minolta Holdings Inc Information recording method, information recording terminal, information recording system, and recording medium
JP2003316465A (en) 2002-04-25 2003-11-07 Canon Inc Network device control apparatus, network device control method, and program for implementing the control method
WO2003096537A1 (en) 2002-05-13 2003-11-20 Fairchild Semiconductor Corporation Cross point switch with serializer and deserializer functions
US7120273B2 (en) 2002-05-31 2006-10-10 Hewlett-Packard Development Company, Lp. Apparatus and method for image group integrity protection
US6802452B2 (en) 2002-07-12 2004-10-12 Ali Lebaschi Bar code scanner and method
JP2004062771A (en) 2002-07-31 2004-02-26 Show Engineering:Kk Settlement system using account of internet bank
JP2004086708A (en) 2002-08-28 2004-03-18 Fuji Xerox Co Ltd Image processing system and its method
US6820803B1 (en) 2002-08-30 2004-11-23 Lucas T. Browning Cash card system
JP4265180B2 (en) 2002-09-09 2009-05-20 富士ゼロックス株式会社 Paper identification verification device
GB0220907D0 (en) 2002-09-10 2002-10-16 Ingenia Holdings Ltd Security device and system
US7128482B2 (en) 2002-09-12 2006-10-31 Futurelogic, Inc. Multi-media gaming printer
US7494055B2 (en) * 2002-09-17 2009-02-24 Vivotech, Inc. Collaborative negotiation techniques for mobile personal trusted device financial transactions
JP2004112644A (en) 2002-09-20 2004-04-08 Fuji Xerox Co Ltd Original-registering device, original-confirming device, and mark for collating original
US7028902B2 (en) * 2002-10-03 2006-04-18 Hewlett-Packard Development Company, L.P. Barcode having enhanced visual quality and systems and methods thereof
JP2004152004A (en) 2002-10-30 2004-05-27 Canon Inc Image processing device
US7712675B2 (en) * 2003-01-15 2010-05-11 Hewlett-Packard Development Company, L.P. Physical items for holding data securely, and methods and apparatus for publishing and reading them
US6981767B2 (en) * 2003-01-15 2006-01-03 Ssgii, Inc. Printed item having an image with a high durability and/or resolution
US7003493B2 (en) * 2003-01-22 2006-02-21 First Data Corporation Direct payment with token
US7552381B2 (en) 2003-03-31 2009-06-23 Ricoh Co., Ltd. Check boxes for identifying and processing stored documents
US7739583B2 (en) 2003-03-31 2010-06-15 Ricoh Company, Ltd. Multimedia document sharing method and apparatus
US20070050696A1 (en) * 2003-03-31 2007-03-01 Piersol Kurt W Physical key for accessing a securely stored digital document
US20050010776A1 (en) * 2003-03-31 2005-01-13 Kenen Leo M. Optically variable devices with encrypted embedded data for authentication of identification documents
US7703002B2 (en) 2003-03-31 2010-04-20 Ricoh Company, Ltd. Method and apparatus for composing multimedia documents
EP1615434A4 (en) * 2003-04-17 2007-04-11 Nippon Telegraph & Telephone SYSTEM AND METHOD FOR TRANSMITTING ANIMAL IMAGES CONTAINING AN ELECTRONIC WATERMARK, INFORMATION PROCESSING DEVICE, COMMUNICATION CONTROL DEVICE, ANIMALIZED IMAGE PROCESSING PROGRAM COMPRISING AN ELECTRONIC WATERMARK, AND STORAGE MEDIUM CONTAINING A DIGITAL PROGRAM
US7272853B2 (en) * 2003-06-04 2007-09-18 Microsoft Corporation Origination/destination features and lists for spam prevention
US7835020B2 (en) * 2003-06-05 2010-11-16 Hewlett-Packard Development Company, L.P. Data tracking
US20050021474A1 (en) 2003-07-24 2005-01-27 Geist Bruce K. System for authenticating self-authenticating documents
US7685428B2 (en) 2003-08-14 2010-03-23 Ricoh Company, Ltd. Transmission of event markers to data stream recorder
US20050097335A1 (en) * 2003-10-31 2005-05-05 Hewlett-Packard Development Company, L.P. Secure document access method and apparatus
JP2005142799A (en) 2003-11-06 2005-06-02 Konica Minolta Photo Imaging Inc Digital camera, printer, print system, and program
JP4600646B2 (en) * 2003-11-18 2010-12-15 富士フイルム株式会社 Image capturing apparatus and image data management method thereof
KR100552702B1 (en) * 2003-11-22 2006-02-20 삼성전자주식회사 Disk drive with shockproof structure
WO2005052815A1 (en) * 2003-11-27 2005-06-09 Koninklijke Philips Electronics N.V. Storage system for retaining identification data to allow retrieval of media content
US20050132194A1 (en) * 2003-12-12 2005-06-16 Ward Jean R. Protection of identification documents using open cryptography
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US20060098900A1 (en) * 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US8713418B2 (en) * 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US7853895B2 (en) 2004-05-11 2010-12-14 Sony Computer Entertainment Inc. Control of background media when foreground graphical user interface is invoked
US7734093B2 (en) 2004-05-20 2010-06-08 Ricoh Co., Ltd. Paper-based upload and tracking system
US7502344B2 (en) 2004-06-25 2009-03-10 Fujifilm Corporation Communications terminal, server, playback control method and program
US20060004668A1 (en) * 2004-07-01 2006-01-05 Hamnen Jan H Method of distributing electronic license keys
US20060020803A1 (en) 2004-07-06 2006-01-26 Zih Corp. Systems and methods for authentication of items or documents
US20060015752A1 (en) * 2004-07-16 2006-01-19 Promega Corporation Memory having RFID tag, decryption technique for use with the memory, and memory reader or writer for use with the memory
GB2417074B (en) 2004-08-13 2007-11-21 Ingenia Technology Ltd Authenticity verification methods,products and apparatuses
JP4268575B2 (en) 2004-08-16 2009-05-27 株式会社野村総合研究所 Authentication system using two-dimensional code
DE102004040462A1 (en) 2004-08-20 2006-02-23 Giesecke & Devrient Gmbh Authenticated secure access to a volume with mass storage and a chip
JP2006087075A (en) 2004-08-20 2006-03-30 Ricoh Co Ltd Image processing apparatus, image processing method, and image processing program
US7827416B2 (en) * 2004-08-26 2010-11-02 Mitsubishi Denki Kabushiki Kaisha Key management apparatus, document security and editing system, and key management method
US20060054702A1 (en) * 2004-09-14 2006-03-16 Tianmo Lei Method,System and Program to Record Sound to Photograph and to Play Back
JP2006086858A (en) * 2004-09-16 2006-03-30 Fuji Photo Film Co Ltd Photographic apparatus
US20060124722A1 (en) * 2004-09-28 2006-06-15 Epcsolutions,Inc. Integration of product tag with general information about product
JP2006150662A (en) 2004-11-26 2006-06-15 Canon Inc Printing device
US7113925B2 (en) 2005-01-19 2006-09-26 Echeck21, L.L.C. Electronic check
US7822866B2 (en) * 2005-01-27 2010-10-26 Sony Corporation Method and system for retrieving content in network system
US7273162B2 (en) 2005-02-14 2007-09-25 Altivity Packaging, Llc Fry and food scoop with condiment cells
US7308543B2 (en) 2005-03-22 2007-12-11 International Business Machines Corporation Method and system for shredding data within a data storage subsystem
US20060224962A1 (en) 2005-03-30 2006-10-05 Microsoft Corporation Context menu navigational method for accessing contextual and product-wide choices via remote control
US9076188B2 (en) * 2005-04-13 2015-07-07 Hewlett-Packard Development Company, L.P. Method and system for shipment authentication
US20060294583A1 (en) 2005-05-11 2006-12-28 Ingenia Holdings (U.K.) Limited Authenticity Verification
JP4380592B2 (en) * 2005-05-17 2009-12-09 ソニー株式会社 Data sharing system and method
US20060265590A1 (en) 2005-05-18 2006-11-23 Deyoung Dennis C Digital signature/certificate for hard-copy documents
US7702110B2 (en) * 2005-06-02 2010-04-20 Xerox Corporation Electronic document protection system and method
RU2008107328A (en) 2005-07-27 2009-09-10 Инджениа Текнолоджи Лимитед (Gb) AUTHENTICITY CERTIFICATION
GB2428948B (en) 2005-07-27 2007-09-05 Ingenia Technology Ltd Keys
WO2007012820A1 (en) 2005-07-27 2007-02-01 Ingenia Technology Limited Prescription authentication using speckle patterns
KR101223204B1 (en) 2005-07-27 2013-01-17 인제니아 홀딩스 리미티드 Verification of authenticity
WO2007012814A2 (en) 2005-07-27 2007-02-01 Ingenia Technology Limited Signature for access tokens
EP1911003A1 (en) 2005-07-27 2008-04-16 Ingenia Technology Limited Verification of the signature of an article created from signals obtained from scatter of coherent optical radiation from the surface of the article
US7784087B2 (en) * 2005-08-04 2010-08-24 Toshiba Corporation System and method for securely sharing electronic documents
US7731435B2 (en) 2005-08-12 2010-06-08 Ricoh Company, Ltd. Techniques for printing with integrated paper sheet identification
US7809156B2 (en) * 2005-08-12 2010-10-05 Ricoh Company, Ltd. Techniques for generating and using a fingerprint for an article
GB2429950B (en) 2005-09-08 2007-08-22 Ingenia Holdings Copying
FR2890771B1 (en) * 2005-09-09 2007-12-14 Neopost Ind Sa METHOD AND SYSTEM FOR VALIDATION AND VERIFICATION OF POSTAL MAIL
US7856366B2 (en) * 2005-09-30 2010-12-21 International Business Machines Corporation Multiple accounts for health record bank
US20070115497A1 (en) 2005-10-28 2007-05-24 Ingenia Holdings (Uk) Limited Document Management System
GB2433632A (en) 2005-12-23 2007-06-27 Ingenia Holdings Reprographic cartridge comprising scanning means
CN101923647B (en) 2005-12-23 2013-01-09 英根亚控股有限公司 Optical authentication
US7917866B1 (en) * 2005-12-30 2011-03-29 Google Inc. Method, system, and graphical user interface for meeting-spot-related online communications
US7797642B1 (en) 2005-12-30 2010-09-14 Google Inc. Method, system, and graphical user interface for meeting-spot-related contact lists
GB2434442A (en) 2006-01-16 2007-07-25 Ingenia Holdings Verification of performance attributes of packaged integrated circuits
US20070204162A1 (en) * 2006-02-24 2007-08-30 Rodriguez Tony F Safeguarding private information through digital watermarking
JP5030643B2 (en) 2006-03-31 2012-09-19 株式会社リコー How to use the media key
US8554690B2 (en) 2006-03-31 2013-10-08 Ricoh Company, Ltd. Techniques for using media keys
US20070233612A1 (en) 2006-03-31 2007-10-04 Ricoh Company, Ltd. Techniques for generating a media key
US20070229678A1 (en) 2006-03-31 2007-10-04 Ricoh Company, Ltd. Camera for generating and sharing media keys
US8689102B2 (en) 2006-03-31 2014-04-01 Ricoh Company, Ltd. User interface for creating and using media keys
US9525547B2 (en) 2006-03-31 2016-12-20 Ricoh Company, Ltd. Transmission of media keys
US20070245882A1 (en) 2006-04-04 2007-10-25 Odenwald Michael J Interactive computerized digital media management system and method
US7603434B2 (en) 2006-04-13 2009-10-13 Domingo Enterprises, Llc Central system providing previews of a user's media collection to a portable media player
US20080247629A1 (en) * 2006-10-10 2008-10-09 Gilder Clark S Systems and methods for check 21 image replacement document enhancements
US7916870B2 (en) * 2006-11-03 2011-03-29 Verizon Patent And Licensing Inc. Systems and methods for document control using public key encryption
JP4836260B2 (en) 2006-12-05 2011-12-14 キヤノン株式会社 Image forming apparatus, image forming method, recording medium, and program
US20080181398A1 (en) * 2007-01-26 2008-07-31 Ravikanth Pappu Methods and apparatus for enhancing privacy of objects associated with radio-frequency identification tags
US20080243702A1 (en) 2007-03-30 2008-10-02 Ricoh Company, Ltd. Tokens Usable in Value-Based Transactions
US8756673B2 (en) 2007-03-30 2014-06-17 Ricoh Company, Ltd. Techniques for sharing data
US7865124B2 (en) * 2007-03-30 2011-01-04 Ricoh Company, Ltd. Pre-scanning printer with paper fingerprinting

Also Published As

Publication number Publication date
EP1975847A1 (en) 2008-10-01
US20080244721A1 (en) 2008-10-02
EP1975847B1 (en) 2015-09-30
US9432182B2 (en) 2016-08-30
US20150039888A1 (en) 2015-02-05
US8756673B2 (en) 2014-06-17
JP2008257720A (en) 2008-10-23

Similar Documents

Publication Publication Date Title
JP4999751B2 (en) Data sharing techniques
EP3984161B1 (en) Cryptographic key generation using external entropy generation
JP4949269B2 (en) Method and apparatus for adding signature information to an electronic document
US7661146B2 (en) Method and system for providing a secure multi-user portable database
US20230129705A1 (en) System and method for certified data storage and retrieval
JP7581423B2 (en) Data management system and method
US20220374872A1 (en) Platform for building decentralized applications
US7215778B2 (en) Encrypted content recovery
JP2005209181A (en) File management system and management method
US20230247018A1 (en) System and method for secure electronic document exchange and execution of contracts via a secure electronic platform with biometric access verification
US20150286843A1 (en) Method and system for modular digital watermarking of electronic files
US12506719B2 (en) System and method for secure collection and display of sensitive data
JP4226534B2 (en) Content multi-stage encryption system and content multi-stage encryption program
US11941262B1 (en) Systems and methods for digital data management including creation of storage location with storage access ID
US7715560B2 (en) Systems and methods for hiding a data group
US9277097B2 (en) Method for authenticating a document
CN105515959A (en) Implementation method of CMS technology-based instant messenger security system
US11991281B1 (en) Systems and methods for digital data management including creation of storage location with storage access id
JP2005141483A (en) Document providing server device
JP2014027413A (en) Code generation device and code decryption device
JP2013167865A (en) Confidential information hiding device, confidential information restoring device, confidential information hiding program, and confidential information restoring program
WO2009153974A1 (en) Data management system, data management method, and computer program
JP4651630B2 (en) Information input method and system
JP5328078B2 (en) Medical image information processing device
KR20200062059A (en) Data management system and method therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120403

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120515

R150 Certificate of patent or registration of utility model

Ref document number: 4999751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees