Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Hardware

AMI Guy Talks About TCPA, Palladium, and Other BIOS Issues 464

We ran the "Call for questions" Monday, January 13, under the headline, Discuss BIOS and Palladium Issues With an AMIBIOS Rep. Note that Brian Richardson, AMI sales engineer, is a real engineer, not just a salesperson, and is also a staunch Slashdot reader who knows we have low tolerance for PR whitewashes around here. Brian's answers are real, not laundered, and he responded not only to the 10 questions we sent him but also to some he felt deserved answers even though they weren't moderated all the way up. Please note that in much of this interview he is speaking as "Brian Richardson, individual," and that his opinions do not necessarily reflect those of AMI's management. With that said, be prepared to learn a lot about the BIOS business, and how TCPA and Palladium relate (and don't relate) to it.

Preface:

I thought it might be handy for the audience to know who's handling their questions ...

My name is Brian Richardson. I work for American Megatrends, Inc . (AMI). AMI is a privately held company located in Norcross, GA (just north of Atlanta). We employ approximately 400 people worldwide (about 200 in the United States).

I am a "BIOS Sales Engineer", responsible for handling technical issues related to selling and marketing the AMIBIOS8 , our latest BIOS code revision. This includes writing whitepapers, demonstrating products, answering technical sales questions, speaking at industry conferences and handling requests from the press that may require more than a passing knowledge of technology (like this one).

I started at AMI in 1996. I've been in this job for two years. Before that I wrote BIOS code for our notebook team and helped design our Software Quality Automated Testing (SQuAT) system. I also maintain several company intranets and our Bugzilla server, used for tracking bugs during BIOS development.

In spare time, I serve on the board of directors of Tech Corps Georgia. I also managed the Hardware section of linux.com (old articles are archived at linux.omnipotent.net).

This interview covers BIOS in general, but the questions have a heavy slant towards TCPA & Palladium. I'm sure I won't address everybody's TCPA related questions here. AMI has a "TCPA and AMIBIOS8" whitepaper at our website which discusses AMI's implementation. There are also links to other information on TCPA.

To answer some of the more unusual questions that didn't make it into the Top 10:

  • You use XOR to clear a register instead of a simple MOV instruction because of the instruction size (XOR uses a two byte opcode, MOV uses three bytes). The savings in space really adds up after a while.

  • We haven't finished 1394 boot yet, but we do have USB & USB 2.0 boot support

  • I don't know, I've never met Satan ... but I have been to WinHEC

Now on to the questions ...

1) On the Exclusionary Uses of TCPA

by the-banker

Is it (will it be) possible to use TCPA to effectively lock-out certain operating evironments from various services (software, media, etc) solely because the operating environment is not backed by a company, and has no mechanism for paying certification fees and licenses? Specifically, could TCPA be used against free OS's like Free/Open/netBSD and Linux to prevent those users from accessing the same content users of commercial OS's can?

Let me start out by reminding the audience I am not a security expert. I have been reading specs like a madman the past week, expecting such a question from the /. audience. I'm also not a professional TCPAadvocate ... my understanding of TCPA is in relation to what AMIBIOS must do to enable the TPM(a hardware component required by the spec). I'm going to refer toTCPA specifications & FAQ a lot, so verifying my answers will be an exercise left to the reader.

Your question brings up a lot of common issues people seem have with TCPA:

  1. What does TCPA do?

  2. What does AMIBIOS have to do with TCPA?

  3. What is the licensing structure?

  4. Can open-source software make use of TCPA?

  5. Does this have anything to do with Digital Rights Management (DRM)?

Let's see if Brian can hash his way through these items in some sort of order ...

a) What does TCPA do? TCPA is an industry specification that defines mechanisms for "trusted" client/server interaction ("trust" and "security" are two different things).

TCPA works in a very similar fashion as other key-based security mechanisms (SSH, PGP, SSL). Transmissions are secured by hashing against a key. Keys tend to be very long (128 bits or more), so it is difficult for "bad people" to guess your key. In many mechanisms, the key also serves to identify the user (proof that they are who they say they are). This key is often contained in a file or some sort of removable media, like a smart card.

TCPA adds a few elements to this security scheme:

  1. More keys and longer keys (some keys are 160 bits, most are 2048 bits)

  2. A crypto-processor to speed key computations

  3. Secure key storage on the system mainboard

  4. Establish platform "trust". The two excerpts below are taken from the TCPA FAQ:
    12. What do you mean by trust?
    The ability to feel confident that the software environment in a platform is operating as expected. This is done by reliably measuring and reliably reporting (using aliasing) information about the platform.

    Another such benefit is improved control of access to data. Previously such access has depended upon authorization or authentication. Now such access can also be linked to the state of the software in the platform. This enables the denial of access to data if rogue software, such as a virus, is introduced into a platform, because such introduction necessarily changes the software state of the platform.

The crypto-processor and key storage are provided by the Trusted Platform Module (TPM). A TCPA enabled system will have a TPM on the motherboard. This TPM can be disabled, as per TCPA specification, if the user wants to opt-out.

One concern is that TCPA is equivalent to a unique identifier on your computer, which causes a large number of privacy concerns. There's a large section of the FAQ (Item #13) that covers this topic:

The solutions support privacy principles in a number of ways:

1. The owner controls personalization.

2. The owner and user control the trust relationship.

3. Provides private object storage and digital signature capability.

4. Private personalization information is never exposed.

5. User keys are encrypted prior to transmission.

6. Supports multiple certificate authorities giving the user choice.

It is also important to know what the solutions are not:

1. They are not global identifiers.

2. They are not personalized before user interaction.

3. They are not fixed functions - it can be disabled permanently.

4. They are not controlled by others (only the owner controls).

b) What does AMIBIOS have to do with TCPA? The TPM requires initialization during BIOS POST. This allows what they refer to as "metrics" to be stored that help establish that the BIOS & OS can be trusted (i.e. haven't been h4x0r3d). Our "TCPA & AMIBIOS8" whitepaper has more information.

c) What is the licensing structure? There isn't one. From the TCPA FAQ:

10. What are the licensing and/or royalty arrangements for the technologies outlined by the TCPA specification?

The TCPA spec is currently set up as a "just-publish" IP model.

d) Can open-source software make use of TCPA? Yes. From the TPM FAQ:

18. Does the TCPA support open source systems?

Yes. The ability to use the TPM functionality is available to all developers of software. An open source project could determine to use TPM functionally today. The concepts of measurement, protected storage and attestation of measurements are fundamental concepts that hold true for any type of OS or application. The platforms that support TCPA today are not limited to only one OS and if open source developers provided applications that used the TPM functionality they would find support.

Remember ... SSH, GPG and SSL aren't any less secure because they're open-source. The whole point of key-based security is that you can't see the data without the key, even if you know the decryption mechanism.

e) TCPA & DRM? This question wasn't directly asked, but it's on everybody's mind ...

TCPA has been connected to proposed legislation that would require "content protection" on most digital media devices (including PCs).

While somebody could write a DRM application using the TPM, they could also write one without it. Non-DRM applications can be developed under TCPA. The example I thought of is an improved VPN for companies that are super-paranoid about their data (think about it ... 2048 bit keys, no hash load on the system CPU, ability to tie accessibility to a unique platform).

Adding TCPA & a TPM to a system doesn't automatically add DRM to a platform. Some application has to tie the TPM to the "media" being "protected". Merely adding TCPA to AMIBIOS doesn't constitute DRM:

Captain: What happen?
Mechanic: Somebody set up us the DRM.
Cats: How are you gentlemen !! All your BIOS are belong to us.

2) Advantage

by TedCheshireAcad

What is the advantage to me, a Linux using consumer, to buying your product over those of your competitors?

First, the short answer: a proven and stable product based on nearly two decades in the PC industry, with support for the latest technology.

Now, the long answer: Let me give a little background on how BIOS gets onto your average motherboard. I know that's not what you asked, but it will explain product design and benefits to the end user.

AMI markets AMIBIOS directly to the motherboard manufacturer, who we see as the actual "BIOS customer". So many of our features are oriented to motherboard manufacturers or BIOS developer. The end result of using our codebase is to produce a stable BIOS for the motherboard manufacturer's customer (that's you, the end user).

You can break these down three major areas:

  1. Code structure (ease of development, tools, source management, etc.)

  2. Technology support (OS, chipsets, processors, peripherals, etc.)

  3. Support after the sale

a) The "BIOS core" is a different code component from silicon support code. The same applies to our technology support modules (ACPI,USB, TCPA, ASF, SMBIOS, APM, etc.). This allows board developers to pick just the code they need for their system. An embedded Linux board for an industrial controller has different BIOS requirements than the typical "white box" motherboard (OS compatibility, supported hardware, power management, etc.).

AMI also developed a custom GUI to make BIOS development easier (Visual eBIOS, or VeB). Believe it or not, most BIOS development happens at the DOS prompt in x86 assembly code. We found it harder to get new engineers comfortable with DOS-based development (DOS is 22 years old, so is the average college graduate). VeB also incorporates source control, so engineers manage the code from the same place they edit the code.

b) Technology support is pretty broad. We have to work on new chipsets, technologies and devices while keeping backwards compatibility for older hardware we'd rather forget about. This involves a lot of work with hardware vendors (Intel, AMD, ServerWorks, nVIDIA, etc.), software companies (Microsoft, RedHat, etc.) and technical specification groups (there's one for most every acronym out there). As you might imagine, there's a lot of testing to make sure all these things play well together.

Technology support also applies to features that don't have cool three letter acronyms. One example of this is "Fast POST" (POST is Power On Self Test, BIOS execution from power-on to OS bootloader). There was customer demand to boot the PC faster. This pressure came from Microsoft for a better overall user experience (yes, the obvious joke is "boot speed doesn't matter when you don't have to reboot so often" ... but I'm taking the high road). So now Fast POST is standard in AMIBIOS8.

c) "Service after the sale" sounds like something you hear in a men's clothing store, but it applies to BIOS as well. Customers expect bugs to be fixed, new features to be added, and a voice on the phone when they can't quite figure out which bit goes where. Some customers develop using our source code (as a licensee), while others use our engineers to create their BIOS (as contractors).

That might have been more of a sales pitch than you were expecting (sorry). There's more product information at the AMIBIOS website.

3) Performance hit

by oliverthered

I assume that data pathways will be signable or encrypted in some way. What performance hit will the [operating system] take when using trusted system? e.g. How much extra data is added to form a signature, what methods are used for signing. and how will this benefit the end-user?

A: I assume this is in reference to TCPA, so I'll use what I know of that spec to answer the question.

Everybody who's used SSH or SCP has experienced computation overhead from data encryption. That's the main reason TCPA has the Trusted Platform Module (TPM). Along with storing keys, it had a dedicated crypto-processor to handle random number generation, hashing and digital signatures. Due to the size of a security key, these hash computations add overhead (overhead == delay).

In TCPA, the hash/generation stuff is offloaded to the TPM. Since this dedicated processor does the work, the main system processor doesn't have to. The TPM is also a function specific processor, meaning it's optimized for security tasks (translation: faster than your general purpose x86 CPU). This is a good thing, since most of the TPM keys are 2048 bits.

If you look at Transmeta's recent security press release, you see the same functionality. Although this story was reported as Transmeta releasing DRM, they are actually providing an integrated crypto-processor in the TM5800. This function-specific processor is accessible through an extension to the x86 instruction set (similar to MMX or 3DNow!). The difference between this & the TPM is how you access the functions.

Sidenote: does any open-source developer want to check if these extensions could be used to improve SSH, SCP or GPG performance?

The signing methods and potential benefits are outlined in the TCPA specification and FAQ.

4) Why are BIOSes closed source?

by mcelrath

Having recently had a lot of trouble with my laptop's BIOS, on an issue that I could most certainly fix if I had access to the code... I started wondering what benefit AMI and other vendors have by keeping BIOS code secret? I can think of none whatsoever.

An open-source TCPA BIOS might go a long way to alleviating the fears of the open source community, since we could see exactly what it is you're forcing on us. And hey, no doubt you'd get a few bug-fixing patches in return for your efforts.

So, is an open-source BIOS a possibility? (TCPA or otherwise)

Just to get this out of the way:

  1. AMI isn't forcing anybody to take any product offering, TCPA or otherwise.

  2. TCPA doesn't block open-source (see #18 in the TPM FAQ @ trustedpc.org).

  3. The TPM Memory Present (MP) driver BIOS uses during POST isn't open-source (it's provided by the TPM manufacturer).

This was the focus of a linux.com article several years back. There's plenty of advantages to open-source, but there are two main reasons for closed source BIOS: Legal Restrictions & Economics.

The creation of an open-source BIOS isn't limited by the BIOS itself, but by the information required to create the BIOS. Let me take a second and explain how the BIOS works at a programming level. This may seem like a tangent, but it helps explain issues faced by open-source BIOS developers (just think of it as Good Eats for BIOS).

There's three major components of any BIOS:

  1. Core Routines

  2. Silicon Support Routines

  3. Board Specific Routines

The core can be equated to the kernel of an operating system, except that it comprises a larger percentage of the codebase (both in functionality and actual code size). This is everything that's generic from one BIOS to the next.

Silicon Support applies to the chips on the board initialized by the BIOS (processor, northbridge, southbridge, I/O, flash). BIOS core routines will call silicon routines when hardware configuration is required. These routines are created according to an API, so swapping any of these code modules doesn't affect the structure of the core.

Board Specific Routines represent the motherboard manufacturer's configuration. If you look at motherboards from two manufacturers that use the exact same silicon components, you might expect the BIOS from one board to work on the other ... but you'd be wrong. The small hardware changes that differentiate Board Vendor A from Board Vendor B have a large impact on the BIOS. PCI Interrupt routing, chipset General Purpose I/O pins and other parts of vendor's "secret sauce" go into this BIOS layer.

"Fine," you say, "but what does this have to do with open-source BIOS?"

I'm sure you've noticed that there's a BIOS ready for a chipset the day it is announced. AMI and other BIOS companies don't just come along the day of the silicon release and slap a BIOS together. We work hand-in-hand with the chipset vendor for months before the release. They send us an alpha board, we boot it ... they send us a beta board, we add more features ... they send us final silicon, we validate it.

Now remember that this hardware isn't public when AMI gets it. AMI has to sign a has to sign a Non-Disclosure Agreement (NDA) to get a development board or advance specifications, which means we can't tell anybody what we know about the product. Vendor-supplied reference code (memory detection, bridge configuration, etc.) is also covered under NDA. AMI also signs NDAs to cover the motherboard manufacturer's confidential information.

So the BIOS that ends up on those motherboards is constructed using information we can't release to any party not covered by NDA. You might be able to understand how this doesn't fit into to the open-source model.

So an open-source BIOS developer has a big dilemma ... they need access to information, but legally can't include it in open-source code. Many chipset vendors provide information after their chipset is released, but not many board vendors hand out schematics. Reverse engineering might reveal this information, but some items controlled by the BIOS can damage the system if not set properly (data corruption, overheating, smoke, flame, etc.) ... so random bit flipping may not be the answer. And nobody wants to get into the legal issues of using disassembled code in place of reverse engineering.

I think the closing statement from the linux.com LinuxBIOS article still applies ... "The real question isn't if an open source BIOS will ever work on a handful of platforms, but if it will ever become viable for mass market across many platforms."

There's another issue that comes into keeping AMIBIOS source code closed (or for that matter anycommercial source code). This has to do with economics.

This is where I change hats from "AMI company representative" to "average techno-Joe". The next few paragraphs are my feelings, not necessarily those of my employer or anybody else on the planet.

I personally like the idea of open-source, and I use a lot of open-source programs at home and work (Mozilla, OpenOffice, RedHat, Mandrake, ClarkConnect, PostNuke, perl, php, Bugzilla). But I also buy and use regular closed-source programs (my DV editing and VCD/DVD authoring tools). The choice isn't whether or not the source is accessible, but if the tool fits my needs.

In either case, those programs are the product of somebody's time (in most cases, a large group of bodies). They're a conglomeration of people's ideas, a manifestation of their talents, and monetary investment (open-source isn't free to develop, somebody bought that computer hardware). Those people, and whatever company funded their efforts, have the choice to distribute their product anyway they choose.

If a company wants to go open-source, then they can't make money selling source or seat licenses. RedHat doesn't make money selling code, they make money selling a code package and support for that package. My company doesn't operate that way ... in the realm of BIOS, money is made licensing source and selling per-board licenses. That's the way every BIOS vendor makes money.

That doesn't mean there's no open-source within AMI (perl/php/PostNuke/apache intranets, Bugzilla bug tracking, ucLinux on our MegaRAC G2 management card). But the choice to go open-source is done product by product, company by company.

In an industry driven by innovation, many companies feel they loose competitive advantage by opening their source ... if everybody has access to their ideas, then why buy their product over another? That mentality may not fit well with open-source, but these inexpensive computers we currently enjoy are the product of market forces. If there was no profit in computing, would Intel and AMD even exist?

Thus ends my personal views ... back to the actual interview ...

5) Technical Explanation of BIOS Settings

by doppleganger871

I have been doing research on BIOS settings for many years, and I have found good articles on what the settings do, and how to tweak them for the best performance/stability mix. But, I would like to know if the BIOS manufacturer itself would be able to provide an in-depth manual of all the BIOS settings, and what exactly they do. All the manuals that come with motherboards are very short on explanations, and I would like to see someone within the company actually explain to us hardware enthusiasts the down 'n dirty, nitty gritty, dirt under the rug, needle in a haystack type of information that we could use to make our computers run the absolute best they can. Because, as we all know, optimizing software and firmware is a lot cheaper than upgrading parts.

A: I wish I had a great answer for this. Despite my verbose nature, there's not enough room in this interview to discuss every setting that is or will be in the BIOS. Some of the basic settings are covered in BIOS setup manuals, and a few websites do a good job of explain the ugly details. The problem is that those "cryptic" options change for every chipset on the market.

We're always looking at product improvements, and that includes documentation. Our setup manual is a generic template, designed for the motherboard customer as a starting point for their manuals. The "chipset specific setup information" is part of a new documentation effort within AMI (we talked about in meetings this week).

Outside of that, optimizing settings for a specific combination of board, memory and processor is still trial and error (tweak, reboot, benchmark, swear ... tweak, reboot, benchmark, swear ...). I don't know if better documentation will change that.

6) "Trusted" computer

by michael

A few related questions:

a) Isn't the goal of "trusted computing" to allow entities other than the owner of the computer to control what the owner does with his/her hardware? For example, "trusted computing" applied to music implies that the music publisher gains control over what the computer owner can do with the music data files. Isn't this the exact opposite of "trust" as that word is normally used - a trusted computer is one that can't be trusted by the computer's owner to perform the tasks asked of it, because other entities have veto power over the computer's actions?

b) Companies like AMI have repeatedly claimed that they aren't part of Palladium. However, isn't it true that without AMI's trusted BIOS (and all the other components necessary to build a "trusted computer"), Palladium wouldn't work? Why does AMI think they shouldn't be held responsible for enabling Palladium and similar schemes?

c) In what way does AMI benefit, financially or otherwise, from introducing a BIOS designed to make the computer it is installed in less useful to the purchaser of the computer? Please avoid saying that this is "optional"; AMI wouldn't create this BIOS if it wasn't intended to be used.

A: Let's take these in order ...

a) The Goal Of Trusted Computing: Despite the fact my company is a TCPA member company, the concept of trusted computing wasn't created by AMI (we're not even a founding member).

As far as the goals of the specification, I'm not the designated defender of TCPA. I'll let theTCPA speak to their own goals. You seem to automatically equate "trust" to DRM, but that's not what I get from reading the specifications and related materials (see part (e) of my answer to the first question).

b) Palladium & AMIBIOS: You are correct in understanding that Palladium will require some amount of BIOS support. The reason we keep saying "we're not a part of Palladium" is because Palladium doesn't exist in the marketplace ... it's a Microsoft initiative being developed under guarded care in a small circle of developers. It's not a public specification like TCPA, so our role in this scheme is unknown. My understanding is that we'll get a specification from Microsoft whenever they're ready to involve the BIOS developers, but I don't know under what terms it will be made public (my Magic 8 Ball says "Ask Again Later").

c) Financial Benefit: Yes, there is a financial benefit to supporting a technology that our customers ask for ... they continue to be our customers. Not every customer has asked for TCPA yet, but enough large customers have asked to make it financially reasonable. Keep in mind that this is just one more feature we offer, which the customer may or may not want to take.

So when a customer (or customers) comes to AMI and says "Our next motherboard will support TCPA, and we need a BIOS module", AMI has two choices:

  1. Say yes, develop the code, make the customer happy

  2. Say no

If we select option #2 (for whatever reason), our customer has one of two responses:

  1. "No problem, we licensed your code ... we'll add the support ourselves."

  2. "Too bad, you have a competitor who offers this support ... it was nice doing business with you."

Option B is an obvious downer, because customers give us money. Money can be exchanged for goods and services, like food ... and I find food to be an important part of a nutritious breakfast.

Option A presents another series of problems. Yes, we kept the customer, but now we have a forked version of our code floating around. If only one customer wants this feature, then it's not a big deal. If twenty customers want this feature, then there's twenty code forks. They're still our customers, so they expect support ... and this is a support nightmare.

Our decision to develop a TCPA option was driven by sufficient demand for the technology. We're not the only company in the marketplace offering TCPA. Phoenix, our largest competitor, has been working on TCPA for quite sometime. IBM is already shipping notebooks with TPM hardware (which run Linux, according to LinuxCare Labs). If AMI customers don't ship TCPA, they we spent time developing a feature nobody wanted (it wouldn't be the first time, but that's happens in cutting edge development), but we have customer goodwill because we're responsive to their needs. It's the same in our eyes as developing support for a chipset ... if nobody likes the chipset, then they don't buy the code to support it.

What we have done by choosing TCPA over any number of proprietary security solutions is present an option that isn't closed to third parties. If we enable TCPA on a board and you want to make use of it, read the spec and develop accordingly.

7) Hardware vendors

by cybermace5

Since a BIOS is only part of a motherboard: what steps will hardware vendors have to take, in order to incorporate your BIOS? Will they have to adhere to certain hardware design rules or controls in order to maintain the TCPA? Is there going to be a licensing procedure for hardware manufacturers?

A: Hardware vendors don't have to do much for AMIBIOS to support TCPA. The TCPA code module gets included as an add-on. The hardware manufacturer has to obtain a TPM to place on the motherboard, but that's available from a third party vendor.

The TCPA specification doesn't mandate licensing (see point #10 in the TCPA FAQ). It's not an AMI specification, so it's not our job to check for compliance. Third-party labs will most likely perform platform certification based on TCPA specifications.

8) Windows override

by Forkenhoppen

I have a question; on previous occassions on VIA hardware I've owned, I've noticed that occasionally, Windows will enable a feature even though I have turned it off in the BIOS.

My question is this; if I have TCPA disabled in my BIOS, will Windows drivers abide by this? Or will they still be able to use aspects of the BIOS originally put in place for use by TCPA even though I have it shut off?

What plans are in place to keep a Windows driver from hijacking TCPA-related information for it's own purposes?

A: A lot of that depends on how the motherboard vendor implements the TPM disable option mandated by the TCPA specification.

The TCPA specification has many options for disabling the TPM. It can be a BIOS setup question, jumper or software driven. The first two would be really hard to override in software (unless there's a robotic hand attached to the USB port). The third option could present a software override, but you would have to reboot to have the TPM enabled at power-on to set proper "root of trust" (you can't just turn it on midstream, since a TCPA system is supposed to hash the BIOS & bootloader).

9) TCPA & Palladium

by ignipotentis

Perhaps you can clarify the differences between the two (TCPA & Palladium). After reading up on both of them, i still find that they seem to be pretty much the same, just marketed differently.

A: From the information that's been made public concerning Palladium, I can try to elaborate on this. As I understand it, the major differences are listed below:

  • Curtain Memory

  • Control of Specification

  • Intellectual Property (IP) Rights

The last two points are pretty self explanatory. Palladium it not a public specification, there may be licensing issues. TCPA is a public document created and reviewed by a number of different companies, with no licensing demands.

The first point is technical in nature. Here's how the Microsoft's Palladium FAQ describes "curtain memory":

The ability to wall off and hide pages of main memory so that each "Palladium" application can be assured that it is not modified or observed by any other application or even the operating system

This type of mechanism doesn't exist in TCPA, and would probably require some sort of support at the chipset level (which means it couldn't be implemented using current northbridge hardware). The total system impact isn't known, and it's any body's guess what this does to application development.

10) What do you think about Linux BIOS?

by lanner

At first, I was going to ask you about how you have cooperated, if at all, with the Linux BIOS project. After all, you often have historically cooperated with Microsoft and Novell. What are you doing to help Linux?

But then it occurred to me, if Linux BIOS was successful, it would put AMI out of the BIOS software development business. Linux BIOS is a competitor of AMI.

What is your personal perspective about Linux BIOS, and what does AMI think about it?

A: There's a lot of overlap with question #4 here. But there are two points I'd like to touch on:

  1. Cooperation with Microsoft, Novell & Linux

  2. Perspective on LinuxBIOS

a) Saying that we "cooperate" with Microsoft and Novell is misleading. AMI creates AMIBIOS for maximum hardware and software compatibility. For years, Microsoft and Novell were the primary OS vendors used by our customers. Microsoft also drives many PC specifications, and the majority of our customers use Microsoft operating systems. Development and testing are focused based on customer demand.

In the past few years, that situation has changed. Novell isn't a major consideration for our customers, but we still test compatibility. Linux is demanded by more customers, and our testing efforts have been increased to match that demand. We test RedHat, SuSe, Mandrake, Xandros, Lindows and FreeBSD by default (along with various beta distros).

Microsoft is still key to our testing and development (we test everything back to Win98). Customers still need that "Designed for Windows" sticker. But Linux is a major focus in our testing and development ... not just because we develop for compatibility, but because our customers ask for it by name.

b) In some areas, people see LinuxBIOS as competition to the other BIOS vendors.

  • As far as the source licensing (open vs. closed), see my answer to question #4.

  • In features, LinuxBIOS does some things that our BIOS doesn't (mostly in the areas of cluster management) ... AMI has advantages over LinuxBIOS as well (boot from USB/USB2, JPEG graphics as boot logo, broader chipset support, ACPI/APM power management, etc.).

  • LinuxBIOS was developed for a specific application, but has broadened ... AMIBIOS aims to offer broad support in many market segments.

  • AMIBIOS has been tested against a larger number of system configurations, works with a larger variety of hardware, and has a longer product history.

I'm not sure how others at AMI feel about LinuxBIOS, but all I have to say is "go for it". There's some neat stuff coming out of that project, and it's interesting to see what they've accomplished. Competition in the market is what makes technology improve ... one notch better than the last thing, one step ahead of the next guy.

Thus ends the interview. Thanks to Slashdot for the opportunity, and thanks to the readers for wading through the text.

This discussion has been archived. No new comments can be posted.

AMI Guy Talks About TCPA, Palladium, and Other BIOS Issues

Comments Filter:
  • by grub ( 11606 ) <slashdot@grub.net> on Friday January 17, 2003 @01:07PM (#5102540) Homepage Journal

    What is the advantage to me, a Linux using consumer, to buying your product over those of your competitors?

    Actually he (sort of) answered your question. We, as end users, are not their actual customers. Their customers are the motherboard manufacturers, we don't buy a motherboard and then pick a BIOS. 'AMI markets AMIBIOS directly to the motherboard manufacturer, who we see as the actual "BIOS customer"'

    Further down he does mention testing with various Linux distros and FreeBSD.
  • by Kourino ( 206616 ) on Friday January 17, 2003 @01:22PM (#5102631) Homepage
    Then they should have asked that. They asked "why should I buy Ami", and they got an Ami marketing pitch, more or less. Is this unusual?
  • by nuggz ( 69912 ) on Friday January 17, 2003 @01:30PM (#5102686) Homepage
    He CLEARLY states the customer is the Motherboard designer.
    They buy their product. Of course making sure their product works well for the end user is important. If their BIOS doesn't satisfy the system builders, or end users, the motherboard manufacturer wont' be happy either.
  • by SalesEngineer ( 640818 ) on Friday January 17, 2003 @01:31PM (#5102695)
    The OpenBSD project should be able to get TPM and Transmeta security extension specifications on their own. Do they need a contct name?

    And just as a reminder ... it's not AMI's security developments, it AMI's support of an industry specification.
  • Re:XOR as clear (Score:3, Informative)

    by entrager ( 567758 ) on Friday January 17, 2003 @01:35PM (#5102704)
    I learned this trick from the professor that taught me assembly. However, I think his reasoning for the use of the XOR trick is much better than "it takes less space." How about "it's much faster". By XORing a register with itself you don't need to pull anything from memory over the slow bus. A MOV instruction costs you precious bus cycles.
  • by Anonymous Coward on Friday January 17, 2003 @01:45PM (#5102779)
    While he didn't really answer that, he did somewhat address it.
    Sidenote: does any open-source developer want to check if these extensions could be used to improve SSH, SCP or GPG performance?

    The signing methods and potential benefits are outlined in the TCPA specification and FAQ.
  • I think he did... (Score:3, Informative)

    by fireboy1919 ( 257783 ) <rustyp AT freeshell DOT org> on Friday January 17, 2003 @01:47PM (#5102796) Homepage Journal
    I can't be absolutely certain what you're claiming he didn't answer because you used commas instead of periods in your last sentence, and none of the other necessary punctuation marks. Sometimes you need to use actual grammer rules to get your point across. He did explain what the benefit of the technology is.

    It can be used to uniquely identify a particular computer with a low amount of computation. It's a glorified MAC address system, but with an encryption system based upon this as well.

    I don't even see how this is even bad by itself. Is MAC bad? In addition, the only way it's going to be permanently encrypting data is if you put software on it that does that.

    If that's what you want - data that is restricted to one machine - then just make an encryption scheme that combines serial numbers of all of the components in a machine to make a hash and use that. Is TCPA a technology that enables unique identification? Yeah, but so is a friggin' turing machine.

    I won't accept a system that keeps my data from being portable. I won't use any XP product because when they're no longer supported, you won't be able to register them, and then even having the software won't mean you can use it. I won't use any DRM software that limits my rights to my files or is not portable among operating systems.

    But if I can get a coprocessor that does encryption for free when I buy my board, and I don't have to be quite so paranoid in figuring out who is who because they have one too, I'm all for it. Maybe this'll help knock out the screwed up digital certificate market.
  • Re:XOR as clear (Score:4, Informative)

    by PetiePooo ( 606423 ) on Friday January 17, 2003 @02:08PM (#5102991)
    A MOV with an immediate doesn't pull anything over the memory bus other than the instruction and operands which any operation would. However, it would need to move the immediate from the CPU's instruction cache into the ALU.

    Its still worse than XORing a register with itself, but its not as bad as you make it out to be. Really a moot point, being that XOR AX, AX is a better choice overall and MOV AX, #0 has absolutely no advantages.
  • by yerricde ( 125198 ) on Friday January 17, 2003 @02:19PM (#5103073) Homepage Journal

    The old swap trick a ^= b ^= a ^= b may have worked well on older architectures without a swap instruction, but modern processors can swap R1, R2 in one cycle as opposed to the three cycles a ^= b ^= a ^= b takes. In fact, GCC will optimize a ^= b ^= a ^= b to swap R1, R2 on such architectures.

  • by Roblimo ( 357 ) on Friday January 17, 2003 @02:33PM (#5103164) Homepage Journal
    Michael's question was modded up by normal moderators. If I use an editor-written question in an interview that does not get chosen by the same system as all other questions, it is clearly marked as a "bonus question from [editor]" or some such.

    This has only happened once or twice in over three years' worth of Slashdot reader-generated interviews, BTW.

    - Robin

  • Re:He's a weasel (Score:5, Informative)

    by SalesEngineer ( 640818 ) on Friday January 17, 2003 @02:37PM (#5103197)
    We don't have access to any released applications that make use of the TPM outside of basic test utilities. I have no real idea how the final products will work. Some of them may be good, some may suck. I gave as much information as I could based on the specs I have. I may be considered an 'authority' on BIOS, but I am far from an authority on security issues. My company got sucked into this whirlwind because of the politics of TCPA/Palladium, and I decided to do what I could to try and separate fact from fiction (I can't do anything about the paranoia, but I hear there is a pill for that). Brian Richardson (AMI)
  • Yo, cornholio (Score:3, Informative)

    by jmorris42 ( 1458 ) <jmorris&beau,org> on Friday January 17, 2003 @03:23PM (#5103613)
    [flame]

    Ever heard of Public Key Crypto? If they decide to ignore their prior promises of allowing the end user to load keys it is over. You won't need to crack the keys out of the module, the BIOS will happily SHOW them because they are the Public keys. The software vendors (i.e. M$) will have the Private keys. Think XBox.

    [/flame]
  • by DakotaSandstone ( 638375 ) on Friday January 17, 2003 @03:25PM (#5103628)
    The Intel Firmware Hub [intel.com], which contains the BIOS code on current Intel chipsets (the FLASH chip), already has a hardware RNG in it.

    I don't think many apps are using this yet. Intel has a FAQ on this technology here [intel.com], and they even have a Windows driver to support this.

  • MOV #0 != XOR != SUB (Score:3, Informative)

    by clem.dickey ( 102292 ) on Friday January 17, 2003 @03:54PM (#5103856)
    It should be mentioned that, even leaving the effect on IP aside, the three instructions
    MOV AX,#0
    XOR AX,AX
    SUB AX,AX
    are not equivalent. MOV leaves the AF bit alone, SUB sets it to a defined value (0, I think in this case), and XOR leaves it undefined. Or don't assembly hackers notice condition bits these days?
  • by waltc ( 546961 ) on Friday January 17, 2003 @04:32PM (#5104076)
    ...would ask this question.

    First of all, the modern x86 bioses are self-configuring and can be safely ignored if the end user wishes to do so. However, a bios offers *hardware configuration options* that I personally find invaluable and could not imagine doing without. Suppose that I want to adjust the motherboard voltage regulation and raise or lower the voltage the motherboard provides to the cpu, the ram, the AGP bus, I/O--etc? (Whether or not a person thinks this is "necessary" is utterly irrelevant *chuckle* so please don't go off on that silly tangent.) The fact is that these are the kinds of hardware configuration options, among many, many more, which a modern bios provides.

    If you don't have a bios you are autoconfigured and the bios is still there--it's just hidden from you completely and you have no control over it whatever. This is progress? I think not.

    Ten years ago on an Amiga 3000 I was booting a bios image to ram from hard drive and using the MMU of the 68030 to point the system to it--whoopee-doo--big deal *chuckle* It was maybe marginally quicker to change out the file as opposed to flashing a bios--but the priciple is exactly the same--and the bios is a lot less cumbersome than something like I used with the Amiga (temporarily as I went back to the standard bios after failing to discern a benefit--ram and HD space was very limited in those days--plus I wanted to use the 68030 MMU for other things.) I see no advantage to something like that at all (though I dearly loved my Amigas!)

    PCs use a bios still because of the enormous hardware choices available in the x86 marketplace that do not exist for small, closed hardware companies like Apple, for instance. Sometimes it's very nice to go into the the bios and configure a piece of hardware you've installed as opposed to packing up the system and dropping it off at the dealer's and telling him to fix it--just because the system locks the end user out of some of the internals. OpenBoot wouldn't work well at all in the x86 desktop market (I don't think) because you have so very many more hardware choices than these other cpu markets support.
  • Re:Why BIOS at all? (Score:2, Informative)

    by IntlHarvester ( 11985 ) on Saturday January 18, 2003 @04:44AM (#5106907) Journal
    Nobody really answered your question, so I'll take a shot at it -- the primary reason for the BIOS is backwards compatiblilty.

    The following OSes are designed to require a classic PC AT-style BIOS, at least for the boot sequence:

    DOS
    Win 9x
    OS/2
    Novell Netware (bootstraps from DOS)

    Note that the first 3 are "obsolete" and aren't being updated but are still in very widescale use. I believe it's possible to still order machines with Windows ME.

    Anyway, you could make a legacy-free firmware that could boot lightly modified versions of XP or Linux, but that doesn't help the installed base at all. Maybe in 10 years, but not now.

    The BIOS is just the tip of the iceburg -- a modern PC is still very much "AT-Compatible" -- and that has radical effect on the hardware design. For example, ATA/IDE has to be continually improved, rather than replaced, because it offers the highest compatibility.

    As a secondary problem, even modern OSes like NT/2K/XP and Linux have a bunch of dependancies on BIOSy things like ACPI.
  • by Alsee ( 515537 ) on Saturday January 18, 2003 @07:56PM (#5110248) Homepage
    Bottom line: software companies do not trust you.

    Fine. But we are not talking about software companies. We are talking about MY COMPUTER. And my computer is suppossed to serve ME. It it MY agent, not some software company's agent. Why the hell should my computer prevent me from doing perfectly legal things like read my data or modify my data or copy my data? Hell, why should my computer even prevent me from doing something illegal?

    The ONLY reason computers are going to include TCPA is because Microsoft is REQUIRING TCPA support for their next operating system.

    -

Remember, UNIX spelled backwards is XINU. -- Mt.

Working...