Working languages:
English to Russian

Alexey Gubarkov

Local time: 14:47 MSK (GMT+3)

Native in: Russian Native in Russian
  • PayPal accepted
  • Send message through ProZ.comICQ IM
Feedback from
clients and colleagues

on Willingness to Work Again info
No feedback collected
Account type Freelance translator and/or interpreter, Identity Verified Verified site user
Data security Created by Evelio Clavel-Rosales This person has a SecurePRO™ card. Because this person is not a ProZ.com Plus subscriber, to view his or her SecurePRO™ card you must be a ProZ.com Business member or Plus subscriber.
Affiliations This person is not affiliated with any business or Blue Board record at ProZ.com.
Services Translation
Expertise
Specializes in:
Mathematics & Statistics

Rates
English to Russian - Rates: 0.08 - 0.08 USD per word / 25 - 25 USD per hour

KudoZ activity (PRO) PRO-level points: 8, Questions answered: 2
Payment methods accepted MasterCard
Portfolio Sample translations submitted: 2
English to Russian: Data Security
General field: Science
Detailed field: Science (general)
Source text - English
Data Security
1.1. The Need for Data Security
Each major advance in information technology changes our ideas about data security. Consider the use of written messages to replace those carried in the memory of a messenger. Written messages are less prone to error, and since the courier need not know the message, but can destroy it in an emergency, there could be better security. Yet written messages can be concrete evidence of conspiracy or spying, whereas a carrier of a spoken message might escape unsuspected. The need to hide the content of a written message must therefore have been realized very soon, and there is evidence that codes and ciphers appeared almost with the beginning of writing.
When telegraphy began, Wheatstone and others thought that ciphers would be needed by the senders of telegrams and there was a flurry of new ideas for cryptography. But the need did not show itself. Cryptography has traditionally been used by kings, popes, armies, lovers and diarists and has moved into business and commerce only recently. Now that information is processed, stored and transmitted in large quantity, the need for data security is greater and more varied. We shall be dealing with the secrecy of transmitted information, using encipherment, and also with authentication of information, verifying the identity of people, preventing the stealing of stored information and controlling access to both data and software. Such varied data security problems arise from the more recent advances in information technology—large stores and microprocessors which give us processing wherever we need it. The microprocessor and the floppy disc create a new and urgent problem of safeguarding software. The requirements summed up by the phrase 'data security” do not slay the same; they change as the technology changes.
Nowadays, almost everything we do with information is assisted by some new invention The fundamental operations of storage, processing and transmission seem to be undergoing a relentness and rapid improvement, so fast that the application of the technology cannot keep up with the rate of advance. The introduction of teleprocessing into all aspect of business, commerce and industry brings new data security problems to the fore. Undoubtedly, electronic banking has experienced the first impact, with spectacular frauds in the shape of falsified money transfers. Banks have been the first to apply modern methods to make their systems secure. The rest of commerce and industry is well behind banking in its attention to data security.
In order to avoid repeating the same phrases we will use conventional names for the actors in the security drama. The bad guys who are trying to do something with the system which the designers would like to avoid will be called 'the enemy' and their activities will be called 'attacking' the system.
These words have only a conventional meaning. The enemy may not, for example, be a remorseless or professional adversary. For a long time, students were the principal finders of weaknesses in operating systems, because they enjoyed the intellectual challenge. Almost certainly, a lot of the effort that went into “phone freaking' was motivated in this way. None the less it is potentially dangerous because the techniques developed in innocent attacks can be exploited by criminals.
New methods of payment and transfer of funds using communication networks and intelligent tokens are developing fast and are usually called “electronic funds transfer”. These are an obvious target for fraudulent manipulation of data. As electronic message systems of all kind come into wider use, carrying data which has already been captured in the 'electronic office, there must inevitably be a proportion of sensitive information carried as “electronic mail”. This is another area which needs attention to security, both for secrecy of information and to preserve its authenticity.
The advance of information technology has sparked off a public debate on the subject of individual privacy. Like many public debates it expresses both rational and irrational fears. Everyone is now alerted to the real dangers of inaccurate personal information and uncontrolled access to files. Most advanced countries have introduced laws to enforce a reasonable degree of individual data privacy and others have such laws in preparation. If we think of privacy as the legal concept, then security of data is one of the means by which the privacy can be obtained. The implementation of these new laws is likely to produce applications for data security techniques.
Of the three main operations carried out in information systems, storage, processing and transmission, it is undoubtedly data transmission that carries the greatest of security risks. A communication network consists of numbers of cables, radio links, switches and multiplexers in a variety of locations, all of these parts of the system being potential targets for 'line taps' or 'bugs'. It is impossible to make a widespread network physically secure, therefore security measures depend on information processing techniques such as cryptography.
Storage of data is next on the list of vulnerabilities because data spends much more time in storage than in processing. The protection of stored data can use the same techniques of cryptography but with different twists. For most purposes, processing is the least vulnerable part but it may be worth attacking. Perhaps an enemy can gain more by discovering which parts of a file are active than by stealing a whole file. For example a police file of intelligence about crime activities contains a lot of data about dormant criminals and perhaps even more about dubious suspects. A team contemplating a big crime could learn more from the data being accessed than by searching the whole database.
No data system can be made secure without physical protection of some part of the equipment. The effect of good design is to concentrate the need for physical security, not to circumvent it entirely. In particular, processing of data usually (perhaps always) requires those data to be in clear form, not enciphered, therefore processors themselves must be protected from intrusion, such as the attachment of radio bugs. In many systems the data and operations needing the greater degree of security can be contained in one box of modest size, physically strong and designed to destroy its stored secrets when it is opened. This is called a tamper-resistant module and it is a central element of many systems which this book will describe.

1.2. Assessment of Security
Security is a complex property and difficult to design or optimize. Designing a system to be efficient, convenient or cheap is an optimization problem which, though complex in practice, has a mathematical structure which is easy to understand. The problem is to choose the design parameters in order to maximize a figure of merit. Designing a system for security means analyzing an adversary problem where the designer and ihe opponents are each independently thinking out their strategies. The outcome of the contest is a result of their combined choices. The mathematical theory for such problems is “the theory of games”. The kind of game which fits the situation is a “two-person, non-zero-sum game with imperfect information”. The non-zero-sum
condition appears because the system attacked may lose more than the attacker gains. 'Two-person' means that we consider one attacker at a time, to simplify the problems as much as possible. Games theory, beyond the most trivial cases, is extremely difficult and there seems to be no way in which the theory of games can actually be useful in analysing security — it merely serves to illustrate the underlying complexity of the problem and the inadequacy of a naive 'risk analysis' approach.
Every kind of threat to a system should be assessed, yet it is very difficult to enumerate the complete range of attacks. First of all, the motives and intentions of the attackers have to be guessed. Stolen information can be used for fraud, espionage, commercial advantage, blackmail, and probably in many other ways. Enciphering information on a magnetic tape can make the tape useless to an enemy as information, but, if there are no other copies of this tape and the information is essential to its owner, the stolen tape can be used as a hostage, to extort payment for its return. This was a threat used in a crime in Europe, where an ex-employee stole the tapes from a large company's computer centre. A great deal of imagination is required to think out all the ways in which a system could be attacked. In a bank in the USA, each cheque book was supplied with magnetically encoded forms for paying money into its account. If the customer had forgotten to bring his forms, he could pick up similar forms in the banking hall, which were not encoded. At the first stage of sorting according to the magnetic characters, uncoded forms were rejected, then operators inserted the account number of the payee along with the other details that had been written on the form. An ingenious fraud was devised by distributing codcd paying-in forms among the forms in the hanking hall. Customers did not notice the presence of the coding and unwittingly paid their money into the fraudster's account.
The existence of so many methods of attack makes the protection of an information system very difficult indeed. It is doubtful that a systematic method to analyse the problem will ever be round, though checklists can be a help. It is unusual to have an information system described in sufficient detail that all the potential weaknesses can be identified. Therefore, a good investigator works from observation and by discussion with those who know the system well, not from paper designs and specifications. The ability to find security llaws depends on an attitude of mind which takes nothing on trust.
Security is essentially a negative attribute. We judge a system to be secure if we have not been able to devise a method of misusing it which gives some advantage to the attacker. Rut we might just have failed to identify the nature of the enemy or missed out a method of attack.
A security investigation should never be based on the designer's concept of the system. He has thought about the security and convinced himself that every aspect has been covered. Probably, he has a good theoretical reason for believing that the security goals have been achieved. What is then required is 'lateral thinking' which questions his assumptions and finds different approaches. The designers may have conccntrated their attention on some parts of the system and forgotten others. On the other hand, systems can be so complex that only those who implemented them can fully understand their details. With a complete change of attitude, the implemented can be valuable allies in a security study. They must first be convinced that there arc llaws and persuaded to search for them.
There cannot be any prescription for obtaining data security. The system designer could miss one vital point, perhaps one which had nothing to do with information technology. For example, an automatic teller machine (no longer in production) delivered bank notes through a slot which was contained in a neat recess. Someone built an attractive looking plate which covered the recess and presented to the user a dummy slot from which the money would never emerge. He fitted this plate to an automatic teller outside a bank, when the bank was open, stood back and watched what happened. The user went through the correct procedure but received no money, then went into the bank to complain. The crook took away his plate and the money which was concealed behind it. This is a variant of an old trick which has been used with returned-coin chutes since vending machines and public telephones began; it pays off better with automatic teller machines. Some of the earliest attacks on automatic teller machines were to pull them out of the bank wall.
illustrating that the security of a system may have nothing to do with its data handling.
When all the precautions have been taken against illegal access to data in communications and storage, there remains an indefinite number of other threats. There are two areas of sufficient importance for special mention, system software and the people operating the system.
Software Integrity
The complexity of an information system is built mainly into its software, in order that the hardware can be simpler and composed mainly of standard units such as microprocessors and stores. The virtue of software is that it can be changed both during development and subsequently to give the system new- properties. This flexibility-is a severe threat to system security.
The first difficulty with software is understanding it sufficiently to be sure that it functions correctly in the first place. Where equipment is built with several processors, each handling a restricted range of functions and interacting with others according to carefully devised rules or protocols, the verification of software may be a tractable problem. At the other extreme, mainframes with their complex operating systems are never fully understood. If the security requirements are strict, it must be assumed that any normal operating system has weaknesses. In particular these flaws could be exploited by the software designers, who know the details well enough to iind the flaws. In this respect, large operating systems have improved a little and the provision of special hardware to assist access control has made them proof against attacks which were common in the early days but no complex system can be regarded as entirely secure, even if the designers and builders were all trustworthy and had only thai aim in mind.
A dishonest designer could provide 'hooks' in the software ready for the attachment of modifications to undermine its security. The auditing of software by independent software designers should look for unnecessary features which might be used in this way.
During software design, special tools are provided to help the implemcnters modify programs at various levels, from binary patches up to the top level of specification. The very convenience of these tools makes them dangerous, particularly if a software writer is working for an enemy. Retaining these tools when the software is in operation constitutes a major security weakness because it allows post-design modifications which could introduce deliberate trapdoors into the security-handling parts of the system. The severity of this threat is greater if it is planned early in the system design proccss, hence the importance of trustworthy system designers. There may be a need to keep one or two highly instrumented versions of the system for software testing and updating but those systems which go outside a secure environment should be made as difficult to modify as possible.
Microprocessor driven systems are subject to a special threat of software modification. Maintenance people have access to the read-only memory
(ROM) units thai plug into sockets on the board, for convenience of modification. It is very easy to change such a ROM to deliberately weaken the system. As the first stage, the enemy would remove the ROM and read its contents then replace it and study the software to work out the necessary modification. This would not be an easy attack to carry out but in some applications it is a significant threat. The aim would be to leave the equipment functioning apparently in the normal way but able to respond to the enemy in a spccial way. The attack can be made harder by ensuring that the program completely fills the ROM and by fixing the ROMs instead of plugging them into sockets.
Preventing illegal software modifications in a larger system is a matter of authenticating the software. (Authentication in general is the subject of chapter 5.) The authentication process cannot be part of the software or it can be subverted, therefore some protected hardware is needed—an example of the general rule that all systems depend on protected hardware.
Security and People
The owners of a system depend for its security in the first place on the integrity of the supplier, which itself depends on the people who design, build and maintain the system. When it is in operation, keys and passwords are introduced which protect it from enemies outside, including enemies in the ranks of the suppliers, unless software changes have subverted the protection. With good design, the security then depends on the people who operate the system and carry out its security-related procedures.
Some operators will be in positions of very great trust, such as those who load the system with master keys and those who transport keys from one pan of the system to another. Improved design can reducc the need for some of this trust, up to a point. For example, the transport of cryptographic keys can use hardware modules which make the keys inaccessible to the couriers. With these means, it requires a much more elaborate attack to obtain the keys illegally, though it is never impossible. Some kinds of privileged operation cannot be avoided. Someone has to write into the system the rules of access control at the top level, giving special privilege to certain people, such as database managers or security controllers. Careful design can reduce the residual threat from these directions. For example, a security controller may be responsible for enforcing the correct procedure in using the system but he need not know the values of any cryptographic keys. In this way, though some trust is placed in a number of people, there are few opportunities lor individuals to subvert the whole system. Where there is a particularly sensitive requirement, such as a top-level master key, the responsibility can be split between several individuals, with the effect that it would require a conspiracy of all of them to undo the security of the system as a whole. In a well-designed system it should be clear who is being trusted and to what extent, but there is no way to make the system proof against unlimited deceit.
1.3 The Effect of Technology
As information technology becomcs more complex, the opportunities for its misuse arc greater. Complexity of design is not a protection against interference with data systems. At first sight it might seem that a complex protocol makes it more difficult to extract information from a communication link or change data in transit. In practice, increased complexity is made workable by greater standardization and then standard software and hardware becomes available to unravel the complexities. For example, it is now possible to buy instrumentation which will interpret the binary pattern on a communication line, enabling a specialist to determine the link layer protocol and extract the contents of frames, also to interpret the packets of the X.25 protocol and the transport, session and document layers of the Teletex procedure. With this compact equipment, all the complexities of many levels of protocols can be stripped away for diagnostic purposes. Using the same equipment, an enemy can interpret what is passing on the line and, with some additional software, can capture information, alter it and re-launch it with the correct format and procedure. This is not easy but it is not made prohibitively difficult just by protocol complexity.
In fact, the variety of new technologies increases the possibilities of attack. If a local ring or Ethernet is used, all of the data passing between terminals and computing rcsourccs in this local area can be made accessible from a single line tap. The Ethernet broadcasts all messages to all terminals. In most designs of ring, all the data pass completely round the loop and return to the sender. Microwave radio and satellite systems similarly expose large quantities of data to easy access. Together with the increasing use of electronic mail in the future, this provides good opportunities for large-scale tapping of traffic.
In the past, the mere quantity of data would protect most of the secrets because the target of the enemy would be buried in uninteresting information. But since the source and destination of packets and messages travels with them in their headers, extracting information travelling to or from a target is not difficult. This target may be a terminal, a person or a computer process or port, depending on the level of addressing. Furthermore, unprotected messages can be selected according to their content, extracting messages which contain certain words or bit patterns for review by the enemy. It can be seen that modern technology increases rather than decreases the opportunities.
Improved technology of information processing has aided the protection of information by making good ciphers available in the form of single-chip devices and by allowing complex systems to be made more compact and thus given adequate physical protection. But the same technology is available to the enemy who can buy low-cost processing and storage in order to investigate systems and exploit their weaknesses.
1.4 The Notation for Encryption
Encryption and its use in data security are the principal themes of this book.
1.1 Notation for enciphcrmcnt and decipherment
We need a notation for the two operations of encryption and decryption. The pictorial convention we shall use is shown in Figure 1.1. The two operations can be described as functions of two variables, or they can be described by an algorithm—a systematic procedure for calculating the result when the values of the variables are given.
The plaintext mentioned in the figure is the set of data before encryption. The result of encryption is the ciphertext. The result of applying decryption to the ciphertext is to restore the plaintext. These words 'plaintext' and 'ciphertext' are relative to a particular enciphcrment—it could easily happen that the plaintext shown here is the result of a previous enciphermcnt but for our purpose, since it enters into the enciphcrment function, it is called the plaintext. The capital letters D and E are reserved for the decipherment and encipherment functions respectively. In the mathematical notation we shall use, if x is the plaintext then
y=Ekfx)
the result of encipherment, and the inverse function x=D k(y)
expresses decipherment of the ciphertcxt to produce the plaintext. In both functions, the other variable к is the key.
The key is an essential feature of a cipher. In principle, if the function y=E(x), without a key, were kept secret, this might serve to conceal the value of x but, if the secret of the function E is lost, nothing can be done to restore the usefulness of the cipher. An entirely new cipher is needed. Since the design and testing of a cipher is a very big task, its loss in this way would be expensive. Furthermore, all those who took part in the design and testing or who wTote programs for the encipherment and decipherment procedures would have to be trusted indefinitely. These secrecy problems are made much easier by employing a key, a parameter which, in effect, allows a large class of ciphers y=Ek(x) to be defined. If a key is compromised (discovered by an enemy, or by someone untrustworthy) it can be changed and the cipher function can remain in use.
Secrecy of the function or algorithm ЕАг(лг) as well as the key is a useful security measure, but, considering how many people must know its form, a secret function cannot be reliable by itself. It is the secrecy of the key that matters. This cipher must remain effective even if the enemy knows the function Е*(лг). When Ek(x) is a standard cipher, like the Data Encryption Standard, everyone who is interested can find out the function.
The notation ЕАг(дг) is derived from one that has now been widely used and it probably started with Л as a suffix Et(x) to denote that * is a parameter, which is kept constant for a number of encipherments. In the pictorial form of the notation it is necessary to distinguish between the two inputs to the boxes which denote the functions E and D. Therefore we use the small circle shown in Figure 1.1 to show which is the key input.
Other notations for encipherment have their uses. If complex expressions or lists are enciphered and when the procedure of decipherment is not show explicitly, the notation {...}* is often used, where the data or text in the curly brackets is enciphered with key k. This is the notation that has been used widely in discussions of authentication. We have preferred to keep a uniform notation throughout this work and.y=EA:(*) is our choice. If there are several keys in use these could be shown with suffices as k,b, k, etc, but in this book we put these symbols on the same line. Thus ЕкаЫх) means that x is enciphered, using as key the value kab. This kab is similar to the 'identifier' in a programming language—it does not, in this context, mean that k, a and b are separate variables. All our key identifiers will begin with the letter k.
The domain of values from which the key к is taken is called the key space. In a typical cipher, the key might be 20 decimal digits, for example, which gives a key space of size 10". Alternatively the key might be expressed as a binary number of 50 digits with a size of key space 2". In other ciphers, the key is a permutation such as the letters А, В ... Z in some sequence, consequently the key space has size 261.
The notation y=Ek(x) treats * and у also as single variables, which have values in a finite domain. Since x represents, in general, a block of text, a cipher of this kind is called a block cipher. For example, eight characters in ISO 7-bit code with parity make up a block of 64 bits. The cipher could be designed for a 64-bit block, but the redundancy of the ISO code makes the information content much less. If the characters are taken from text in a natural language such as English, the true information content of x is smaller still.
We also need a notation for the enciphcrmcnt of messages of indefinite length. The single variable at is replaced by a siring of variables. For this situation we write the cipher text as:
EAr(*o,*„...*„...) where x,jc,... is a string of variables whose size is given by the context. They could be parts of the message or its header, such as the source identifier or a sequence number. The simplest case is the one in which each variable x, is a character with its value taken from a finite set of values known as the
alphabet. For example the alphabet might be, literally. A, B, ... Z or it might contain the 256 different values of the octet (i.e. an 8-bit character). Ciphers which are designed to encipher a string of such characters with no theoretical limit to the length of the string are sometimes called stream ciphers. Unfortunately, the terminology has developed haphazardly and there is no clearly understood and agreed definition of this term. It is usually employed when the alphabet is fairly small—the extreme case is the bit stream with an alphabet of 0 and 1. Obviously, the ciphcrtext for small alphabets much be calculated from more than just the current character or it becomes trivially
The Need for Key Distribution and Management
When encryption is used to make data secure in communications, there must be prior agreement between the communicating parties about all aspects of the procedure. A cipher algorithm, and the method of using it and initializing it, must be agreed. The most difficult requirement is that a key must be chosen and made available at both ends of the communication path. Before the enciphered data flow over the line, the value of the key must make a similar journey. Keys can be enciphered using other keys but in the end at least one key has to be distributed by some other means. The cipher can therefore be regarded not as a creator of secrecy but as a means of extending the secrecy applied to the distribution of the key into the transport of a much larger volume of data enciphered with that key.
When encipherment is used for protecting stored data, key handling is easier because the encipherment and decipherment arc carried out at the same location, so the key need not travel, but secrecy of the stored key is still important.
Choosing the key in the first place and making it available only to authorized users are aspects of key management. After encipherment methods have been decided, key management bccomes a major task for system designers because the security of the whole system has then been concentrated on the keys. Chapter 6 is devoted to key management.
1.5 Some Uses for Encipherment
Encipherment conceals the contcnt of a message, except for those intended to receive it who, knowing the key, can decipher it. Thus it controls access to the message content, making it readable to those who know the key. If the ciphertext is made public and the cipher algorithm is well known, knowledge of the key is the equivalent of access to the message. Knowing the key also allows a person to construct another message so, under the right circumstances, a message can both be read and written.
Translation - Russian
Защита информации
1.1. Необходимость защиты информации
Каждое крупное достижение в области информационных технологий меняет наш взгляд на защиту информации. Рассмотрим применение письменных сообщений как альтернативу их устным аналогам, которые хранятся в памяти связного. Письменные сообщения лучше защищены от ошибок и, поскольку связной не обязан знать текст сообщения, а в случае опасности способен его уничтожить, могут быть лучше защищены от прочтения посторонними лицами. Однако письменные сообщения могут стать неоспоримым доказательством тайного заговора или шпионажа, в то время как носитель речевого сообщения имеет шанс избежать подозрений. По этой причине с давних времен возникла необходимость в сокрытии содержимого сообщений. Существуют доказательства, что коды и шифры появились практически одновременно с возникновением письменности.
С появлением телеграфов некоторые ученые, в числе которых был английский ученый-физик Чарльз Уитстон, посчитали, что шифры будут востребованы отправителями телеграмм, и последовал шквал новых идей в области криптографии. Но необходимости в шифрах не возникло. Традиционно криптографией пользовались короли, священники, армии, влюбленные и люди, ведущие дневники, и совсем недавно криптография стала применяться в бизнесе и коммерции. Теперь, когда информация обрабатывается, хранится и передается большими объемами, потребности в ее защите сильно возросли и стали более разнообразными. Мы будем говорить о конфиденциальности передаваемой информации, которая достигается посредством зашифрования, а также об аутентичности информации, которая удостоверяет подлинность автора. Конфиденциальность и аутентичность предотвращают кражу хранящейся информации, а также позволяют отслеживать доступ к данным и программному обеспечению (ПО). Столь разнообразные проблемы защиты информации возникли из более поздних достижений в области информационных технологий, таких как появление запоминающих устройств большой емкости и микропроцессоров, готовых обработать данные, когда бы нам это ни понадобилось. Микропроцессор и гибкий магнитный диск приводят к возникновению новой и крайне актуальной задачи разработки защитного ПО. Закрепленный за словосочетанием «защита информации» набор требований не остается постоянным, он изменяется в зависимости от изменения технологии.
В настоящее время практически любое действие, которое мы выполняем над информацией, обрабатывается каким-либо новым изобретением. Похоже, что основополагающие операции хранения, обработки и передачи данных настолько интенсивно подвергаются непрерывным улучшениям, что технические решения на их базе не поспевает за скоростью совершенствования. Введение технологии удаленной обработки данных во всех сферах бизнеса, коммерции и промышленности выводит на передний план новые задачи защиты информации. Несомненно, первыми под удар попали электронные системы платежей, подвергшиеся типичному виду мошенничества, при котором подделываются денежные переводы. Банки начали применять новейшие методы обеспечения безопасности своих систем первыми. Остальные секторы коммерции и промышленности уделяют защите данных значительно меньше внимания.
Для того чтобы избежать повторения одинаковых фраз, дадим условные названия действующим лицам нашего спектакля под названием «безопасность». Людей, осуществляющих непредусмотренные разработчиками системы действия, назовем «злоумышленниками», а их действия – «атакой» системы.
Введенные нами названия имеют чисто условное значение. Например, злоумышленник может не быть враждебно настроенным или опытным противником. На протяжении долгого времени большинство слабостей операционных систем находили студенты, потому что они получали удовольствие от интеллектуальной битвы. Почти нет сомнений, что именно этим и была обусловлена большая часть усилий, направленных на телефонный «фрикинг» (несанкционированное подключение к защищенным сетям без злого умысла). Тем не менее, такие действия представляют потенциальную угрозу, потому что методы, разработанные без злого умысла, могут затем быть использованы злоумышленниками.
Очень быстро развиваются новые методы оплаты и перевода денег, обычно называемые «электронным переводом средств» (ЭПС), работающие в сетях передачи данных, и интеллектуальные жетоны (или карточки). Такие методы являются очевидным объектом атаки, при которой осуществляется умышленное изменение данных. По мере того как всевозможные электронные системы передачи, приёма и обработки сообщений находят все более широкое применение, неизбежно будет существовать некоторый процент важной информации перехваченной в «электронном офисе» при передаче данных в виде «электронной почты». Это еще одна область, в которой необходимо обращать внимание на безопасность, причем как на обеспечение конфиденциальности информации, так и на сохранение ее аутентичности.

Развитие информационных технологий породило дискуссии среди населения по вопросу о неприкосновенности личной жизни. Равно как и в дискуссиях по любым другим вопросам, высказывались обоснованные и необоснованные опасения. Теперь все предупреждены о реальной опасности неточных персональных данных и неконтролируемого доступа к файлам. Большинство передовых стран ввели законы, регулирующие разумную степень секретности конфиденциальных данных, в остальных странах аналогичные законы находятся в стадии разработки. Если считать конфиденциальность юридической концепцией, тогда одним из способов обеспечения конфиденциальности будет защита данных. Введение новых законов в действие должно подтолкнуть программную реализацию методов защиты данных.
Нет сомнений, что из трех основных операций хранения, обработки и передачи, осуществляющихся в информационных системах, наиболее уязвимой в плане безопасности является операция передачи данных. Сеть передачи данных состоит из множества кабелей, радиоканалов, коммутаторов и концентраторов, расположенных в различных местах. Все эти части системы являются потенциальными местами перехвата данных или внедрения электронных подслушивающих устройств. Меры безопасности зависят от методов обработки информации, таких как криптография, потому что невозможно физически защитить масштабную сеть.
Следующим по списку уязвимости идет хранение данных, потому что они хранятся значительно дольше по времени, чем обрабатываются. Для защиты хранящихся данных могут быть использованы те же криптографические методы, но с некоторыми изменениями. Для большинства противозаконных действий обработка данных является наименее уязвимой операцией, но атака на эту операцию может стоить затраченных усилий. Возможно, злоумышленник получит больше полезной информации, узнав к какой части файла в данный момент происходит обращение, чем он мог бы получить, украв весь файл. Например, в полицейском архиве с оперативной информацией по преступной деятельности содержится много данных о потенциальных преступниках и, вероятно, еще больше информации о подозрительных личностях. Группировка, намеревающаяся совершить громкое преступление, могла бы получить больше информации, зная, к каким частям архива часто обращаются, чем просматривая всю базу данных.
Без физической защиты некоторых частей оборудования ни одна система обработки данных не может быть безопасной. Правильное техническое решение должно основываться на потребности в физической защите, а не обходить ее стороной. В частности, обычно (а, возможно, и всегда) для обработки данных требуется, чтобы информация была в открытом виде, а не в зашифрованном. Следовательно, сами процессоры должны быть защищены от вмешательства, такого как, например, внедрение устройства подслушивания с радиопередатчиком. Во многих системах данные и электроника, оперирующая этими данными, требующие повышенной степени защиты, могут помещаться в достаточно прочный корпус небольшого размера, который в случае вскрытия уничтожает секретное содержимое. Такое устройство называется модулем, защищённым от несанкционированного вмешательства, и оно является центральным элементом многих систем, описанных в данной книге.

1.2. Оценка безопасности
Безопасность – многогранная характеристика, которую сложно проектировать и оптимизировать. Задача оптимизации состоит в разработке эффективной, удобной в использовании или дешевой системы. Эта задача может быть выражена понятными математическими формулами, но ее сложно реализовать на практике. При проектировании системы задача заключается в подборе таких параметров, при которых можно получить максимальное значение выбранной характеристики. Проектирование системы для задач безопасности подразумевает анализ ее с точки зрения злоумышленника, как если бы разработчик и его конкуренты независимо оценивали сильные и слабые стороны системы, а также варианты защиты или атаки соответственно. Сочетание выбранных каждой стороной вариантов и есть результат импровизированного состязания. Данные задачи основаны на математической теории игр. Под определение данной ситуации подходит игра двух лиц с ненулевой суммой и неполной информацией. Условие ненулевой суммы вызвано тем, что взлом защиты должен обходиться взломщику намного дороже, чем величина потерь системы. Термин игра двух лиц означает, что мы рассматриваем одного злоумышленника за раз с целью максимально упростить задачу. Если не считать наиболее простые случаи, теория игр невероятно сложна, и, очевидно, совершенно неприменима для анализа безопасности. Она годится только для иллюстрации трудоемкости задачи и непригодности примитивных попыток оценки степени риска.
Любая угроза системе должна быть оценена. Тем не менее, очень сложно перечислить все возможные варианты атак. Во-первых, необходимо предугадать мотивы и намерения злоумышленников. Украденная информация может быть использована с целью мошенничества, шпионажа, получения коммерческой выгоды, шантажа и, вероятно, для многих других целей. Зашифрование информации на накопителе с магнитной лентой может сделать информацию на ленте бесполезной для злоумышленника. Однако за возвращение украденной кассеты могут потребовать выкуп, если информация важна ее владельцу и других копий данной кассеты нет. Подобный преступный случай произошел в Европе. Бывший сотрудник украл кассеты из большого вычислительного центра компании и затем шантажировал ими компанию. Для того чтобы продумать все возможные варианты атаки системы, надо иметь развитое воображение. В одном банке США каждая чековая книжка была снабжена зашифрованными магнитными полями для внесения денег на счет книжки. Клиент мог воспользоваться лежащими в вестибюле банка бланками чеков, не снабженных зашифрованными полями, если забывал принести свой. На первом этапе отбирались бланки с магнитными полями, а бланки без таких полей отбраковывались. Затем, на втором этапе, операторы вручную вносили учетный номер плательщика и другие сведения, заполненные на бланке. Был придуман оригинальный метод обмана, заключавшийся в том, что к бланкам приходных ордеров в банке подмешивали бланки с магнитными полями. Клиенты не замечали магнитных полей на бланках и вносили свои деньги на счет мошенника, даже не подозревая об этом.
Столь большое число вариантов атак на информационную систему делает ее защиту действительно очень сложной задачей. Маловероятно, что когда-либо будет разработан систематический метод решения данной задачи, однако списки вероятных угроз могут очень помочь. Иногда информационную систему можно описать достаточно подробно, чтобы исключить все возможные слабости, но такое случается крайне редко. Поэтому, хороший исследователь не изучает документацию и инструкции, а работает методом наблюдения и обсуждает интересующие его вопросы с теми, кто хорошо знает систему. Умение найти слабые места в системе защиты зависит от специфического склада ума, при котором человек не принимает ничего на веру.
Понятие безопасности по существу имеет негативный оттенок. Мы считаем систему защищенной, если не смогли найти непредусмотренное разработчиками действие, которое дало бы злоумышленнику какое-либо преимущество. Но, возможно, мы просто-напросто недооценили способности злоумышленника или пропустили возможный метод атаки.
Исследование системы безопасности никогда не должно опираться на модель системы, описанную разработчиком. Разрабатывая систему, он уже занимался этим вопросом и теперь убежден, что учел все возможные слабости. Разработчик верит, что решил все задачи по защите системы потому, что у него, скорее всего, есть теоретическое обоснование защищенности своей системы. Что нам нужно, так это «нестандартный подход» к вопросу защиты, это поможет нам поставить под сомнение доводы разработчика и найти новые варианты подходов к вопросу. Возможно, разработчики сосредоточили свое внимание на определенных частях системы и забыли об остальных. С другой стороны, системы бывают настолько сложными, что знать все тонкости работы таких систем может только тот, кто реализовывал проект. Конструкторы могут стать ценными помощниками в изучении защищенности системы, если изменят свою точку зрения. Но сначала их надо побудить найти дыры в защите, убедив, что в ней есть уязвимые места.
Не существует рекомендаций, следуя которым можно обеспечить безопасность данных. Разработчик может не учесть единственный вопрос при построении защиты, который может даже не относиться к сфере информационных технологий. Например, один банкомат (такой вид банкоматов больше не производят) выдавал купюры через отверстие, удобно расположенное в углублении аппарата. Кто-то сконструировал привлекательного вида заглушку, она закрывала настоящее отверстие для выдачи купюр, подменяя его ложным. В часы работы банка этот человек устанавливал заглушку на банкомат, находившийся вне помещения банка, отходил в сторонку и наблюдал за происходящим. Клиент выполнял правильные действия, но денег не получал и шел жаловаться в банк. Мошенник убирал заглушку и забирал деньги клиента. Это пример старого метода обмана, который применялся с тех пор, как появились торговые автоматы и телефоны-автоматы с отверстиями для сдачи. Этот метод оказался наиболее эффективен в случае с банкоматами. Одна из наиболее ранних атак на банкоматы заключалась в том, чтобы выкрасть банкомат из помещения банка. Это наглядно показывает нам, что защита системы может не иметь ничего общего с манипулированием данными.
Даже если были предприняты все возможные меры защиты от несанкционированного доступа к данным при хранении или передаче, остается еще неопределенное количество других угроз. При построении защиты необходимо уделить особое внимание системному программному обеспечению и тому факту, что системой пользуются люди.

Целостность программного обеспечения
Сложность информационной системы достигается программными методами для того, чтобы аппаратная реализация была как можно проще и состояла в основном из стандартных элементов, таких как микропроцессоры и элементы памяти. Достоинство программного обеспечения состоит в том, что выполняемые им функции можно изменять для наделения системы новыми возможностями и не только на этапе разработки системы, но и после ее внедрения в эксплуатацию. Такая гибкость программного обеспечения представляет серьезную угрозу безопасности системы.
Первый недостаток – в функционировании программного обеспечения сложно разобраться досконально, поэтому невозможно быть уверенным, что оно работает в соответствии с описанием разработчика. Легко проверить правильность работы программного обеспечения в тех случаях, когда оборудование построено на микросхеме с несколькими процессорами, каждый из которых выполняет свой уникальный набор функций и взаимодействие между процессорами регулируется тщательно разработанными правилами или протоколами. С другой стороны, невозможно полностью разобраться в функционировании универсальных ЭВМ с их сложными операционными системами. Если требования к безопасности высоки, то необходимо предполагать, что любая нормально действующая система заведомо имеет слабости. В частности, этими слабостями могут воспользоваться разработчики программного обеспечения, поскольку они хорошо разбираются в этой области и способны найти уязвимые места. Что касается слабостей, производители наиболее известных ОС стараются с ними бороться, а введение аппаратного обеспечения, предназначенного для осуществления контроля доступа, обеспечило эти системы защитой от эффективных ранее атак. Но даже если бы для создания сложной системы были отобраны заслуживающие доверия проектировщики и разработчики, и их основная задача заключалась бы в обеспечении абсолютной безопасности системы, все равно такую систему нельзя было бы считать полностью защищенной.
Недобросовестный разработчик может оставить закладки в программном обеспечении для того, чтобы впоследствии иметь возможность внести изменения, которые ослабят защиту. Группа разработчиков, осуществляющая независимый контроль разработки программного обеспечения, должна следить за отсутствием недокументированных возможностей системы, которые могут привести к ослаблению защиты.
Для облегчения работы конструкторов на этапе разработки программного обеспечения создаются специальные инструментальные средства модификации программ на различных уровнях, начиная от редактирования бинарного кода и заканчивая изменениями на описанном в спецификациях верхнем уровне. Такие инструментальные средства представляют угрозу безопасности из-за преимуществ, которые предоставляют, особенно, если разработчик программного обеспечения работает на врага. Сохранение инструментальных средств после ввода программного обеспечения в эксплуатацию создает брешь в системе обеспечения безопасности, поскольку дает возможность впоследствии внести изменения в работу системы. В списке внесенных изменений могут оказаться умышленно созданные лазейки в защите системы. Чем раньше будет заложена слабость при разработке системы, тем большую угрозу она будет представлять, вот почему важно иметь специалистов по разработке систем, которым можно доверять. Можно хранить одну или две версии системы, оснащенные всеми необходимыми инструментальными средствами, если это требуется для тестирования и обновления программного обеспечения, но системы, предназначенные для конечных пользователей, должны быть защищены от внесения изменений настолько, насколько возможно.
На системы, управляемые микропроцессорами, может быть произведена специфическая атака, заключающаяся в модификации программного обеспечения. У людей, занимающихся обслуживанием системы, есть доступ к ПЗУ, у которых предусмотрена возможность подключения в разъемы на плате для удобства модифицирования. Несложно изменить содержимое ПЗУ с целью ослабить систему. На первом этапе злоумышленник извлечет ПЗУ и считает его содержимое, затем вернет ПЗУ на место, изучит считанное программное обеспечение и разработает необходимую модификацию. Такую атаку сложно провести, но в некоторых случаях она представляет серьезную угрозу. Цель атаки - заставить оборудование реагировать на запросы злоумышленника особым образом и в то же время сохранить видимость обычной работы. Можно усложнить задачу злоумышленника. Для этого необходимо убедиться, что программа занимает весь объем ПЗУ и сделать ПЗУ несъемным.
В больших системах защита от модификации программного обеспечения – это скорее вопрос аутентификации (понятие аутентификации будет рассмотрено в главе 5). Для того чтобы злоумышленник не мог обойти аутентификацию необходимо обеспечить проверку аутентификации на отдельном защищенном аппаратном средстве, а не встраивать в программное обеспечение. Это яркий пример того, что защита всех систем основывается на защищенном аппаратном обеспечении.

Безопасность и человеческий фактор
Безопасность системы, приобретенной пользователем, зависит от честности поставщика, который в свою очередь рассчитывает на честность тех, кто спроектировал, скомпоновал и обслуживает систему. После ввода в эксплуатацию программное обеспечение защищается от внедрения противника с помощью ключей и паролей, в том числе и от возможных злоумышленников среди поставщиков. Такая мера эффективна в случае, если в программное обеспечение не было внесено изменений, ослабляющих защиту. Допустим, система хорошо спроектирована, но действия операторов, отвечающих за безопасность, также могут повлиять на защищенность системы.
Некоторые операторы будут иметь доступ к расширенному функционалу системы, например, те, кто загружает в систему главные ключи или распределяет ключи по ее компонентам. Внесение усовершенствований в систему при проектировании может сократить требуемое количество людей с такими полномочиями, но невозможно полностью избавиться от необходимости в таких людях. Например, криптографические ключи можно хранить и передавать на аппаратных модулях, чтобы сделать их недоступными курьеру. Благодаря таким методам защиты завладеть ключами без тщательно спланированной атаки становится очень сложно, однако нет ничего невозможного. Всегда будут существовать режимы работы системы, наделяющие оператора высоким уровнем доступа. Кто-то обязан вносить в систему данные о правилах управления на верхних уровнях доступа, выдавать привилегированный доступ определенным людям. Это может быть, например, администратор базы данных или человек, отвечающий за безопасность. Тщательная проработка таких моментов при проектировании помогает снизить степень угрозы безопасности системы. Например, человек, отвечающий за безопасность, может следить за тем, чтобы не было нарушений при использовании системы, но ему необязательно знать значения криптографических ключей. Тогда у злоумышленника практически не останется шансов взломать всю систему целиком, даже если он будет обладать определенным уровнем доступа. А в случае острой необходимости защитить высший уровень доступа главным ключом можно воспользоваться схемой разделения секрета, при которой части ключа распределяются между несколькими людьми. Соответственно, все они должны быть в сговоре для того, чтобы иметь возможность обойти защиту системы. В грамотно спроектированной системе должно быть точно известно, какими правами наделяется тот или иной пользователь, однако невозможно защитить систему от всех возможных видов атак.

1.3 Технологии и их влияние на безопасность
По мере развития информационных технологий увеличивается и число способов использования этих технологий для причинения вреда. На первый взгляд может показаться, что использование сложного протокола затруднит перехват информации из канала связи или подмену передаваемых данных. Но на практике, применение такого протокола станет возможным после трудоемкого процесса стандартизации, а затем появится стандартное ПО и технические средства, помогающие разобраться в особенностях работы протокола. Например, в настоящее время можно приобрести инструментальные средства, позволяющие интерпретировать двоичную последовательность в линии передачи данных, что в свою очередь дает возможность специалисту определить протокол канального уровня и извлечь содержимое кадров. Эти инструментальные средства дают возможность интерпретировать, в том числе, транспортный, сеансовый и уровень представления данных службы передачи текстовых сообщений по сети, а также пакеты семейства протоколов X.25. Благодаря этому компактному оборудованию о многих уровнях протоколов передачи данных можно забыть в пользу анализа передаваемых данных. Используя аналогичное оборудование, злоумышленник может анализировать данные, передаваемые по линии связи, а с помощью дополнительного программного обеспечения он может также перехватить и подменить их. Осуществить подмену чрезвычайно трудно, но отнюдь не исключительно из-за сложности протокола.
На самом деле, многообразие новых технологий увеличивает возможности злоумышленников. Если сеть построена по кольцевой топологии, или на основе технологии Ethernet, то к данным, циркулирующим между терминалами и другими средствами обработки данных в локальной сети, можно получить доступ просто подключившись к линии. Если сеть работает по технологии Ethernet, любая информация транслируется на все терминалы. В большинстве разновидностей кольцевой топологии любой блок данных циркулирует по всему кольцу от компьютера к компьютеру. Подобным образом сверхвысокочастотная связь и спутниковые системы связи передают большие объемы данных, которые легко перехватить. Учитывая растущее число передаваемых электронных писем, все это дает возможность перехватывать намного больше информации.
В прошлом важную информацию можно было защитить простым увеличением объема передаваемых данных, оставляя злоумышленника искать иголку в стоге сена. Но в настоящее время очень просто получить информацию, идущую к адресату или от него, поскольку данные отправителя, получателя, а также само сообщение передаются в заголовках пакетов. В зависимости от уровня адресации адресатом может быть терминал, человек, компьютерный процесс или порт. Более того, злоумышленник может отбирать незащищенные сообщения по содержимому и извлекать информацию в том случае, если в ней содержатся ключевые слова или определенный двоичный код. Таким образом, мы видим, что современные технологии не уменьшают, а увеличивают возможности злоумышленников.
Улучшенные технологии обработки информации дали возможность реализовывать хорошие шифры на однокристальных устройствах и применять их для защиты данных, а также привели к уменьшению физических размеров сложных систем, что позволило снабжать системы достойной физической защитой. Однако эта технология также доступна и злоумышленникам, они могут купить недорогие устройства информационной обработки и хранения данных для последующего анализа систем, поиска слабостей и их использования.

1.4 Условные обозначения
Зашифрование и его использование для защиты данных – основная тема книги.

Рис 1.1. Условное изображение зашифрования и расшифрования.
Введем обозначения для операций зашифрования и расшифрования. Условное изображение этих операций представлено на Рис.1.1. Обе операции могут быть описаны функциями от двух переменных, или, если значения переменных известны, алгоритмом (последовательность действий, которые необходимо выполнить для вычисления результата). Открытый текст (ОТ) (см. Рис.1.1) – данные, которые необходимо зашифровать. Применив операцию зашифрования, мы получим шифрованный текст (ШТ). Для получения открытого текста нам необходимо применить операцию расшифрования к шифрованоому тексту. Термины «открытый текст» и «шифрованный текст» условные, поскольку может случиться так, что к данным, которые мы на Рис.1.1 назвали ОТ, прежде была применена операция зашифрования, но, в нашем случае к этим данным снова применяется операция зашифрования, поэтому мы называем их ОТ. Латинскими буквами E и D обозначим функции зашифрования и расшифрования соответственно. Функция зашифрования и обратная к ней функция расшифрования записываются в виде
y = Ek(x),
x = Dk(y),
соответственно, где величина x – ОТ, y – ШТ, k – ключ шифрования (ШК).
Ключ шифрования – важная часть шифра. В общем случае можно использовать функцию зашифрования без ключа y = E(x), при условии сохранения функции E в тайне, но если принцип действия функции будет раскрыт, шифр станет бесполезным. Понадобится разрабатывать абсолютно новый шифр. А поскольку задача разработки и проверки надежности шифра очень сложна, компрометация функции E приведет к большим денежным затратам. Более того, каждому, кто принял участие в разработке, тестировании надежности, написании программ зашифрования и расшифрования придется полностью доверять. Все эти трудности можно решить введением ШК, так как ШК – суть параметр, позволяющий определить класс подобных шифров y = Ek(x). В случае компрометации (попадания ключа в руки злоумышленника или просто ненадежного человека) ключ можно заменить на другой, не меняя сам шифр.
Секретность функции или алгоритма Ek(x) также как и секретность ключа – очень эффективная защитная мера, но, принимая во внимание количество людей, знающих алгоритм, нельзя полагаться только на его секретность. Главное – сохранить в секрете ключ. Такой шифр должен остаться устойчивым к взлому даже если злоумышленник узнал функцию Ek(x). Описания работы стандартных шифров, таких как, например, DES (Data Encription Standard, стандарт шифрования данных, разработанный IBM), может изучать любой желающий.
Запись Ek(x) произошла от более ранней и широко используемой Ek(x), где индекс k обозначал параметр, остававшийся неизменным для определенного числа операций зашифрования. В графическом представлении очень важно отличать изображенные точки входа на функции E и D. Поэтому для обозначения ключа, подаваемого на один из входов функций, мы будем использовать маленький кружок (см. Рис.1.1).
Также есть другие обозначения зашифрования. Если процедуру расшифрования невозможно записать наглядным образом из-за того, что она применяется к большому блоку зашифрованных данных, то используется запись {…}k, означающая, что данные или текст в фигурных скобках зашифровывают на ключе k. Такая запись активно использовалась при исследовании вопросов аутентификации. В книге мы будем пользоваться универсальным обозначением y = Ek(x). Если в процессе шифрования используется более одного ключа, принято использовать запись kab, ks и т.д., однако мы будем записывать все символы на одном уровне. Таким образом, запись Ekab(x) означает, что величина x зашифровывается на ключе kab. kab следует рассматривать как единую переменную, по аналогии с идентификатором в языках программирования. Все обозначения ключей будут начинаться с k.
Область значений, из которой выбираются ключи, называется пространством ключей. Выбрав длину ключа 20 десятичных знаков в типовом шифре, получаем пространство ключей величиной 1020. Также ключ можно представить двоичным числом, длиной 50 знаков. Тогда величина пространства ключей будет равна 250. В других шифрах ключ может быть подчиняющейся определенному правилу перестановкой символов, например, латинского алфавита. В этом случае величина пространства ключей равна 26!.
Запись y = Ek(x) подразумевает, что величины x и y также переменные, со своими конечными множествами значений. Шифры, в которых x представляет блоки текста, называются блочными. Например, 8 знаков, складывающиеся из 7-битного кода и одного бита четности, стандарта ISO образуют 64-битный блок. Можно разработать шифр, использующий такие блоки, но из-за избыточности кодов в стандарте ISO объем содержательной информации будет гораздо меньше. Если использовать буквы какого-либо естественного языка, например, английского, объем смысловой информации все равно будет меньше множества возможных значений x.
Также нам потребуется обозначение для сообщений неопределенной длины. В таких случаях единственная переменная x заменяется последовательностью переменных. Алгоритм шифра будет выглядеть следующим образом:
Ek(x0,x1,…xi,…),
где x0, x1 … – последовательность переменных, величины которых задаются отдельно. Эти переменные могут быть частями сообщения или его заголовка, например, идентификатор выборки или порядковый номер. Простейший пример – когда каждую из переменных xi выбирают из конечного множества значений, называемого алфавитом шифра. Например, алфавит может быть самым настоящим латинским алфавитом (A, B, … Z) или состоять из 256 различных значений октета (например, восьмиразрядного символа). Шифры, зашифровывающие последовательности таких знаков неопределенной длины иногда называю поточными. К сожалению, терминология появилась спонтанно и не существует единого понятного всем термина. Такие шифры применяются обычно при относительно небольшом размере алфавита, предельный случай – битовая последовательность, при алфавите, состоящем из 0 и 1. Очевидно, что при алфавитах небольшого объема каждый символ ШТ должен зависеть от нескольких знаков ОТ, иначе шифр будет слишком простым.

Необходимость распределения ключей и управления
Прежде чем осуществить шифрованную связь участники должны обговорить все стороны вопроса. Необходимо выбрать общий алгоритм шифрования, режим работы алгоритма и вектор инициализации. Также нужно предоставить выбранный общий ключ шифрования каждому из участников переговоров, что является наиболее трудной задачей. Прежде чем по линии связи побежит поток шифрованных данных, этот же путь должен проделать ключ шифрования. Ключи можно зашифровать, но в итоге все равно будет существовать хотя бы один ключ, который нужно будет передать каким-либо способом. С этой точки зрения шифр можно рассматривать не как средство обеспечения секретности, а как средство, позволяющее сосредоточить секретность передаваемых зашифрованных больших объемов данных в ключе и в способе сохранения его секретности при процедуре распределении ключей.
При шифровании данных, хранящихся на ЗУ, манипулировать с ключами намного проще, так как зашифрование и расшифрование осуществляются в одном месте, и не требуется передавать ключ, однако нельзя забывать об обеспечении секретности хранящегося на том же ЗУ ключа.
Процедуры выбора ключей и обеспечения доступа к ним только уполномоченных пользователей и называется управлением ключами. После того, как разработчики продумали методы шифрования в системе, следующей важной задачей становится обеспечение механизма управления ключами, поскольку безопасность всей системы зиждется на ключах. Глава 6 книги целиком посвящена вопросам управления ключами.

1.5 Некоторые варианты применения шифрования
Шифрование скрывает содержание сообщения, однако, если у адресата есть ключ, он может расшифровать сообщение. Таким образом, шифрование дает возможность контролировать доступ к содержанию сообщения, делая его доступным только владельцам ключа. В случае общедоступности ШТ и алгоритма шифрования, знание ключа равносильно знанию содержания сообщения. Обладая ключом, человек также может зашифровать свое сообщение, а значит, при определенных обстоятельствах сообщение может быть прочитано и зашифровано.
English to Russian: Data Security pt.2
General field: Science
Detailed field: Science (general)
Source text - English
In chapter 8 wc describe a novel kind of cipher in which both sender and receiver have secret keys but neither sends his key to the other (page 235). This was first described in the context of 'Mental Poker'—a game of poker played between people who are all in different places and joined only by telecommunication channels. This is a vivid illustration of a use of encipherment in which secrecy and authentication are not the whole story. We can illustrate this by a simpler case, the tossing of a coin by two people at a distance, using only messages to link them.
The two people are Ann and Bill. Deliberate bias in their coin-tossing can be avoided by a convention in which Ann announces her call C, with its value 'heads' or 'tails' and Bill similarly announces Cb then the outcome of the procedure is a head if the two calls coincide and a tail if they differ. The simple analysis of this 'game' shows that both Ann and Bill will choose between head and tail at random. If either shows a bias the other can improve their chance of winning.
If Ann announces her call first then Bill can arrange to win, and vice versa. If no trusted third person is available to receive the calls and adjudicate, the two parties can use encipherment in the following way.
Ann chooses one of two highly redundant statements such as 'My call for this game is heads' or 'Mv call for this game is tails', enciphers whichever phrase she chooses and keeps the key secret. Because of the redundancy she cannot find two keys that will generate either message from the same ciphertext. Of course there must be no other clues such as the length of the message. Ann and Bill exchange their enciphered calls. When Ann has received
1L
Bill's call she reveals her key and vice versa. If each finds the deciphered message to be one of the two phrases, the calls stand and the outcome is as defined. The use of encipherment authenticates the calls after they have been exchanged and ensures that they cannot be modified after learning the other's call.
A large part of the practice of data security consists of procedures (or protocols) using encipherment of which the coin-tossing procedure is just a simple example. The procedures range from the very simple to rather complex schemes such as those of key management described in chapter 6.
1.6 General Properties of Cipher Functions
The most useful ciphers are those which do not expand the text. A block cipher for an /i-bit block maps the 2" different plaintext values onto the 2" different ciphertext values. In effect, it is a permutation of these 2" values, one which varies with the value of key. The possible number of permutations is (2")! which is usually larger than the key space, so many of the possible permutations do not happen. For all practical purposes the permutations seem to be chosen at random in a good cipher because, if there were obvious regularities, the cryptanalyst could exploit them.
For a given value of key k, if x ranges over all its possible values, у = Ek(x) also ranges over all its possible values. On the other hand if x is held constant and к ranges over all its key space, the у values generated can be regarded as random choices. Some у values may not occur at all, others may occur more
When there is no data expansion the identity x = Dk [ЕА(дг)] implies another identity x = EAr[DArft>]. In other words, encipherment and decipherment can be interchanged. This is illustrated in Figure 1.2 and it is not a trivial result. If there is data expansion then Dk(x) reduces the size of the text and the second identity cannot be true. Bear in mind that, when encipherment and
ED 0 E
1.2 Exchange of cipher and decipher functions
1.3 The product of two involutions
decipherment are exchanged, though they have all the formal properties of a deciphermenl/encipherment pair, some of their useful properties may disappear. Figure 1.2 is a trivial example based on a 3-bit character.
The type of function shown in Figure 1.2 is called a hijection. This kind of function maps a set of values into a set of equal size. Each value maps into just one corresponding value, both for the function and its inverse. This is a one- to-one mapping.
There is a special kind of cipher which is an involution, that is a function f(x) which has the property that f(fft/]=x. In the case of a cipher function which is an involution,
BkEk(x) =x
implies that Лк(х) = Dk(x), encipherment and decipherment are identical. In the days when ciphers were produced by mcchanisms a 'self-inverse' cipher was an advantage because the mechanism needed no adjustment between sending and receiving. Many examples exist of involutions as cipher functions.
The product of two involutions is not necessarily an involution, as Figure 1.3 illustrates. The inverse of such a product can easily be found if its components are known. If encipherment is y-Ei[E,fx)]
and both E, and Ej are involutions, the decipherment is
A series of involution transformations can produce a secure cipher which is easily inverted, and this principle underlies the construction of the Data Encryption Standard described in chapter 3.
Chapter 2 Ciphers and their Properties


2.1 Introduction
The known history of codes and ciphers is long and fascinating, dating back almost 4 000 years to the time when the Egyptians, possibly out of respect for the dead, used a hieroglyphic code for inscriptions on tombs. It is likely that the art of concealment of meaning of written communication goes back even further, though the Egyptian funerary inscriptions are amongst the earliest known examples. Many and various have been the techniques employed over the centuries. By today most of the 'classical' techniques are thought to be too weak for serious application; however, many of their basic principles can still be identified as forming part of modern techniques and therefore it is worth examining how some of them worked. This chapter aims to give a flavour of classical techniques without attempting to be exhaustive. For a comprehensive treatment readers should consult David Kahn's book The Codebreakers.' Another useful reference on classical techniques is the book Cryplanalysis by Helen Fouche Gaines.'
Concealment may take two forms, either the message is hidden in such a way that the very fact of its existence is obscured or the message is transformed so as to be unintelligible even though its existence is apparent. The first of these techniques has been called 'stcganography' (literally: covered writing), whilst the second is known as 'cryptography' (literally: hidden writing); the literal distinction between these terms seems very fine, but their technical significance makes a rather useful distinction.
A steganographic method said to have been popular in classical times involved shaving the head of a slave, writing the message on the shaven head, waiting till the hair grew again and then despatching the slave to have his head shaved by the intended message recipient. This technique has little to commend it, least of all the slow rate of communication (unless early Greek hair grew much faster than does ours). Another method used pictures to carry hidden messages; Figure 2.1 illustrates an example. At first glance this seems to be just another drawing of a shrub; however, a concealed message is contained within the picture. Reading clockwise around the outline of the shrub (beginning at the trunk) and recording a 'I' for each twig bearing a fruit and a '0' for each empty twig, we obtain a binary message. Enclosed regions
2.1. A picture containing a hidden message — stcganography
are ignored—they only add to the pictorial elfect—but in a more elaborate 'tree-structured' reading of the figure they could be used, adding 16 bits to its message.
Lord Bacon's method of steganography used two type founts, differing slightly in appearance. Effectively one fount stood for binary 0 and the other for binary 1, permitting encoding of letters of the secret message within a totally unrelated text. Much effort has gone into attempts to prove that Bacon was the true author of the plays attributed to Shakespeare; one approach was to scan the first folios of these plays for messages hidden by Bacon's method. The famous American cryptologisl, William Friedman, began his cryptographic career in a fruitless search for these messages at the Riverbank Laboratories, Geneva, Illinois. Under Friedman's leadership the Riverbank Laboratories became highly respected in cryptology but their owner, George Fabyan, never gave up his belief that the Baconian ciphers could be found in Shakespeare.
Translation - Russian
В главе 8 мы покажем, что при использовании «шифра с открытым ключом» можно разделить возможность чтения сообщения и зашифрования сообщения.
Не обладая ключом, злоумышленник не сможет успешно подделать сообщение. Он может изменить ШТ, но после расшифрования полученный ОТ не будет осмысленным текстом потому, что не обладая ключом невозможно манипулировать текстом сообщения. Если предположить, что сообщение обладает избыточностью, тогда полученный на ключе настоящий ШТ можно легко отличить от случайной последовательности. Любой владелец ключа сможет проверить аутентичность сообщения. Более подробно вопрос аутентификации будет рассмотрен а главе 5. Это одно из основных применений методов шифрования. Операции управления доступом и аутентификации можно применять к передаваемым сообщениям или хранящимся файлам. Объединив эти операции, получим различные варианты применения шифрования, но не сможем увидеть всевозможные способы применения самих шифров, что характерно при обобщениях. В качестве примера можно рассмотреть патент, удостоверяющий исключительное право, авторство и приоритет изобретения.
До появления патентных организаций, если изобретатель публиковал свои методы, он терял право использовать их до тех пор, пока все не смогут. Некоторые изобретатели хотели официально зарегистрировать свои идеи, а также свое первенство, не раскрывая при этом подробностей конкурентам. Они делали описание своей идеи, зашифровывали его и публиковали зашифрованное сообщение, а ключ оставляли в секрете. Позднее, когда принцип действия изобретения уже не был загадкой, другие люди могли попытаться заявить свое авторство на изобретение. Но тогда настоящий изобретатель публиковал ключ, чтобы любой желающий смог убедиться, что автор описал изобретение намного раньше.
В главе 8 мы опишем новый вид шифра, при котором и отправитель, и адресат обладают секретными ключами, но не обмениваются ими друг другу (стр.235). Этот метод был впервые описан применительно к игре «интеллектуальный покер». В игре все участники находятся в разных местах и им доступен исключительно визуальный вид связи. Это наглядный пример шифрования, в котором секретность и аутентификация – только часть истории. Можно привести более простой пример, при котором два человека, находящиеся на приличном расстоянии друг от друга, подбрасывают монету и могут общаться голосом.
Назовем их Анна и Билл. Умышленного искажения результатов при подбрасывании монет можно избежать, если ввести правило, при котором Анна объявляет результат своего подбрасывания Ca («орел» или «решка»), затем Билл так же объявляет результат своего подбрасывания Cb, после чего итоговым результатом считается орел, если Анны и Билла выпали одинаковые стороны монет, и решка – если разные. Проанализировав такую «игру», становится ясно, что и Анна, и Билл будут случайным образом выбирать между орлом и решкой. Если один из них будет систематически искажать свой результат, другой может увеличить их шансы на победу.
Если Анна будет первой объявлять результат подбрасывания, Билл сможет организовать победу и наоборот. Если нет доверенного третьего лица, кто мог бы регистрировать результаты подбрасываний и выносить решение, двое участников могут использовать шифрование, представленное далее.
Анна выберет одну из излишне многословных фраз, таких, например, как «В этой игре у меня выпал орел» или «В этой игре у меня выпала решка», зашифрует ее и оставит ключ в секрете. Из-за избыточности сообщения она не сможет подобрать второго ключа, при расшифровании на котором можно было бы получить любую из этих фраз. Разумеется, не должно быть никаких других намеков, как, например, длина сообщения. Анна и Билл обменяются зашифрованными сообщениями о результатах подбрасываний. Когда Анна получит зашифрованное сообщение Билла, она раскроет свой ключ и наоборот. Если каждый из них убедится, что расшифрованное сообщение – это одна из условленных фраз, значит, их утверждения правдивы и итог будет таким, как и заявлен. Использование шифрования удостоверяет заявленные результаты после того, как ими обменялись, а также обеспечивает невозможность подделать свой результат, узнав результат соперника.
Большая часть практического применения защиты данных заключается в алгоритмах (или протоколах), использующих шифрование, простым примером служит алгоритм подбрасывания монеты. Алгоритмы варьируются от простых до достаточно сложных. К сложным относятся алгоритмы управления ключами, описанные в главе 6.

1.6 Общие свойства функций шифрования
Самыми удобными в использовании являются шифры, которые не увеличивают длину текста. N-блочный шифр преобразует 2n различных ОТ в 2n различных ШТ. По сути это перестановка 2n значений в зависимости от значения ключа. Количество всех возможных перестановок равно (2n)!, что обычно превышает пространство ключей и в силу этого количество используемых перестановок много меньше (2n)!. С практической точки зрения перестановку необходимо выбирать случайно, поскольку при наличии очевидной закономерности криптоаналитик может воспользоваться этой слабостью.
Если x принимает все возможные значения при фиксированном значении ключа k, то y = Ek(x) также принимает все возможные значения. С другой стороны, если k пробегает все возможные значения при фиксированном значении x, то полученная величина y может рассматриваться как случайная. Некоторые значения y могут не встретиться ни разу, а некоторые – больше одного раза.
При условии отсутствия эффекта расширения данных, равенства x = Dk[Ek(x)] и x = Ek[Dk(x)] тождественны. Иными словами, зашифрование и расшифрования могут быть взаимозаменяемыми. Данный факт проиллюстрирован на рис.1.2 и не является очевидным. Если имеет место эффект расширения данных, тогда функция Dk(x) уменьшает размер текста и второе равенство оказывается неверным. Необходимо помнить, что при перестановке функций зашифрования и расшифрования некоторые их свойства могут быть утеряны, несмотря на то, что формальные свойства этой пары функций у них сохраняются. На рис.1.2 представлен простейший пример 3-битного шифра.

Рис.1.2 Перестановка функций зашифрования и расшифрования
Изображенная на рис.1.2 функция называется биекцией или взаимно однозначным соответствием. Функция такого типа ставит в соответствие одному множеству другое множество равной величины. Каждому элементу одного множества соответствует ровно один элемент другого множества, это справедливо как для функции, так и для ее инверсии.
Особый вид шифра, описываемый функцией f(x), такой, что f[f(x)] = x, называется инволюция. Если функция зашифрования является инволюцией, то
Ek[Ek(x)] = x,
следовательно, функции зашифрования и расшифрования тождественно равны, Ek(x) = Dk(x). Во времена, когда для шифрования использовались механические устройства, использование абсолютно симметричных шифров давало большое преимущество, так как не приходилось каждый раз настраивать устройство на расшифрование и зашифрование. Существует много примеров использования инволюций в качестве шифрующих функций.

Рис.1.3 Результат двух последовательных инволюций
Результатом двух последовательных инволюций не обязательно будет инволюция, что наглядно видно на рис.1.3.
Легко посчитать инверсию, если известны функции. В случае, если функция зашифрования
y = E2[E1(x)],
и обе функции E1 и E2 являются инволюциями, то функция расшифрования
x = E1[E2(y)].
Последовательное применение некоторого количества инволюций дает возможность создать стойкий симметричный шифр и такая конструкция заложена в основу стандарта шифрования DES, описанного в главе 3.

Глава 2
Шифры и их свойства

2.1 Введение
История шифров и кодов весьма продолжительна и захватывающая, она восходит к эпохе, когда Древние Египтяне, вероятнее всего из уважения к умершим, наносили иероглифические знаки на могилах. Существует предположение, что искусство тайнописи имеет еще более древнее происхождение, но на сегодняшний день древнеегипетские погребальные надписи являются одними из самых ранних образцов. С тех пор было изобретено множество различных способов сокрытия информации. На сегодняшний день большинство «классических» методов нельзя использовать ввиду их простоты, однако основные принципы, заложенные в этих методах, являются основополагающими и для современных методов, и поэтому стоит рассмотреть их принципы работы. Данная глава имеет целью познакомить читателя с классическими методами и не претендует на их подробное описание. Для получения более подробной информации по классическим методам автор рекомендует читателю обратиться к книге Дэвида Кана «Взломщики кодов»1. Полезной будет также книга Элен Фуше Ганн «Криптоанализ»2.
Тайнопись можно разделить на два вида, при первом варианте скрыт сам факт наличия сообщения, при втором факт наличия сообщения не скрывается, но сообщения преобразуется в неинформативный набор символов. Первый вид тайнописи называется «стеганографией» (скрытое письмо), а второй – «криптографией» (спрятанное письмо). Буквальные значения этих двух терминов очень схожи, однако с технической точки зрения понятия существенно различаются.
Есть сведения о том, что методы стеганографии широко применялись в античные времена, например, наголо брили голову раба, записывали на нее сообщение, ждали пока не отрастут волосы и отправляли раба адресату, у которого раба снова брили. Данный способ вряд ли можно назвать эффективным, так как это самый медленный их всех существовавших способов передачи сообщений (если конечно волосы древних греков не росли гораздо быстрее наших). Другой способ заключался в использовании рисунков для скрытия сообщений. На рис.2.1 приведен пример такого метода. На первый взгляд кажется, что это всего лишь обычный рисунок куста, однако в рисунке скрыто сообщение. Если перебирать по часовой стрелке все ветки куста (начиная со ствола), записывая «1», если на ветке есть фрукт и «0», если ветка пуста, получим двоичное сообщение. Область куста, заключенная между перекрещенными ветвями, игнорируются – они просто делают картинку более живой, однако их можно использовать в более продвинутом способе, это позволит увеличить сообщение на 16 бит.

Рис.2.1 Стеганография. Изображение, содержащее скрытое послание
Метод стеганографии, который применял Лорд Бэкон, заключался в использовании двух немного различающихся внешне шрифтов. Фактически, один из шрифтов использовался для кодирования двоичного 0, второй – для кодирования 1, что давало возможность кодировать секретное сообщение внутри произвольного текста, не имеющего к сообщению никакого отношения. Было предпринято множество попыток доказать, что автором Шекспировских пьес был Лорд Бэкон. Одна из них заключалась в проверке первых томов этих пьес на наличие скрытых сообщений, написанных методом стеганографии Бэкона.
Знаменитый американский криптограф, Уильям Фридман, начал свою карьеру в лабораториях Ривербэнк в Женеве (штат Иллинойс) с тщетных попыток найти эти скрытые сообщения. Под руководством Фридмана Ривербэнк Лабс стали весьма уважаемой компанией, работающей в области криптографии, но ее владелец Джордж Фабиан так и не отказался от надежды найти шифры Бэкона в Шекспировских произведениях.

Translation education Graduate diploma - Lomonosov Moscow State University
Experience Years of experience: 16. Registered at ProZ.com: Jun 2010.
ProZ.com Certified PRO certificate(s) N/A
Credentials English to Russian (Lomonosov Moscow State University)
Memberships N/A
Software Adobe Acrobat, Adobe Photoshop, DejaVu, Microsoft Excel, Microsoft Word, Trados Studio
CV/Resume CV available upon request
Bio
No content specified
Keywords: english, russian, math, computers, general


Profile last updated
Aug 9, 2011



More translators and interpreters: English to Russian   More language pairs