Institutionen för systemteknik
|
|
- David Eriksson
- för 6 år sedan
- Visningar:
Transkript
1 Institutionen för systemteknik Department of Electrical Engineering Examensarbete High-Speed Storage Encryption over Fibre Channel Examensarbete utfört i Elektroteknik vid Tekniska högskolan vid Linköpings universitet av Christian Svensson LiTH-ISY-EX--13/4713--SE Linköping 2013 Department of Electrical Engineering Linköpings universitet SE Linköping, Sweden Linköpings tekniska högskola Linköpings universitet Linköping
2 Master thesis High-Speed Storage Encryption over Fibre Channel by Christian Svensson LiTH-ISY-EX--13/4713--SE Supervisors: Johan Uppman, Andreas Ehliar Examiner: Olle Seger
3 Avdelning, Institution Division, Department Division of Computer Engineering Department of Electrical Engineering SE Linköping Datum Date Språk Language Svenska/Swedish Engelska/English Rapporttyp Report category Licentiatavhandling Examensarbete C-uppsats D-uppsats Övrig rapport ISBN ISRN LiTH-ISY-EX--13/4713--SE Serietitel och serienummer Title of series, numbering ISSN URL för elektronisk version Titel Title High-Speed Storage Encryption over Fibre Channel Författare Author Christian Svensson Sammanfattning Abstract This thesis focused on testing whether persistent encryption of Fibre Channel is doable and what kind of security it provides. It has been shown that intercepting, analysing and modifying Fibre Channel traffic is possible without any noticeable performance loss as long as latency is kept within certain boundaries. If latency are outside those boundaries extreme performance loss are to be expected. This latency demand puts further restrictions on the cryptography to be used. Two platforms were simulated, implemented and explained. One for intercepting and modifying Fibre Channel and one for analysing Fibre Channel traffic using Linux and Wireshark. Nyckelord Keywords fibre channel, cryptography, fpga, network, communication
4 Abstract This thesis focused on testing whether persistent encryption of Fibre Channel is doable and what kind of security it provides. It has been shown that intercepting, analysing and modifying Fibre Channel traffic is possible without any noticeable performance loss as long as latency is kept within certain boundaries. If latency are outside those boundaries extreme performance loss are to be expected. This latency demand puts further restrictions on the cryptography to be used. Two platforms were simulated, implemented and explained. One for intercepting and modifying Fibre Channel and one for analysing Fibre Channel traffic using Linux and Wireshark. ii
5 Acknowledgements I would like to thank a few people who have helped me throughout the thesis. Thanks to my supervisors Johan Uppman and Andreas Ehliar for very valuable ideas and feedback. It would have been incredibly hard to do this without you. Thanks to my examiner Olle Seger for taking his time supervising the thesis. A specially big thanks to SECTRA Communication for hosting this thesis and providing me with all the equipment I needed as well as all the wonderful co-workers I have had the pleasure of working with. Finally, thanks to Markus Häll and Erik Carlsson for information of how Fibre Channel is used in the real world and thanks to Michael Richardson, Guy Harris and Martin Kaiser for merging my patches in libpcap and Wireshark. iii
6 Contents 1 Introduction Thesis Formulation Open/Secure Cut Approach Primary Scenario: External Hardware Encryption after HBA Secondary Scenario: Internal Hardware Encryption on HBA Tertiary Scenario: Encrypted Transport Latency Performance and Backwards Compatibility Fibre Channel Topology Cut-through Forwarding versus Store and Forward Fibre Channel, SCSI and Cryptography Fibre Channel FC-0: Physical Layer FC-1: Code Layer FC-2: Protocol Layer FC-3: Services Layer FC-4: Mapping Layer SCSI Cryptography Open, Secure, Red and Black Cut-through Forwarding Hardware Simulation Model Implementation Synthesis Statistics Link Snooper Connection Ports Link Snooper Hardware Implementation On Board Logic Linux Kernel Linux User Space Usage Fibre Channel Encryptor 21 iv
7 5.1 Simulation Model Implementation Data Flow Encryption Synthesis Statistics Results Measurement Setup Computer A Computer B Baseline Performance Fibre Channel Performance Latency and Performance Impact Basic Latency Frame Sizes and Latency Asymmetrical versus Symmetrical Latency Summary Discussion Security Implications Open/Secure Cut Encryption Exchange Record Unknown Data Encrypted Transport Conclusion Future Work 33 A Source Code 34 A.1 Measurement A.1.1 blk_scan.sh Bibliography 35 v
8 Nomenclature CDC CRC EOF F-port FCoE FDE FPGA FSM HBA IP LBA LUN N-port PCAP SCSI SerDes SMA SOF VHDL VHSIC xxgfc Clock domain crossing. Cyclic redundancy check. An error-detection code. End of frame. Fabric port. Fibre Channel over Ethernet. Full disk encryption. Field programmable gate array. Finite state machine. Host bus adapter. Used to connect a Fibre Channel device to the host. Internet protocol. Logical block address. Logical unit number. Node port. Packet capture file format. Used to store network packets. Small computer system interface. A storage standard. Serializer/Deserializer. Subminiature version A. An RF connector. Start of frame. VHSIC hardware description language. Very high speed integrated circuits. Gigabit Fibre Channel. Speed grade of Fibre Channel. 1
9 List of Figures External hardware encryption after HBA Internal hardware encryption on HBA Internal software encryption before HBA Encrypted transport Fibre Channel layers [T11 Technical Committee(2011), FC-PI-5, page 16] Fibre Channel frame format [T11 Technical Committee(2010), page 130] Fibre Channel frame headers [T11 Technical Committee(2010), page 142] Wireshark showing FCP and SCSI CDB A Fibre Channel read exchange The forwarding platform Simulation - Test bench Simulation - Terminator block Simulation - Place holder encryptor Implementation of the platform Xilinx ML505 development kit Block diagram of the link snooper Block diagram of the PCIe access block Link Snooper connected to the forwarding board Partial block diagram of the encryptor platform Block diagram of the encryptor module Reading data from RAM Reading data from RAM over Fibre Channel Reading data from RAM over Fibre Channel reversed Reading data from RAM (Summary) Latency block diagram Reading data from RAM over Fibre Channel with latency (Summary) Reading data over Fibre Channel with varying latency and frame sizes Comparison of symmetric and asymmetric latency Encrypted transport implementation
10 List of Tables Resource usage for the forwarding platform Resource usage for the forwarding platform with encryption
11 Chapter 1 Introduction This report begins with a thesis formulation of what problems will be analysed and what is included in the scope of the thesis. Following that is a brief introductions to Fibre Channel, SCSI and cryptography to make the reader familiar with the technologies discussed. The chapters 3 to 5 describes the implementation of the hardware used in the thesis while chapter 6 discusses the measured results. Finally chapter 7 and 8 discusses limitations and possible future work. 1.1 Thesis Formulation The problem in focus is allowing storage of sensitive information using Fibre Channel. The fundamental scenario is that a host wants to transmit sensitive information (secure) to be stored on storage connected via Fibre Channel where the link and storage is considered to be untrusted (open). This may be achieved in a number of ways: External hardware encryption after HBA (figure 1.1.1) Internal hardware encryption on HBA (figure 1.1.2) Internal software encryption before HBA (figure 1.1.3) Encrypted transport (figure 1.1.4) Internal software encryption using a standard FDE software works by encrypting the data before it leaves the operating system. This is considered out of scope and will not be researched in the thesis. Encrypted transport assumes that only the link is untrusted, not the storage. See A non-trivial problem is where to place the cut between the trusted and untrusted environments. This problem is discussed in section Secure Encryptor Open Figure 1.1.1: External hardware encryption after HBA 4
12 Encryptor Open Figure 1.1.2: Internal hardware encryption on HBA Open Encryptor Open/Secure Cut Figure 1.1.3: Internal software encryption before HBA Fibre Channel is a layer based technology (figure 1.1.5) which makes it possible to place the open/secure cut at a number of different places, all with different implications. E.g. placing the cut between FC-0 and FC-1 would result in a transport based encryption. A suitable place for the cut will be as high up as possible, e.g. inside the SCSI read/write commands. Placing the cut inside the SCSI layer have the benefit of a potentially simple implementation but may reveal too much information. Another possibility is to place the cut between FC-3 and FC-4. In this case the encryptor would need to terminate the SCSI commands and generate new (secured) SCSI commands to the back end. 1.2 Approach The approach has been divided into three different scenarios Primary Scenario: External Hardware Encryption after HBA Using an commercially available HBA the idea is to emulate the storage interface (F-port or N-port) to the HBA. The encryptor should encrypt and decrypt sensitive data passing through it to the open or secure side respectively (illustrated in figure 1.1.1). Since the other scenarios are mutations of this scenario, this will be the scenario to be implemented Secondary Scenario: Internal Hardware Encryption on HBA Instead of having a standalone HBA send data to the encryptor, this scenario works by having the encryptor act as an HBA to the host computer as well as handle the Fibre Channel Secure Encryptor Open Decryptor Secure Figure 1.1.4: Encrypted transport 5
13 Figure 1.1.5: Fibre Channel layers [T11 Technical Committee(2011), FC-PI-5, page 16] communication in the same manner as in section (illustrated in figure 1.1.2). An intuitive implementation of this is implementing an HBA with corresponding driver. It is also possible to emulate a network interface and send frames encapsulated in FCoE packets to the kernel. This scenario is deemed to be too complex for this thesis and will not be implemented Tertiary Scenario: Encrypted Transport There is also the possible application of simply transporting the Fibre Channel communication encrypted and decrypt it just before it reaches the storage (illustrated in figure 1.1.4). This puts other demands on the storage environment and will not be the focus of the thesis, but it will be explored as an option Latency Latency is the measurement of time delay that the data experiences while flowing through the system. For this thesis it is the time delay added by the platform that is inserted between the endpoints. Measurements of latency and research on what effect it has on throughput are presented in chapter Performance and Backwards Compatibility The back end storage is assumed to be any modern storage capable of running at the speeds 1-, 2- or 4GFC. Given the hardware available the speed will be fixed at 2GFC and no speed negotiation will be supported. 6
14 1.2.6 Fibre Channel Topology Focus will be on point-to-point. Other topologies will not be examined as to limit the scope of the thesis Cut-through Forwarding versus Store and Forward The two methods for network forwarding are cut-through forwarding and store-and-forward forwarding. The main differences between these two methods are in latency [Juniper Networks(2012)] and space complexity. The cut-through forwarding method works by streaming the data through the forwarding engine as quickly as possible. Transmission is done when the first processed data is available which means that the latency increase is almost constant [Juniper Networks(2012)] and the memory requirements are limited to the amount of data currently inside the forwarding engine. The constant latency property is derived from the fact that frame transmission must normally be continuous i.e. when the frame has begun transmission it is required to maintain the data stream without pauses. The store and forward method works by storing the whole frame in some kind of memory before it is forwarded [Yang Yang(2012)]. This inherently means that the forwarding engine needs to wait for the whole frame to be received before even starting to transmit thus increasing latency as well as making it dependent on the frame s size. Since the packets need to be stored it requires memories to both read outgoing frames and write new incoming ones. Given that the frame is stored before transmission it is potentially easy to extensively modify the frame such as changing its size. The method of choice in this thesis is cut-through forwarding due to it being easier to implement. 7
15 Chapter 2 Fibre Channel, SCSI and Cryptography This chapter exists to make the reader familiar with the concepts of Fibre Channel and SCSI that is referenced in this thesis. The different areas are explained in a bottom-up approach meaning that it starts with the electrical layer and moves up towards more logical layers. 2.1 Fibre Channel Fibre Channel is split into a number of abstraction layers (figure 1.1.5) called FC-0 through FC-4, FC-0 being the physical (e.g. electrical or optical) layer and FC-4 being the service layer. The reader might be familiar with the Open Systems Interconnection (OSI) model at which case it should be noted that the layers in Fibre Channel does not match the OSI layers one to one but the same concept applies. The layers described herein are defined in the [T11 Technical Committee(2010), FC-FS-3] and [T11 Technical Committee(2011), FC-PI-5] standards FC-0: Physical Layer This thesis uses SFP modules and built in transceivers which makes the physical layer largely hidden. To understand FC-0 it is important to know that the upper layer (FC-1) always makes sure the data is encoded with 8b/10b. This encoding allows an 8-bit byte and a control bit to be transformed into 10-bits depending on the DC bias at the time as well as guaranteeing that it is possible to align the data clock to the data stream (clock recovery) [Ulf Troppens(2009), 3.3.3]. 8b/10b uses the DC bias to calculate the next character using what is called a running disparity. Balancing the DC bias around zero will produce a DC balanced stream - a stream where the mean current flow is equal to zero. Consider a data stream encoded for +5 V for logical high and 0V for logical low. Sending data with at least one logical high bit on this bus will cause a current to flow from the sender to the receiver creating a biased system. Now consider the case where a logical high is +2.5V and the logical low is -2.5V. Sending data on this bus may send current flowing in either direction depending on the data transmitted. However it is trivial to see that the slightest logical imbalance in the bits would cause the bus to have a DC bias. This problem is solved with the running disparity in 8b/10b FC-1: Code Layer FC-1 introduces something called transmission character, transmission word and ordered sets. A transmission character is an 8b/10b encoded byte plus control bit. It s written as Xyy.z 8
16 where X is K if control is high and D if control is low, yy is the 5 least significant bits and z is the 3 most significant. Example: K28.5 is with control bit high. A transmission word is a collection of four transmission characters. An ordered set is a special transmission word where the first character is K28.5. Ordered sets are used to send control information such as when there is no data to be transmitted, during link negotiations and marking the start and end of data frames. For example, the idle marker is K28.5, D21.4, D21.5, D FC-2: Protocol Layer Special frame markers (SOF and EOF) delimits the Fibre Channel frame. The frame format is show in figure and encompasses headers, data and CRC. The frame header (figure 2.1.2) and the extended header contains properties such as addresses and control flags used to manage what is called an exchange[ulf Troppens(2009), 3.3.4]. An exchange is a conversation between two endpoints and is referenced by an unique number called OX_ID. The field R_CTL is called routing control and is used to classify the frame function such as sending data or commands. Frame functions can be both solicited and unsolicited and are given different routing classes depending on which is the case. For example a read or write command always produces solicited data. Figure 2.1.1: Fibre Channel frame format [T11 Technical Committee(2010), page 130] The size is given in bytes. Figure 2.1.2: Fibre Channel frame headers [T11 Technical Committee(2010), page 142] FC-3: Services Layer The FC-3 services layer is used to facilitate communication between the Fibre Channel device and the fabric it is attached to. Understanding of this layer is not needed for this thesis and will be omitted. 9
17 2.1.5 FC-4: Mapping Layer The mapping layer is the final layer in the Fibre Channel layer model. While this layer is used to carry many protocols such as IP or SCSI, it is only the later that is relevant for this thesis. Carrying SCSI over Fibre Channel is done by the Fibre Channel Protocol (FCP). FCP contains information needed to route the SCSI payload to the correct device as well as the SCSI Command Descriptor Block (CDB). SCSI CDB corresponds exactly to the SCSI standard and is the point at which Fibre Channel no longer cares about the contents and passes it through as it is. An example of FCP and CDB captured from a SCSI exchange is shown in figure Figure 2.1.3: Wireshark showing FCP and SCSI CDB 2.2 SCSI SCSI is a set of standards for connecting and transferring data between devices. While this thesis uses the term SCSI it is only a very small subset of the SCSI standards that are referred to. 10
18 Commands for SCSI works by sending CDB frames to a device addressed by a Logical Unit Number (LUN) where the CDB contains an opcode indicating which function the device is requested to perform. Depending on the opcode the rest of the CDB will vary. Two such commands are the Read(10) and Write(10) command. The number after the command is used to separate the different versions of read and write commands. A SCSI over Fibre Channel exchange can be seen in figure Refer to [Seagate(2006)] for more information regarding SCSI commands and what data they contain. 2.3 Cryptography The concept of encryption is to transform data so that only authorised parties can recover it. This thesis will not focus on the algorithm itself but rather what requirements are to be satisfied if the algorithm is to be used for encryption in these scenarios Open, Secure, Red and Black In the first chapter the terms open and secure were used. Readers familiar with cryptography may recognise red and black instead, where red is the side that carries the classified data (called secure in the previous figures) and black carries the encrypted data (called open in previous figures). Red and black will be used from here on. 11
19 Figure 2.2.1: A Fibre Channel read exchange 12
20 Chapter 3 Cut-through Forwarding In order to access and modify the Fibre Channel frame contents it is necessary for the platform to be able to receive and transmit according to the FC-PI-5 and FC-FS-3 standards. These standards define how communication should be conducted between Fibre Channel equipments, what kind of coding is used, time-out values and other things the developer needs to know in order to model the correct behaviour. The goal with the cut-through forwarding scenario is to implement and verify the VHDL models based on the described behaviour. 3.1 Hardware The hardware available for this scenario is: Two QLogic QLE2460 Fibre Channel HBA One Linux PC One Windows PC Hardware platform with one XC5VLX50 FPGA, two SFP cages and two SMA connector pairs. The Linux PC hosts two SCSI devices using SCST 1 to be mounted by the Windows PC over Fibre Channel. The board is placed between these two PCs resulting in the connection shown in figure Simulation Model Since cut-through forwarding is a matter of simply connecting the two transceivers together in a pass through configuration, a simulation model offers little to no benefit. The challenge was instead to find a good configuration for the transceivers themselves that would work with the existing Fibre Channel hardware. Even with this in mind, a simulation model was produced in the early days of this thesis to test different ways of implementing and handling framing and encapsulation of Fibre Channel frames as well as to better understand how Fibre Channel works. Note that this simulation model does not match the blocks of the final implementation as much of the work is later done inside the hard transceiver blocks. 1 Generic SCSI target subsystem for Linux. 13
21 Red side SFP FPGA Platform SFP Black side Figure 3.1.1: The forwarding platform The black line illustrates the cut between red and black sides. The test bench (figure 3.2.1) works by reading and writing PCAP files containing Fibre Channel frames. Using Wireshark one can easily compare the results and quickly determine if the output was correct. The data is loaded by a terminator block (figure 3.2.2), passed through the encryptor block and then logged as it reaches the other terminator block. The place holder encryptor module (figure 3.2.3) was used to compare cut-through forwarding to store and forward and did not perform any encryption or decryption of the data. PCAP Reader FC Terminator Encryptor FC Terminator PCAP Reader PCAP Writer Figure 3.2.1: Simulation - Test bench Serial In PCAP In Transmit Data Path Receiver Word Synchronizer Decoder FC FSM Encoder Transmitter Receive Data Path PCAP Out Serial Out Figure 3.2.2: Simulation - Terminator block 3.3 Implementation Implementation of the forwarding platform is not complicated although it must be precisely tuned to Fibre Channel to work satisfactory. The physical aspect of the platform is illustrated 14
22 Receiver WordgSynchronizer Decoder FCgFSM Encoder Transmitter Receive Transmit SerialgIn CDCgFIFO RAM SerialgOut ControlgLogic Figure 3.2.3: Simulation - Place holder encryptor SFP Transceiver Red Port Black Port Transceiver SFP Mirror Port Transceiver Transceiver SMA SMA Figure 3.3.1: Implementation of the platform in figure while figure shows the logical aspect. The port blocks contain framing and encapsulation logic as well as logic to detect loss of link. The interface from the port blocks are made to be intuitive and easy to use for the encryption module that will be added later. Transceiver configuration is closely matched that described in [T11 Technical Committee(2010)] and Xilinx reference implementations. The throughput chosen in this implementation is 2GFC simply because that is the maximum possible throughput with the hardware available for this thesis Synthesis Statistics Table is provided for comparative purposes. See section for an analysis. 3.4 Link Snooper Connection Ports The platform is equipped with two extra transceivers which are used to mirror the outgoing or incoming link from the black SFP port (see lower part of figure 3.3.1). One transceiver is programmed to mirror both outgoing and incoming links depending on which is not idle while the other transceiver always mirrors the outgoing link. Incoming data on these transceivers are discarded. Connecting one of these ports to the link snooper (See 2b Link Snooper ) will make it possible to analyse the traffic being transmitted and/or received. 15
23 Slice Logic Utilization Used Available Utilization Number of Slice Registers 40 28,800 1% Number used as Flip Flops 40 Number of Slice LUTs 89 28,800 1% - Number used as logic 89 28,800 1% Number using O6 output only 85 Number using O5 output only 1 Number using O5 and O6 3 Number of route-thrus 1 - Number using O6 output only 1 Number of occupied Slices 48 7,200 1% Number of LUT Flip Flop pairs used 98 - Number with an unused Flip Flop % - Number with an unused LUT % - Number of fully used LUT-FF pairs % - Number of unique control sets 13 - Number of slice register sites lost to control set restrictions 28 28,800 1% Number of bonded IOBs % - Number of LOCed IOBs % - Number of bonded IPADs 12 Number of LOCed IPADs % - Number of bonded OPADs 12 Number of LOCed OPADs % Number of BUFG/BUFGCTRLs % - Number used as BUFGs 13 Number of DCM_ADVs % Number of GTP_DUALs % Average Fanout of Non-Clock Nets 3.06 Table 3.3.1: Resource usage for the forwarding platform 16
24 Chapter 4 Link Snooper The link snooper is a device that takes a Fibre Channel link and records certain frames for a host computer to extract and process. It is implemented as a network device in Linux with support included in Wireshark. 4.1 Hardware Figure 4.1.1: Xilinx ML505 development kit The link snooper is implemented using the Xilinx ML505 development kit (figure 4.1.1) featuring an XC5VLX50 FPGA, one transceiver connected to an SFP port as well as an other one connected to SMA ports. Communication with a host computer is achieved via the PCIe interface. 17
25 4.2 Implementation The implementation consists of three parts: on board logic, the linux kernel and linux user space On Board Logic The hardware implementation consists of the same Fibre Channel port blocks as the forwarding platform, an alignment block, access logic and PCIe blocks (see figure 4.2.1). The alignment block makes sure that the data fed to the access block is aligned on a two byte boundary to make it easier to filter unwanted transmission words. Alignment is done by looking for the IDLE transmission word and making sure that the first outputted two byte tuple is [K28.5, D21.4] followed by the next tuple [D21.5, D21.5]. If alignment is disabled data can under some circumstances be misaligned to [??, K28.5], [D21.4 D21.5], [D21.5,??] which results in that the matching logic needs to be much more complex. This block is also used in the improved forwarding platform when encryption is added, see chapter 5. The PCIe access block is where the PCIe and Fibre Channel domains meet (see figure 4.2.2). The concept is to store all Fibre Channel frames that are received to allow for later analysis using a big FIFO memory. The Fibre Channel domain writes each frame to the FIFO and the PCIe domain reads from it. The problem is that Fibre Channel always sends data regardless if it is only control information (IDLE for example) or real data which is why it is needed to filter out the unwanted data. The filter disables the FIFO write enable port when it detects that the current transmission word is a control word such as IDLE, R_RDY, ARBFF and so on resulting in that the FIFO only contains data of interest. Controlling the PCIe access block is done by reading and writing to memory mapped addresses. For example, reading address 0x0 will produce the status register containing a handful of flags ranging from if the FIFO is empty to if it is currently writing. It is also possible to read data from the FIFO, query the filter for how many transmission words that have been dropped and see how much data has been saved in the FIFO. The PCIe application and PCIe port blocks are generated from the Xilinx PCIe hard IP core with a few modifications to allow the PCIe access block to work as intended. FC Port FC Alignment PCIe Access PCIe Application PCIe Port Figure 4.2.1: Block diagram of the link snooper Linux Kernel On the software side the first interaction with the hardware is in the Linux kernel. The link snooper has been implemented as a network device to provide out-of-the-box support for Wireshark and other protocol dissectors. In order to fit the time frame for this thesis it was chosen to implement the link snooper as a polled device instead of an interrupt driven DMA one. This means that the Linux kernel needs to poll the device at specific intervals to check the device status and manually copy data from the device to its own memory. This consumes a lot of CPU time and makes high throughput data captures impossible. The rationale for creating this device was to verify the traffic outbound from the forwarding platform. This does not require capturing data at high rates nor does it require strict timing making the polling approach acceptable. 18
26 PCIe Read/Write Logic Control Data FIFO Data Filter FC Data Figure 4.2.2: Block diagram of the PCIe access block Linux User Space Since the link snooper is presented as a network interface it is possible to use the industry standard program Wireshark to verify the Fibre Channel protocol contents. A Wireshark bug 1 was found and a libpcap patch 2 was merged to facilitate support for the link snooper. For the result, see figure and figure Usage Red side SFP FPGA Platform SFP Black side SFP FPGA PCIe x1 Link Snooper Figure 4.3.1: Link Snooper connected to the forwarding board Note that the only black traffic is allowed to be inspected. The link snooper connects to the data source either via SFP or differential SMA (figure 4.3.1). Using a PCIe x1 bus the computer can send commands and receive data and status informa
27 tion from the device. A link capture is initialised by the computer by writing a capture command to the device. This will cause the device to capture data until its buffer is full at which point the computer will need to read the buffer until it is empty and start a new capture. The device is implemented with a simple polling scheme where the computer asks the device if its buffer is full every 100 ms. Since the device is not implemented with direct memory access (DMA) the read operation is slow causing the buffer to overflow in the case of heavy link utilisation. Dropped frames are common but not necessarily disturbing as in most cases only a brief snapshot of the traffic flow is needed. 20
28 Chapter 5 Fibre Channel Encryptor The Fibre Channel encryptor is a further development of the cut-through forwarding platform. The transceivers are still in a pass through configuration but with an encryptor module inside the forwarding engine, between the endpoints. The module is called encryptor despite that it also decrypts. 5.1 Simulation Model The simulation model is the same as in section 3.2 but instead of using a place holder for the encryptor module, the real module is used. 5.2 Implementation Red Port FC Align Encryptor FC Align Black Port Mirror Port Figure 5.2.1: Partial block diagram of the encryptor platform The encryptor platform is fundamentally the same as the forwarding platform from section 3.3 with the addition of the same data alignment blocks used in the link snooper and the new encryptor module (see figure 5.2.1) Data Flow In order to make a decision what data should be encrypted, decrypted or just passed along the encryptor module uses two finite state machines. The FSMs uses the stream content as well as meta data collected by the stream decoder to keep track of what kind of data is currently flowing. The output from the FSMs are fed to the crypto module which will either encrypt, decrypt, modify or pass the data along. 21
29 Stream Decoder Metadata Control Red FSM Exchange Memories Control Red Port CRC Crypto CRC Black Port Control Control Black FSM Metadata Stream Decoder Figure 5.2.2: Block diagram of the encryptor module Using the Link Snooper it was shown that to encrypt the disk traffic in the test lab only two SCSI commands need modification: Read(10) and Write(10). In extension to this the platform allows the identification string for the device to be modified by changing a structure called CDB. Since the frames might be modified some care needs to be taken in order to make sure that the checksum is updated to reflect the new frame contents. To make the implementation more straight forward a new checksum is calculated for the frame regardless if it is modified or not. This has the implication that should a corrupt frame reach the encryptor it will not be discarded by rather updated with a correct checksum for the faulty data. This behaviour will result in that invalid data is stored but for this thesis that does not matter Encryption The encryption algorithm used is a simple XOR with a constant key. This encryption is useless in real world applications since it is trivial to reverse engineer the key and decrypt the data. This simple crypto was chosen since it does not need an initialisation vector and uses a static key. The problem with initialisation vectors are that they need to be stored with the data making the encryption process much more invasive to the data Synthesis Statistics The tables and contains the number of logic resources used in the implementation. The first implementation contains very little logic since its purpose is to only forward data while the final implementation contains much more logic. The final implementation also uses a few memory blocks to store meta data about the exchanges. The resource utilization column shows that the FPGA has a lot of free resources should one wish to extend the implementation further. 22
30 Slice Logic Utilization Used Available Utilization Number of Slice Registers ,800 2% - Number used as Flip Flops 706 Number of Slice LUTs ,800 2% - Number used as logic ,800 2% Number using O6 output only 555 Number using O5 output only 29 Number using O5 and O Number used as Memory 83 7,680 1% Number used as Shift Register 83 Number using O6 output only 83 - Number used as exclusive route-thru 3 Number of route-thrus 32 - Number using O6 output only 32 Number of occupied Slices 375 7,200 5% Number of LUT Flip Flop pairs used Number with an unused Flip Flop % - Number with an unused LUT % - Number of fully used LUT-FF pairs % - Number of unique control sets 19 - Number of slice register sites lost to control set restrictions 23 28,800 1% Number of bonded IOBs % - Number of LOCed IOBs % - Number of bonded IPADs 12 Number of LOCed IPADs % - Number of bonded OPADs 12 Number of LOCed OPADs % Number of BlockRAM/FIFO % - Number using BlockRAM only 4 Number of 36k BlockRAM used 4 - Total Memory used (KB) 144 2,160 6% Number of BUFG/BUFGCTRLs % - Number used as BUFGs 12 Number of DCM_ADVs % Number of GTP_DUALs % Average Fanout of Non-Clock Nets 3.53 Table 5.2.1: Resource usage for the forwarding platform with encryption 23
31 Chapter 6 Results This chapter contains discussions of the implemented hardware platform, its performance as well as any limitations. 6.1 Measurement Setup The computer hosting the Fibre Channel LUNs is called the server. The computer accessing the server over Fibre Channel is called the client. Normally computer A is the server and computer B is the client but in some measurements the roles have been swapped to test what effects the computer hardware have on the measurements. When the opposite configuration is used the graphs have been marked with reversed or rev Computer A HP dx5150 MT AMD Athlon(tm) 64 X2 Dual Core Processor GiB DDR I RAM QLogic QLE2460 4Gb Fibre Channel to PCI Express HBA Debian Wheezy bit, Linux with SCST patch for SCSI pass through Computer B HP Compaq 6200 Pro MT PC Intel(R) Core(TM) i GHz 4 GiB DDR3 RAM QLogic QLE2460 4Gb Fibre Channel to PCI Express HBA Debian Wheezy bit, Linux Baseline Performance Data throughput is measured using a Linux tool called dd (appendix A.1.1). The dd tool is configured with various block sizes in order to find the most efficient block size and what kind of performance impact the platform induces. Maximum theoretical Fibre Channel data throughput is Baudrate 10 since the data is 8b/10b 24
32 encoded. This gives a maximum theoretical data throughput of 425 MB/s and MB/s for 4GFC and 2GFC respectively. To be able to sustain these data rates the backing storage was chosen to be 2 GiB RAM which also contrary to disk based storage provides constant speed. Figure shows the read performance of the RAM memory. The variations in read performance are not important since the throughput is well above the 425 MB/s that is required ReadingrdatarfromrRAM Speed Average Speedr[MB/s] e+06 Blockrsizer[KiB] Figure 6.2.1: Reading data from RAM 6.3 Fibre Channel Performance Running the same script (appendix A.1.1) on the same RAM memory but over Fibre Channel shows (figure 6.3.1) how block size affects data throughput. There is a noticeable discontinuity around 500 KiB as well as high variations of throughput around 10 MiB. The graphs (figure 6.3.1) shows that we want to have as large buffer as possible which makes those oddities irrelevant for our cause but for the sake of reasoning further measurements were done to investigate this. From figure it is trivial to see that the variations are computer dependent and not inherent to the Fibre Channel protocol. A comparative plot can be seen in figure illustrating that the baseline RAM performance is well above that of 2GFC. In section 3.3 it was stated that 2GFC is the speed which the platform implementation can handle and therefore the measurements will from now on be using this speed. The paper Yu Zhang, Dan Feng, Wei Tong; Jingning Liu, "Implementation of FC-1 and FC-2 Layer for Multi-Gigabit Fibre Channel Transport",[Yu Zhang(2007), Figure 5. Read I/O Performance] presents results resembling those presented here. 25
33 ReadingrdatarfromrRAMroverrFibrerChannelr(2GFCG ReadingfdataffromfRAMfoverfFibrefChannelfh4GFC( Speed Average Speed Average Speedr[MB/s] 150 Speedf[MB/s] e e)06 Blockrsizer[KiB] Blockfsizef[KiB] Figure 6.3.1: Reading data from RAM over Fibre Channel ReadingrdatarfromrRAMroverrFibrerChannelr(2GFCGr-rreversed Speed Average 200 Speedr[MB/s] e-06 Blockrsizer[KiB] Figure 6.3.2: Reading data from RAM over Fibre Channel reversed 26
34 ReadingrdatarfromrRAM Direct 4GFC 2GFC Speedr[MB/s] e+06 Blockrsizer[KiB] Figure 6.3.3: Reading data from RAM (Summary) Logic Transceiver Encryptor FIFO Transceiver Figure 6.4.1: Latency block diagram 6.4 Latency and Performance Impact With the results from section 6.3 it has been shown what kind of real world performance we can expect from Fibre Channel. This section will focus on showing the performance impact when adding latency to the system. This is interesting since the platform will introduce extra latency in one way or another. Looking at how extreme latencies the protocol can handle and still perform reasonably well will help to understand what kind of requirements must be put on, for example, the encryption algorithm. Latency is said to be zero when not having the platform connected at all and increased from that point with a constant latency representing the inherent delay of the implementation. In addition a latency machine has been constructed (see figure 6.4.1) to induce even more latency. The extra latency is measured in the amount of clock cycles the data is held which for this implementation is clocked at M Hz Basic Latency Running the tests over a link with extra latency produced some unexpected results. When transferring larger blocks of around 1 MB. the direction of traffic on the Fibre Channel link is 27
35 almost unidirectional since one request will produce much more data than for smaller blocks. This hints that the effect of latency should be lower for bigger blocks and higher for smaller blocks. Figure shows that this is not the case but rather the opposite. Smaller blocks stay about the same in throughput while larger blocks become alarmingly slow at latencies as low as 2048 cc 19 µs ReadingrdatarfromrRAMroverrFibrerChannelrw/rlatency Norextrarlatency Encryption Encryptionrxr128rcc Encryptionrxr1024rcc Encryptionrxr2048rcc 200 Speedr[MB/s] ex06 Blockrsizer[KiB] Figure 6.4.2: Reading data from RAM over Fibre Channel with latency (Summary) Frame Sizes and Latency The Fibre Channel HBA under test allows the user to specify the maximum payload to be transmitted inside the frames. The options are 512, 1024 and 2048 bytes per frame. Since each frame needs to contain flags, addresses and various control data it incurs an unwanted overhead. The size of this overhead is constant and does not change with the frame size making a frame carrying only 512 bytes of data less effective than one carrying 2048 bytes of data. With this in mind it is no surprise to see that the left-hand plot of figure shows exactly this behaviour. Larger frames reach higher throughput than the smaller frames. However, increasing the latency to 2048 clock cycles changes this to an odd middle ground. The right-hand plot of figure shows that in this case using 1024 byte payloads are the optimal configuration and that using 2048 bytes incur an noticeable throughput penalty. 28
36 ReadingrdatarfromrRAMro.rFCrw/renc.r+r128rlat.r-rrev. ReadingrdatarfromrRAMro.rFCrw/renc.r+r2048rlat.r-rrev Brframe 1024Brframe 512Brframe Brframe 1024Brframe 512Brframe Speedr[MB/s] 150 Speedr[MB/s] e e+06 Blockrsizer[KiB] Blockrsizer[KiB] Figure 6.4.3: Reading data over Fibre Channel with varying latency and frame sizes Asymmetrical versus Symmetrical Latency As shown in figure the latency introduced to the system is asymmetrical. To test the hypothesis that the earlier results are due to this fact, one of the tests were run using both asymmetrical and symmetrical latency. The results (see figure 6.4.4) show that there are no differences between asymmetrical or symmetrical latency ReadFdataFRAMFo.F2GFCFw/Fenc.FvF2048FccgF512BFframeFbFrev. Speed Average SpeedFbal. AverageFbal. 200 SpeedF[MB/s] ev06 BlockFsizeF[KiB] Figure 6.4.4: Comparison of symmetric and asymmetric latency Summary The cause of these non intuitive results was never fully understood but one hypothesis is that this is hardware dependent and that the cards or their drivers have a maximum number of frames in transmission and that this somehow limits performance under heavy latency. 29
37 One approach for this is to replace part by part with other vendors and see if the effects go away, but for this thesis that does not matter. The thesis focus is platform independent and the testing setup used is far from exotic in the industry, making the results relevant even though it may be hardware related rather than the protocol itself. 30
38 Chapter 7 Discussion 7.1 Security Implications During the implementation phase many choices were made regarding how the data flow should be designed. Some choices greatly effect the integrity of the data flowing through the system, these are explored below Open/Secure Cut One problem with transparent streaming encryption for permanent storage is that the endpoints must still be able to understand the commands sent. This means we cannot encrypt all data on the link but only a subset of the data being exchanged. Ideally we would like to transform the incoming request to an uncorrelated outgoing request e.g. by buffering many writes/reads or scattering the data to many different places. The implementation of this is very complex and far out of the scope of this thesis. Having this ideal in mind it is easy to see that the line between the black and red side is not absolute in the current implementation. It is trivial to correlate the incoming frames to the outgoing frames and this results in attack vectors that are inherent to this design. For example it might be possible to swap contents of two sectors by manipulating the address inside the request Encryption Exchange Record The implementation uses a memory to keep track of the Fibre Channel exchanges that needs encryption. If the hardware were to experience a bit flip in the memory it could cause an exchange that should have been encrypted to be passed on to the storage without encryption. This is again inherent in a design where some traffic is modified while some are not Unknown Data When the incoming data is streamed through the hardware the forwarding engine has to make a decision if this frame belongs to an exchange that must be encrypted or decrypted. If the forwarding engine does not recognise the frame layout it will pass it on unmodified potentially leaking sensitive data. 7.2 Encrypted Transport A solution based on the concept of encrypting the whole link using two units in a point-to-point fashion will not have any of these earlier stated security implications. This is the case since the 31
39 Black side Red side SFP FPGA Platform SFP FC SFP FPGA Platform SFP Red side Figure 7.2.1: Encrypted transport implementation encryption units can chose any form of data representation between themselves and for example chose to encrypt the whole frames between the units. Note that using an encrypted transport will provide safe exchange of data but not storage of it. With that knowledge it is easy to see that the two unit encrypted transport scenario is fundamentally different from the single unit scenario which has been the focus for investigation in this thesis. Nevertheless the work herein can be used to implement an encrypted transport that will preserve the Fibre Channel protocol which can be useful if the target infrastructure is shared with non-encrypted endpoints. A concept illustration of how the platform can be used for this scenario is illustrated in figure The paper L. Henzen, F. Carbognani, N. Felber, W. Fichtner, "FPGA Implementation of a 2G Fibre Channel Link Encryptor with Authenticated Encryption Mode GCM" shows an implementation of such a system[l. Henzen(2008), IV.A. Frame Encryption]. 7.3 Conclusion This thesis focused on testing whether persistent encryption of Fibre Channel is doable and what kind of security it provides. It has been shown that intercepting, analysing and modifying Fibre Channel traffic is possible without any noticeable performance loss as long as latency is kept within certain boundaries. If latency are outside those boundaries extreme performance loss are to be expected. This latency demand puts further restrictions on the cryptography to be used. In the case of cut-through forward based encryption the cryptography algorithm has to work with only the data available in a read or write request and may not, for example, inject an initialisation vector without careful consideration. 32
Datasäkerhet och integritet
Chapter 4 module A Networking Concepts OSI-modellen TCP/IP This module is a refresher on networking concepts, which are important in information security A Simple Home Network 2 Unshielded Twisted Pair
Beijer Electronics AB 2000, MA00336A, 2000-12
Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this
Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas
Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas The Distributed Application Debugger is a debugging tool for parallel programs Targets the MPI platform Runs remotley even on private
Styrteknik: Binära tal, talsystem och koder D3:1
Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder
Isometries of the plane
Isometries of the plane Mikael Forsberg August 23, 2011 Abstract Här följer del av ett dokument om Tesselering som jag skrivit för en annan kurs. Denna del handlar om isometrier och innehåller bevis för
Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE
SVENSK STANDARD SS-ISO/IEC 26300:2008 Fastställd/Approved: 2008-06-17 Publicerad/Published: 2008-08-04 Utgåva/Edition: 1 Språk/Language: engelska/english ICS: 35.240.30 Information technology Open Document
Isolda Purchase - EDI
Isolda Purchase - EDI Document v 1.0 1 Table of Contents Table of Contents... 2 1 Introduction... 3 1.1 What is EDI?... 4 1.2 Sending and receiving documents... 4 1.3 File format... 4 1.3.1 XML (language
Adding active and blended learning to an introductory mechanics course
Adding active and blended learning to an introductory mechanics course Ulf Gran Chalmers, Physics Background Mechanics 1 for Engineering Physics and Engineering Mathematics (SP2/3, 7.5 hp) 200+ students
Support Manual HoistLocatel Electronic Locks
Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing
Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm
Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm Guldplätering kan aldrig helt stoppa genomträngningen av vätgas, men den får processen att gå långsammare. En tjock guldplätering
Preschool Kindergarten
Preschool Kindergarten Objectives CCSS Reading: Foundational Skills RF.K.1.D: Recognize and name all upper- and lowercase letters of the alphabet. RF.K.3.A: Demonstrate basic knowledge of one-toone letter-sound
Alias 1.0 Rollbaserad inloggning
Alias 1.0 Rollbaserad inloggning Alias 1.0 Rollbaserad inloggning Magnus Bergqvist Tekniskt Säljstöd Magnus.Bergqvist@msb.se 072-502 09 56 Alias 1.0 Rollbaserad inloggning Funktionen Förutsättningar Funktionen
Installation Instructions
Installation Instructions (Cat. No. 1794-IE8 Series B) This module mounts on a 1794 terminal base unit. 1. Rotate keyswitch (1) on terminal base unit (2) clockwise to position 3 as required for this type
Module 1: Functions, Limits, Continuity
Department of mathematics SF1625 Calculus 1 Year 2015/2016 Module 1: Functions, Limits, Continuity This module includes Chapter P and 1 from Calculus by Adams and Essex and is taught in three lectures,
Grafisk teknik IMCDP IMCDP IMCDP. IMCDP(filter) Sasan Gooran (HT 2006) Assumptions:
IMCDP Grafisk teknik The impact of the placed dot is fed back to the original image by a filter Original Image Binary Image Sasan Gooran (HT 2006) The next dot is placed where the modified image has its
Problem som kan uppkomma vid registrering av ansökan
Problem som kan uppkomma vid registrering av ansökan Om du har problem med din ansökan och inte kommer vidare kan det bero på det som anges nedan - kolla gärna igenom detta i första hand. Problem vid registrering
Writing with context. Att skriva med sammanhang
Writing with context Att skriva med sammanhang What makes a piece of writing easy and interesting to read? Discuss in pairs and write down one word (in English or Swedish) to express your opinion http://korta.nu/sust(answer
Health café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families
Health café Resources Meeting places Live library Storytellers Self help groups Heart s house Volunteers Health coaches Learning café Recovery Health café project Focus on support to people with chronic
6 th Grade English October 6-10, 2014
6 th Grade English October 6-10, 2014 Understand the content and structure of a short story. Imagine an important event or challenge in the future. Plan, draft, revise and edit a short story. Writing Focus
Grafisk teknik IMCDP. Sasan Gooran (HT 2006) Assumptions:
Grafisk teknik Sasan Gooran (HT 2006) Iterative Method Controlling Dot Placement (IMCDP) Assumptions: The original continuous-tone image is scaled between 0 and 1 0 and 1 represent white and black respectively
Master Thesis. Study on a second-order bandpass Σ -modulator for flexible AD-conversion Hanna Svensson. LiTH - ISY - EX -- 08/4064 -- SE
Master Thesis Study on a second-order bandpass Σ -modulator for flexible AD-conversion Hanna Svensson LiTH - ISY - EX -- 08/4064 -- SE Study on a second-order bandpass Σ -modulator for flexible AD-conversion
Övning 5 ETS052 Datorkommuniktion Routing och Networking
Övning 5 TS5 Datorkommuniktion - 4 Routing och Networking October 7, 4 Uppgift. Rita hur ett paket som skickas ut i nätet nedan från nod, med flooding, sprider sig genom nätet om hop count = 3. Solution.
Biblioteket.se. A library project, not a web project. Daniel Andersson. Biblioteket.se. New Communication Channels in Libraries Budapest Nov 19, 2007
A library project, not a web project New Communication Channels in Libraries Budapest Nov 19, 2007 Daniel Andersson, daniel@biblioteket.se 1 Daniel Andersson Project manager and CDO at, Stockholm Public
Grafisk teknik. Sasan Gooran (HT 2006)
Grafisk teknik Sasan Gooran (HT 2006) Iterative Method Controlling Dot Placement (IMCDP) Assumptions: The original continuous-tone image is scaled between 0 and 1 0 and 1 represent white and black respectively
Stad + Data = Makt. Kart/GIS-dag SamGIS Skåne 6 december 2017
Smart@Helsingborg Stadsledningsförvaltningen Digitaliseringsavdelningen the World s most engaged citizens Stad + Data = Makt Kart/GIS-dag SamGIS Skåne 6 december 2017 Photo: Andreas Fernbrant Urbanisering
Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson
Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson Kravhantering På Riktigt, 16 maj 2018 Anna Fallqvist Eriksson Agilista, Go See Talents linkedin.com/in/anfaer/
This exam consists of four problems. The maximum sum of points is 20. The marks 3, 4 and 5 require a minimum
Examiner Linus Carlsson 016-01-07 3 hours In English Exam (TEN) Probability theory and statistical inference MAA137 Aids: Collection of Formulas, Concepts and Tables Pocket calculator This exam consists
A study of the performance
A study of the performance and utilization of the Swedish railway network Anders Lindfeldt Royal Institute of Technology 2011-02-03 Introduction The load on the railway network increases steadily, and
2.1 Installation of driver using Internet Installation of driver from disk... 3
&RQWHQW,QQHKnOO 0DQXDOÃ(QJOLVKÃ'HPRGULYHU )RUHZRUG Ã,QWURGXFWLRQ Ã,QVWDOOÃDQGÃXSGDWHÃGULYHU 2.1 Installation of driver using Internet... 3 2.2 Installation of driver from disk... 3 Ã&RQQHFWLQJÃWKHÃWHUPLQDOÃWRÃWKHÃ3/&ÃV\VWHP
Make a speech. How to make the perfect speech. söndag 6 oktober 13
Make a speech How to make the perfect speech FOPPA FOPPA Finding FOPPA Finding Organizing FOPPA Finding Organizing Phrasing FOPPA Finding Organizing Phrasing Preparing FOPPA Finding Organizing Phrasing
Materialplanering och styrning på grundnivå. 7,5 högskolepoäng
Materialplanering och styrning på grundnivå Provmoment: Ladokkod: Tentamen ges för: Skriftlig tentamen TI6612 Af3-Ma, Al3, Log3,IBE3 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles
Examensarbete Introduk)on - Slutsatser Anne Håkansson annehak@kth.se Studierektor Examensarbeten ICT-skolan, KTH
Examensarbete Introduk)on - Slutsatser Anne Håkansson annehak@kth.se Studierektor Examensarbeten ICT-skolan, KTH 2016 Anne Håkansson All rights reserved. Svårt Harmonisera -> Introduktion, delar: Fråga/
12.6 Heat equation, Wave equation
12.6 Heat equation, 12.2-3 Wave equation Eugenia Malinnikova, NTNU September 26, 2017 1 Heat equation in higher dimensions The heat equation in higher dimensions (two or three) is u t ( = c 2 2 ) u x 2
Custom-made software solutions for increased transport quality and creation of cargo specific lashing protocols.
Custom-made software solutions for increased transport quality and creation of cargo specific lashing protocols. ExcelLoad simulates the maximum forces that may appear during a transport no matter if the
Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås
Schenker Privpak AB Interface documentation for web service packageservices.asmx 2010-10-21 Version: 1.2.2 Doc. no.: I04304 Sida 2 av 14 Revision history Datum Version Sign. Kommentar 2010-02-18 1.0.0
Module 6: Integrals and applications
Department of Mathematics SF65 Calculus Year 5/6 Module 6: Integrals and applications Sections 6. and 6.5 and Chapter 7 in Calculus by Adams and Essex. Three lectures, two tutorials and one seminar. Important
Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05
Om oss Vi på Binz är glada att du är intresserad av vårt support-system för begravningsbilar. Sedan mer än 75 år tillverkar vi specialfordon i Lorch för de flesta olika användningsändamål, och detta enligt
Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås
Schenker Privpak AB Interface documentation for web service packageservices.asmx 2012-09-01 Version: 1.0.0 Doc. no.: I04304b Sida 2 av 7 Revision history Datum Version Sign. Kommentar 2012-09-01 1.0.0
Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap
Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap Syns du, finns du? - En studie över användningen av SEO, PPC och sociala medier som strategiska kommunikationsverktyg i svenska företag
LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik
LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik SIGNALBEHANDLING I MULTIMEDIA, EITA50, LP4, 209 Inlämningsuppgift av 2, Assignment out of 2 Inlämningstid: Lämnas in senast kl
Workplan Food. Spring term 2016 Year 7. Name:
Workplan Food Spring term 2016 Year 7 Name: During the time we work with this workplan you will also be getting some tests in English. You cannot practice for these tests. Compulsory o Read My Canadian
Föreläsning 4 IS1300 Inbyggda system
Föreläsning 4 IS1300 Inbyggda system Programutveckling Exempel PingPong Idé Tillståndsdiagram State machine Skapa projekt Testning av programvara Peripheral Library till STM32 Programmeringsuppgiften RS232
Taking Flight! Migrating to SAS 9.2!
Taking Flight! Migrating to SAS 9.2! Joel Orr, System Engineering Division June 1, 2011 Agenda Introduction Benefits of Migration Possible Migration Scenarios To Do List Potential Problems Resources Introduction
FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR
FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR Kontrollera vilka kurser du vill söka under utbytet. Fyll i Basis for nomination for exchange studies i samråd med din lärare. För att läraren ska kunna göra en korrekt
Chapter 2: Random Variables
Chapter 2: Random Variables Experiment: Procedure + Observations Observation is an outcome Assign a number to each outcome: Random variable 1 Three ways to get an rv: Random Variables The rv is the observation
PFC and EMI filtering
PFC and EMI filtering Alex Snijder Field Application Engineer Wurth Elektronik Nederland B.V. November 2017 EMC Standards Power Factor Correction Conducted emissions Radiated emissions 2 Overview of standard
Kursutvärderare: IT-kansliet/Christina Waller. General opinions: 1. What is your general feeling about the course? Antal svar: 17 Medelvärde: 2.
Kursvärdering - sammanställning Kurs: 2AD510 Objektorienterad programmering, 5p Antal reg: 75 Program: 2AD512 Objektorienterad programmering DV1, 4p Antal svar: 17 Period: Period 2 H04 Svarsfrekvens: 22%
1. Unpack content of zip-file to temporary folder and double click Setup
Instruktioner Dokumentnummer/Document Number Titel/Title Sida/Page 13626-1 BM800 Data Interface - Installation Instructions 1/8 Utfärdare/Originator Godkänd av/approved by Gäller från/effective date Mats
1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)
UMEÅ UNIVERSITY Department of Mathematics and Mathematical Statistics Pre-exam in mathematics Linear algebra 2012-02-07 1. Compute the following matrix: (2 p 3 1 2 3 2 2 7 ( 4 3 5 2 2. Compute the determinant
BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström
BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström Frågeställningar Kan asylprocessen förstås som en integrationsprocess? Hur fungerar i sådana fall denna process? Skiljer sig asylprocessen
Methods to increase work-related activities within the curricula. S Nyberg and Pr U Edlund KTH SoTL 2017
Methods to increase work-related activities within the curricula S Nyberg and Pr U Edlund KTH SoTL 2017 Aim of the project Increase Work-related Learning Inspire theachers Motivate students Understanding
Webbregistrering pa kurs och termin
Webbregistrering pa kurs och termin 1. Du loggar in på www.kth.se via den personliga menyn Under fliken Kurser och under fliken Program finns på höger sida en länk till Studieöversiktssidan. På den sidan
Theory 1. Summer Term 2010
Theory 1 Summer Term 2010 Robert Elsässer 1 Introduction Summer Term 2010 Robert Elsässer Prerequisite of Theory I Programming language, such as C++ Basic knowledge on data structures and algorithms, mathematics
LARS. Ett e-bokningssystem för skoldatorer.
LARS Ett e-bokningssystem för skoldatorer. Därför behöver vi LARS Boka dator i förväg. Underlätta för studenter att hitta ledig dator. Rapportera datorer som är sönder. Samordna med schemaläggarnas system,
Ett hållbart boende A sustainable living. Mikael Hassel. Handledare/ Supervisor. Examiner. Katarina Lundeberg/Fredric Benesch
Ett hållbart boende A sustainable living Mikael Hassel Handledare/ Supervisor Examinator/ Examiner atarina Lundeberg/redric Benesch Jes us Azpeitia Examensarbete inom arkitektur, grundnivå 15 hp Degree
SVENSK STANDARD SS :2010
SVENSK STANDARD SS 8760009:2010 Fastställd/Approved: 2010-03-22 Publicerad/Published: 2010-04-27 Utgåva/Edition: 2 Språk/Language: svenska/swedish ICS: 11.140 Sjukvårdstextil Sortering av undertrikå vid
Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document
Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document Användarhandledning inloggning Logga in Gå till denna webbsida för att logga in: http://csportal.u4a.se/
What Is Hyper-Threading and How Does It Improve Performance
What Is Hyper-Threading and How Does It Improve Performance Ali Muthanna, Lunds Universitet, IDA2, EDT621 Abstract Hyper-Threading (HT) is Intel s version of simultaneous multi-threading (SMT). Hyper-Threading
Klicka här för att ändra format
på 1 på Marianne Andrén General Manager marianne.andren@sandviken.se Sandbacka Park Högbovägen 45 SE 811 32 Sandviken Telephone: +46 26 24 21 33 Mobile: +46 70 230 67 41 www.isea.se 2 From the Off e project
Scalable Dynamic Analysis of Binary Code
Linköping Studies in Science and Technology Dissertations, No. 1993 Ulf Kargén FACULTY OF SCIENCE AND ENGINEERING Linköping Studies in Science and Technology, Dissertations, No. 1993, 2019 Department of
http://marvel.com/games/play/31/create_your_own_superhero http://www.heromachine.com/
Name: Year 9 w. 4-7 The leading comic book publisher, Marvel Comics, is starting a new comic, which it hopes will become as popular as its classics Spiderman, Superman and The Incredible Hulk. Your job
802.11b Wireless router w. 4 port switch. StarTech ID: BR411BWDC
802.11b Wireless router w. 4 port switch StarTech ID: BR411BWDC Share your Internet connection without being constrained by cables with StarTech.com s 802.11b wireless router. The BR411BWDC lets you share
BBT057/ BBC057 BBCD057/ BBT057-NL HOLDEN COLORADO 9/2016+ HOLDEN TRAILBLAZER WD & 4WD Models
INSTALLATION GUIDE BBT057/ BBC057 BBCD057/ BBT057-NL HOLDEN COLORADO 9/2016+ HOLDEN TRAILBLAZER 2017+ 2WD & 4WD Models Ironman 4x4 BBT/ BBC/ BBCD/BBT057-NL Bull Bars fit to a Holden Colorado 9/2016+ It
Semantic and Physical Modeling and Simulation of Multi-Domain Energy Systems: Gas Turbines and Electrical Power Networks
DEGREE PROJECT IN ELECTRICAL ENGINEERING, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2017 Semantic and Physical Modeling and Simulation of Multi-Domain Energy Systems: Gas Turbines and Electrical Power
The Swedish National Patient Overview (NPO)
The Swedish National Patient Overview (NPO) Background and status 2009 Tieto Corporation Christer Bergh Manager of Healthcare Sweden Tieto, Healthcare & Welfare christer.bergh@tieto.com Agenda Background
The present situation on the application of ICT in precision agriculture in Sweden
The present situation on the application of ICT in precision agriculture in Sweden Anna Rydberg & Johanna Olsson JTI Swedish Institute for Agricultural and Environmental Engineering Objective To investigate
Application Note SW
TWINSAFE DIAGNOSTIK TwinSAFE är Beckhoffs safety-lösning. En översikt över hur TwinSAFE är implementerat, såväl fysiskt som logiskt, finns på hemsidan: http://www.beckhoff.se/english/highlights/fsoe/default.htm?id=35572043381
Windlass Control Panel v1.0.1
SIDE-POWER Windlass Systems 86-08950 Windlass Control Panel v1.0.1 EN Installation manual Behåll denna manual ombord! S Installations manual SLEIPNER AB Kilegatan 1 452 33 Strömstad Sverige Tel: +46 525
Övning 3 ETS052 Datorkommuniktion IP, TCP och
Övning 3 ETS052 Datorkommuniktion - 2015 IP, TCP och 802.11 September 22, 2015 Uppgift 1. Bestäm klassen på följande IPv4-adresser: 1.1 1.2 1.3 1.4 1.5 208.34.54.12 238.34.2.1 114.34.2.8 129.14.6.8 241.34.2.8
Arctic. Design by Rolf Fransson
Arctic Design by Rolf Fransson 2 Endless possibilities of combinations. Oändliga kombinationsmöjligheter. 3 4 5 If you are looking for a range of storage furniture which limits of combination is set by
Surfaces for sports areas Determination of vertical deformation. Golvmaterial Sportbeläggningar Bestämning av vertikal deformation
SVENSK STANDARD SS-EN 14809:2005/AC:2007 Fastställd/Approved: 2007-11-05 Publicerad/Published: 2007-12-03 Utgåva/Edition: 1 Språk/Language: engelska/english ICS: 97.220.10 Golvmaterial Sportbeläggningar
Byggdokument Angivning av status. Construction documents Indication of status SWEDISH STANDARDS INSTITUTE
SVENSK STANDARD Fastställd/Approved: 2008-06-23 Publicerad/Published: 2008-08-04 Utgåva/Edition: 2 Språk/Language: svenska/swedish ICS: 01.100.30; 92.100.20 Byggdokument Angivning av status Construction
A metadata registry for Japanese construction field
A metadata registry for Japanese construction field LCDM Forum, Japan October 25 th -27 th - 2006 TAKEYA, Isobe LCDM Forum Secretariat Document No. GEC-2005-002 LCDM Forum, Japan LCDM Forum, Japan Non-profit
Boiler with heatpump / Värmepumpsberedare
Boiler with heatpump / Värmepumpsberedare QUICK START GUIDE / SNABBSTART GUIDE More information and instruction videos on our homepage www.indol.se Mer information och instruktionsvideos på vår hemsida
Collaborative Product Development:
Collaborative Product Development: a Purchasing Strategy for Small Industrialized House-building Companies Opponent: Erik Sandberg, LiU Institutionen för ekonomisk och industriell utveckling Vad är egentligen
CUSTOMER READERSHIP HARRODS MAGAZINE CUSTOMER OVERVIEW. 63% of Harrods Magazine readers are mostly interested in reading about beauty
79% of the division trade is generated by Harrods Rewards customers 30% of our Beauty clients are millennials 42% of our trade comes from tax-free customers 73% of the department base is female Source:
Very formal, recipient has a special title that must be used in place of their name
- Opening English Swedish Dear Mr. President, Bäste herr ordförande, Very formal, recipient has a special title that must be used in place of their name Dear Sir, Formal, male recipient, name unknown Dear
INSTALLATION INSTRUCTIONS
INSTALLATION - REEIVER INSTALLATION INSTRUTIONS RT0 RF WIRELESS ROOM THERMOSTAT AND REEIVER MOUNTING OF WALL MOUTING PLATE - Unscrew the screws under the - Pack contains... Installation - Receiver... Mounting
VHDL Basics. Component model Code model Entity Architecture Identifiers and objects Operations for relations. Bengt Oelmann -- copyright
BO 1 VHDL Basics Outline Component model Code model Entity Architecture Identifiers and objects Operations for relations Bengt Oelmann -- copyright 2002 1 Component model Model for describing components
Självkörande bilar. Alvin Karlsson TE14A 9/3-2015
Självkörande bilar Alvin Karlsson TE14A 9/3-2015 Abstract This report is about driverless cars and if they would make the traffic safer in the future. Google is currently working on their driverless car
SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015
SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015 Fastställd/Approved: 2015-07-23 Publicerad/Published: 2016-05-24 Utgåva/Edition: 1 Språk/Language: engelska/english ICS: 35.240.70 Geografisk information Modell
EVALUATION OF ADVANCED BIOSTATISTICS COURSE, part I
UMEÅ UNIVERSITY Faculty of Medicine Spring 2012 EVALUATION OF ADVANCED BIOSTATISTICS COURSE, part I 1) Name of the course: Logistic regression 2) What is your postgraduate subject? Tidig reumatoid artrit
Introduction to the Semantic Web. Eva Blomqvist
Introduction to the Semantic Web Eva Blomqvist eva.blomqvist@liu.se Outline The original vision Meaning of data Current applications Revisiting the vision and looking ahead Scientific American, May 2001:
The Finite Element Method, FHL064
The Finite Element Method, FHL064 Division of Solid Mechanics Course program, vt2, 20 Course description The finite element method (FEM) is a numerical method able to solve differential equations, i.e.
Sri Lanka Association for Artificial Intelligence
Sri Lanka Association for Artificial Intelligence First Sinhala Chatbot in action Budditha Hettige Department of Statistics and Computer Science, Faculty of Applied Science, University of Sri Jayewardenepura,
Resultat av den utökade första planeringsövningen inför RRC september 2005
Resultat av den utökade första planeringsövningen inför RRC-06 23 september 2005 Resultat av utökad första planeringsövning - Tillägg av ytterligare administrativa deklarationer - Variant (av case 4) med
BÄNKVÅG / BENCH SCALE Modell : SW-III / Model : SW-III ANVÄNDARMANUAL / USER MANUAL SW-III WWW.LIDEN-WEIGHING.SE 2014-03-26 OBS! Under vågen sitter en justerbar skruv (se bild). Standardinställning är
Kurskod: TAMS28 MATEMATISK STATISTIK Provkod: TEN1 05 June 2017, 14:00-18:00. English Version
Kurskod: TAMS28 MATEMATISK STATISTIK Provkod: TEN1 5 June 217, 14:-18: Examiner: Zhenxia Liu (Tel: 7 89528). Please answer in ENGLISH if you can. a. You are allowed to use a calculator, the formula and
OFTP2: Secure transfer over the Internet
Presentation We are ready for OFTP2! OFTP2: Secure transfer over the Internet Productive, standardized and secure flow of information in the Product Lifecycle Management (PLM) by Nils Johansson, LTH &
Solutions to exam in SF1811 Optimization, June 3, 2014
Solutions to exam in SF1811 Optimization, June 3, 14 1.(a) The considered problem may be modelled as a minimum-cost network flow problem with six nodes F1, F, K1, K, K3, K4, here called 1,,3,4,5,6, and
Senaste trenderna från testforskningen: Passar de industrin? Robert Feldt,
Senaste trenderna från testforskningen: Passar de industrin? Robert Feldt, robert.feldt@bth.se Vad är på gång i forskningen? (ICST 2015 & 2016) Security testing Mutation testing GUI testing Model-based
FORSKNINGSKOMMUNIKATION OCH PUBLICERINGS- MÖNSTER INOM UTBILDNINGSVETENSKAP
FORSKNINGSKOMMUNIKATION OCH PUBLICERINGS- MÖNSTER INOM UTBILDNINGSVETENSKAP En studie av svensk utbildningsvetenskaplig forskning vid tre lärosäten VETENSKAPSRÅDETS RAPPORTSERIE 10:2010 Forskningskommunikation
Stiftelsen Allmänna Barnhuset KARLSTADS UNIVERSITET
Stiftelsen Allmänna Barnhuset KARLSTADS UNIVERSITET National Swedish parental studies using the same methodology have been performed in 1980, 2000, 2006 and 2011 (current study). In 1980 and 2000 the studies
Webbreg öppen: 26/ /
Webbregistrering pa kurs, period 2 HT 2015. Webbreg öppen: 26/10 2015 5/11 2015 1. Du loggar in på www.kth.se via den personliga menyn Under fliken Kurser och under fliken Program finns på höger sida en
Studieteknik för universitetet 2. Books in English and annat på svenska
Studieteknik för universitetet 2 Books in English and annat på svenska Inte bara svenska till engelska Vardagsspråk till akademiskt språk Böcker på engelska. Lektioner, diskussioner och tentor på svenska.
Senaste trenderna inom redovisning, rapportering och bolagsstyrning Lars-Olle Larsson, Swedfund International AB
1 Senaste trenderna inom redovisning, rapportering och bolagsstyrning Lars-Olle Larsson, Swedfund International AB 2 PwC undersökning av börsföretag & statligt ägda företag Årlig undersökning av års- &