CN103186728A - 加密和解密装置以及其方法 - Google Patents
加密和解密装置以及其方法 Download PDFInfo
- Publication number
- CN103186728A CN103186728A CN2012101270297A CN201210127029A CN103186728A CN 103186728 A CN103186728 A CN 103186728A CN 2012101270297 A CN2012101270297 A CN 2012101270297A CN 201210127029 A CN201210127029 A CN 201210127029A CN 103186728 A CN103186728 A CN 103186728A
- Authority
- CN
- China
- Prior art keywords
- key information
- software
- safe key
- encryption
- safe
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004891 communication Methods 0.000 claims description 24
- 150000003839 salts Chemical class 0.000 description 25
- 238000010586 diagram Methods 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000005055 memory storage Effects 0.000 description 7
- NHDHVHZZCFYRSB-UHFFFAOYSA-N pyriproxyfen Chemical compound C=1C=CC=NC=1OC(C)COC(C=C1)=CC=C1OC1=CC=CC=C1 NHDHVHZZCFYRSB-UHFFFAOYSA-N 0.000 description 6
- 238000013478 data encryption standard Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
- H04L63/0435—Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种加密和解密装置以及其方法。其中解密装置包括密钥产生器,用来接收第一安全密钥信息以产生应用密钥;以及解密模块,耦接至该密钥产生器,用来根据该应用密钥对加密的软件数据的至少一部分进行解密;其中,当执行软件的软件码时,该软件使用软件数据。通过利用本发明,可提供具有弹性并且可靠的加密、解密装置和方法。
Description
技术领域
本发明有关于资料安全性,且特别有关于一种加密和解密装置以及其方法。
背景技术
近来使用移动装置从因特网存取应用软件成为一种常见方式,因此对于应用软件数据安全性的需求逐渐增加,资料安全性可以用于避免未授权接收者利用未授权的存取方式来存取应用软件。目前,应用软件的数据安全性建立方法包括在软件激活时检验注册码或启动密钥(key)。然而,当未获得授权的使用者由其他渠道得知注册码或启动密钥时,这个方法就会被破解。另一种习知的数据安全性建立方法使用一种认证检查程序,在软件激活后使用认证检查程序来判定签章或证明的有效性。但是当未授权用户跳过或更改认证检查程序时,这种方式就会失去作用。
发明内容
有鉴于此,本发明加密和解密装置以及其方法。
本发明一实施例提供一种解密装置,包括:密钥产生器,用来接收第一安全密钥信息以产生应用密钥;以及解密模块,耦接至该密钥产生器,用来根据该应用密钥对加密的软件数据的至少一部分进行解密;其中,当执行软件的软件码时,该软件使用该软件数据。
本发明另一实施例提供一种解密方法,包括:由解密装置接收第一安全密钥信息;以及根据该第一安全密钥信息,由该解密装置对加密的软件数据的至少一部分进行解密;其中,当执行软件的软件码时,该软件使用该软件数据。
本发明另一实施例提供一种加密装置,包括:选择模块,用来选择第一安全密钥信息;以及加密模块,耦接至该选择模块,用来根据该第一安全密钥信息而对软件数据的至少一部分进行加密;其中,当执行软件的软件码时,该软件使用该软件数据。
本发明另一实施例提供一种加密方法,包括:由加密装置选择第一安全密钥信息;以及根据该第一安全密钥信息,由该加密装置对软件数据的至少一部分进行加密;其中,当执行软件的软件码时,该软件使用该软件数据。
通过利用本发明,可提供具有弹性并且可靠的加密、解密装置和方法。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附图示,详细说明如下。
附图说明
图1是使用本发明实施例加密以及解密方法的通信系统的简化方块示意图。
图2是使用本发明实施例的加密装置的方块示意图。
图3是使用本发明实施例的解密装置的方块示意图。
图4是使用本发明实施例的另一种加密装置的方块示意图。
图5是使用本发明实施例的另一种解密装置的方块示意图。
图6是使用本发明实施例的一种加密方法的流程图。
图7是使用本发明实施例的另一种加密方法的流程图。
图8是使用本发明实施例的一种解密方法的流程图。
图9是使用本发明实施例的另一种解密方法的流程图。
具体实施方式
图1是使用本发明实施例加密以及解密方法的通信系统的简化方块示意图。通信系统1可包括交换(interchange)网络102、106a、106b与网络104,其中网络104连接至各个交换网络。交换网络102可进一步耦接至应用提供者100a与100b,并且交换网络106a、106b可进一步分别耦接至用户设备(UserEquipment,UE)108a~108b。应用提供者100a与100b可以为包括应用软件的计算机服务器,该应用软件可被远程用户设备108a及108b下载。交换网络102可以包括引导应用提供者100a、100b与网络104间数据传输的集线器(hub)和路由器(router)。交换网络106a可以包括集线器、路由器、电话交换机和基站,从而提供用户设备108a和网络104间无线或具有部分无线的数据传输。交换网络106b可包括集线器和路由器,从而提供用户设备108b和网络104间无线或具有部分无线的数据传输。用户设备108a~108b是终端使用者使用的任何进行通信的装置,例如手持移动电话、平板计算机、配有宽带网络适配器(adaptor)的手提电脑或任意具有通信能力的装置。
用户设备108a和108b可从软件提供者100a和100b处下载应用软件。每个应用软件需要使用应用密钥进行解密,进而在用户设备108a或108b内进行正常运作。软件提供者100a和100b可使用本发明实施例的加密方法,选择要包括哪些信息藉以产生用于加密程序的第一安全密钥信息。用户设备108a和108b可使用本发明实施例的解密方法,根据所选择信息产生应用密钥(如用户设备特定应用密钥),藉此对应用软件解密并且正确执行应用软件。各个实施例的加密程序并不是只能由图1显示的装置及设备执行,实施例的加密程序也可由软件开发者、网络操作者以及应用提供者等执行。
图2是使用本发明实施例的加密装置的方块示意图。加密装置2可包括选择模块202、通信接口204、存储器206以及加密模块208。选择模块202可耦接至加密模块208,加密模块208可进一步耦接至通信接口204及存储器206。
在公开发布在因特网之前,结合于网络服务器的加密装置2可以藉由应用软件执行数据加密。软件可包括程序段(code segment)以及数据段(datasegment)。程序段内的软件码使用数据段的软件数据而正确运作。当执行软件码时,软件使用软件数据。加密装置2可使用应用密钥对数据段进行加密,使得只有具有应用密钥的装置才能够对加密过的数据段进行解密并且正常执行软件。应用密钥可根据对应第一安全密钥信息(如特定问题信息或菜单参数(cookbook))的第二安全密钥信息(如特定答复信息或加盐值(salt))产生,其中特定答复信息只有加密装置2以及预期的远程用户设备知道。虽然可将菜单参数和加密的数据段、未加密的程序段分开或一起经由不安全的公开信道传送至任意远程用户设备,但只有预期的用户设备能够产生对应的答复信息,藉以产生用在数据解密的应用密钥。软件提供者握有相应于不同软件选择各种菜单参数的弹性。同时因为用于产生应用密钥的加盐值信息特定于某个用户,用户设备能维持数据安全性。其中,该应用密钥用于加密/解密程序。
选择模块202可选取如菜单参数的第一安全密钥信息。例如,第一安全密钥信息可包括平台(platform)信息、用户设备的网络信息、特定用户相关的信息、特定用户设备相关的信息或以上的任意结合的相关问题,并且可根据软件提供者的喜好选择而进行数据加密。其中,平台为一种硬件架构以及软件框架,包括允许应用软件在其上操作的应用框架。典型平台包括计算机架构、操作系统、程序语言以及包括运行时间库(runtime library)或图形用户接口的相关用户接口。远程用户设备的平台信息可以包括芯片识别值(identity,ID)、计划/产品名称、客户名称、特点集合(feature set)、日期时间、软件版本或以上的结合。日期时间可以是用户设备的本地时间,或是软件认证时的特定时间。特点集合可为用户设备的硬件和/或软件特点,例如相机、相机操作状态、Wi-Fi连接性等硬件特点,或网络电话(Voice over Internet Protocol,以下称为VoIP)、MP3音乐格式等软件特点。网络可为便于用户之间通信的信道相互链接的装置集合并且允许用户共享资源。远程用户设备的网络信息可以是网络提供者名称、应用信息、IP地址、通信协议或以上的结合。
存储器206包括程序段2060和数据段2062,并且存储器206耦接至加密模块208。存储器206可在程序段2060内储存软件码以及在数据段2062内储存软件数据。软件数据可以包括字符流(word stream)、二进制流和/或多媒体数据流。虽然程序段2060和数据段2062都位于存储器206内,熟习此技艺者知道程序段2060和数据段2062可以被储存在相同或不同的存储装置中,该存储装置可以位于加密装置2之内或之外,并且可以位于加密装置2外部的其他装置内。另外,程序段2060和数据段2062可以储存在一个或多个存储装置中,并且具有一种如链接列表(link list)或链接表格(link table)的记录储存信息位置的方法。
加密模块208可接收软件数据以及根据如菜单参数的第一安全密钥信息对软件数据进行加密程序。加密模块208可包括密钥产生器2080和耦接到密钥产生器2080的加密区块2082。密钥产生器2080可接收对应第一安全密钥信息的如加盐值的第二安全密钥信息,并且根据第二安全密钥信息产生应用密钥。举例来说,加盐值可包括远程用户设备的平台信息和/或网络信息的至少一数值。例如,选择模块202可以选择芯片识别值、计划/产品名称以及网络提供者名称作为菜单参数,对应的加盐值可以包括芯片识别值“CD1111”、计划/产品名称“Breeze”以及网络提供者名称“台湾电信”。密钥产生器2080可以藉由软件、韧件、硬件或其中的一种结合而实现,并且可以在应用层、应用层以下或以上的层级实现。密钥产生器2080可接收例如加盐值的第二安全密钥信息,并且执行程序以产生应用密钥。加密区块2082可根据应用密钥,加密软件数据的至少一部分。加密方案可以是高级加密标准(AdvancedStandard Encryption,AES)、三重数据加密标准(Triple Data EncryptionStandard,3DES)、RSA加密或任何熟习此技艺者通知的加密标准或方法。密钥产生器2080可以单独根据例如加盐值的第二安全密钥信息产生应用密钥,或者根据例如菜单参数的第一安全密钥信息和第二安全密钥信息一起产生应用密钥。加密的软件数据可以以文件、数据库、二进制数据、其他机器可读取数据或其中的一种结合形式进行储存。例如,软件数据可包括文件“世界你好文本文件(hello_world.txt)”,并且软件码可包括程序代码“打开世界你好文本文件”。数据加密并且赋予识别值“1”后,软件数据“世界你好文本文件”可储存在数据库内。接下来,软件码可相应地改为“打开识别值=1”。当所预期的远程用户设备接收软件、数据库以及第一安全密钥信息时,远程用户设备可根据正确的应用密钥对所加密的软件数据进行解密,重新产生“打开世界你好文本文件”,藉此正常执行软件。对于具有不正确加盐值的非预期的用户设备来说,却会产生错误的解密结果,导致执行软件时的程序错误或程序例外(exception)。
加密的软件数据可被储存在数据段2062中。其中在一些实施例中,原本的软件数据由数据段2062内加密的软件数据所取代。在其他实施例中,软件数据和加密的软件数据两者均储存在数据段2062内。在另一些实施例中,软件数据和加密的软件数据可储存在不同区段内,或甚至储存在不同的存储装置内。可以注意到软件数据和加密的软件数据可储存在任意可存取的位置中,并可被至少一个组件(例如加密区块2082)存取。
通信接口204可提供例如菜单参数的第一安全密钥信息、加密的软件数据以及与软件数据一起执行的软件码至远程用户设备(图中未显示)。在其中一种实施例中,通信接口204可将第一安全密钥信息和软件码以及加密的软件数据分别输出至远程用户设备。远程用户设备可请求加密装置2提供软件,并接收软件码和加密的软件数据。其中,该加密装置2可位于应用提供者内。远程用户可进一步请求加密装置2提供例如菜单参数的第一安全密钥信息,使加密的软件数据能被解密以及执行。在其他实施例中,通信接口204可一起输出第一安全密钥信息、软件码和加密的软件数据。远程用户设备可请求加密装置2提供软件,并且从加密装置2一起接收第一安全密钥信息、软件码和加密的软件数据。在另一个实施例中,第一安全密钥信息、软件码和加密的软件数据可以藉由光盘、闪存盘(flash drive)或其他数据存储装置的方式散布至接收者。在一些实施例中,第一安全密钥信息和软件码可由不同来源进行散布。例如第一安全密钥信息可由安全密钥信息服务器所发布,而软件可由应用提供者发布,其中上述应用提供者可以不同于安全密钥信息服务器。
加密装置2为软件提供者提供选择如平台信息和/或网络信息的任意信息的弹性,藉以形成例如问题信息、菜单参数等等的第一安全密钥信息,其中第一安全密钥信息具有对应的第二安全密钥信息(例如答复信息、加盐值等等)。第二安全密钥信息可特定于所预期的远程用户设备,藉此产生特定用户设备的用在加密及提供数据安全性的应用密钥。
图3是使用本发明实施例的解密装置的方块示意图。解密装置3可包括处理器300、密钥产生器302、通信接口304、存储器306、解密模块308以及输入输出(input/output,I/O)装置310。密钥产生器302可耦接至解密模块308,解密模块308可进一步耦接至处理器300、通信接口304、存储器306以及输入输出装置310。
解密装置3可请求远程应用提供者(图中未显示)提供软件。在其中一种实施例中,通信接口304可分别接收例如菜单参数的第一安全密钥信息、软件码以及加密的软件数据。解密装置3可请求远程应用提供者提供软件并且接收软件码和加密的软件数据。解密装置3可进一步请求远程应用提供者提供第一安全密钥信息,使加密的软件数据能够被解密并且执行。在其他实施例中,解密装置3的通信接口304可一起接收第一安全密钥信息、软件码以及加密的软件数据。解密装置3可请求远程应用提供者提供软件藉以一次接收第一安全密钥信息、软件码和加密的软件数据。
密钥产生器302可接收例如菜单参数的第一安全密钥信息,用于产生应用密钥。第一安全密钥信息可包括用户设备的平台信息和/或网络信息,软件在用户设备的平台上执行。在一些实施例中,解密装置3可为用户设备的至少一部分。用户设备的平台信息可以包括芯片识别值、计划/产品名称、客户名称、特点集合、日期时间、软件版本或以上的结合。用户设备的网络信息可包括网络提供者名称、应用信息、IP地址、通信协议或其中的一种结合。密钥产生器302可根据第一安全密钥信息获取例如加盐值的第二安全密钥信息,并且根据加盐值产生应用密钥。第二安全密钥信息可储存在用户设备中,例如隐藏在用户设备的平台中。在本实施例中,密钥产生器302或其他组件可藉由使用菜单参数询问(query)用户设备平台而产生加盐值。加盐值可包括平台信息和/或网络信息的至少一种信息。在一些实施例中,密钥产生器302可只根据加盐值产生应用密钥。在其他实施例中,密钥产生器302可根据菜单参数以及加盐值产生应用密钥。
存储器306可包括程序段3060和数据段3062。存储器306可从通信接口304分别接收软件的软件码以及软件的加密软件数据,并且将软件码和加密软件数据分别储存在程序段3060和数据段3062中。熟习此技艺者知道程序段3060和数据段3062可以储存在相同或不同的存储装置中,上述存储装置可以位于解密装置3之内或之外,或者可以位于解密装置3外部的其他装置内。另外,程序段3060和数据段3062可以储存在一个或多个存储装置中,并且具有一种如链接列表或表格的记录储存信息位置的方法。
解密模块308可根据应用密钥对所加密软件数据的至少一部分进行解密。在其中一种实施例中,解密模块308只能对执行软件时软件码所需要的加密软件数据的一部分进行解密。在其他实施例中,解密模块308可对所有所加密的软件数据进行解密,并且在执行软件的软件码前,将数据段3062内加密的软件数据置换为解密的软件数据。在另外一种实施例中,解密的软件数据及加密的软件数据两者均储存在数据段3062中。在其他实施例中,解密的软件数据和加密的软件数据可储存在不同区段甚至不同的储存装置中。举例来说,储存装置可为挥发性内存(volatile memory),如随机存取内存(Random AccessMemory,以下称为RAM)。可以注意到软件数据和加密的软件数据可储存在任意可存取的位置中,并可被至少一个组件(例如处理器300和解密模块308)存取。
处理器300可使用解密的软件数据执行软件码。在其中一种实施例中,解密的软件数据为一种多媒体数据,并且处理器300可在输入输出装置310上播放多媒体数据。
解密装置3为软件提供者提供选择例如平台信息和/或网络信息的任何一种信息的弹性,藉以形成第一安全密钥信息(例如问题信息和菜单参数等),该第一安全密钥信息对应到例如答复信息和加盐值等的第二安全密钥信息。第二安全密钥信息可为特定于装置3中用户设备对应的特定答复信息或加盐值,藉此产生特定用户设备用于解密数据及提供数据安全性的应用密钥。
图4是使用本发明实施例的另一种加密装置的方块示意图。加密装置4可包括计算机可读取媒介40和耦接至计算机可读取媒介40的计算机42。本发明藉由实施例显示本发明的精神而非用以限制本发明,本实施例中的计算机可读取媒介40可包括RAM、只读存储器(Read Only Memory,以下称为ROM)、电子可改写式可编程只读存储器(Electrically Erasable Programmable ReadOnly Memory,以下称为EEPROM)、光盘只读存储器(Compact Disc Read OnlyMemory,以下称为CD-ROM)或其他光盘储存媒介、磁盘储存媒介以及其他能够用于执行或储存程序指令的储存媒介型式。其中程序指令的形式为计算机可执行的指令或数据构造,并可由通用或特殊计算机进行存取。
计算机可读取媒介40可包括指令,当计算机42执行该指令时能使得计算机42选择采用哪种信息(如远程用户设备的平台信息和/或网络信息)产生第一安全密钥信息,藉以接收软件数据以及根据第一安全密钥信息对软件数据进行加密。远程用户设备请求提供软件,其中软件具有加密装置4进行加密的软件数据。用户设备可使用加密装置4加密的软件数据执行软件码。在其中一种实施例中,加密装置4可为用户设备的至少一部分。用户设备的平台信息可以包括芯片识别值、计划/产品名称、客户名称、特点集合、日期时间、软件版本或以上的结合。用户设备的网络信息可包括网络提供者名称、应用信息、IP地址、通信协议或其中的一种组合。
软件数据的加密程序可包括提供对应第一安全密钥信息的第二安全密钥信息,根据第二安全密钥信息产生应用密钥,以及根据应用密钥对软件数据进行加密。第二安全密钥信息可包括远程用户设备的平台信息和/或网络信息中的至少一种信息值。加密系统可以是高级加密标准、三重数据加密标准、RSA加密或任何熟习此技艺者通知的加密标准或方法。产生应用密钥包括根据第二安全密钥信息产生应用密钥,或根据第一安全密钥信息及第二安全密钥信息两者产生应用密钥。应用密钥可藉由第二安全密钥信息的至少一个信息值的组合逻辑电路产生。
上述指令可进一步包括在存储器中储存加密的软件数据,以及提供第一安全密钥信息、加密的软件数据以及和该软件数据一起执行的软件码。第一安全密钥信息可以和加密的软件数据及软件码一起或分开提供至远程用户设备。
图5是使用本发明实施例的另一种解密装置的方块示意图。解密装置5可包括计算机可读取媒介50和耦接至计算机可读取媒介50的计算机52。
计算机可读取媒介50可包括指令,当计算机52执行该指令时可使得计算机52接收第一安全密钥信息,藉以接收加密的软件数据并且根据第一安全密钥信息对所加密的软件数据进行解密。第一安全密钥信息可包括用户设备的平台信息和/或网络信息。用户设备将使用解密装置5解密的软件数据执行软件码。在其中一种实施例中,解密装置5可为用户设备的至少一部分。用户设备的平台信息可以包括芯片识别值、计划/产品名称、客户名称、特点集合、日期时间、软件版本或以上的结合。用户设备的网络信息可包括网络提供者名称、应用信息、IP地址、通信协议或以上的一种组合。
加密软件数据的解密程序包括根据第一安全密钥信息获取第二安全密钥信息,根据第二安全密钥信息产生应用密钥,以及根据应用密钥对加密的软件数据进行解密。在其中一种实施例中,获取第二安全密钥信息可包括使用第一安全密钥信息来询问计算机52的平台以获取第二安全密钥信息。第二安全密钥信息可包括用户设备的平台信息和/或网络信息中的至少一种信息值。在其中一种实施例中,产生应用密钥可包括只根据第二安全密钥信息来产生应用密钥。在其他实施例中,产生应用密钥可包括根据第一安全密钥信息及第二安全密钥信息来产生应用密钥。
解密可以包括根据应用密钥而对软件数据的一部分进行解密程序。解密也可以包括根据应用密钥而对所有加密的软件数据进行解密。
图6是使用本发明实施例的一种加密方法的流程图。加密方法6可藉由图2的加密装置2或图4的加密装置4加以执行。
加密方法6由步骤S600开始。在步骤S602中,加密装置选取第一安全密钥信息,例如菜单参数。举例来说,菜单参数可包括远程用户设备的平台信息和/或网络信息,该远程用户设备将会请求获得方法6加密后的软件数据。用户设备的平台信息可以包括芯片识别值、计划/产品名称、客户名称、特点集合、日期时间、软件版本或以上的结合。用户设备的网络信息可包括网络提供者名称、应用信息、IP地址、通信协议或以上的一种组合。
在步骤S604中,加密装置接收软件数据。当执行软件的软件码时,可使用上述软件数据。
在步骤S606中,加密装置根据第一安全密钥信息对软件数据加密。加密步骤可以包括加密装置提供对应第一安全密钥信息的第二安全密钥信息,根据第二安全密钥信息产生应用密钥,以及根据应用密钥对软件数据进行加密。第二安全密钥信息可包括远程用户设备的平台信息和/或网络信息中至少一种信息值。在其中一种实施例中,产生应用密钥步骤可包括只根据第二安全密钥信息而产生应用密钥。在其他实施例中,产生应用密钥步骤可包括根据第一安全密钥信息及第二安全密钥信息而产生应用密钥。加密方法6在步骤S608结束。
图7是使用本发明实施例的另一种加密方法的流程图。加密方法7可藉由图2的加密装置2或图4的加密装置4而加以执行。
加密方法7由步骤S700开始。接着加密装置在步骤S702中选择菜单参数。菜单参数可包括远程用户设备的平台信息和/或网络信息,该远程用户设备将会请求获得方法7加密后的软件数据。
在步骤S704中,加密装置提供对应至菜单参数的加盐值。加盐值可为菜单参数的平台和/或网络信息中的至少一种信息值。
在步骤S706中,加密装置根据加盐值产生应用密钥。在其中一种实施例中,加密装置可根据平台和/或网络信息中的至少一种信息值,执行组合逻辑电路功能而产生应用密钥。
在步骤S708中,加密装置获取将被加密的软件数据。
在步骤S710中,加密装置根据应用密钥对软件数据进行加密。加密系统可以是高级加密标准、三重数据加密标准、RSA加密或任何熟习此技艺者通知的加密标准或方法。
在步骤S712中,加密装置将软件数据置换为加密后的软件数据。
在步骤S714中,加密装置发布菜单参数、加密的软件数据以及使用软件数据的软件。
加密方法7在步骤S716结束。
图8是使用本发明实施例的一种解密方法的流程图。解密方法8可藉由图3的解密装置3或图5的解密装置5而加以执行。
解密方法8由步骤S800开始。接着在步骤S802中,解密装置接收第一安全密钥信息。第一安全密钥信息可包括用户设备的平台信息和/或网络信息,在该用户设备上将由解密方法8解密后的软件数据来执行该软件。在其中一种实施例中,解密装置可为用户设备的至少一部分。用户设备的平台信息可以包括芯片识别值、计划/产品名称、客户名称、特点集合、日期时间、软件版本或以上的结合。用户设备的网络信息可包括网络提供者名称、应用信息、IP地址、通信协议或其中的一种结合。
在步骤S804中,解密装置接收加密的软件数据。
在步骤S806中,解密装置根据第一安全密钥信息对加密过的软件数据解密。解密步骤可以包括根据第一安全密钥信息获得第二安全密钥信息,根据第二安全密钥信息产生应用密钥,以及根据应用密钥对加密的软件数据进行解密。在其中一种实施例中,获得第二安全密钥信息的步骤可以包括使用第一安全密钥信息询问用户设备的平台,藉以获得第二安全密钥信息。第二安全密钥信息可包括装置平台信息和/或网络信息中的至少一种信息值。产生应用密钥的步骤可以包括只根据第二安全密钥信息而产生应用密钥,或包括根据第一安全密钥信息及第二安全密钥信息而产生应用密钥。解密步骤可以包括根据应用密钥对加密软件数据的一部分进行解密,或根据应用密钥对加密的全部软件数据进行解密。
解密方法8在步骤S808结束。
图9是使用本发明实施例的另一种解密方法的流程图。解密方法9可藉由图3的解密装置3或图5的解密装置5而加以执行。
解密方法9由步骤S900开始。解密装置可在步骤S902中接收菜单参数、加密的软件数据以及使用软件数据的软件码。菜单参数可包括用户设备的平台信息和/或网络信息,在该用户设备上软件码将执行解密方法9解密后的软件数据。在其中一种实施例中,解密装置可为用户设备的至少一部分。
在其中一种实施例中,步骤S904中,解密装置使用菜单参数询问用户设备平台以获得加盐值。加盐值可包括菜单参数的平台和/或网络信息中的至少一信息值。
在步骤S906中,解密装置根据加盐值产生应用密钥。应用密钥可以藉由使用加盐值在组合逻辑电路产生。
在步骤S908中,解密装置根据应用密钥对加密的软件数据进行解密。在其中一种实施例中,解密装置可只解密加密软件数据的一部分,该软件数据的一部分用在软件码执行软件。在其他实施例中,解密装置能够一次解密所有加密的软件数据,并且将存储器中加密的软件数据置换为解密后的软件数据。
在步骤S912中,解密装置使用解密的软件数据来执行软件。在其中一种实施例中,解密后的软件数据为一种多媒体数据,并且解密装置能够播放多媒体数据。
解密方法9在步骤S914结束。
熟习此技艺者可以理解在不偏离本发明精神的情况下,方法6到9的某些步骤可以跳过、改变或以和实施例显示不同的顺序而加以实现。
本发明描述的各种逻辑区块、模块以及电路可以使用通用处理器、数字信号处理器(Digital Signal Processor,DSP)、特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable GateArray,FPGA)或其他可程控逻辑组件、离散式逻辑电路或晶体管逻辑门、离散式硬件组件或用在执行本发明所描述的功能的其任意组合。通用处理器可以为微处理器,或者,该处理器可以为任意商用处理器、控制器、微处理器或状态机。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围。本发明所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可做各种的更动与润饰。因此,本发明的保护范围当视之前的权利要求书所界定者为准。
Claims (25)
1.一种解密装置,其特征在于,包括:
密钥产生器,用来接收第一安全密钥信息以产生一应用密钥;以及
解密模块,耦接至该密钥产生器,用来根据该应用密钥对加密的软件数据的至少一部分进行解密;
其中,当执行软件的软件码时,该软件使用软件数据。
2.如权利要求1所述的解密装置,其特征在于,其中该第一安全密钥信息包括芯片识别值、计划/产品名称、客户名称、特点集合、日期时间、软件版本、网络提供者名称、应用信息、IP地址、通信协议或以上的一种组合。
3.如权利要求1所述的解密装置,其特征在于,其中该密钥产生器用来进一步获得对应至该第一安全密钥信息的第二安全密钥信息,以及根据该第二安全密钥信息产生该应用密钥。
4.如权利要求3所述的解密装置,其特征在于,其中该密钥产生器使用该第一安全密钥信息询问该解密装置的平台,以获得该第二安全密钥信息。
5.如权利要求3所述的解密装置,其特征在于,其中该第二安全密钥信息包括该第一安全密钥信息的对应值。
6.如权利要求3所述的解密装置,其特征在于,其中该密钥产生器根据该第一安全密钥信息及该第二安全密钥信息而产生该应用密钥。
7.一种解密方法,其特征在于,包括:
由解密装置接收第一安全密钥信息;以及
根据该第一安全密钥信息,由该解密装置对加密的软件数据的至少一部分进行解密;
其中,当执行软件的软件码时,该软件使用软件数据。
8.如权利要求7所述的解密方法,其特征在于,其中该第一安全密钥信息包括芯片识别值、计划/产品名称、客户名称、特点集合、日期时间、软件版本、网络提供者名称、应用信息、IP地址、通信协议或以上的一种组合。
9.如权利要求7所述的解密方法,其特征在于,其中该对加密的软件数据的至少一部分进行解密的步骤包括:
获得对应该第一安全密钥信息的第二安全密钥信息;
根据该第二安全密钥信息产生一应用密钥;以及
根据该应用密钥对该加密的软件数据的至少一部分进行解密。
10.如权利要求9所述的解密方法,其特征在于,其中该获得该第二安全密钥信息的步骤包括使用该第一安全密钥信息以询问该解密装置的平台。
11.如权利要求9所述的解密方法,其特征在于,其中该第二安全密钥信息包括该第一安全密钥信息的对应值。
12.如权利要求9所述的解密方法,其特征在于,其中该应用密钥根据该第一安全密钥信息及该第二安全密钥信息而产生。
13.一种加密装置,其特征在于,包括:
选择模块,用来选择第一安全密钥信息;以及
加密模块,耦接至该选择模块,用来根据该第一安全密钥信息而对软件数据的至少一部分进行加密;
其中,当执行软件的软件码时,该软件使用软件数据。
14.如权利要求13所述的加密装置,其特征在于,其中该第一安全密钥信息包括芯片识别值、计划/产品名称、客户名称、特点集合、日期时间、软件版本、网络提供者名称、应用信息、IP地址、通信协议或以上的一种组合。
15.如权利要求13所述的加密装置,其特征在于,其中该加密模块包括:
密钥产生器,耦接至该选择模块,用来接收对应该第一安全密钥信息的第二安全密钥信息,并且根据该第二安全密钥信息产生应用密钥;以及
加密区块,耦接至该密钥产生器,用来根据该应用密钥对该软件数据的至少一部分进行加密。
16.如权利要求15所述的加密装置,其特征在于,其中该第二安全密钥信息包括该第一安全密钥信息的对应值。
17.如权利要求15所述的加密装置,其特征在于,其中该密钥产生器根据该第一安全密钥信息以及该第二安全密钥信息而产生该应用密钥。
18.如权利要求13所述的加密装置,其特征在于,其中该软件数据置换为该加密的软件数据,以及该加密装置用来提供该第一安全密钥信息、该加密的软件数据以及该软件码。
19.如权利要求18所述的加密装置,其特征在于,其中该加密装置用来分开提供该第一安全密钥信息、该软件码以及该加密的软件数据。
20.如权利要求18所述的加密装置,其特征在于,其中该加密装置一起提供该第一安全密钥信息、该软件码以及该加密的软件数据。
21.一种加密方法,其特征在于,包括:
由加密装置选择第一安全密钥信息;以及
根据该第一安全密钥信息,由该加密装置对软件数据的至少一部分进行加密;
其中,当执行软件的软件码时,该软件使用该软件数据。
22.如权利要求21所述的加密方法,其特征在于,其中该第一安全密钥信息包括芯片识别值、计划/产品名称、客户名称、特点集合、日期时间、软件版本、网络提供者名称、应用信息、IP地址、通信协议或以上的一种组合。
23.如权利要求21所述的加密方法,其特征在于,其中该软件数据的至少一部分进行解密的步骤包括:
获得对应该第一安全密钥信息的第二安全密钥信息;
根据该第二安全密钥信息产生应用密钥;以及
根据该应用密钥对该软件数据的至少一部分进行加密。
24.如权利要求23所述的加密方法,其特征在于,其中该第二安全密钥信息包括该第一安全密钥信息的对应值。
25.如权利要求23所述的加密方法,其特征在于,其中该应用密钥根据该第一安全密钥信息及该第二安全密钥信息而产生。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/339,714 | 2011-12-29 | ||
US13/339,714 US20130170645A1 (en) | 2011-12-29 | 2011-12-29 | Encryption and decryption devices and methods thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103186728A true CN103186728A (zh) | 2013-07-03 |
Family
ID=48677892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101270297A Pending CN103186728A (zh) | 2011-12-29 | 2012-04-26 | 加密和解密装置以及其方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130170645A1 (zh) |
CN (1) | CN103186728A (zh) |
TW (1) | TWI450553B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628242A (zh) * | 2018-04-12 | 2018-10-09 | 宇环数控机床股份有限公司 | 一种基于plc控制平台的机床设备加解密与授权方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014017595A (ja) * | 2012-07-06 | 2014-01-30 | Toshiba Corp | 通信装置、鍵生成装置、通信方法、プログラムおよび通信システム |
US10181124B2 (en) * | 2013-05-30 | 2019-01-15 | Dell Products, L.P. | Verifying OEM components within an information handling system using original equipment manufacturer (OEM) identifier |
TWI479359B (zh) * | 2013-08-01 | 2015-04-01 | Phison Electronics Corp | 指令執行方法、記憶體控制器與記憶體儲存裝置 |
KR20150126220A (ko) | 2014-05-02 | 2015-11-11 | 삼성전자주식회사 | 동영상 처리 장치 및 방법 |
JP6850530B2 (ja) * | 2014-10-20 | 2021-03-31 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | セキュアセッションの確立と暗号化データ交換のためのコンピュータ利用システム及びコンピュータ利用方法 |
US20170322977A1 (en) * | 2014-11-07 | 2017-11-09 | Hitachi, Ltd. | Method for retrieving encrypted graph, system for retrieving encrypted graph, and computer |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059938A1 (en) * | 1998-04-29 | 2004-03-25 | Microsoft Corporation | Hardware ID to prevent software piracy |
US20040125954A1 (en) * | 2002-12-31 | 2004-07-01 | Riebe Heinrich Henning | System for persistently encrypting critical software data to control the operation of an executable software program |
CN101971186A (zh) * | 2008-04-10 | 2011-02-09 | 日本电气株式会社 | 信息泄露防止装置和方法及其程序 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7401015B1 (en) * | 2001-06-17 | 2008-07-15 | Brian Bailey | Coherent state among multiple simulation models in an EDA simulation environment |
US9234852B2 (en) * | 2005-07-29 | 2016-01-12 | Mitutoyo Corporation | Systems and methods for controlling strobe illumination |
CN101149768B (zh) * | 2006-09-20 | 2011-04-27 | 展讯通信(上海)有限公司 | 一种专用处理器软件的加密和解密方法 |
TW201032084A (en) * | 2009-02-16 | 2010-09-01 | Fineart Technology Co Ltd | System for managing the external access of electronic file and method of the same |
FR2943192B1 (fr) * | 2009-03-13 | 2011-06-03 | St Wireless Sa | Procede d'affectation d'un doigt (finger) pour un recepteur de type rateau (rake) en mode de veille,et dispositif pour la mise en oeuvre du procede |
JP5406689B2 (ja) * | 2009-12-10 | 2014-02-05 | 富士通テン株式会社 | 制御装置、及び、制御方法 |
US20110302394A1 (en) * | 2010-06-08 | 2011-12-08 | International Business Machines Corporation | System and method for processing regular expressions using simd and parallel streams |
DE102011017712A1 (de) * | 2011-04-28 | 2012-10-31 | Robert Bosch Gmbh | Verfahren und Steuereinrichtung zur Schutzzeiteinstellung in einem elektrischen Antriebssystem |
-
2011
- 2011-12-29 US US13/339,714 patent/US20130170645A1/en not_active Abandoned
-
2012
- 2012-04-03 TW TW101111791A patent/TWI450553B/zh not_active IP Right Cessation
- 2012-04-26 CN CN2012101270297A patent/CN103186728A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040059938A1 (en) * | 1998-04-29 | 2004-03-25 | Microsoft Corporation | Hardware ID to prevent software piracy |
US20040125954A1 (en) * | 2002-12-31 | 2004-07-01 | Riebe Heinrich Henning | System for persistently encrypting critical software data to control the operation of an executable software program |
CN101971186A (zh) * | 2008-04-10 | 2011-02-09 | 日本电气株式会社 | 信息泄露防止装置和方法及其程序 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628242A (zh) * | 2018-04-12 | 2018-10-09 | 宇环数控机床股份有限公司 | 一种基于plc控制平台的机床设备加解密与授权方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201328278A (zh) | 2013-07-01 |
TWI450553B (zh) | 2014-08-21 |
US20130170645A1 (en) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9866376B2 (en) | Method, system, and device of provisioning cryptographic data to electronic devices | |
JP4866863B2 (ja) | セキュリティコード生成方法及びユーザ装置 | |
CA2832348C (en) | Managing data for authentication devices | |
CN103186728A (zh) | 加密和解密装置以及其方法 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
CN101019368B (zh) | 使用分发cd将直接证明私钥传递给设备的方法 | |
CN101771699A (zh) | 一种提高SaaS应用安全性的方法及系统 | |
EP3511853B1 (en) | Security authentication method, integrated circuit and system | |
KR20080031827A (ko) | 전자 서비스를 구분하여 제공하는 방법 | |
WO2014067925A1 (en) | Telecommunications chip card | |
CN104868998A (zh) | 一种向电子设备供应加密数据的系统、设备和方法 | |
CN107948170A (zh) | 接口请求参数加密方法、装置、设备及可读存储介质 | |
CN116601914A (zh) | 混合密钥导出以保护数据 | |
CN101346970A (zh) | 无线通信中密码密钥转换方法 | |
Thilakanathan et al. | Secure multiparty data sharing in the cloud using hardware-based TPM devices | |
Park et al. | An efficient motion estimation method for QTBT structure in JVET future video coding | |
CN110321727A (zh) | 应用程序信息的存储、处理方法及装置 | |
KR20050033255A (ko) | 무선 인터넷 사용자 인증 방법 및 시스템 | |
US20160072777A1 (en) | Hardware crypto module and system for communicating with an external environment | |
CN106156625A (zh) | 一种插件签名的方法及电子设备 | |
Köse et al. | Design of a Secure Key Management System for SIM Cards: SIM-GAYS | |
KR20030069546A (ko) | 컨텐츠 보안을 위한 암호화 서비스 방법 | |
O'Donoghue | Towards Lightweight and Int erop erabl e Trust Models: Th Entity Attestation Token | |
CN117728943A (zh) | 设备秘钥管理系统、方法和装置 | |
CN117176367A (zh) | 基于区块链的应用共享方法、文件共享方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130703 |