Address encoding apparatus, address encoding method and address encoding program
AssigneeMatsushita Electric Industrial Co., Ltd.
InventorsToshiyuki Ishioka, Tomohiko Kitamura, Hideyuki Kanzaki
Life of this patent
Estimating the term…
Abstract
Even when an address, which is output from a processor to a memory via an address bus, is scrambled, the address that the processor accesses immediately after reset can be obtained by monitoring the bus, and so there was a possibility that a scrambling key used for scrambling could be deciphered relatively easily. In this invention, a non-encoded area is set in which addresses are not encoded, in an address space. An encoding unit encodes the input address based on the input address and set non-encoded area. For example, addresses that can be obtained easily by monitoring the bus are placed in this non-encoded area. By doing this, security is improved.
Claims28
An address encoding apparatus that converts an internal address to an external address and outputs the external address, and that comprises:
- a non-encoded-area setting unit that sets a non-encoded area, in an internal address space, in which internal addresses are not encoded;
- and
- a conversion unit that outputs an external address which is an internal address that have been encoded based on said internal address and said non-encoded area.
An address encoding apparatus that scrambles an address and comprises:
- a non-encoded-area setting unit that sets into an area specified by upper specification bits of an address in an address space a non-encoded area in which addresses are not scrambled;
- an address-comparison unit that determines whether an input address is contained in an encoded area that is not an area in said address space other than said non-encoded area, or in said non-encoded area;
- and
- an encoding unit that scrambles bits of an input address except said specification bits only when it is determined that said input address is contained in said encoded area.
An address encoding apparatus that scrambles an address and comprises:
- an encoding-process unit that scrambles an input address;
- a non-encoded-area setting unit that sets a non-encoded area, in an address space, in which addresses are not scrambled;
- an address-comparison unit that determines whether said input address is contained in an encoded area that is an area in said address space other than said non-encoded area, or in said non-encoded area, and determines whether said scrambled address is contained in said encoded area or in said non-encoded area;
- and
- an output-selection unit that selects said scrambled address from among said input address and scrambled address only when it is determined that said input address is contained in said encoded area and that said scrambled address is contained in said encoded area.
An address encoding apparatus comprising:
- a page-size setting unit for setting a RAM page size;
- and
- an encoding unit that sets a number of non-scramble bits that are not scrambled, based on the setting of said page-size setting unit, and scrambles bits of said input address except for upper bits equal to the number of non-scramble bits.
An address encoding method that converts an internal address to an external address and outputs the external address and that comprises:
- a step of determining whether an input internal address is contained in a non-encoded area that is set in an internal address space and in which internal addresses are not encoded, or in an encoded area that is an area in said internal address other than said non-encoded area;
- and
- a step of encoding said input internal address to an external address in an area, in an external address space, that corresponds to said encoded area only when it is determined that said input internal address is contained in said encoded area.
An address encoding method that converts an internal address to an external address and outputs the external address and that comprises:
- a step of encoding an input internal address;
- a step of determining whether said input internal address is contained in a non-encoded area that is set in an internal address space and in which internal addresses are not encoded, or in an encoded area that is an area in said internal address space other than said non-encoded area, and determines whether said encoded internal address is contained in a corresponding area, in an external address space, that corresponds to said non-encoded area, or in a non-corresponding area that is an area in said external address space other than said corresponding area;
- and
- a step of selecting said encoded internal address from among said input internal address and encoded internal address only when it is determined that said input internal address is contained in said encoded area and that said encoded internal address is contained in said non-corresponding area.
An address encoding method of scrambling an address and comprising:
- an address-comparison step of determining whether an input address is contained in a non-encoded area that is set into an area specified by upper specification bits of an address and in which addresses are not scrambled, or in an encoded area that is an area in said address space other than said non-encoded area;
- and
- an encoding step of scrambling bits of an input address except said specification bits only when it is determined that said input address is contained in said encoded area.
An address encoding method of scrambling an address comprising:
- a step of scrambling an input address;
- a step of determining whether said input address is contained in a non-encoded area that is set in an address space and in which addresses are not scrambled, or in an encode area that is an area in said address space other than said non-encoded area, and determining whether said scrambled address is contained in said encoded area or in said non-encoded area;
- and
- a step of selecting said scrambled address from among said input address and scrambled address only when it is determined that said input address is contained in said encoded area and that said scrambled address is contained in said encoded area.
An address encoding method comprising:
- a determining step of determining a number of non-scramble bits that are not scrambled, based on a RAM page size;
- and
- an encoding step of scrambling bits of an input address except for upper bits equal to the number of non-scramble bits.
A program which makes a computer execute:
- a step of determining whether an input internal address is contained in a non-encoded area that is set in an internal address space and in which internal addresses are not encoded, or in an encoded area that is an area in said internal address space other than said non-encoded area;
- and
- a step of encoding said input internal address to an external address in an area, in an external address space, that corresponds to said encoded area only when it is determined that the input internal address is contained in said encoded area.
A program which makes a computer execute:
- a step of encoding an input internal address;
- a step of determining whether said input internal address is contained in a non-encoded area that is set in an internal address space and in which internal addresses are not encoded, or in an encoded area that is an area in said internal address space other than said non-encoded area, and determines whether said encoded internal address is contained in an area, in the external address space, that corresponds to said non-encoded area, or in a non-corresponding area, that is an area in said external address space other than said corresponding area;
- and
- a step of selecting said encoded internal address from among said input internal address and encoded internal address only when it is determined that said input internal address is contained in said encoded area and that said encoded internal address is contained in said non-corresponding area.
A program which makes a computer execute:
- a step of determining whether an input address is contained in a non-encoded area that is set into an area specified by upper specification bits of an address and in which addresses are not scrambled, or in an encoded area that is an area in said address space other than said non-encoded area;
- and
- a step of scrambling bits of said input address except said specification bits only when it is determined that said input address is contained in said encoded area.
A program which makes a computer execute:
- a step of scrambling an input address;
- a step of determining whether said input address is contained in a non-encoded area that is set in an address space and in which addresses are not scrambled, or in an encode area that is an area in said address space other than said non-encoded area, and determining whether said scrambled address is contained in said encoded area or in said non-encoded area;
- and
- a step of selecting said scrambled address from among said input address and scrambled address only when it is determined that said input address is contained in said encoded area and that said scrambled address is contained in said encoded area.
A program which makes a computer execute:
- a step of determining a number of non-scramble bits that are not scrambled, based on a RAM page size;
- and
- a step of scrambling bits of an input address except for upper bits equal to the number of non-scramble bits.
Dependencies are inferred from the claim text.