JP2014103554A - 暗号化ライブラリ生成装置及びプログラム - Google Patents

暗号化ライブラリ生成装置及びプログラム Download PDF

Info

Publication number
JP2014103554A
JP2014103554A JP2012254601A JP2012254601A JP2014103554A JP 2014103554 A JP2014103554 A JP 2014103554A JP 2012254601 A JP2012254601 A JP 2012254601A JP 2012254601 A JP2012254601 A JP 2012254601A JP 2014103554 A JP2014103554 A JP 2014103554A
Authority
JP
Japan
Prior art keywords
encryption
key
library
information
content
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.)
Granted
Application number
JP2012254601A
Other languages
English (en)
Other versions
JP6001422B2 (ja
Inventor
Toshiki Matsui
利樹 松井
Ryuichi Kanda
龍一 神田
Makoto Nishikawa
真 西川
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2012254601A priority Critical patent/JP6001422B2/ja
Publication of JP2014103554A publication Critical patent/JP2014103554A/ja
Application granted granted Critical
Publication of JP6001422B2 publication Critical patent/JP6001422B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ユーザ毎に異なる暗号化ライブラリを生成できる暗号化ライブラリ生成装置を提供する。
【解決手段】第1情報から鍵暗号鍵を生成し、コンテンツの暗号化に使用する鍵であるコンテンツ鍵を該鍵暗号鍵で暗号化する処理をコンピュータに実行させるプログラムである暗号化ライブラリを生成する暗号化ライブラリ生成装置は、前記第1情報及び第2情報を入力するための入力手段と、前記第2情報から前記コンテンツ鍵を暗号化するための暗号アルゴリズムを決定する決定手段と、前記第1情報と、前記決定手段が決定した前記暗号アルゴリズムに基づき前記暗号化ライブラリを生成する生成手段と、前記生成手段が生成した前記暗号化ライブラリを難読化する難読化手段と、を備えている。
【選択図】図1

Description

本発明は、アプリケーション・プログラムが利用する、或いは、アプリケーション・プログラムに組み込まれる暗号化のためのライブラリを生成して配信する技術に関する。
アプリケーション・プログラム(以下、単にアプリケーションと呼ぶ。)が扱う様々なデータは、しばしばセキュアに取り扱う必要に迫られることがあり、データの暗号化が利用される。データを暗号化する際、暗号鍵を安全に保存し、かつ、暗号処理を秘匿するために、暗号処理を行うプログラムのコードを容易に解読させない様にする必要がある。しかしながら、汎用的なオペレーティング・システム上で動作するアプリケーションをセキュアに実装することは一般的には簡単ではない。
このため、特許文献1は、ソフトウェアを難読化する構成を開示している。しかしながら、ソフトウェアの難読化のためには、多くの実装ノウハウを持ったプログラマが必要でありコストがかかる。また難読化の性能は、実装に大きく依存し、その性能の評価も困難である。その上、ソフトウェアの難読化は、その処理内容を秘匿化することによりセキュリティを向上させるものであるため、第三者にその処理内容を提供することは困難である。また、非特許文献2は、基本となる暗号アルゴリズムと、入力された値とに基づき、基本となる暗号アルゴリズムとは異なる暗号アルゴリズムを生成・決定する構成を開示している。
特開2011−191994号公報
福富英次、他、「アルゴリズム可変な暗号化方式の安全性」、電子情報通信学会技術研究報告、情報セキュリティ105(484)、43−46、2005年12月9日
暗号処理をソフトウェアで実装する際に、個々のプログラマが個別に実装するのではなく、暗号化ライブラリとして第三者から取得できれば便利である。しかしながら、アプリケーションをセキュアに実装するためには、使用する暗号化ライブラリは、その利用者毎に異なるものである必要がある。また、その処理を特定され難くする必要もある。
本発明は、ユーザ毎に異なる暗号化ライブラリを生成できる暗号化ライブラリ生成装置及びプログラムを提供するものである。
本発明の一側面によると、第1情報から鍵暗号鍵を生成し、コンテンツの暗号化に使用する鍵であるコンテンツ鍵を該鍵暗号鍵で暗号化する処理をコンピュータに実行させるプログラムである暗号化ライブラリを生成する暗号化ライブラリ生成装置であって、前記第1情報及び第2情報を入力するための入力手段と、前記第2情報から前記コンテンツ鍵を暗号化するための暗号アルゴリズムを決定する決定手段と、前記第1情報と、前記決定手段が決定した前記暗号アルゴリズムに基づき前記暗号化ライブラリを生成する生成手段と、前記生成手段が生成した前記暗号化ライブラリを難読化する難読化手段と、を備えていることを特徴とする。
ユーザ毎に異なる暗号化ライブラリを生成し配信することができる。
一実施形態による暗号化ライブラリ生成装置。 一実施形態による暗号化ライブラリ生成装置を含むシステム構成図。 一実施形態による暗号化ライブラリ生成装置が生成した暗号化ライブラリを使用しての暗号化処理を説明するブロック図。 一実施形態による暗号化ライブラリ生成装置が生成した暗号化ライブラリを使用しての復号処理を説明するブロック図。
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
まず、本実施形態による暗号化ライブラリ生成装置の説明を行う前に、当該暗号化ライブラリ生成装置が生成した暗号化ライブラリを使用するアプリケーションが実行する暗号化処理と復号処理について説明する。
図3は、本実施形態による暗号化ライブラリを使用するアプリケーションが実行する暗号化処理を示すブロック図である。乱数生成部は、コンテンツ鍵として使用する乱数を生成し、暗号化部は、暗号対象のコンテンツをコンテンツ鍵で暗号化する。暗号化には、例えば、AES(Advanced Encryption Standard)を使用することができる。
また、鍵暗号鍵生成部は、例えば、当該アプリケーションを実行しているコンピュータに設定されている情報、例えば、MACアドレスやシリアル番号等から鍵暗号鍵を生成する。なお、鍵暗号鍵は、MACアドレス等のコンピュータに設定されている値をそのまま使用することも、コンピュータに設定されている値と、任意に生成した値や予め決めた値とを演算して生成することもできる。
鍵暗号化部は、コンテンツ鍵を鍵暗号鍵で暗号化する。なお、鍵暗号化部が使用する暗号化のアルゴリズムについては後述する。以上の様に、暗号化処理において、暗号化されたコンテンツと、暗号化されたコンテンツ鍵が出力される。
図4は、本実施形態による暗号化ライブラリを使用するアプリケーションが実行する復号処理を示すブロック図である。鍵暗号鍵生成部は、暗号処理で使用するものと同じであり、暗号化処理で使用したのと同じ鍵暗号鍵を生成する。鍵復号部は、暗号処理で生成した暗号化されたコンテンツ鍵を、鍵暗号鍵で復号してコンテンツ鍵を出力する。復号部は、暗号処理で生成した暗号化されたデータを、コンテンツ鍵で復号して保護対象のコンテンツを出力する。
続いて、上記暗号化処理及び復号処理のための暗号化ライブラリを生成する、本実施形態による暗号化ライブラリ生成装置について説明する。図2は、一実施形態による、暗号化ライブラリ生成装置100を含むシステム構成図である。暗号化ライブラリ生成装置100は、ネットワーク200経由でユーザ装置300と通信可能であり、ユーザ装置300からの入力に従い、ユーザ装置300のユーザにカスタマイズした暗号化ライブラリを生成してユーザ装置300に配信する。ユーザ装置300は、暗号化ライブラリ生成装置100から取得した暗号化ライブラリを使用して、暗号化が必要なアプリケーションの開発を行う。
図1は、本実施形態による暗号化ライブラリ生成装置100の概略的な構成図である。入力部11は、ユーザ装置300から第1情報及び第2情報の2つの情報を受け取る。第1情報は、鍵暗号鍵の生成に使用する元となる値を指定するものである。また、第2情報はコンテンツ鍵を暗号化するための暗号アルゴリズムを決定する元の情報である。関数決定部12は、ユーザ装置300から第2情報の値に基づき、図3の鍵暗号化部及び図4の鍵復号部で使用する暗号アルゴリズムを決定する。なお、暗号アルゴリズムの決定は、非特許文献1に記載されている様に、基本となる暗号アルゴリズムを第2情報が示す値で変更することにより行う。
ライブラリ生成部13には、関数生成部11が決定した暗号アルゴリズムと、ユーザ装置300からの第1情報が入力される。第1情報は、図3及び図4の鍵暗号鍵生成部が、鍵暗号鍵の生成に使用する情報を特定するものであり、例えば、MACアドレスや、シリアル番号、アカウント情報といった、暗号化ライブラリを実行するコンピュータで利用可能な値が特定される。また、固定的な値を第1情報で指定する形態とすることもできる。ライブラリ生成部13は、第1情報と、暗号アルゴリズムに基づき、図3の暗号化処理及び図4の復号処理を行うためのプログラムである暗号化ライブラリを生成する。
難読化処理部14は、ライブラリ生成部13が生成した暗号化ライブラリに対して、任意の公知の難読化処理を行い難読化する。なお、難読化処理部14は、乱数を発生させ、この乱数に応じてダミーの変数等を挿入する位置等を制御する。これにより、難読化処理についてもユーザ毎に異ならせる。また、難読化処理部14が発生させた乱数を使用するのではなく、ユーザに関する値や、ユーザが入力した値を代わりに使用することもできる。なお、難読化処理された暗号化ライブラリをコンピュータで実行する際には特段の処理を行う必要はなく、コンピュータは、難読化処理された暗号化ライブラリをそのまま実行することができる。配信部15は、難読化された暗号化ライブラリをユーザ装置300に送信する。
以上、本実施形態による暗号化ライブラリ生成装置100が生成する暗号化ライブラリにおいて、鍵暗号化鍵を生成するための元データと、鍵暗号化のためのアルゴリズムを決定する値をユーザが選択する。よって、生成された暗号化ライブラリはユーザ固有のものとすることができる。さらに、ユーザ装置300への配布前に難読化処理を行うため、暗号処理の解析は困難である。よって、本実施形態による暗号化ライブラリ生成装置100による、複数のユーザ装置300に安全な暗号化ライブラリを提供することが可能になる。
なお、本発明による暗号化ライブラリ生成装置は、コンピュータを上記暗号化ライブラリ生成装置として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。

Claims (7)

  1. 第1情報から鍵暗号鍵を生成し、コンテンツの暗号化に使用する鍵であるコンテンツ鍵を該鍵暗号鍵で暗号化する処理をコンピュータに実行させるプログラムである暗号化ライブラリを生成する暗号化ライブラリ生成装置であって、
    前記第1情報を指定する情報及び第2情報を入力するための入力手段と、
    前記第2情報から前記コンテンツ鍵を暗号化するための暗号アルゴリズムを決定する決定手段と、
    前記第1情報を指定する情報と、前記決定手段が決定した前記暗号アルゴリズムに基づき前記暗号化ライブラリを生成する生成手段と、
    前記生成手段が生成した前記暗号化ライブラリを難読化する難読化手段と、
    を備えていることを特徴とする暗号化ライブラリ生成装置。
  2. 前記生成手段が生成する前記暗号化ライブラリは、前記コンテンツを前記コンテンツ鍵で暗号化する処理をさらにコンピュータに実行させることを特徴とする請求項1に記載の暗号化ライブラリ生成装置。
  3. 前記生成手段が生成する前記暗号化ライブラリは、暗号化された前記コンテンツ鍵を前記鍵暗号鍵で復号し、暗号化された前記コンテンツを前記コンテンツ鍵で復号する処理をさらにコンピュータに実行させることを特徴とする請求項2に記載の暗号化ライブラリ生成装置。
  4. 前記決定手段は、基本暗号アルゴリズムを前記第2情報に応じて変更することで、前記コンテンツ鍵を暗号化するための暗号アルゴリズムを決定することを特徴とする請求項1から3のいずれか1項に記載の暗号化ライブラリ生成装置。
  5. 前記第1情報は、前記暗号化ライブラリを実行するコンピュータに付与された情報であることを特徴とする請求項1から4のいずれか1項に記載の暗号化ライブラリ生成装置。
  6. 前記第1情報を指定する情報及び前記第2情報は、前記暗号化ライブラリを取得するユーザの装置が前記入力手段に入力することを特徴とする請求項1から5のいずれか1項に記載の暗号化ライブラリ生成装置。
  7. 請求項1から6のいずれか1項に記載の暗号化ライブラリ生成装置としてコンピュータを機能させることを特徴とするプログラム。
JP2012254601A 2012-11-20 2012-11-20 暗号化ライブラリ生成装置及びプログラム Active JP6001422B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012254601A JP6001422B2 (ja) 2012-11-20 2012-11-20 暗号化ライブラリ生成装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012254601A JP6001422B2 (ja) 2012-11-20 2012-11-20 暗号化ライブラリ生成装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2014103554A true JP2014103554A (ja) 2014-06-05
JP6001422B2 JP6001422B2 (ja) 2016-10-05

Family

ID=51025688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012254601A Active JP6001422B2 (ja) 2012-11-20 2012-11-20 暗号化ライブラリ生成装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6001422B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173847A1 (ja) * 2017-03-22 2018-09-27 日本電気株式会社 認証システム、認証装置、端末装置、認証方法、および記録媒体

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047580A (ja) * 1998-05-29 2000-02-18 Hitachi Ltd 暗号変換装置、復号変換装置、暗号通信装置および自動料金徴収装置
JP2007116503A (ja) * 2005-10-21 2007-05-10 Mitsubishi Electric Information Systems Corp 転送元用パック、転送要求端末、転送元用パック生成装置、転送データ復元装置、プログラムセット、及び転送データ復元プログラム
JP2009089045A (ja) * 2007-09-28 2009-04-23 Toshiba Solutions Corp 暗号モジュール選定装置およびプログラム
JP2010154140A (ja) * 2008-12-25 2010-07-08 Dainippon Printing Co Ltd コンテンツ閲覧制御システム
JP2010239232A (ja) * 2009-03-30 2010-10-21 Ntt Data Corp 暗号通信システム、管理者装置、およびプログラム
JP2011191994A (ja) * 2010-03-15 2011-09-29 Kddi Corp 自己書き換え処理装置、自己書き換え処理方法、およびプログラム
JP2012037848A (ja) * 2010-08-11 2012-02-23 Intelligent Wave Inc 実行形式のファイル暗号化プログラム、実行形式のファイル暗号化プログラム生成装置、実行形式プログラムによるファイル暗号化方法、実行形式のファイル暗号化プログラム生成方法、及び実行形式のファイル暗号化プログラムを用いたファイル暗号化方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047580A (ja) * 1998-05-29 2000-02-18 Hitachi Ltd 暗号変換装置、復号変換装置、暗号通信装置および自動料金徴収装置
JP2007116503A (ja) * 2005-10-21 2007-05-10 Mitsubishi Electric Information Systems Corp 転送元用パック、転送要求端末、転送元用パック生成装置、転送データ復元装置、プログラムセット、及び転送データ復元プログラム
JP2009089045A (ja) * 2007-09-28 2009-04-23 Toshiba Solutions Corp 暗号モジュール選定装置およびプログラム
JP2010154140A (ja) * 2008-12-25 2010-07-08 Dainippon Printing Co Ltd コンテンツ閲覧制御システム
JP2010239232A (ja) * 2009-03-30 2010-10-21 Ntt Data Corp 暗号通信システム、管理者装置、およびプログラム
JP2011191994A (ja) * 2010-03-15 2011-09-29 Kddi Corp 自己書き換え処理装置、自己書き換え処理方法、およびプログラム
JP2012037848A (ja) * 2010-08-11 2012-02-23 Intelligent Wave Inc 実行形式のファイル暗号化プログラム、実行形式のファイル暗号化プログラム生成装置、実行形式プログラムによるファイル暗号化方法、実行形式のファイル暗号化プログラム生成方法、及び実行形式のファイル暗号化プログラムを用いたファイル暗号化方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173847A1 (ja) * 2017-03-22 2018-09-27 日本電気株式会社 認証システム、認証装置、端末装置、認証方法、および記録媒体
JPWO2018173847A1 (ja) * 2017-03-22 2020-01-30 日本電気株式会社 認証システム、認証装置、端末装置、認証方法、およびプログラム
JP7143841B2 (ja) 2017-03-22 2022-09-29 日本電気株式会社 認証システム、認証装置、端末装置、認証方法、およびプログラム

Also Published As

Publication number Publication date
JP6001422B2 (ja) 2016-10-05

Similar Documents

Publication Publication Date Title
KR101744748B1 (ko) 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치
CN110855671B (zh) 一种可信计算方法和系统
CN104298932B (zh) 一种so文件的调用方法及装置
JP5337411B2 (ja) 情報秘匿化方法および情報秘匿化装置
CN105450620A (zh) 一种信息处理方法及装置
KR20100069588A (ko) 명령어 레벨의 소프트웨어 암호화를 위한 방법 및 디바이스
JP2018522291A (ja) 信頼できないコンピュータ上でプライベートプログラムを実行するためのシステム及びプロセス
CN108134673B (zh) 一种生成白盒库文件的方法及装置
JP2014085674A5 (ja)
CN108111622B (zh) 一种下载白盒库文件的方法、装置及系统
KR20120072011A (ko) 무결성 검증이 가능한 데이터 암호장치, 복호장치 및 방법
CN104866784A (zh) 一种基于bios加密的安全硬盘、数据加密及解密方法
CN103853943A (zh) 程序保护方法及装置
KR20170097509A (ko) 화이트 박스 암호화 기반의 연산 방법 및 그 방법을 수행하는 보안 단말
US8804953B2 (en) Extensive ciphertext feedback
JP2023063430A5 (ja)
KR20080046515A (ko) 콘텐츠 파일의 암호화 및 복호화 방법
CN115967485A (zh) 基于量子密钥的加解密系统
CN110149312B (zh) 数据处理方法、装置、系统及计算机可读存储介质
CN105825142A (zh) 用于对移动终端中文档加解密的方法和装置
JP2020034662A (ja) Idベースハッシュ証明系構成装置、idベース暗号装置、idベースハッシュ証明系構成方法及びプログラム
CN104081712A (zh) 使用隐藏的根密钥的可重复的应用特定的加密密钥获得
CN110166425B (zh) 数据处理方法、装置、系统及计算机可读存储介质
KR101699176B1 (ko) Hdfs 데이터 암호화 및 복호화 방법
JP6001422B2 (ja) 暗号化ライブラリ生成装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160803

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160901

R150 Certificate of patent or registration of utility model

Ref document number: 6001422

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150