JP2014081613A - セッション状態情報の暗号化および復号化方法 - Google Patents

セッション状態情報の暗号化および復号化方法 Download PDF

Info

Publication number
JP2014081613A
JP2014081613A JP2013138282A JP2013138282A JP2014081613A JP 2014081613 A JP2014081613 A JP 2014081613A JP 2013138282 A JP2013138282 A JP 2013138282A JP 2013138282 A JP2013138282 A JP 2013138282A JP 2014081613 A JP2014081613 A JP 2014081613A
Authority
JP
Japan
Prior art keywords
session
state information
encrypted
session state
value
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.)
Pending
Application number
JP2013138282A
Other languages
English (en)
Inventor
Hee Bong Choi
熙 鳳 崔
Sang Yun Han
▲尚▼ 潤 韓
Kwang Jik Yang
光 稙 楊
Hyuk Joong Yoon
赫 重 尹
Yongjin Yeom
勇 鎭 廉
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.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
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 Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of JP2014081613A publication Critical patent/JP2014081613A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2105Dual mode as a secondary aspect

Landscapes

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

Abstract

【課題】コンピュータで情報保護用ソフトウェア暗号製品が暗号演算を行う間にレジスタまたはRAMなどの揮発性メモリに常駐するセッション状態情報を便利かつ安全に暗号化及び復号化するようにする方法を提供する。
【解決手段】セッション状態情報の暗号化方法は、暗号化しようとするセッション状態情報に対応する暗号セッションのIDおよび前記暗号セッションに対するセッション消滅カウンターの値に基づいて、前記暗号化しようとするセッション状態情報に対応するカウンターの値を計算する段階と、前記カウンターの値を計算する段階で計算された前記カウンターの値および所定のキーに基づいて、前記暗号化しようとするセッション状態情報を暗号化する段階とを含んでなる。
【選択図】図1

Description

本発明は、セッション状態情報の暗号化および復号化方法に係り、より詳しくは、暗号製品が支援する多数のセッションのセッション状態情報を安全に暗号化・復号化する方法に関する。
個人情報保護、金融情報保護、公共機関の情報通信保護などのために、コンピュータで行う情報保護製品が広く用いられている。
このような情報保護製品は、ソフトウェアであって、プログラム難読化や安全なキー保存、無欠性確認などの保護対策が採用されている。
安全な秘密情報の保存に属する技術分野として、秘密情報がハードディスク、USBまたは保安トークンなどに長期保存される場合、およびプログラムが動作する間に秘密情報が暗号演算のためにレジスタ或いはRAMなどの揮発性メモリに常駐する場合などがある。
一般に、暗号演算のためにレジスタやRAMなどの揮発性メモリに常駐する秘密情報は平文として存在する製品が多い。
しかも、暗号製品が多数の暗号セッションを支援するとき、多くのセッション状態情報が揮発性メモリに平文として常駐する場合が多い。この場合、揮発性メモリの解析を実行する悪性プログラムによって、秘密情報は容易にハッキングできる。暗号演算に必要な秘密情報が露出することにより、情報保護製品が保護しようとする敏感な情報が露出する脆弱性を有する。
揮発性メモリに常駐するセッション状態情報をキーとして暗号化する場合もある。この場合は、秘密情報が揮発性メモリに平文として存在する場合に比べてセッション状態情報を獲得することが難しい。
ところが、セッション状態情報を常に同一のキーと初期値で暗号化すると、暗号文に対する脆弱性が存在する。それにより、セッション状態情報を暗号セッション毎に異なるキーと初期値で暗号化することができるが、この場合には多くのセッションによるキーまたは初期値の管理が複雑である。
このように個人情報保護、金融情報保護、公共機関の情報通信保護などに適用される情報保護製品は、メモリ解析攻撃から防御するために、レジスタまたはRAMなどの揮発性メモリに常駐する秘密情報の安全な保存が必要である。
また、暗号化プログラムが多数の暗号セッションを支援する場合、多くのセッション状態情報を揮発性メモリに常駐させる。この際、セッション状態情報を安全に保護するために暗号化を行わなければならない。一般に、暗号セッションは多くランダムに生成され、消滅する。よって、セッション状態情報を安全に暗号化するには困難さがある。
特許文献1(データ保護のためのメモリ、それを含むメモリシステムおよびその動作方法)には、暗号キーまたはデータが外部に露出するのを防止することが可能な方案が提示されている。その特許文献1は、メモリが暗号化または復号化動作を行うにあたって、ユーザーから直接暗号キーの入力を受けてユーザーの知っている領域に保存する。そして、メモリの特定の領域またはアドレス別に互いに異なる暗号キーを適用するように選択することにより、外部の攻撃などからメモリのデータまたは暗号キーの露出を防止することができ、信頼性のあるメモリデータの暗号化および復号化動作を行うことができる。
ところが、特許文献1はメモリに記憶されるデータまたは暗号キーの露出を防止することができるが、N個のメモリに記憶されるデータまたは暗号キーを保護するためにN個のキーが必要であってキーの管理に難しさがあり、同じメモリに記憶されるデータが同一であれば、常に同一の暗号文が生成されて脆弱性が存在する。
韓国公開特許第10−2010−0099871号明細書
本発明は、上述した従来の問題点を解決するために提案されたもので、その目的は、コンピュータで情報保護用ソフトウェア暗号製品が暗号演算を行う間にレジスタまたはRAMなどの揮発性メモリに常駐するセッション状態情報を便利かつ安全に暗号化及び復号化するようにする方法を提供することにある。
上記目的を達成するために、本発明の好適な実施態様に係るセッション状態情報の暗号化方法は、暗号化しようとするセッション状態情報に対応する暗号セッションのIDおよび前記暗号セッションに対するセッション消滅カウンターの値に基づいて、前記暗号化しようとするセッション状態情報に対応するカウンターの値を計算する段階と、前記カウンターの値を計算する段階で計算された前記カウンターの値および所定のキーに基づいて、前記暗号化しようとするセッション状態情報を暗号化する段階とを含んでなる。
前記暗号化しようとするセッション状態情報は平文のセッション状態情報である。
前記カウンターの値を計算する段階は、ブロック暗号アルゴリズムのCTR運営モードで使用される運営モードカウンターを用いて前記カウンターの値を計算するが、前記カウンターの値は(i−1)*T+n*Pi*Tで計算する。ここで、前記iは前記暗号化しようとするセッション状態情報に対応する暗号セッションのID(1≦i≦n)であり、前記TはM/mであり、前記Mは前記セッション状態情報のビットサイズであり、前記mは前記ブロック暗号アルゴリズムの平文ビットサイズであり、前記nは前記暗号セッションの最大個数であり、前記Piは前記暗号化しようとするセッション状態情報に対応する暗号セッションのセッション消滅カウンターの値である。
前記セッション消滅カウンターの値は、前記暗号化しようとするセッション状態情報を暗号化するたびに1ずつ増加し、前記セッション消滅カウンターの値はメモリに記憶される。
前記暗号化する段階によって、前記暗号化しようとするセッション状態情報が暗号化されると、前記暗号化されたセッション状態情報に対応する暗号セッションのセッションフラグの値を1にしておき、前記セッションフラグの値はメモリに記憶される。
前記セッションフラグの値が1であれば、前記暗号化しようとするセッション状態情報に対応する暗号セッションのセッション消滅カウンターの値を1増加させ、前記セッション消滅カウンターの値はメモリに記憶される。
好ましくは、前記暗号化する段階によって暗号化されたセッション状態情報をメモリに記憶する段階をさらに含んでもよい。
一方、本発明の好適な実施態様に係るセッション状態情報の復号化方法は、メモリで復号化しようとするセッション状態情報を読み出す段階と、前記読み出す段階で読み出された前記復号化しようとするセッション状態情報に対応するカウンターの値を計算するが、前記復号化しようとするセッション状態情報に対応する暗号セッションのIDおよび前記暗号セッションに対するセッション消滅カウンターの値に基づいて前記カウンターの値を計算する段階と、前記カウンターの値を計算する段階で計算された前記カウンターの値および所定の値に基づいて、前記復号化しようとするセッション状態情報を復号化する段階とを含んでなる。
前記復号化する段階は、ブロック暗号アルゴリズムのCTR運営モードに基づいて復号化を行う。
前記カウンターの値を計算する段階は、ブロック暗号アルゴリズムのCTR運営モードで使用される運営モードカウンターを用いて前記カウンターの値を計算するが、前記カウンターの値はNi=(i−1)*T+n*Pi*Tで計算する。ここで、前記iは前記復号化しようとするセッション状態情報に対応する暗号セッションのID(1≦i≦n)であり、前記TはM/mであり、前記Mは前記復号化しようとするセッション状態情報のビットサイズであり、前記mは前記ブロック暗号アルゴリズムの平文ビットサイズであり、前記nは前記暗号セッションの最大個数であり、前記Piは前記復号化しようとするセッション状態情報に対応する暗号セッションのセッション消滅カウンターの値である。
このような構成の本発明によれば、CTR運営モードのカウンター初期値をセッションIDに対応させてセッション状態情報に対する暗号化・復号化を行う。従来では暗号セッションを管理するためにセッションIDおよびセッション状態情報を保存したが、本発明では暗号セッションを管理するためにセッションID、セッション状態情報、セッション消滅カウンターおよびセッションフラグを保存する。本発明の方法を使用すると、1つの暗号・復号キーを用いてセッション状態情報を常に異なるCTR運営モードカウンター値で暗号化・復号化されるという利点がある。
このような本発明によれば、揮発性メモリに常駐するセッション状態情報を安全に保存することができるので、プログラムが実行される間に揮発性メモリに常駐する暗号セッション状態秘密情報のハッキングの困難さを高める。
揮発性メモリに常駐する暗号セッション状態情報は、セッションの順序なく頻繁に生成または消滅しても、1つのキーを使用することができてキーの管理も便利であり、同一の平文に対して常に異なる暗号文を生成することができて安全性を高めることができる。
よって、コンピュータで実行されるソフトウェア方式の情報保護製品のキー、認証情報などの秘密情報に対する安全性を高めるという効果を持つ。
本発明の実施例によって暗号製品が暗号セッションiで暗号演算を終え、セッション状態情報を揮発性メモリに常駐させるために暗号化する過程を示す図である。 本発明の実施例に係るセッション状態情報の暗号化方法を説明するためのフローチャートである。 本発明の実施例によって暗号製品が暗号セッションiで暗号演算を再度開始する場合、揮発性メモリに常駐した、暗号化されたセッション状態情報を復号化する過程を示す図である。 本発明の実施例に係るセッション状態情報の復号化方法を説明するためのフローチャートである。
本発明では、安全な暗号アルゴリズムを使用するという仮定の下で、CTR運営モードを用いて順序なく頻繁に生成および消滅する多数の暗号セッションのセッション状態情報を便利かつ安全に暗号化・復号化する方法を提示する。
以下、添付図面を参照して本発明の実施例に係るセッション状態情報の暗号化および復号化方法について説明する。 本発明の詳細な説明に先立ち、本明細書及び請求の範囲に使用された用語又は単語は、通常的且つ辞典的な意味に限定されてはならない。よって、本明細書に記載された実施例と図面に示された構成は、本発明の最も好適な一実施例に過ぎず、本発明の技術的思想をすべて代弁するものではない。このため、本出願時点においてこれらを代替することが可能な様々な均等物及び変形例があり得ることを理解すべきである。
図1は本発明の実施例によって暗号製品が暗号セッションiで暗号演算を終え、セッション状態情報を揮発性メモリに常駐させるために暗号化する過程を示す図である。
図1において、参照符号10は暗号セッションiで平文である暗号化しようとするセッション状態情報を意味する。
参照符号12は、n個の暗号セッションIDに対応するセッション消滅カウンター、セッションフラグが揮発性メモリに記憶されていることを示す。暗号セッションが消滅して暗号化された状態情報が消えても、暗号セッションに該当するセッション消滅カウンター、セッションフラグは記憶されていなければならず、暗号セッションがさらに生成されて新しい状態情報を暗号化するときに使用される。言い換えれば、暗号セッションiは「閉」によって消滅するので、暗号化されたセッション状態情報が消えても、暗号セッションiに該当するセッション消滅カウンターPiおよびセッションフラグFiに対する情報は記憶されていなければならない。これは、暗号セッションiがさらに開いて、新しいセッション状態情報を暗号化するときに該当暗号セッションiに対するセッション消滅カウンターPiおよびセッションフラグFi値が使用されなければならないためである。
参照符号14は、暗号セッションIDが1≦i≦nであるセッション状態情報に対応する運営モードカウンターNi、セッション消滅カウンターPi、およびセッションフラグFiを示す。ここで、運営モードカウンターは記憶されず計算によって誘導される。すなわち、運営モードカウンターNiは「Ni=(i−1)*T+n*Pi*T(Niはm/2ビットカウンターである)」で計算される。mはブロック暗号アルゴリズムの平文ビットサイズである。セッション消滅カウンターPiはセッションが消滅した回数を意味し、セッションフラグFiはセッション状態情報が暗号化されている場合には「1」を示し、そのセッション消滅カウンターPiおよびセッションフラグFiの値は揮発性メモリに記憶される。前記運営モードカウンターNiの値を計算する式において、iは暗号化しようとするセッション状態情報に対応する暗号セッションのID(1≦i≦n)であり、TはM/mである。Mはセッション状態情報のビットサイズであり、mはブロック暗号アルゴリズムの平文ビットサイズである。nは暗号製品が支援する最大セッション数であって暗号セッションの最大個数であり、Piは暗号化しようとするセッション状態情報に対応する暗号セッションiのセッション消滅カウンターの値として理解すればよい。前記セッション消滅カウンターの値は暗号化しようとするセッション状態情報を暗号化するたびに、すなわちセッションが消滅してからさらにそのセッションが使用されるたびに1ずつ増加し、前記セッション消滅カウンターの値は揮発性メモリ(図示せず)に記憶される。
運営モードカウンターNiは、暗号化器18で暗号化するときにCTR(CounTeR)運営モードでカウンター値として使用される。セッション消滅カウンターPiは暗号セッションiが閉じる回数によって1ずつ増加する。
キー16は、暗号化器18の暗号化に使用されるキー(K)である。ここで、キー16は、暗号化キーまたは秘密キーとも称することができ、予め設定される。例えば、キー16は、ユーザーが入力してもよく、メモリに予め記憶されているものにしてもよい。
暗号化器18は、ブロック暗号アルゴリズムのCTR運営モードに基づいて暗号化を行う。暗号化器18は、暗号化しようとするセッション状態情報10をキー16と参照符号14の運営モードカウンターNiによって暗号化する。ここで、暗号化しようとするセッション状態情報10は、平文のセッション状態情報であり、平文サイズm毎に運営モードカウンターNiは1ずつ増加する。このように、本発明では常に異なるCTR運営モードのカウンターNiの値をさらに用いるので、従来の問題点である暗号文に対する脆弱性を解消させるうえ、暗号化過程におけるキーまたは初期値の管理が容易になる。言い換えれば、本発明では、暗号化するたびに常に異なるCTR運営モードのカウンターNiの値を使用するので、従来常に同一のキーと初期値で暗号化するときの暗号文に対する脆弱性を解消させる。そして、従来では、セッション状態情報を暗号セッション毎に異なるキーと初期値で暗号化することができた。この場合には、多くのセッションによるキーまたは初期値の管理が複雑であったが、本発明は一つのキー16を使用するので非常に簡便である。
参照符号20は、暗号セッションIDが1≦i≦nである、暗号化されたセッション状態情報を意味する。ここで、iは暗号化しようとする或いは暗号化されたセッション状態情報に対応する暗号セッションIDである。
参照符号22は、揮発性メモリに暗号化されたセッション状態情報を記憶していることを示す。ここで、nは暗号製品が支援する最大セッション数を示し、セッションIDは該当暗号セッションを識別する番号であって最大n個があり、セッション状態情報サイズはmTビットである。ここで、mは暗号化器18の暗号アルゴリズムで使用する平文サイズを示す。
図2は本発明の実施例に係るセッション状態情報の暗号化方法を説明するためのフローチャートである。
暗号セッションiから暗号演算後に他の暗号セッションへ移動する前に、該当暗号セッションiのセッション状態情報を揮発性メモリに暗号化して記憶しなければならない。以下では、このときの暗号化過程について説明する。
ここで、暗号セッションiから他の暗号セッションへ移動する前の該当暗号セッションiのセッション状態情報は平文のセッション状態情報である。
暗号化する前に、セッション消滅カウンターの値Pi=0(1≦i≦n)、セッションフラグFi=0(1≦i≦n)に初期化されていると仮定する。
一旦、暗号化器18は、暗号化しようとするセッション状態情報10、すなわち、暗号セッションiから暗号演算後に他の暗号セッションへ移動する前のセッション状態情報の入力を受ける(S10)。この際、セッションフラグFiの値が「1」であれば、セッション消滅カウンターPiは自分の現在の値を「1」増加させる。
次いで、その暗号化しようとするセッション状態情報に対応する運営モードカウンターNiの値を計算する。すなわち、運営モードカウンターは、Ni=(i−1)*T+n*Pi*Tの計算式によって該当運営モードカウンターの値を計算する(S20)。ここで、iは暗号化しようとするセッション状態情報に対応する暗号セッションのID(1≦i≦n)であり、TはM/mである。Mはセッション状態情報のビットサイズであり、mはブロック暗号アルゴリズムの平文ビットサイズである。nは暗号製品が支援する最大セッション数であって暗号セッションの最大個数であり、Piは暗号化しようとするセッション状態情報に対応する暗号セッションのセッション消滅カウンターの値である。
その後、暗号化器18は、ブロック暗号アルゴリズムのCTR運営モードに基づいて、その暗号化しようとするセッション状態情報10を所定のキー16および計算された運営モードカウンターの値に基づいて暗号化する(S30)。
このようにしてセッション状態情報が暗号化されると、セッションフラグFは自分の現在の値を引き続き「1」にしておき(S40)、暗号化器18によって暗号化されたセッション状態情報20が生成される(S50)。
しかる後に、暗号化器18は、該当暗号セッションiに対して最終的に暗号化されたセッション状態情報20を揮発性メモリに常駐させる(S60)。
上述した図1および図2の説明において、運営モードカウンターの値の計算、セッションフラグの値の調整、およびセッション消滅カウンターの値の調整は、暗号化器18または別途の制御部(図示せず)で行うものとしてもよい。
上述した本発明の実施例の暗号化方法によれば、所定のキー16(すなわち、暗号化するときに使用されるキー)及び常に異なるCTR暗号運営モードカウンター値でセッション状態情報を暗号化することができる。
図3は、本発明の実施例によって暗号製品が暗号セッションiで暗号演算を再度開始する場合、揮発性メモリに常駐した、暗号化されたセッション状態情報を復号化する過程を示す図である。
参照符号30は、暗号セッションiで暗号演算を再度開始する場合、暗号化されたセッション状態情報40を復号化したことを意味する。すなわち、参照符号30は復号化されたセッション状態情報を意味する。
参照符号32は、n個の暗号セッションIDに対応するセッション消滅カウンター、セッションフラグが揮発性メモリに記憶されていることを示す。
参照符号34は、暗号セッションIDが1≦i≦nであるセッション状態情報に対応する運営モードカウンターNi、セッション消滅カウンターPi、およびセッションフラグFiを示す。ここで、運営モードカウンターNiは記憶されず計算によって誘導される。すなわち、運営モードカウンターNiは「Ni=(i−1)*T+n*Pi*T(Niはm/2カウンターである。)」で計算される。セッションフラグFiは、セッション状態情報が暗号化されている場合には「1」を示す。セッション消滅カウンターPiおよびセッションフラグFiの値は揮発性メモリに記憶される。前記運営モードカウンターNiの値を計算する式において、iは復号化しようとするセッション状態情報に対応する暗号セッションのID(1≦i≦n)であり、TはM/mである。Mはセッション状態情報のビットサイズであり、mはブロック暗号アルゴリズムの平文ビットサイズである。nは暗号製品が支援する最大セッション数であって暗号セッションの最大個数であり、Piは復号化しようとするセッション状態情報に対応する暗号セッションのセッション消滅カウンターの値として理解すればよい。
運営モードカウンターNiは復号化器42で復号化するときにCTR(CounTeR)運営モードでカウンター値として使用される。
キー36は、復号化器42の復号化に使用されるキー(K)である。ここで、キー36は、復号化キーまたは秘密キーとも称することができ、予め設定される。例えば、キー36は、ユーザーが入力してもよく、メモリに予め記憶されているものとしてもよい。本発明の実施例では、復号化するときに使用されるキー36と暗号化するときに使用されるキー16を同一のものとする。このように復号化するときに使用されるキー36と暗号化するときに使用されるキー16を同一のものとすると、1つの暗号化・復号化キーおよび常に異なるCTR暗号運営モードカウンター値でセッション状態情報を暗号化・復号化することができる。
参照符号38は、揮発性メモリに暗号化されたセッション状態情報を記憶していることを示す。
参照符号40は、暗号セッションIDが1≦i≦nである、暗号化されたセッション状態情報を示す。
復号化器42は、ブロック暗号アルゴリズムのCTR運営モードに基づいて復号化を行う。復号化器42は、暗号化されたセッション状態情報40をキー36と運営モードカウンターNiによって復号化する。ここで、平文サイズm毎に運営モードカウンターNiは1ずつ増加する。このように、本発明では、常に異なるCTR運営モードのカウンターNiの値をさらに用いるので、復号化過程におけるキーまたは初期値の管理が容易になる。言い換えれば、本発明では、復号化するたびに常に異なるCTR運営モードのカウンターNiの値を使用するので、従来での常に同一のキーと初期値で復号化する場合に比べて敏感情報の露出危険性が減少する。そして、従来では、セッション状態情報を暗号セッション毎に異なるキーと初期値で復号化することができた。この場合には多くのセッションによるキーまたは初期値の管理が複雑であったが、本発明は一つのキーを使用するので非常に簡便である。
図4は本発明の実施例に係るセッション状態情報の復号化方法を説明するためのフローチャートである。
暗号セッションiを呼び出すために、揮発性メモリに常駐している該当暗号セッションiのセッション状態情報を復号化しなければならない。以下、このときの復号化過程を説明する。
復号化器42は、揮発性メモリに常駐している暗号セッションのうち、復号化しようとする暗号セッションiの暗号化されたセッション状態情報40を呼び出す(S100)。
次いで、その復号化しようとする暗号化セッション状態情報40に対応する運営モードカウンターNiの値を計算する。すなわち、運営モードカウンターNiは「Ni=(i−1)*T+n*Pi*T」の計算式によって該当運営モードカウンターの値を計算する(S110)。ここで、iは復号化しようとするセッション状態情報に対応する暗号セッションのID(1≦i≦n)であり、TはM/mである。Mはセッション状態情報のビットサイズであり、mはブロック暗号アルゴリズムの平文ビットサイズである。nは暗号製品が支援する最大セッション数であって暗号セッションの最大個数であり、Piは復号化しようとするセッション状態情報に対応する暗号セッションのセッション消滅カウンターの値である。
その後、復号化器42は、ブロック暗号アルゴリズムのCTR運営モードに基づいて、その復号化しようとする暗号化されたセッション状態情報40を所定のキー36及び計算された運営モードカウンターの値に基づいて復号化する(S120)。
このように暗号化されたセッション状態情報が復号化されると、復号化器42によって復号化されたセッション状態情報が生成される(S130)。
しかる後に、復号化器42は、該当暗号セッションiに対して最終的に復号化されたセッション状態情報30を出力する(S140)。
上述した図3および図4の説明において、運営モードカウンターの値の計算、セッションフラグの値の調整、およびセッション消滅カウンターの値の調整は、復号化器42または別の制御部(図示せず)で行うものとしてもよい
上述した本発明の実施例の復号化方法によれば、所定のキー36(すなわち、復号化するときに使用されるキー)および常に異なるCTR暗号運営モードカウンターの値でセッション状態情報を復号化することができる。
上述したような本発明の暗号化および復号化方法によれば、CTR暗号運営モードのカウンター初期値をセッションIDに対応させてセッション状態情報の暗号化・復号化を行う。1つの暗号・復号キーおよび常に異なるCTR暗号運営モードカウンター値でセッション状態情報を暗号化・復号化するので、揮発性メモリに常駐するセッション状態情報を安全に記憶することができる。これにより、プログラムが実行される間に揮発性メモリに常駐する暗号セッション状態秘密情報のハッキングに対して困難さを高める。したがって、コンピュータで実行されるソフトウェア方式の情報保護製品のキーや認証情報などの秘密情報に対する安全性を高めるという効果を持つ。
また、本発明は、コンピュータで読み取れる記録媒体にコンピュータ読み取り可能コードとして実現することが可能である。コンピュータ読み取り可能記録媒体は、コンピュータシステムによって読み取れるデータが記憶される全種類の記録装置を含む。コンピュータ読み取り可能記録媒体の例としては、ROM、RAM、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ記憶装置などがあり、キャリアウエーブ(例えば、インターネットを介しての伝送)の形で実現されることも含む。また、コンピュータ読み取り可能記録媒体は、ネットワークで連結されたコンピュータシステムに分散し、分散方式でコンピュータ読み取り可能コードが記憶及び実行できる。
一方、本発明は、上述した実施例に限定されず、本発明の要旨を逸脱しない範囲内で修正及び変形を加えて実施することができ、それらの修正及び変形が加えられた技術思想も添付された特許請求の範囲に属するものと理解すべきである。
10 暗号化しようとするセッション状態情報
16、36 キー
18 暗号化器
20、40 暗号化されたセッション状態情報
30 復号化されたセッション状態情報
42 復号化器

Claims (10)

  1. 暗号化しようとするセッション状態情報に対応する暗号セッションのIDおよび前記暗号セッションに対するセッション消滅カウンターの値に基づいて、前記暗号化しようとするセッション状態情報に対応するカウンターの値を計算する段階と、
    前記カウンターの値を計算する段階で計算された前記カウンターの値および所定のキーに基づいて、前記暗号化しようとするセッション状態情報を暗号化する段階とを含んでなることを特徴とする、セッション状態情報の暗号化方法。
  2. 前記暗号化しようとするセッション状態情報は平文のセッション状態情報であることを特徴とする、請求項1に記載のセッション状態情報の暗号化方法。
  3. 前記カウンターの値を計算する段階は、ブロック暗号アルゴリズムのCTR運営モードで使用される運営モードカウンターを用いて前記カウンターの値を計算するが、
    前記カウンターの値は(i−1)*T+n*Pi*Tで計算することを特徴とする、請求項1に記載のセッション状態情報の暗号化方法。
    ここで、前記iは前記暗号化しようとするセッション状態情報に対応する暗号セッションのID (1≦i≦n)であり、前記TはM/mであり、前記Mは前記セッション状態情報のビットサイズであり、前記mは前記ブロック暗号アルゴリズムの平文ビットサイズであり、前記nは前記暗号セッションの最大個数であり、前記Piは前記暗号化しようとするセッション状態情報に対応する暗号セッションのセッション消滅カウンターの値である。
  4. 前記セッション消滅カウンターの値は前記暗号化しようとするセッション状態情報を暗号化するたびに1ずつ増加し、前記セッション消滅カウンターの値はメモリに記憶されることを特徴とする、請求項3に記載のセッション状態情報の暗号化方法。
  5. 前記暗号化する段階によって、前記暗号化しようとするセッション状態情報が暗号化されると、前記暗号化されたセッション状態情報に対応する暗号セッションのセッションフラグの値を1にしておき、前記セッションフラグの値はメモリに記憶されることを特徴とする、請求項1に記載のセッション状態情報の暗号化方法。
  6. 前記セッションフラグの値が1であれば、前記暗号化しようとするセッション状態情報に対応する暗号セッションのセッション消滅カウンターの値を1増加させ、前記セッション消滅カウンターの値はメモリに記憶されることを特徴とする、請求項5に記載のセッション状態情報の暗号化方法。
  7. 前記暗号化する段階によって暗号化されたセッション状態情報をメモリに記憶する段階をさらに含むことを特徴とする、請求項1に記載のセッション状態情報の暗号化方法。
  8. メモリで復号化しようとするセッション状態情報を読み出す段階と、
    前記読み出す段階で読み出された前記復号化しようとするセッション状態情報に対応するカウンターの値を計算するが、前記復号化しようとするセッション状態情報に対応する暗号セッションのID及び前記暗号セッションに対するセッション消滅カウンターの値に基づいて前記カウンターの値を計算する段階と、
    前記カウンターの値を計算する段階で計算された前記カウンターの値および所定の値に基づいて、前記復号化しようとするセッション状態情報を復号化する段階とを含んでなることを特徴とする、セッション状態情報の復号化方法。
  9. 前記復号化する段階はブロック暗号アルゴリズムのCTR運営モードに基づいて復号化を行うことを特徴とする、請求項8に記載のセッション状態情報の復号化方法。
  10. 前記カウンターの値を計算する段階は、ブロック暗号アルゴリズムのCTR運営モードで使用される運営モードカウンターを用いて前記カウンターの値を計算するが、
    前記カウンターの値はNi=(i−1)*T+n*Pi*Tで計算することを特徴とする、請求項8に記載のセッション状態情報の復号化方法。
    ここで、前記iは前記復号化しようとするセッション状態情報に対応する暗号セッションのID(1≦i≦n)であり、前記TはM/mであり、前記Mは前記復号化しようとするセッション状態情報のビットサイズであり、前記mは前記ブロック暗号アルゴリズムの平文ビットサイズであり、前記nは前記暗号セッションの最大個数であり、前記Piは前記復号化しようとするセッション状態情報に対応する暗号セッションのセッション消滅カウンターの値である。
JP2013138282A 2012-10-12 2013-07-01 セッション状態情報の暗号化および復号化方法 Pending JP2014081613A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120113337A KR101458479B1 (ko) 2012-10-12 2012-10-12 세션상태정보의 암호화 및 복호화 방법
KR10-2012-0113337 2012-10-12

Publications (1)

Publication Number Publication Date
JP2014081613A true JP2014081613A (ja) 2014-05-08

Family

ID=50476551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013138282A Pending JP2014081613A (ja) 2012-10-12 2013-07-01 セッション状態情報の暗号化および復号化方法

Country Status (3)

Country Link
US (1) US20140108818A1 (ja)
JP (1) JP2014081613A (ja)
KR (1) KR101458479B1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2531770A (en) * 2014-10-30 2016-05-04 Ibm Confidential Extracting System Internal Data
US10726162B2 (en) * 2014-12-19 2020-07-28 Intel Corporation Security plugin for a system-on-a-chip platform
US20180189842A1 (en) * 2016-12-30 2018-07-05 Telefonica Digital Espana, S.L.U. Method for determining monetary user value of web activity of an individual user, a user device, a network element and computer program products
CN107958141A (zh) * 2017-11-15 2018-04-24 广西师范大学 一种基于芯片id号的软件保护方法
CN110837634B (zh) * 2019-10-24 2023-10-27 杭州安存网络科技有限公司 基于硬件加密机的电子签章方法
CN110943834B (zh) * 2019-12-06 2023-02-28 歌尔科技有限公司 网络设备及其密码处理方法、控制装置和可读存储介质
US12013970B2 (en) 2022-05-16 2024-06-18 Bank Of America Corporation System and method for detecting and obfuscating confidential information in task logs

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272816A (ja) * 2003-03-11 2004-09-30 Ntt Docomo Inc マルチタスク実行システム及びマルチタスク実行方法
JP2006018685A (ja) * 2004-07-02 2006-01-19 Ntt Docomo Inc マルチタスク実行システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7336783B2 (en) * 2003-01-24 2008-02-26 Samsung Electronics, C., Ltd. Cryptographic systems and methods supporting multiple modes
US7472285B2 (en) * 2003-06-25 2008-12-30 Intel Corporation Apparatus and method for memory encryption with reduced decryption latency
US8094814B2 (en) * 2005-04-05 2012-01-10 Broadcom Corporation Method and apparatus for using counter-mode encryption to protect image data in frame buffer of a video compression system
KR100964845B1 (ko) * 2007-11-29 2010-06-24 주식회사 시큐트론 공정편차에 기반한 보안 시스템 및 방법
WO2009132599A1 (en) * 2008-04-30 2009-11-05 Mediatek Inc. Method for deriving traffic encryption key
KR101078839B1 (ko) * 2008-12-05 2011-11-01 한국전자통신연구원 이동단말에 대한 사용 제한 방법 및 이를 위한 이동단말
JP2013153327A (ja) * 2012-01-25 2013-08-08 Toshiba Corp 記憶装置、ホスト装置および情報処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272816A (ja) * 2003-03-11 2004-09-30 Ntt Docomo Inc マルチタスク実行システム及びマルチタスク実行方法
JP2006018685A (ja) * 2004-07-02 2006-01-19 Ntt Docomo Inc マルチタスク実行システム

Also Published As

Publication number Publication date
KR20140047291A (ko) 2014-04-22
KR101458479B1 (ko) 2014-11-07
US20140108818A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
JP2014081613A (ja) セッション状態情報の暗号化および復号化方法
US8504826B2 (en) Client and host validation based on hash of key and validation of encrypted data
US9143317B2 (en) Protecting against white box attacks using column rotation
US9819486B2 (en) S-box in cryptographic implementation
EP2922235B1 (en) Security module for secure function execution on untrusted platform
US20100095132A1 (en) Protecting secrets in an untrusted recipient
US20150256343A1 (en) Securely Generating and Storing Passwords in a Computer System
CN104956620B (zh) 用于验证和密钥交换的方法、装置和计算机可读存储媒体
JP2006085676A (ja) 暗号化命令処理装置
EP2629225A1 (en) System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
JP2021525030A (ja) ユーザ保護ライセンス
US20170244677A1 (en) Operation method based on white-box cryptography and secure terminal for performing the method
CN109510702A (zh) 一种基于计算机特征码的密钥存储及使用的方法
KR101790948B1 (ko) Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
KR101687492B1 (ko) 분산적으로 데이터를 저장하는 방법 및 암호학적 정보 처리 장치
KR20210015403A (ko) 안티-인버전 함수를 이용한 화이트박스 암호 인코딩 장치 및 방법
JP7385025B2 (ja) 暗号化コプロセッサにおけるエンティティ固有の暗号化コードの実行
CN117811734B (zh) 业务源码加密存储与评估与鉴权方法
KR101915808B1 (ko) 난독화를 이용하는 암호문 복호화
JP4474267B2 (ja) 暗号処理装置
KR101758233B1 (ko) 비대칭 특성을 이용한 외부 저장장치의 데이터에 대한 암호화를 수행하는 장치 및 방법
CN117527209A (zh) 一种加密机可信启动方法、装置、加密机及存储介质
JP2004280678A (ja) データ処理装置、およびデータ処理方法
JP2013074386A (ja) 携帯端末用情報漏洩防止システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141202