JP7431899B2 - ソフトウェアを安全に更新する方法 - Google Patents
ソフトウェアを安全に更新する方法 Download PDFInfo
- Publication number
- JP7431899B2 JP7431899B2 JP2022125545A JP2022125545A JP7431899B2 JP 7431899 B2 JP7431899 B2 JP 7431899B2 JP 2022125545 A JP2022125545 A JP 2022125545A JP 2022125545 A JP2022125545 A JP 2022125545A JP 7431899 B2 JP7431899 B2 JP 7431899B2
- Authority
- JP
- Japan
- Prior art keywords
- version
- software
- decryption key
- encrypted
- computing system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 65
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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
-
- 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/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Description
Claims (9)
- ソフトウェアを更新する方法であって、
コンピュータシステムが、第1バージョンの前記ソフトウェアと第1の復号キーとを、コンピューティングシステムに送信する工程と、
前記コンピュータシステムが、第2バージョンの前記ソフトウェアと第2の復号キーとを生成する工程と、
前記コンピュータシステムが、前記第2バージョンの前記ソフトウェアと前記第2の復号キーとを暗号化する工程であって、暗号化された前記第2バージョンの前記ソフトウェアは、前記第2の復号キーではなく、前記第1の復号キーを用いて前記コンピューティングシステムのために復号されるように構成される工程と、
前記コンピュータシステムが、暗号化された前記第2バージョンの前記ソフトウェアと暗号化された前記第2の復号キーとを、前記コンピューティングシステムに送信する工程と、を含み、
さらに
前記コンピュータシステムが、第3バージョンの前記ソフトウェアと第3の復号キーとを生成する工程と、
前記コンピュータシステムが、前記第3バージョンの前記ソフトウェアと前記第3の復号キーとを暗号化する工程であって、前記第3バージョンの前記ソフトウェアは、前記第1の復号キーまたは前記第3の復号キーではなく、前記第2の復号キーを用いて前記コンピューティングシステムのために復号されるように構成される工程と、
前記コンピュータシステムが、暗号化された前記第3バージョンの前記ソフトウェアと暗号化された第3の復号キーとを、前記コンピューティングシステムに送信する工程と、
を含み、
暗号化されたバージョンの前記第1の復号キーと暗号化された前記第2の復号キーとは、暗号化された前記第3バージョンの前記ソフトウェアおよび暗号化された前記第3の復号キーとともに、前記コンピュータシステムから前記コンピューティングシステムに送信される、方法。 - 前記第1バージョンの前記ソフトウェアは、前記コンピューティングシステムにインストールされた最初のバージョンの前記ソフトウェアであり、
前記第1の復号キーは、前記コンピュータシステムから前記コンピューティングシステムに送信されるときに前記コンピュータシステムによって暗号化されない、請求項1に記載の方法。 - 前記第1バージョンの前記ソフトウェアと前記第1の復号キーとは、前記コンピュータシステムから前記コンピューティングシステムに送信されるときに前記コンピュータシステムによって暗号化され、
暗号化された前記第1バージョンの前記ソフトウェアは、前記第1の復号キーではなく、より前の復号キーを用いて前記コンピューティングシステムのために復号されるように構成され、
前記より前の復号キーは、前記コンピュータシステムが暗号化された前記第1バージョンの前記ソフトウェアと暗号化された前記第1の復号キーとを送信するよりも前に、前記コンピュータシステムによって前記コンピューティングシステムに送信される、請求項1に記載の方法。 - 前記コンピュータシステムが、前記第2バージョンの前記ソフトウェアと前記第2の復号キーとを生成する工程は、前記コンピュータシステムが、前記第2バージョンの前記ソフトウェアと前記第2の復号キーとを含むソフトウェアパッケージを生成する工程を含み、
前記コンピュータシステムが、前記第2バージョンの前記ソフトウェアと前記第2の復号キーとを暗号化する工程は、前記コンピュータシステムが、前記ソフトウェアパッケージを暗号化する工程を含み、暗号化された前記ソフトウェアパッケージは、前記第2の復号キーではなく、前記第1の復号キーを用いて前記コンピューティングシステムのために復号されるように構成され、
前記コンピュータシステムが、暗号化された前記第2バージョンの前記ソフトウェアと暗号化された前記第2の復号キーとを、前記コンピューティングシステムに送信する工程は、前記コンピュータシステムが、暗号化された前記ソフトウェアパッケージを送信する工程を含み、
前記コンピュータシステムが、前記第2バージョンの前記ソフトウェアと前記第2の復号キーとを含む前記ソフトウェアパッケージを生成する工程は、
前記コンピュータシステムが、前記第2バージョンの前記ソフトウェアに対するソースコードを生成する工程と、
前記コンピュータシステムが、修正されたソースコードを形成するよう、前記第2バージョンの前記ソフトウェアに対する前記ソースコード内へ前記第2の復号キーをパッケージ化する工程と、
前記コンピュータシステムが、前記第2バージョンの前記ソフトウェアと前記第2の復号キーとを含むソフトウェアパッケージを形成するよう、前記修正されたソースコードをコンパイルする工程と、
を含む、請求項1に記載の方法。 - 前記ソフトウェアは、電子デバイスまたは電子システム用のファームウェアであり、
前記ファームウェアは、コンピューティングシステムの基本入出力システム(BIOS)または前記コンピューティングシステムのユニファイドエクステンシブルファームウェアインターフェース(UEFI)である、請求項1に記載の方法。 - 前記第2バージョンの前記ソフトウェアと前記第2の復号キーとは、前記コンピュータシステムによってハッシュテーブルを用いて暗号化され、
前記第2バージョンの前記ソフトウェアは、前記コンピューティングシステムによって前記コンピューティングシステムにインストールされ、前記第1バージョンの前記ソフトウェアと置き換えられるように構成される、
請求項1に記載の方法。 - 前記ソフトウェアは、コンピューティングシステム用のファームウェアであり、
前記第2バージョンの前記ソフトウェアは、前記コンピューティングシステムがシステム管理モードにあるとき、前記コンピューティングシステムによって復号されて前記コンピューティングシステムによって前記コンピューティングシステムにインストールされるように構成され、
前記第1バージョンの前記ソフトウェアは、暗号化された前記第2バージョンの前記ソフトウェアが前記コンピュータシステムによって前記コンピューティングシステムに送信されるとき、前記コンピューティングシステム上においてシステム管理割り込みをトリガするように構成され、
前記システム管理割り込みは、前記コンピューティングシステムを前記システム管理モードに移行させ、当該コンピューティングシステムに前記第1の復号キーを用いて前記第2バージョンの前記ソフトウェアを復号させるように構成される、請求項1に記載の方法。 - 暗号化された前記第2バージョンの前記ソフトウェアは、公衆利用可能なネットワークロケーションにおいてホストされる、請求項1に記載の方法。
- ソフトウェアを更新する方法であって、
コンピューティングシステムが、最初に、第1バージョンの前記ソフトウェアと第1の復号キーとをコンピュータシステムから受信する工程と、
前記コンピューティングシステムが、前記第1バージョンの前記ソフトウェアを前記コンピューティングシステムにインストールする工程と、
前記コンピューティングシステムが、次いで、第2バージョンの前記ソフトウェアと第2の復号キーとを含む暗号化されたソフトウェアパッケージを受信する工程と、
前記コンピューティングシステムが、暗号化された前記ソフトウェアパッケージを、以前に受信した前記第1の復号キーによって復号する工程と、
前記コンピューティングシステムが、前記第2バージョンの前記ソフトウェアを前記第1バージョンの前記ソフトウェアと置き換えるよう、前記コンピューティングシステムにインストールする工程と、を含み、
さらに、
前記コンピュータシステムが、第3バージョンの前記ソフトウェアと第3の復号キーとを生成する工程と、
前記コンピュータシステムが、前記第3バージョンの前記ソフトウェアと前記第3の復号キーとを暗号化する工程であって、前記第3バージョンの前記ソフトウェアは、前記第1の復号キーまたは前記第3の復号キーではなく、前記第2の復号キーを用いて前記コンピューティングシステムのために復号されるように構成される工程と、
前記コンピュータシステムが、暗号化された前記第3バージョンの前記ソフトウェアと暗号化された第3の復号キーとを、前記コンピューティングシステムに送信する工程と、
を含み、
暗号化されたバージョンの前記第1の復号キーと暗号化された前記第2の復号キーとは、暗号化された前記第3バージョンの前記ソフトウェアおよび暗号化された前記第3の復号キーとともに、前記コンピュータシステムから前記コンピューティングシステムに送信される、方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/670,122 US12118091B2 (en) | 2022-02-11 | 2022-02-11 | Methods for securely updating software |
US17/670,122 | 2022-02-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023118039A JP2023118039A (ja) | 2023-08-24 |
JP7431899B2 true JP7431899B2 (ja) | 2024-02-15 |
Family
ID=87558692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022125545A Active JP7431899B2 (ja) | 2022-02-11 | 2022-08-05 | ソフトウェアを安全に更新する方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12118091B2 (ja) |
JP (1) | JP7431899B2 (ja) |
CN (1) | CN116628644A (ja) |
TW (1) | TWI824489B (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022507151A (ja) | 2018-11-12 | 2022-01-18 | サードウェイブ,インコーポレイティド | 安全な無線ファームウェアアップグレード |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9087200B2 (en) * | 2009-12-22 | 2015-07-21 | Intel Corporation | Method and apparatus to provide secure application execution |
CN102547620A (zh) | 2010-12-30 | 2012-07-04 | 同方股份有限公司 | 一种移动支付系统及其更新密钥的方法 |
US8839363B2 (en) * | 2011-04-18 | 2014-09-16 | Bank Of America Corporation | Trusted hardware for attesting to authenticity in a cloud environment |
US10091197B2 (en) * | 2015-01-16 | 2018-10-02 | Digimarc Corporation | Configuring, controlling and monitoring computers using mobile devices |
EP3284003B1 (en) * | 2015-04-14 | 2021-02-24 | Gigavation, Inc. | Paravirtualized security threat protection of a computer-driven system with networked devices |
US11989332B2 (en) * | 2016-08-11 | 2024-05-21 | Intel Corporation | Secure public cloud with protected guest-verified host control |
US11461485B2 (en) * | 2016-08-12 | 2022-10-04 | ALTR Solutions, Inc. | Immutable bootloader and firmware validator |
US10397186B2 (en) * | 2017-10-06 | 2019-08-27 | Stealthpath, Inc. | Methods for internet communication security |
US10855478B2 (en) | 2018-08-13 | 2020-12-01 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method and apparatus for protecting embedded software |
CN112955869A (zh) * | 2018-11-08 | 2021-06-11 | 英特尔公司 | 功能即服务(faas)系统增强 |
US20210377016A1 (en) | 2020-05-29 | 2021-12-02 | EMC IP Holding Company LLC | Key rollover for client side encryption in deduplication backup systems |
US11431488B1 (en) * | 2020-06-08 | 2022-08-30 | Pure Storage, Inc. | Protecting local key generation using a remote key management service |
CN113805908B (zh) | 2020-06-17 | 2024-09-13 | 瑞昱半导体股份有限公司 | 固件更新系统和方法 |
US11627123B2 (en) * | 2020-10-13 | 2023-04-11 | Oracle International Corporation | Techniques for simultaneously accessing multiple isolated systems while maintaining security boundaries |
US20220207155A1 (en) * | 2020-12-26 | 2022-06-30 | Intel Corporation | Instruction support for saving and restoring key information |
US11570010B2 (en) * | 2020-12-26 | 2023-01-31 | Intel Corporation | ISA accessible physical unclonable function |
US11728974B2 (en) * | 2021-01-29 | 2023-08-15 | Salesforce, Inc. | Tenant-based database encryption |
KR20240005674A (ko) * | 2021-02-04 | 2024-01-12 | 퀀텀 디지털 솔루션즈 코포레이션 | 사이퍼제닉스 기반 생태계 보안 플랫폼들 |
US11783062B2 (en) * | 2021-02-16 | 2023-10-10 | Microsoft Technology Licensing, Llc | Risk-based access to computing environment secrets |
-
2022
- 2022-02-11 US US17/670,122 patent/US12118091B2/en active Active
- 2022-04-18 TW TW111114687A patent/TWI824489B/zh active
- 2022-05-12 CN CN202210517318.1A patent/CN116628644A/zh active Pending
- 2022-08-05 JP JP2022125545A patent/JP7431899B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022507151A (ja) | 2018-11-12 | 2022-01-18 | サードウェイブ,インコーポレイティド | 安全な無線ファームウェアアップグレード |
Also Published As
Publication number | Publication date |
---|---|
TW202333076A (zh) | 2023-08-16 |
US12118091B2 (en) | 2024-10-15 |
US20230259628A1 (en) | 2023-08-17 |
TWI824489B (zh) | 2023-12-01 |
CN116628644A (zh) | 2023-08-22 |
JP2023118039A (ja) | 2023-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4510373B2 (ja) | 共有名を用いてコンポーネントにセキュリティを提供するシステムおよび方法 | |
US7774596B2 (en) | System and method for updating firmware in a secure manner | |
JP3982857B2 (ja) | 動的にリンクされた実行可能モジュールの使用を保護するシステム及び方法 | |
US8176337B2 (en) | Computer object code obfuscation using boot installation | |
US8627086B2 (en) | Secure loading and storing of data in a data processing device | |
JP4112033B2 (ja) | 信頼されたソースからの検証不能プログラムを使用するための機能を有する検証可能プログラムを実行するシステム及び方法 | |
US8176333B2 (en) | Method and apparatus for protecting external call references | |
JP2008516317A (ja) | データ処理装置へのデータのセキュリティ上安全なロード及び格納 | |
CN111611593A (zh) | 安全数据处理设备 | |
WO2014150478A1 (en) | System and method for managing and diagnosing a computing device equipped with unified extensible firmware interface (uefi)-compliant firmware | |
BRPI0715277A2 (pt) | sistema de computaÇço e mÉtodo de mudanÇa de chave compartilhada | |
US20210004498A1 (en) | Virus immune computer system and method | |
WO2016201853A1 (zh) | 加解密功能的实现方法、装置及服务器 | |
WO2023279698A1 (zh) | 数据传输方法、系统、计算机设备及存储介质 | |
US20020169976A1 (en) | Enabling optional system features | |
JP7431899B2 (ja) | ソフトウェアを安全に更新する方法 | |
EP3667505A1 (en) | Memory system with an incremental hashing operation and method | |
CN117313046A (zh) | 一种代码加固方法、代码加载方法、设备及介质 | |
WO2023162075A1 (ja) | ソフトウェア更新システムおよびソフトウェア更新方法 | |
US11977760B1 (en) | Secure data and instruction loading | |
US20230049508A1 (en) | Establishing trust between applications in a computing environment | |
KR20200017122A (ko) | 코드 체인 검증을 이용한 코드 보호 방법 및 시스템 | |
KR20190030406A (ko) | 파일 백업을 통제하는 시스템 | |
CN113918986A (zh) | 一种基于安卓系统的密钥存储方法及装置、数据加解密方法 | |
KR20230170308A (ko) | 임베디드 장치, 그 장치에서의 부팅 방법, 및 암호화 펌웨어 생성 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220805 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231227 |
|
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: 20240116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7431899 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |