In this study, researchers examined the relationship between an adolescent lifestyle score and cardiovascular disease, CVD, risk markers in young adulthood. The results suggest that a healthy adolescent lifestyle is associated with lower levels of certain CVD risk markers in adulthood. This suggests that early interventions may be beneficial in reducing the risk of developing CVD later in life. This article was authored by maker Lena Schnurman, Christina Alexandra Schultz, Christian Haeder, and others.


or they call you and say they need you to be a character witness for diddy do you go character witness a ditty yeah like to say hey man you know I'm not that guy they're trying to paint the picture of me to be this is coming right now yeah so this will be me uh yeah we on boss talk one-on-one yeah we gonna do it I know you probably don't want to talk about it but we you know you you met ditty and you've talked to ditty and y'all been partners you know what I'm saying and there's some pictures of you and ditty together these videos with you meek meals is going through it right now for some of the videos some of the pictures wait a minute wait a minute wait a minute did he go where saying hit him after after parties you never did go to the party came in came to the city during our store weekend he showed me love on radio you know I'm saying and he showed he came to my video shooting Atlanta and was in on the remix and every type of conversation or time we was ever in public I mean ever together public like broad public so I did it going through that cuz I don't know what's true and what's not true on you yeah yeah yeah because we all is two things it's one thing we all know about it we know he's one of the most successful pioneers in business people that we've ever seen especially in music can't take that away from him I've seen him do great things and I've heard bad things that about him I don't know what's true with the decipher but at the same at the end of the day whatever is is gonna be if it's really if he really is this person they painted that's gonna crumble anyway if it's not that then it's gonna you know I'm saying he gonna stay afloat and I don't know what agenda is going on somebody after whatever but I hate to see it to be honest which I hate to see between what they saying about him me any end of because these are these are powerful artists of our time whatever they did whether they they did it was behind a biggie Smalls and a lot of other artists that impacted our whole way of thinking you know I hope the things that there's a blood yeah I hope the things that they're saying about them is not true but at the same time like whatever whatever he got going on is whatever he got going on so if it is true that's that's his situation you right now they they really not uh they're not easing up on them on this internet this isn't it is seriously moving towards whatever they want to say yeah they got all these visuals and it's just a tough situation and it's hard to get around it when it comes okay hypothetically you and did he been around each other it comes down to it hypothetically he's he's going through situation he calls or they call you and say they need you to be a character witness for ditty do you go character witness ditty yeah like to say hey man you know I'm not that guy they're trying to paint the picture of me this is coming down right now yeah so this will be me because I know that I honestly never witnessed a situation I wouldn't be scared about that yeah now it ain't nothing that I want to do just cuz it don't fit in the time scan is my time schedule what I would rather put my time on so my first answer is gonna be no but if I was just drugging to it it wouldn't be nothing I would fear cuz you know I can speak on every everything you know it's crazy everything man did he has ever done is on the internet yeah literally every single thing any type of interaction we've ever had from K-104 to you know any wherever it's all on the internet anyway them the only interaction so I wouldn't have no fear I just tell them what I actually saw and what I know and that's how I would do it but it's so funny because it seemed like cuz even after the Cassie incident for me personally it seemed like everything started quieting down a little bit or leveling off where it wasn't so much of you know dilly what's going on and all of a sudden these other alligators like every time you start leveling out something else pops up somebody else comes out of the wood work so it's just the crazy thing is like why didn't they all come out at same time when Cassie was coming out why you wait for it and that's what that's what money is water because it's like that's what make you not know what's true and not cuz it's like you know anybody who's in any position is gonna have haters it could be just a time where okay well did he didn't sign me or did he didn't do this or he didn't give me this or whatever this is a good time to jump on that or he said he cursed me out this time it I know a lot of this is just people that's mad at him and or didn't like him for whatever reason yeah this is a chance attack but then it could be some of that I would never put say that it ain't no it could be no truth to there could be a lot of truth cuz I read something where it said that one of the young ladies who was pressing charges or whatever she was underaged at the time and she's trying to stay anonymous she don't want her name out there or whatever but a judge is trying is about to rule or trying to rule to say that no if this goes to trial your name is going to be out there and did his lawyers are also saying if they're crucified me out public why should you your name be secure so to say you're coming at me your name need to be out here as well you know but I guess she don't want her name to be out there but if you come into this case and step into it and that's 100% fact it's like if you go if you come to the case and you willing to put somebody's name and especially after so long in this and that you should you should be cool with your name coming out to that will actually make that will give me more clarity and people like me that got the mindset I got more clarity because I look at stuff like that too it's just it's just breeze more trust and honesty when you able to do that when you not it can easy look like okay well y'all just want this man to you know look a certain kind of right and this is the last thing I will say about that too a lot another thing that make me not believe so much of it is is me being a public figure and being in the space of public you really can't hide much and I know did did he's on a whole another level so out of some of the stuff they say man it's no way these things could happen without it coming out in real time just because of what you people move in these spaces and it's always other people is always cameras distancing that some of the stuff I've heard just sound crazy cuz it's like okay if that really happened that would have came out in that instant now but then back then but back then social media wasn't a point yeah but yeah they're speaking a lot of stuff back then they're speaking on recent stuff too like I've just heard a lot of crazy stuff so it's like it's one of things where you can't some of it may be this somewhere be that so you know I just go we just gonna see how I play out I keep hearing about the whole stuff and I'm like that's why they come in out with all these old stuff yeah you being a public figure how many times in the past have you you know a girl came to you and talk to you or whatever you be like okay let me see your ID before I even talk to you yeah how many guys actually do that but these females come in looking older than their age facts I just got good discernment I never had an issue like that and I was in a lot of spaces where it's things like that could have been the case of it was situations where if she even looked it like she wouldn't that we wouldn't even let them be around but you know having a good team and people around me I always had people around me who had had the same discernment I have or more so that's kind of part of it and then I'm never I was never like a loose cannon I know I'm always mindful everything so navigating and I've avoided those situations for for those reasons alone and yeah that's how I cannot beat the internet


Broadway's my beat, from Times Square to Columbus Circle, the gaudiest, the most violent, the lonesome-most mile in the world. It's my beat with Larry Thor as Detective Danny Clover. When October dies and the river wind takes over, Broadway is arranged in clots of crowd and coldness. There's a new quality on Broadway, shrill, having to do with top coats and early darkness and frosty sounds. And Twilight is brief, a darting ebb of light in the sudden autumn chill and hurry, hurry, hurry to this place or that, home, or to a hot dog stand or to the neon that winks a promise. Hurry kid, make a phone call, find somebody, it's night already. And it seems the night comes sooner in the Tenement District, or somehow it never quite leaves in the barrio, in Spanish Harlem. That's why the people gather together sooner and start their music earlier, in a small nightclub like La Contina, where I was, and Detective Gomez was, and the man who led us across the floor. Through here, Senorys, down these steps, he's in the cellar. You were the one who found him? See, I went down here to my store bin to replenish the beer for my customers. He, well, you will see. Is there any other entrance to this cellar than those steps we just came down? You will see, Senorys. Look, don't make a drama out of it, Luis. Just tell us. Take it easy, Gomez. There, on the big cases, stretched out, wet, dead. Now, tell us, Luis, how did it get in here? Oh, thank you, Senorys. You see a window through which deliveries are made from the alley. Mirror of the window is broken through, so... Take a look in the alley, Gomez. Okay. You know who we is, Luis? See, it's Ricardo Miguel, the boy who lives near, the boy who works at the Pastellerie, our senior locker. The bakery shop, also not far. Stamped. Four places the night is. It's the floor show, Senorys. Begone. Yeah. Decide you cannot take the time to see, Senorys. It is exciting. Decide you have not the time. And beating against a cellar tomb containing a boy's death, the ribbed clack of a woman's high heels, dancing in measured frenzy, to a nimble passion plucked from a guitar, to the percussion of men's applause, to the Olay's hoarsely whisper deep in the throat. The light bulb sways to it, the shadows dance, and the huddled boy shrieks his stillness. And into it, after a while, Gomez, with information, there were blood stains in the alley outside. The boy had been knifed there, had fallen or was pushed through the cellar window. Leave Gomez to the official gathering of the dead. Walk a barrio street to the bakery of Senor Lorca. Try it. Find it closed. Then walk some more, scavenge the barrio night for scraps about the murdered boy above Ricardo Miguel. And from an alley wall, moist with autumn's night mist, a form detaches itself, whispers into your ear that Ricardo loved a girl much. Raina Martinez lives alone in a room on 110th. Alone. Try her, Senor. Go there into a numbered room in a tenement hall. Try. Good to me. The night is good to me. I'm from the police. You bring yourself to the wrong doors than your police. Go skin your knuckles in another place. You're Raina Martinez? The barrio woman speed my name at you because her man looked at me? The boy was stabbed, Ricardo Miguel, murdered. Because he loved Raina? Let's talk about it inside, Miss Martinez. In a little while, a boy comes for me to buy me wine to take me dancing. I have not combed my hair. I've not painted my mouth. Another time we will talk inside. Now, Miss Martinez, tell me about Ricardo. I told what there is. He loved me. He was knifed in an alley. We found him in a cellar. Maybe you can tell me why something like that had happened to him. You will not mind if I make myself ready for the boy who comes for me, huh? I fix my hair for the flower he always brings for you. Ricardo Miguel, let's get back to him. Pobrecito. Poor boy.  You like my hair, so? It won't matter at headquarters. All right. So impatient, Mr. Police. All right, I'll tell you. Raina will tell you, Ricardo. Tell me. He worked with me at Lorca's Pastelaria.  And in between, he spoke low, talking my ear. Sometimes I listen. Often? Oh, and he bought for me little things, I listen. You know, jewelry, silk blouse. These that I wear, now he gave to me. I made a promise when he brought it to me. No, I cannot keep it. Pobrecito. Poor boy. That's all there is about Ricardo. He worked with you, loved you. And now he's dead. Sometimes he's the pattern in the barrios, Mr. Police. Why should Ricardo be... Donald.  Who is he, Raina? Oh, the police, Mono. I have finished with him. If you like Raina, how she looks for you. What does he want to hear? A boy was murdered with a knife. A boy who loved me. Ricardo, the pastries. What do you want with her, mister? What's Raina got to do with it? She just told you. When was he killed? Three hours ago, more or less. Who are you? Donald Jordan. College boy with an alibi for Raina. Three hours ago and a sack full of hours before that Raina was with me. It took that long to show her the ducks in Central Park Lake. That's where you were, Miss Martinez? Donald told you. My Mono told you. In other words, you're each other's alibi. Mm-hmm. Each other's. Come to Raina, Donald.  Come here. Come on. Then watch him move toward her. Stop. And the girl considering him and the gesture, her hands leaking her black hair before she went into his arms. And see a thing, her eyes open, looking over his shoulder and out into the night.  The next morning, back to the barrio, back to the front footage devoted to tenements and window watchers and the people of the doorsteps and the chalk talk, back to the place that had been closed the night before, the pastry shop of Senor Lorca. Good morning. I am sorry, Senor. Sorry about what? This morning, my stock, it is scarce. Because Ricardo didn't show up for... My big Ricardo is muerte, dead. So for the next few days... I know. I'm from the police. You know that Ricardo was murdered, don't you? Seguramente, of course. Of his dying, I know all about. Oh? Sí. He has been told all around the barrio. I see. I need some information. I want you to help me. Seguramente. Why not? I want you to tell me all you care about Ricardo and about Reina. Oh, Ricardo. A boy who bakes pasteles, who live alone and bake between the hours of nine and five. Excellently. Who I will miss. How come Reina isn't here this morning? I will ask her the identical question when she will come in. Was she here yesterday? Uh, for a time. Then a young man took her to look at dogs. Such a girl as she to look at dogs. Loco, if you would see her, you would... I've seen her. But then you understand. Is there another such one as she, Senor? I ask you this because in your profession, you must go about the city and see women, sometimes of exquisiteness. Yet I do not believe you have seen such a one as Reina. The face of her, the form... You are married, Loco? In truth, Senor. And because you are of the police who enjoy to listen to truth. I wait for Reina to grow up to enjoy me. Then I will be married. Right. A few men seem to be in love with her, Loco. Ricardo, for instance. Yes. For instance, Ricardo.  He said, I shrugged. Shrugged to the note I do not know. I do not know. Why, indeed? Another question, Senor Police? No, no, that's all for now. Thank you, Senor. Thank you. Goodbye, my friend. Hey, old fellow, and well met. Top of the morning, Danny. We said good morning to each other a couple of hours ago, Gino. Off the dime. What have you got? What I've got is what you're going to get. To wit a report on the college youth, Donald Jordan, even as you requested. Okay, okay. This told me that this Jordan youth is a student at McKay College. That the dean of men whom he questioned told the good detective that this Jordan youth is indeed bright, a gold star student. And found out that this Jordan youth was indeed free to watch ducks yesterday afternoon because he had only morning classes. I see. What have you got on Raina Martinez? Raina Martinez, to wit. According to our files, it seems this Raina Martinez has been a caller at our pokey on various occasions. Once on the occasion of clawing the eyes of a fellow female. Once for waving a knife under the nose of a brush salesman. And another time for carving her initials with a like knife into the epidermis of a friendly bar fly. Knife, huh? From what you told me of her, Danny, from this Raina Martinez nobody would mind. What's a knife prick from a girl like that? You give me a thought, Gino. I'll go ask her. What does this girl look like, Danny? You'll see. Come on. To this house. Take it easy, Buster. What's a hurry? I said one side. He's a big one, Danny. Okay, friend, you asked for it. Come on. Come on, settle down. It's a lot better, young fella. I'll ask you something. What's a hurry? You guys crazy. Take your hands. Why were you running? In a hurry, I run. Police. Huh? Police officers. Look, I didn't have anything to do with it. To do with what? Look. Bring him along, Gomez. Come on, kid. Did you come out of this room? All right, we'll see. Inside. You're already men. Yeah, I see. I didn't do it. I swear, I swear I didn't do it. I didn't kill it.  I didn't kill it. You were listening to Broadway Is My Beat, written by Morton Fine and David Friedkin, and starring Larry Thor as Detective Danny Clover. Say, that was some night the gang gave Jack Benny last week when the Spenthrift Squire surprised them all by inviting them out to a nightclub on him. And to surprise finish, the gang will be waiting for Jack for sure tomorrow night. Yes, Jack Benny, Mary Livingston, Dennis, Phil, Rochester, Don, and tomorrow night, Mr. and Mrs. Ronald Coleman. Listen for them all on CBS Radio. There's fun every minute. The winds of October begin their departure from Broadway. And departing, leaving their wake, the gutters choked with regret, the corridors echoing lament. And Broadway picks through the leaving, searches for lost treasures, for images misplaced, left behind in that movie palace, forgotten in the sudden realization that this was your subway stop. There was the girl with the soft fur held close to her throat, covering her face right up to her eyes. The way she looked at you, that was one you'll remember, kid, right through the fall season.  That was October, the image and the farewell. So why look for anything else, kid? That's all there is. Except a girl dead in a room you've been in before, except a sobbing protest.   Except a scream of a radio.  Yeah. Look, I told you I had nothing to do with it. Yeah, you told us. What's your name, kid? Garfield, Bobby Garfield. Rain and me, we were just... What do you do, Bobby? I play football. Let me tell you, huh? Rain and me, we just...  I like football. I play for McKay College. I'm a sophomore. McKay College, huh? You know a boy named Donald Jordan, Bobby? Yeah, I know him. Same fraternity. Look, what is it with you guys? You gonna let me tell you how it was? Sure, Bobby, go ahead. Tell us how it was. Rain and me, just kind of good friends. You know what I mean? Uh-uh, tell us. You guys twisted an enemy for her.  What'd you do with a gun, Bobby? Throw it away. Let me tell you, huh? Rain and me, I met her right after I came to New York to play football. She saw me play once. Came up to me after the game. Said I played so good, why not celebrate?  That's why you tried to run away, huh? Because you didn't. We were dancing, see?  You can still hear it. We were dancing to that. All of a sudden there was a shot. I guess from where that window's open to the alley. All of a sudden, Rain had just dropped out of my arms and there was blood on my shirt from where she... See it? Look, I gotta call somebody. I gotta call somebody on the telephone, sir. Sure you do. We got a phone at headquarters. You can make your call from there. Put the cuffs away, Gomez. We won't need them. You've got a gentleman caller, Danny. Huh? Who? A gentleman who comes and answers to Bobby's Garcia's phone call. Oh, show him in, General. This way to see Danny Clover. Oh, that'll be all, General. How do you do, sir? Very well. Thank you. Uh, sit down. My name's Clover. Douglas, sir. John Douglas. Bobby Garfield called you. Bobby's in a lot of trouble. Trouble, Mr. Clover, is a thing youth is prone to generate for itself. You and I understand that. The trouble is murder. Oh, sure. May I ask, Mr. Douglas, why Bobby called you? Of course you may. Didn't you know? I'm a football coach. No, I didn't know. Bobby comes under my tutelage as an end, an excellent one. McKay College's pride, offensive end, of course. Of course. But what else about Bobby? What else about him? I found him in New Mexico, prevail upon the McKay regions to make his way to New York easy. They certainly agreed with me. He's very fast as Bobby. Got his speed racing the super chief across the New Mexico deserts, I tell sports reporters, for color. He was found running out of a room where a girl was shot to death. This, sir, is confounding. I told my squad, I keep telling them no dates until after the season. Surely they must be a mistake. Bobby listens to me. There's no mistake, Mr. Douglas. Who is the girl? One of those flirts from Greenberry School across the river, I'll tell you. Raina Martinez, a barrio girl. Of course, if there's anything... Well, what am I expected to do? Answer another question. Do you know a McKay student named Donald Jordan? No, he's not football. I wouldn't know him. I still don't know what I'm expected to do about this... this altercation that Bobby has gotten himself into. Just talk to him, Mr. Douglas. He's under suspicion of murder. He asked for you. Of course. No, you'll pardon me, sir. Thank you. And watch the leader of men go talk to one of his boys, not knowing what to say, not knowing how to pep talk a boy out of a grief the coach had never played against before. And imagine it. The pat on the shoulder, the voice modulated to the acoustics of a cell, then the curiosity taking over, finally. Gentle, insinuating. Tell me about his son. Tell me about the girl.  Well, go on asking them. And because you're a policeman, ask them with the official stamp of approval. Of anyone, of an employer of the girl now dead, of Senor Larka, for instance. I told you, Senor... I told you of the exquisiteness of Reina. That she's dead does not change my philosophy about her. Where there is such as Reina, there is such as death.  Listen to me, Senor. Listen very closely. How could I leave my hand to Reina except to... How? This way with a gun in it, then shoot her through a window while she was dancing with Bobby Garfield. That's how. Explain to me. Explain me something. Why should I do this when I don't even know this Garfield? Bobby Garfield. He knew Reina loved her like Ricardo Miguel did. Someone found an alley where Ricardo stabbed him to death, then saw Reina in the arms of Bobby Garfield, shot Reina, killed her, watched Garfield being taken to prison. It all worked out real good for a man like you, a man who says he loved Reina, a man who Reina didn't love.  All this that you said I could wish... wish it deep inside here. But I could not do it. I'm only a seller of pastries. I have not the... the... what it needs. Then you didn't know about Garfield? About dead Ricardo, my pastry boy, I knew. About the college boy who took Reina from me to show her dogs, quack, quack. Only these rivals I knew until now. I regret you told me about this Garfield. One more thing, uh... Let me speak to the phone. Go ahead. Lorca's pasteleria, huh? Ah, detective. See, there is a detective here. This is what you want of Lor... Momento. For you, Senor. Thanks. Danny Clover speaking. Danny, I disturbed you only because Dean Crawford and McKay College phoned in and want you to come to his office right away. They tell you why? He said he's got a shocker for you, but an immediate shocker. Those were his very... Thanks, Gino. Maybe I'll have to get back to you, Lorca. So don't go away. Did I say something funny, Dean Crawford? No, not you, Mr. Clover. I said something funny. I made the remark to myself. This week, Mr. Clover, just this week, I sent in my resignation to the Board of Regents. A thing unheard of. No Dean ever quits at McKay. We get fired. I quit effective the new year. And that's funny. Scandalous to use a McKay term that's hardly ever used. And then think about it, Mr. Clover. One of the students is involved in a murder all in the same week. This is a black week for McKay. I wonder about something. About in what? Statistics. How many McKay boys have gone out into the world and committed murder? As still Dean of McKay, I'll match my boys against anybody. Look, Dean Crawford, you called me. Said I was urgent. Suppose you tell me something urgent. I got a letter a while ago from a daddy. A daddy who is sending his son through McKay. He's a worried man. What are you talking about? The day of Donald Jordan. Worried about the bills his son has run up. No wonder. Magery, jewelry, baubles. For a sex we only mention in psychology, too. Female. Though that had came after your detective Gomez had left. How close was Donald Jordan to Bobby Garfield? I'll tell you how close. We have an arrangement here. A sign of football player to a scholar. Arrangement. Garfield was coached in his studies by Donald Jordan. This is known as intellectual freedom. Donald writes Bobby's themes, does his assignments, which leaves Bobby free to think about nothing. Admirable. What else can you tell me about them? Which one of those rascals do you think killed that girl? I asked your question. I've told you everything I can, Mr. Clover. Well, McKay semper fidelio, as we always say. Don't you always say? No? I don't blame you. Bye, Mr. Clover. Bobby, come on, Bobby, on your feet. Yeah. What? What do you want? Let's go, Bobby. We're going for a visit. A visit? Yeah, we're going back to school. There's rooms on this floor, Mr. Clover. I had to cross the hall from mine. He never goes to the bonfire rallies. He's probably in. This way. The most studious room in the fraternity house. You, Bobby. It's me, Bobby Garfield. Bobby, I thought... Oh, let's go inside, Donald. Sure. Gee, I'm glad to see you're out, Bobby. Yeah. I knew you would be. That's why I came right to you, so you could be glad. That's right, Donald. Bobby told me a lot about you on the way over here. I don't understand what you're doing here. We'll get around to it. I got bad news for you, kid. Bad news? You remember something? The day we were inducted into this fraternity? What are you talking about? The day we put four fingers up in the air and gave the secret hand-clasping, said the words, the second finger meant loyalty. You haven't been true blue. What did they do to you in jail, Bobby? You talk crazy. Yeah. Crazy. Frat boy. Crazy. Cut it out. Yeah. I'll cut it out. Pardon, I didn't have a paddle fraternity, brother. Is this how you police act?  I'm sorry, Donald. I told him a few things on our way here. I didn't know it would upset him this way. Look, I don't know what this is all about. Why don't we all go down to the bonfire? Sure. Sure, let's do that. It'll make a big impression, Bobby. You being out of jail gonna play tomorrow? Come on, guys. We're going all right, but not to a football rally. You're under arrest, Donald. What? Two crazy men. The policeman and me. What do you mean I'm under arrest? For what? Well, what reason? Murder. Ricardo Miguel. You're kidding, especially Reina Martinez. Now, there was a dame. Take my word for it, fraternity brother. There really was a dame. You talked about me, didn't you? You and Reina. Oh, we had a few chuckles. Whenever your name came up. You ready to go, Donald? What did you say about me? You know what we said. What did you say to yourself? Leave him alone, Bobby.  Mr. Clover? You killed one of Reina's boyfriends, Ricardo Miguel, to prove something to her. That she couldn't have anyone but you. That you wouldn't let her have anyone but you. You don't know what you're talking about. Believe me, he knows. Four fingers in the air. Ricardo Miguel was killed. You had an alibi for that. You were with Reina. That's right.  She lied for you. She alibi'd for you. Because for an instant, she admired you. She did. She did. What are you laughing at? Nothing. Nothing at all. What are you laughing at? I laughed because I remember something. A couple of Saturdays ago, right after a football game. When Reina waited, until I came out of the stadium, came up and told me who she was. We celebrated the occasion. You took her to that game, didn't you, Donald? I'm only sorry I didn't kill you two. You almost did, I thought. Who were you aiming at, Donald? Reina or me? Well, you were peeking at us from the alley. Well, you were... Who were you aiming at? Reina. I wanted to kill her, and I did. What she did to me? The things she made me do for her. The things I got for her. Is she last? The neon spins, and Broadway blares out an eight-beat rhythm, the tempo of hunger in dance time. Grab yourself a dream and get with it. Close your eyes and pretend you're holding something special. Keep them closed. Dreams last longer. It's Broadway. The gaudiest. The most violent. The lonesomeest mile in the world. Broadway. My Beat. Broadway's My Beat stars Larry Thor as Detective Danny Clover with Charles Calvin as Tortaglia and Jack Krushen as Muggevin. The program was produced and directed by Elliott Lewis with musical score composed and conducted by Alexander Courage. In tonight's story, Dick Crenna was heard as Bobby Garfio and Sam Edwards as Donald Jordan. Featured in the cast were Harry Bartel, Marvin Miller, Lillian Bayef, Herb Butterfield and Edgar Berrier. Looking for a lively date for tomorrow night? She's on the younger side, but her appeal is to all. Interested? Then meet Cortis Archer, CBS Radio's atomic teenager with her fun-making gang on most of these same stations tomorrow night. Bill Anders speaking, and remember, The Frankie Lane Show is your date with slick syncopation every Sunday afternoon on the CBS Radio Network.


After your lunch break, let's check. OK. So my name is Jorge Ramirez, and I'm the bi-security lead at Fondres. Our main product is a cloud platform that simplifies development and helps secure maintenance of the IoT and Edge Linux devices that you have. So my role as a bi-security lead is to make sure that the root of trust is guaranteed in all the boot process for all the different platforms that we support, all the different architectures, ST, or NXP, silings from the boot ROM until the Linux kernel boots. So the main purpose of having this sort of task in a Linux conference is really to raise awareness about the security benefits of controlling keep cryptographic IP, not only from a global API, which is something that you already have with PAYK ACS-11, but from a trusted execution environment. As we will see, one of the main benefits is having access to a secure storage supported, as defined by the global platform specifications. And I think that's a big plus. I think this talk, I will be able to consider it as access if we start seeing more pull requests into the opti-crypto repository at the moment. Support for a big number of them, but we keep on getting more and more requests for us, for funders to do these sort of drivers, when in fact, I think it should be the industry pushing the support, because all the benefits that it implies. I've done these sort of drivers a few times for the virtual platform, for a secure element from NXP. And it's simpler than it looks. I mean, I'll show some of the tools that we have to be able to communicate between the rich OS and the trusted execution environment. And everything is in C, so it's pretty straightforward, I think. One thing that I want to mention, there are many implementations of PAYK ACS-11 out there, every SOC vendor. For some reason, every time they have a new IP, they come with the associated PAYK ACS-11 library. I think it would be great if we could stick to a single implementation, preferably the one supported by Opti, and then just plug the cryptographic IP and the interface, which is also a global platform interface. So that further view. The agenda, I don't think I mentioned. So yeah, I'm going to go through, I don't know, I suppose most of us are familiar with the trust zone, but I'll go through all of it a little bit, through the trust zone, what's the runtime resident firmware, how Opti works with the secure monitor. A little bit about persistent storage, trusted application, how PAYK ACS-11 benefits from everything that I'm going to describe. And then we'll go through a little bit of the internals, a couple of examples of drivers that have done at upstream. So the hardware trust zone, I mean, sorry, the ARM trust zone is a hardware security feature that I've been there for ages now, on Cortex-A profiles, and since the last couple of years, I think, in Cortex-A as well. It enforces hardware isolation, not only in the CPU, but also at the MMU level, so you have separate MMUs. And one nice thing is the cache and the TLB entries can coexist, so you don't need to flash when you transition from a trust secure environment into the normal world. Bass transactions and interrupts, peripherals can be partitioned, peripherals usually are under the silicon vendor decision, so each shock has its own GPIO only for secure storage, so for the secure world or shared or whatever. One thing about the trust zone, despite all the isolation, is that obviously, if you are careless, configuring it, you don't get any of the benefits that it has. This is one of the reasons why we believe that every time you set up the trust zone, you should do it under the root of trust, just to make sure that that firmware is always verified by the ROM. ROM verification is pretty standard these days, so most of the silicones are going to allow you to program the hash of a public key. Then later on, when you send your firmware to the ROM, you will attach to it the public key again, it will verify the hash and then you use the public key to verify the signature that you're trying to boot. One thing about the, I mean, when I was talking about handling this with care, there is a TrustedFilmware.org project which provides shock developers and OEMs with a reference trusted code that basically it complies with all the relevant ARM specification. So that is typically used as a reference, but in reality, everybody's using it upstream. So what's in the upstream is pretty good. And then with respect to the trust zone and other important bit, that somehow, I don't think not everyone knows yet, there's been key move support for 10 years now. So you can run the whole, I mean, your whole shock with the trust zone and the normal world and secure world and the key move, which is very good if you want to develop within the trusted security environment without hardware. If I'm going too fast or if you have questions, feel free to interrupt because I usually accelerate. So one key component of the trust zone architecture is the runtime resident firmware. So this is firmware that executes a new exception level, EL3, and is there forever from the moment you boot. It should be there. And it's going to allow you, it's going to allow the system to transition between what is understood as the normal world or the non-secured world where the nooks and user applications execute and the trust zone. As I said before, usually you really want the resident firmware, also known as secure monitor, which is maybe a more common termination, to always be installed under secure boot, so being its sign. Opti, also, which is one of the implementations of a trust execution environment, provides its own resident firmware, a secure monitor, for 32-bit platforms, I think, but it's not much use. Everybody tends to use the implementation from the upstream ATF. And the way that the normal world enters the secure world is through this firmware. But regularly, there is something called the secure monitor call, which is very well defined in specs. And what is important in this discussion that we're going to have is to identify that there are two main types. One that is fast and atomic, which is what most of us usually use, which is, I mean, it has different classes as well. So you've got ARM specific, CPU specific, OEM specific. And there's one call, one type of SNC calls, that allows them to be suspended. So you could execute the SNC call and expect the call to be suspended as something else, completely different happen.  So that's what we're going to be discussing, the yielding one. One thing about the trusted firmware resident, sorry, the trusted firmware implementation of the secure monitor is quite nice in the sense that it provides additional services. So one of the services that it provides is support for a test execution environment, which is not always required, but it allows it to run as a service or PSCI for power management. So you can access the secure wall through the secure monitor using an SPD, which is a payload dispatcher. And this payload dispatcher in the trusted firmware is just going to switch between normal and secure wall. It's going to handle all the SNC functions targeting the secure yield one. Maybe I jump over this. Is everybody familiar with the exception levels in ARM architecture? Maybe I should have. So we have, I don't know if you can say it. So this is a very common description of the new exception levels since ARM64 came along. So the secure monitor or the run to monitor firmware runs an exception level EL3. And then we have an hypervisor. All this is the non-secure environment. This is the trust zone. And we have EL0 for apps and trusted app also a secure EL0. And we have EL1 for Linux or whatever OS runs and for the trusted user environment. So through the trusted firmware, we communicate this way in and out of the trust zone. If you go through the trusted firmware.org, these are the user denominations that they use for the different firmware involved in the bootchain. So you've got BL1, they call it ROM. BL2 is some Facebook loader that executes in RAM. CoolBSPL, which I use it a lot. Then you have the secure monitor, which people tend to call TFA but it's just a secure monitor. And then you can have a trust execution environment of T, which they call it BL31 and BL32, which is a normal bootloader like a U-boot. I'm going to talk a little bit about one implementation of a trust execution environment, which is of T. It's an open portable coming from SD years ago and then was adopted by Linaro. It runs in ARM and for the last year and a half or so, there's been support for Rift 5, which I think is quite handy. Actually, they've committed, they've pushed a lot of code already. It has an standardized API that follows the global platform spec. So that's good. And what it does is provides a run in OS. Did I go back? It's providing the run in OS with, well, actually, I should say the OS or the bootloader with access to a secure world. So it's not only Linux I'm talking about. The normal bootloader U-boot, you can access the T from there. Not many people use it, but it's quite handy if you want to have RP and B access to store secure data in an EMMC. So in the slide that follows, I mean this one and the coming one, I'm going to summarize some of the important aspects for some things that I think are important in Opti when you're doing crypto work. And I'm going to start with this one, because if you read the code, you say, well, it's just a hardware unique key. And it's much more than that. So the hardware unique key is actually the master key. Opti doesn't keep any secrets. Well, it keeps secrets inside the trash zone, but you typically don't build it with secrets inside. So all the secrets are derived from a master key, which I'll describe later. So when the search boots, you have to provide Opti with a value. And the value will be used as a master key. So one thing important is that it has to be unique. Well, it should be unique to avoid duplication. As I say, it's going to be used as a symmetric key to derive all the other keys that Opti is going to be using internally. So it's important that it's never exposed outside the trash zone. Tips of this kind, I mean keys of this type are going to be the one that are involved in secure storage. Actually, there is support now for sealing the keys in the Linux key ring. There is an interface. Actually, there is a Linux driver for it that we will access in Opti and securing, actually, wrapping the keys, so sealing the keys, using a key derived from this value. Another example is when accessing, which I will describe as well later, and a secure element over a shared bus, you want to encrypt all the data. Because you are going out of the trash zone into a public bus, so you don't want the data to be unencrypted. So that key is also derived from this seemingly innocent hardware unique key. It's more than that. And in the terms of architecture that I'm looking into, which is actually most of them, I quite like the implementation that there is in the IMX boards, because it's quite safe. What they do there is they provide a hardware unique key when the system boots in normal mode. But when the system boots in secure mode, meaning that the ROM is going to verify the first firmware, in that mode, under the hood, the identification changes. So that way is never exposed outside the trash zone, unless you do a printf, right? But nobody should be able to access it. And that's quite nice. So have a complete different value during development. And then a new one, when you say, OK, this board is trusted, I can enable the hardware unique key, which is going to persist for the duration. Most platforms, they don't provide that functionality, so the drivers should be taking care of that. And that means having one for development and then detecting that the board is transition into secure mode, into a secure state. And at that point, you generate a persistent hardware unique key. And it's important that the key doesn't change, particularly if you are accessing RP&B, because the RP&B key is always also derived from this key.  And you have to take it out of the board. So yeah, it serves as a unique identifier. And ideally, it should only be available both in sign firmware. But as I said, it's useful for development. It depends on you. But when you launch a product, make sure that it doesn't change. Then one of the main benefits that I see for Opti is having access to the secure persistent storage. Global platform enforces the requirement given by the global platform, which are actually quite nice. Because one very important one is that you can have secure storage using no secure resources. So as I said, you can share the hard disk between the trash wall, or the trash zone, and Linux, if you wanted, or U-boot, and the trash zone. So that's what Opti defines as the richest secure environment file system, meaning Opti is going to always call back to Linux when it wants to access the file system. It also has another one, which is quite nice, the RP&B support, which is more secure, obviously, because the reply memory protection block is contained in the hardware. But it's less use. For some reason, it doesn't have so much space anyway. Another important requirement is that secure storage is bound to your device. So you cannot take your files and move it to another device. You won't be able to access them. And each trusted application is going to have access only to the storage that it creates. So there is no intercommunication between trusted applications. I don't know if you can see it, but when I was referring before about the hack, all these keys, all the keys that are involved in defining secure storage, which is one per device, there is one for trusted application, there is one for file, all of them are derived from the hardware unique key. So imagine that if you leak the hardware unique key, then all of this is at risk. So that's why I consider it important that everybody pays attention to the hack. Then a quick summary of what a trusted application is. So the execution of any software between the normal wall and the secure wall is split using just one bit. When you boot a trusted application, there is a companion site on the normal wall. It will call the secure monitor, and it will be executed. So everything that gets executed on the secure wall initiates in the normal wall. I mean, Opti or the secure wall is never going to start any tasks other than the initial boot without being asked to. We'll see there's no thread scheduling. There's not much there. So when you boot a TA in the trust, oops, not there. When you boot a TA in the secure wall, all of those trusted applications have been RSA signed. So what you're booting is always verified. They could be encrypted, but then you have to figure out how to pass the encryption key. It's a symmetric encryption into your binary. And the TAs can be stored in the RP&B or can be stored in the T image early as well. So you can access them during you boot if you need to. That means that you will build the trusted application inside your Opti binary. They can be versioned, and they have a number of configuration flags. So they can support multiple sessions. Then you can configure the stack sizes and so forth. So we'll get into the end of this. One very good example that encompasses all the benefits of the trust zone is the PKS-S11 TA. I like this slide because it kind of defines the architecture that I've been using for a while now in fondries. So with Opti, actually I shall start saying, but verify boot, remote attestation, description, all of them. They can be implemented using a PKS-S11-11 API. They support for all of them. So this is quite handy if you need to support different hardware or different devices. So it could be different cryptopripy, so it could be a TPM, or it could be you just want to simulate your system before going to production. So you can achieve all of this using PKS-S11. Just by configuring the request in the application, then you could be executing on a crypto IP, or you could be executing on a TPM. And I think that's quite important. When I started this talk, I was mentioning that what we need here is more. So basically we need more crypto devices in there. And then we have CAM, we have silent support, we have ST support. I think TI has started pushing supports for some crypto in the trust world. I think the more, the better, always. Now, so that was the history of what's the TGE, and why should we use it, and how we get security storage, and some of the issues when basically configuring OPTI in terms of the task sizes, hardware unique key, security storage. And now let's see how you can develop the software to integrate your crypto IP in this environment. So I said earlier as well that OPTI implemented its own secure monitor. But most of the people, most of the teams, they always use the one that comes from the Tractor firmware, which is a very good reference. The secure monitor is going to manage all the entries and exit in and out of the secure world. And that's a very important thing to remember. We had two types of SMC calls. One's the fast, with the RQ, the mask, and the yielding ones. At some point, you are a master RQs, and maybe you want to sleep, or maybe not. But you want to have the choice. One thing that I believe I also mentioned is the OPTI. Some people call it ANOES. I don't think it's not really ANOES. It's just an execution environment, so it's not going to do any scheduling. It's a way of task. What they call as a trusted task is only a rich execution environment threat that's being shadowed into another threat in the transport. But all the threat belongs to Linux. But because of that, it has to implement some synchronization primitives. So you have some spinlocks, which they just love the CPU. But also you can use semaphores, sorry, mutexes to schedule different. And the way they implement mutex, which I think is interesting, mutex is a service that is used in the case of Linux. And Windows, I don't know how they do it. But in case of Linux, it's a callback from the trust zone to Linux. And that will be the typical completion structure taking care of sleeping that task. And then it will reenter when it's done. So there are a number of tasks, sorry, stacks involving in OPTI. They have different sizes. The thing is that they are configurable because sometimes you have a demand for more stack, depending on where you're locating your internal functions for your crypto stuff. So how do we exit? I mean, entering the T is used from user land. Just using the OPTI client libraries. I don't know if you have time to have a look at it. It's just a normal C library that you link to it.  These libraries, this library can be extended to support for secure elements or for secure, for trusted applications, for anything that you want. So you can push code upstream. I think the way in is easy. People usually don't have a clear picture of how do you get out and if you need more resources. So OPTI implements two types of exits, synchronous and the synchronous one. The synchronous, because OPTI can handle interrupts, right? You could define a secure interrupt and the secure interrupt will be handled in the trust execution environment. But what happens if there is an interrupt happening, there's an interrupt occurring where you're executing your code in the trust zone. Then you need to go back. So that will be an asynchronous exit for a foreign interrupt going back to the normal wall. I think the ones I wanted to talk about were these synchronous exits. So this one, to call back to the monitor software and EL3, which is good. And there is another one, which I think is more useful generally, which allows you to call back to Linux or UBUT to the normal wall for services. What the code does is going to, so once you are in the trust zone, it's going to suspend the threat and it's going to SMC back to the monitor. And then the monitor will call back into Linux and proceed from there. So this is very handy and this is used, for instance, when Linux, sorry, when the trust zone, let's say that Linux want to store, let's say that a trusted application wants to use secure storage. So the data path will go into the trust wall. The trust wall will be calling back into Linux. Linux will access RPNB and then will come back into the trust zone. So that's a route that is used a lot. There are some more cavities in the sense that there's also something called a supplicant driver. So when you call back to Linux, sometimes the kernel can do it and sometimes the kernel cannot do it. If the kernel cannot do it, when you come back on your RPC call, you need to release the supplicant that is waiting on a notify and the supplicant will take care of handling your request, which is the case of RPNB. It's nicer when the kernel can do it because then, for instance, if the secure wall wants to access an SQLC bus, it could just call Linux and Linux will access the bus and come back. So I think I explained a little bit about the T-supplicant. If you have any questions, feel free to interrupt me. I can see that maybe I'm going too fast or maybe I'm losing. So yielding the SMC, these are two examples which I mentioned very quickly before. One is right to RPNB and the other one is accessing the secure element. Accessing RPNB uses the supplicant because the kernel cannot access it directly. It needs to, it cannot access it yet. I'll precise that in a minute. So at the moment, the way it currently works is Opti is going to call back to Linux. Linux will release the supplicant, the supplicant will perform the right and then it will go back. There is some work going on in the kernel to enable direct access from Linux to RPNB without having to go to the supplicant because sometimes the T boots before Linux. So you want the T to be able to access RPNB without having to wait for usage space. So this work going on, and I think it's going to be merged, I don't know when, it could be a couple of months. So that's one case with it be a supplicant and the other case is accessing without requiring the supplicant which is the case of a SQC support. In this example, let me check. Yeah, it thinks that the resolution is not great but I'll put links there as well if you want to poke around. The second example is a simple app that I wrote to access an HSM via the Trason and the HSM is controlling SQC. So this is a Linux application that is going to send the APD use to the Trason. The Trason is going to call back Linux which is going to call back to the SQC driver.  And this driver is actually quite interesting because as I said, we need to encrypt everything that goes in the public bus. Everything that gets out of the Trason is not considered secure anymore. So when you're accessing an HSM through a non-secure method or mechanism which is like a high-scruby or a spy or one of those, unless you lock it for yourself, you want to encrypt all the communication. So that's the case of a ELC-serial Linux. You can do the same thing from U-boot and I upstream all this code. So U-boot has a command called SCP-03 that allows the user to rotate the keys in the HSM. As I said, it's very similar in the path. With the difference is that instead of going to Linux, you go to U-boot. Going to U-boot is actually easier to work with. The driver is simpler. You don't have multi-thread there, it's just a single thread. So there is a supplicant also in U-boot but the supplicant is just part of the whole operation. So now I'm just going to describe these two cases which are representative of the work that I've done over the past couple of years. One is the first one is this device, the NSP-SF50 HSM. It's a hardware security model that is accessible from my square C. It gives a bit of thrust at the IC level. I mean, you can read from the slide but one important feature that the NSP offers with this silicon is that you can pre-provision keys directly on the device. So when you system boot, you can use those keys for whatever thing you want. And that's quite handy. I think that's one of the biggest assets of these two. It has RSA, it has CCC, it has RNG, I mean it's a very, very full feature device. The only thing is that it sits on the square C. So when you talk to it, you need to make sure that everything is encrypted. Global platform for that defines another specification called the secure channel protocol O3. I didn't read, I actually didn't see an O2 but this is the O3. It's a standard, it defines how securely agree on the keys. So these devices, they are shipped with an initial key and they're in the persistent storage but you can rotate it. So you should be doing that during early, early in your boot process. So another thing about Opti, I mean this is important because early in the boot, let's say that you want to provision the device. Without the normal world, you cannot use the RPC call in there. So if you need your cryptographic IP to be accessed early in the boot sequence before Linux is up or before UBT is up, then you might have to write one driver or two driver. In this case, I have to write one SQLC driver to access the secure element but SQLC is not complex. And the important thing is as soon as Opti initializes, they have this macro, a boot final. At that point, you can switch your driver. You say, okay, from now on, any further request that anybody makes to the secure element instead of routing it to the normal native trust on driver, I'm going to route it to the RPC drivers. So in your boot sequence, you can use different drivers for the same features, which are quite nice, I think. So early in the boot, you can do the device provisioning, you can identify the hack and you can do the first rotation of the keys. So initially, the system boots with predefined keys, right? Everybody knows that key, those are public. So you want to rotate them as soon as possible. And that's something that you can do before Linux is up. Then through the boot loaders, if for whatever reason, you still don't want to do it at that point, you can wait for UBOOT as well. So UBOOT also provide the same command that is going to allow you to rotate those keys. Functionality-wise, we implemented this feature because not everybody wants to rotate these keys so early. Some people have different provisioning strategies, different factory requirements, so sometimes they want to postpone rotating these keys a bit later. And then when the normal wall is up, yeah, then you can use any, actually you can use PKS CS11 to secure a store into the HSM, all the crypto operations, RSA, RSA, Renonoma Generator, and AAS, all of them can be executed if the user wants to in our security model. One thing as well is Opti provides its own cryptographic libraries, based on Liptone Crypt and Liptem embed TLS as well. So if you decide to implement support for a cryptographic IP, that only has a subset of the operations that you need. You can say that you don't have an RSA 2048, you don't have to implement that, but you want it, you can fall back, you can request Opti to say, okay, in my cryptographic driver, if this operation, I don't support RSA 2048, please give me a software implementation on it. And the good thing is that it will be executing in the trust zone, so that's a plus. A different matter is if you want the HSM to delegate into the library, how do you get the private keys? Because you can't. So in some cases it's not possible because the private keys are always inside the device. So this is the case where we use threat RPC to call back into the kernel. The kernel is then giving us access to a SQLC bus. The reason why we use the kernel as an SQLC bus provider is because we don't have any issues with runtime PM, which is my power of the bus in the middle of a transfer. We don't have any issues with bus contention as well. Opti can go anytime he wants, Linux will do the scheduling. So this is why that path was put in there. Obviously, we initially tried to follow only this path, but as soon as Linux is up and he doesn't see any body using the controller, he will shut it down. So yeah, RPC came along and it's quite handy. I mean, all the code I'm talking about is upstream. So in case you want to have a look. The second case is a bigger platform. I mean, this is an expensive development board. It's like 15,000 euros. This is AMD SILINX, VersaL Adaptive Platform Device. And here, the way the AMD SILINX architecture works, everything is routed through the PLM firmware. So this is running a microblaze processor. They change the firmware with every BSP release, but everything is controlled through this software. All the implementation of the most of the cryptography that it offers is uses, as I said, adding the embedded software by SILINX. And there is an authenticated encryption. There is RSA, ECC. There is SHA-3 as well, 384. Not to use yet, but it's there. There's access to a physical and cloneable device. And then if you want to use fuses, you have to go as well through this processor. So in order to access this thing, it's quite handy that the secure monitor patches that they have in there, they have support for a mailbox. So one very straightforward way of communicating between Opti and the PLM is through calling to the secure monitor. As you can open a mailbox, inform the secure monitor that you want a mailbox with the device, and from then on, just do these threat MCC calls. That way you can instruct the PLM to do all of these operations from within the trash zone. This code, it took a while to upstream because it's a lot of code. Opti has support for fuses and all the cryptographic tools that I described. One important caveat of the architecture is any critical service that Opti wants to use, which is the random number generator, for instance, or the AGCM engine, it should be reserved. I didn't mention this. Did I mention? I can't see very well. I don't think I mentioned. Well, let me check. So when the hack gets defined for this, the input can come from an ASGCM engine controlled by the PLM. And you can fit a private key from there. If for whatever reason that gets exposed as well, you may be given away your hardware unique key. So Opti gives you the opportunity to reserve devices exclusively for the trash zone. That's done by a device tree. Another option will be the hardware-supported reservation. But device tree already allows you to reserve devices. Can't see very well what says in that. Yeah, so this is just an example of how everything is sorted. In this case for Bersal, the number of keys that it supports in an elliptic car from an RSA is not as big and an HSM. It's only 2048 and I think it's 256. Everything else will fall back to Tom Crypt. And that seems to be working quite well. So as a summary, getting out of the trash zone is easy. Requesting support from the normal wall through threat RPC is easy. I mean, it's totally transparent to you. You just call the function and everything is executed in the kernel or in the supplicant if you need support from the normal wall at user space level. You can also call easily to the secure monitor. And the secure monitor can delegate your call wherever it needs to go. So it's a bit different to maybe secure enclaves where everything is constrained into the environment you chose. With a T, you can get out. You can get your stuff from the normal wall and then come back again and continue with your processing. Which I think is a very interesting feature that makes it very easy platform to work with. There's some of the reference if you want to have a look. I presented the Bersal, all the upstream that I did at EmbeddedWall early this year and the year before the next PEC 50 driver. They were big deliverables. There was a lot of code upstream, but I think it gives a good reference of how theory is simple is to upstream a cryptographic IP into Opti. For me, the important bit, it gives you the benefit of accessing it through PKCS 11, which I think is a great advantage. If there are no questions, have some backup slides that I can go through or I can clarify. I can talk a little bit about secure boot if you want. I don't know how long we're going in time. You still have five minutes. OK. So yeah, put it aside because I heard about secure boots sometimes. And a few times it's not described the way I think it could be described. Secure boots relies on the capability of the ROM to verify your favor through a polycryptography. For that, you need to fuse because there's no work around it. You have to fuse a key into the platform. But that doesn't mean that all your route of thrust have to use the same key because then your security is as good as the single key. So the way we tend to use it mostly is, sure, you fuse your first key for the first boot loader, but the subsequent one, which was already verified by the ROM, contains a number of binaries signed with a different set of keys. And those are the ones that the first loader will verify. That way, basically, you can rotate those keys whenever you want. You are not tied to what's in the fuses. Sure, you are tied for the fuses but only for the first boot loader. I think that sometimes this goes unnoticed. Many platforms have the capability of having a persistent route of thrust, including the kernel, like the VersaLaCup. You can fuse your keys, and then they will verify everything from the first film with their boots until the Linux kernel all the way to applications. It's just brutal. But as I said, you need to protect that key with your life. The other way, sure, you protect the first key, but all the other ones you can rotate. There is a process. There will be a process involved, but I think it's totally worth it. And that's important, but of course, as long as the first boot loader can be upgraded. If there is a vulnerability of some kind and you need to reprogram your device, you always want to be able to go to the first loader and say, OK, remove everything. We have an issue here. And that's why the first key is important. And another important thing about Opti. For me, Opti has value when it boots early. Over the last three or four months, Chrome guys have changed all the load architecture. And now you can load Opti through an SMC call. So you can boot to use the space and say, OK, now I want to load the key. Maybe for them, I'm sure there are no security implications, but if Linux vendors start doing it because it's easier to upgrade your system, because it's easier to upgrade an application that firmware. So if you start receiving T upgrades from user space, I will be a bit concerned. I mean, that path is mostly set for Chrome OS, because they don't have an issue in the boot chain. But with a normal desktop, you don't want to load your T from user land. You want to load it through the boot chain. What else? It is a code dive, but I don't think we can see anything, right? It's not working. Well, I think that's it, because OpenSSL integration. So that's all I have. Any questions? No? I think there's a lot of value. I'll repeat myself there. But having the cryptographic drivers in the Trason, this value is not that much effort, and you open it to everybody. I mean, once you have it in OPTI, then they have a PKS CS11, and you can access it, you have security storage, you have the whole thing. And you'll need to worry again about getting a vendor, PKS CS11 implementation, and rebuilding your product, and all that pain. So just stick to one. Regarding the trust store during Uboot, is it available immediately? Can we access the area that we set up in the trust zone for the secure keys via Uboot directly? And there is already support in the mainline for doing this? Not really, right? I don't think they support upstream. I mean, we have support in one of our repos. You have to write a little trusted application and then just to route it. But yeah, I mean, you can use what we have as a reference. I can give you a link. Yeah, because my idea was to, for example, store the Uboot variables, for example, the environment inside of maybe the secure store in the trust zone to make the entire boot safer and encrypted. So with respect to the boot sequence and to simplify, actually, to secure server upgrades, we use the RP&B to make sure we don't have rollbacks or to make sure that we know the version that we're installing at any time. And that's controlled always from the trust zone and readable as well by Opti. So yeah, sorry, but by Uboot, but yeah. That's one of the benefits as well. And I'll say again, because it's important. I've seen many boards being bricked. The RP&B key, if you use Opti, is generated from your hardware unique key. If that changes, you don't. And you don't remember what it was, then Uboot will be able to access it again. That's not going back. Do the trusted application authors need to worry about speculative code execution? Or is that handled for them by the trusted environment? I'm sorry, I couldn't. I couldn't hear. Do trusted application authors need to worry about speculative execution problems? Or is that handled for them by the environment? They are, yeah, they are affected. And in Opti, there has been changes to cover for that. I don't remember the names of the fixes, but there is a number of them and they're looking into it. But yes, it is affected as well. You can also open CBEs on Opti and you'll see there is a list. Some of them can be fixed, some of them can't. But there is work on the sense that you're describing. So the trust zone is as secure as you make it. And you can make it secure or if you're a bit careless with a few components and it's not a trust zone anymore. It's like a dumping ground of stuff. Any other questions? All right, thank you.


Welcome back to our lecture series Math 42-20, abstract algebra one for students at Southern Utah University. As usual, I'll be a professor today, Dr. Andrew Misteldine. Lecture 28 is going to be entitled the Chinese remainder theorem in the statement proof and some applications of the Chinese remainder theorem we'll actually see in the next video of lecture 28. In the current video, I want to talk a little bit more about cyclic groups and their connection to direct products. So actually section 9.2, which is what we'll, we'll attach ourselves to that in Tom Judson's textbook here, because our series follows Judson's textbook, but this lecture 28 is actually all over the place. This section is actually in 9.2. Our discussion on the Chinese remainder theorem, we want to attach to section 9.2, but actually in Judson's textbook, the Chinese remainder theorem is actually talked very briefly about in chapter 16. We're not going to do a full coverage chapter 16. And then we'll also talk about the fundamental theorem of finite a billion groups, which is talked about in chapter 13, which again, we're going to just introduce all of these ideas here in section 9.2 about direct products. All of these are quite relevant to direct products. Now, formally in our series, we defined direct products a long time ago, but this is the official location in Judson's textbook we've defined, so we've already introduced that. What I want to do in this video is in fact, prove a very useful statement about the order of direct products. In particular, suppose we have the direct product of two groups, G times H.  If we know the order of little G, let's say it's R inside of capital G, and let's say little H has order S inside of capital H, right? And of course, R and S are integers here. If we know the orders of the two terms in the ordered pair, then the order of the pair in the direct product will be the least common multiple of R and S. So in other words, the order of G and H, excuse me, in the direct product, this will be the LCM of the order of G times the order of H individually, whoops, like so. So that's what we want to compute here. So for the sake of argument, I guess just for the sake of simplicity, let's call the LCM, least common multiple of R and S, let's call it little M. And so let's consider what happens if we raise G to the M power. Well, M is a common multiple of R and S, which is to say that R divides M. We know by Lagrange's theorem that any multiple of the order of G will give you the identity. So G to the M is equal to the identity. And by similar reasoning, we know that S divides M, therefore same argument as before, H to the M will also equal the identity of H. Now the identities in play here might not be the same identity. We have the identity inside of G and we have the identity inside of H, but Lagrange's theorem would apply to all of these groups here. So what we've now shown here is if we take G, H and raise it to the M power, this will equal, well, just by usual composite multiplication in the direct product, G, H to the M will equal G to the M comma H to the M, which those are both identities and that is the identity element of G cross H. So we see that the order, the order of the element is going to be dividing M right here, okay? Now let's say that the order of G comma H, some manager of course, let's say it's equal to K for a moment, then we know that K is gonna divide M, great, which these are both positive integers, so two things are gonna happen here, one of two things I should say, either K is equal to the M, which is what we're trying to show, or K is actually less than M. So let's consider that situation for a moment. What if K is strictly less than M? Well, since K is less than M and M was the least common multiple of R and S, that means that either R doesn't divide K or S doesn't divide K. And so without the loss of generality, let's assume that R doesn't divide K. Well, that would mean that G to the K is not the identity because it's not a multiple of R. And so if we take G H to the K power, well, that's G K, H K, this won't equal the identity, it won't, because the first parameter G to the K is not equal to the identity. So that would sort of contradict the fact that K was the order of the element right here. Therefore, M is the smallest possible positive integer, which takes G H to the identity. And therefore it will have to be the, it has to be the order of the element, proving the theorem we then are trying to prove right here. As a very quick corollary, if we have an arbitrary direct product, right? That is, we have N many terms. So we have like G1 times G2 times G3 all the way up to, you know, GN right here. So if we have N factors in this direct product, how do you compute the order? Well, it's a simple induction argument that I'll leave it for the viewer to convince themselves that convince themselves of, if you take the order of this N tuple, the order will be the least common multiple of the orders of each of the individual terms inside of that N tuple. So let's see an example of this real quick. Consider the group Z12 crosses Z60. So we take the cyclic group of order 12 and cross it with the cyclic group of order 60. And let's take the specific elements, eight comma 56 inside of that group. Well, how do we compute the order of eight inside of Z12? As we've seen previously, we want to compute the least common or the greatest common divisor, excuse me, between the element eight and the order of the cyclic group 12, that's gonna be four. And therefore the order of eight inside of Z12 will be the order 12 divided by that GCD4, which says that eight is an element of order three. And that's not, you know, if you actually look at it, it's not too hard, right? So you have eight here, the cyclic subgroup generated by eight, you get zero, you get eight, you get, if you add eight to eight, you get 16, which is congruent to four. And then eight plus four is 12, which is zero again. So that's the cyclic group generated by eight, it's order three, great. We could have done that by hand, but we also have a formula for it. Likewise, let's consider the order of 56 inside of Z60 by a similar computation, the GCD of 56 and 60 is likewise four. Therefore the order of 56 will be 60 divided by four, which is 15. And so then highlighting those things right there, the order of eight inside of Z12 is three, the order of 56 inside of Z60 is 15. And so the least common multiple of three and 15 will be 15. Notice that in this situation, three actually divides 15, since it's three times five right there. So the LCM would be 15. And so the order of the element eight and 56, that's an element of order 15 inside of Z12 cross Z60. Let's look at another example. If we take Z2 cross Z3, and let's take the element, so Z2 is of course the cyclic group order two, Z3 is the cyclic group of order three. So their product will form an abelian group of order six. Let's consider the element one one inside of Z2 cross Z3. Now to compute the order of one, we probably don't need to do it since we know one generates these cyclic groups with respect to modular addition every time. But you know, if you went through the argument, the GCD of one and two of course is one, two divided by one is equal to one. And therefore the order of one, the order of one, let me make that look like a one, the order of one is gonna be one, excuse me, it's gonna be two. What's going on there? That should be two. And we're viewing this as an element inside of Z2. Likewise, if we compute the GCD of one and three, that of course is also one, right? And so by similar reasoning, you see that we see that in Z3, the element one will likewise have order three. And that should also be a one. Sorry about the typos here. So then, when you look at that together, the LCM, excuse me, least common multiple of one and one, well, that's just the order of one and one, which will be the least common multiple of two and three, that's gonna equal the element six. So one comma one is an element of order six, all right? But like I said earlier, Z2 times Z3, that's a group of order six, two times three. If you're looking for the order of a direct product, G and H, this is always just equal to the order of G times the order of H. So Z2 cross Z3 is a group of order six, but it contains an element of order six. That would suggest that the group is actually cyclic. And as we've seen previously, all cyclic groups are isomorphic up to their orders. That means Z2 cross Z3, it's a cyclic group of order six, it has to be isomorphic to Z6. And in fact, the way that isomorphism is if you go from Z6, so we're gonna go from Z6 to Z2 cross Z3, the map is just send N to N comma N, right? And reduce mod two and three respectively. So if you were to go through all the possible elements, let's actually look at the details of this really quickly. You get zero, one, two, three, four, five right here. So zero will map to zero, zero, great. One would map to one, one, no reduction there. Two would map to two, two, which that reduces to zero and two. Three would map to three, three, which reduces to be one and zero. Then we get four would map to four, four, which reduces down to be zero comma one, excuse me. And then the last one, if you take five comma five, that would reduce down to be one comma two. And so we see here the six possible pairs between Z2 and Z3. So it turns out the product of these two cyclic groups, direct product turned out to be cyclic. That's not always the case though. One can in fact argue that Z12 cross Z60 is not a cyclic group, and that's what will lead us to the Chinese remainder theorem in the very next video.